UNC-CH COMP 523

Software Engineering Laboratory

M-W 10:00-11:15, in Sitterson room 011
Dr. David Stotts (Brooks 144, 962-1833)

Students may not drop this course once the projects have begun ... more-or-less after two class meetings.
To do so leaves your other team members in a bind.

Prerequisites

Understanding of computer organization, operation, and programming as acquired from COMP 401, 410, 411; in addition, another upper level undergrad class or two in areas like OS, networking, compilers, or graphics provides maturity that often greatly helps with these team projects.

Texts

No text is required for purchase. We will be reading articles online.

You may find you will need various supporting materials, depending on the project you end up working on. For example, you may need a text on Ruby/Rails, or PHP, or Objective C, or Python, or Linux or something we can't predict until it happens.

Course Description

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 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 course is completed, each student will have

Format

Comp 523 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.

Several of our class meetings will be devoted to introduction or overview of areas of software technology that tend to be widely in use across different development areas or environments. We will also have guest lectures from practicing software professionals from local industry and academia, to provide working snapshots of how things are being done in different shops.

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.