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
experienced a decent simulation of industrial software development
written code, written technical documentation
prepared Web content
learned how to run (and perhaps how not to run) an effective meeting
overcome the difficulties of clear and effective commuication
among technical peers, and between client/engineer
given public presentations of your work
come to realize how much time on a software project has nothing
to do with actual coding
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.