UNC-CH COMP 145 (Spring 2001)


Tu-Th, 3:30—4:45, SN 011 (Sitterson Hall)
Prof. Greg Welch, SN 234

Students will not be allowed to drop this course once the projects have begun ... more-or-less after two class meetings.


The goal of this course is to teach the technical and managerial skills necessary for building a software product as a team. The essence of the course is the faculty-coached team project. Teams of 3-5 students spend three months negotiating, estimating, scheduling, specifying, coding, debugging, integrating, documenting, and testing a substantial programming product. Grades are based on code, documentation, ambition, effort, teamwork, and accomplishment.

When the is completed, each student will have



Understanding of programming as might be acquired from UNC-CH courses COMP 114 (Systematic Programming), COMP 120 (Computer Organization), and COMP 121 (Data Structures), or equivalents. WWW programming as from COMP 117 or COMP 118 could prove valuable.


Comp 145 is mostly a project course. Lectures are practical, (providing guidance for the students' current projects) or cultural (presenting background and insight from the field of software engineering). Project groups will meet weekly with the "boss", and as required with their clients and among themselves.

Some of our class meetings will be devoted to introductions to topics such as revision control systems (RCS, CVS) and the Perl programming language. Perl is very well suited to text manipulation and rapid prototyping computing applications, as well as writing scripts for the Web, so it fits in well in a class on constructing software systems.

The class has no exams or graded homework. The grade is based entirely on performance in the software project. Each team will have at least two opportunities during the semester to publicly report on progress, and will receive feedback on progress during each weekly boss meeting.