Software Presentation
CIS610 (Software Engineering) - Fall 1997

Topic

This is an exploratory course. I want to learn about software presentation, and a seminar is a good way to learn about it together.

You won't find the term "software presentation" in software engineering textbooks, or as a standard term in the software engineering research literature. A "presentation" is a document or activity designed to help people understand something. We will look at papers and systems from several sub-fields of software engineering and related fields, looking for basic problems and approaches in making complex software systems understandable. This will include so-called "literature programming," graphical software development environments and program visualization tools for reverse engineering, hypertext tools for software documentation, and anything else that looks relevant and interesting.

I am particularly interested in the problem of maintaining relations between complementary descriptions of different aspects of software, or at different levels of abstraction. In a linear, phased software development methodology, this might be called "traceability" among documents produced in different phases of development. In an incremental development, in which requirements, design, and implementation may all be changing together, maintaining relations among them is all the more challenging. If we consider those relations as consistency constraints, then it may also be natural to tie program presentation with program analysis and testing.

>>[Reading list]

Format

The course will be taught in a seminar format. We will read and discuss several research papers. I will choose the first few papers and lead initial discussions, but after that student interests will partly determine the direction of the class.

In addition to participating in class discussions, each student will be expected to:

Exams

None.

Grading

Grades will be determined on the basis of the written and presented work, project (if any), and constructive participation in class discussions.