CS 6/79995 ST: Program Comprehension & the
Psychology of Programming
Instructor:
Dr. Jonathan I. Maletic
Term:
Spring 2008
Credit
hours: 3
Course Objective:
The
objective of this course is to investigate the material on the cognitive and
mental models of how people 1) learn to program, 2) understand existing large
programs. This material forms the basis
for educational methods in introductory programming course. Additionally, it forms the basis of the
software environments that are being constructed to assist software engineers
to build, maintain, and evolve software systems.
Prerequisites:
One
advanced course in software development/engineering is helpful but not
necessary. Good knowledge of at least
one programming language is necessary.
The course is open to graduate students in Computer Science, Psychology,
Education, or a related discipline.
Permission of the instructor is necessary for the student will little
background in computer science.
Course Topics:
·
cognitive models
of software comprehension;
·
issues of novice
versus expert programmer;
·
how people learn
to program
·
methods for
teaching introductory programming
·
environments for
learning to program;
·
reverse
engineering of software systems;
·
environments for
program understanding and maintenance;
·
software
visualization for program comprehension
References:
·
There is no
existing textbook dealing with this material.
·
A reading list of
journal articles, conference papers, and technical reports will be posted on
the web page for this course
Partial
Course Format and Grading:
The course will be a
seminar format. The instructor will lead
off with a number of lectures on specific areas and topics, then the students
will present a number of selected papers related to the theme of the course. Question & answer sessions and
discussions of all presentations and lectures are a central and vital part of
the course.
The grade will be derived
from daily class participation (questions/answers), paper reviews,
presentations, and a research project/paper.
·
Daily Class
Participation 20%
·
Presentations (3
or 4) 20%
·
Paper Reviews
(2-4) 5%
·
Project
Presentation 5%
·
Project 50%
Projects:
A course project will
comprise the bulk of the grade. Projects
can be done by individual students or by small teams. A number of suggested projects will be posted
and presented. Other project topics that
are within the scope of the course can be proposed. Project can be tools, studies, experiments,
or surveys. A project proposal will be
required during the first half of the term.
This will be evaluated and refined in conjunction with the instructor.
Last updated: