Shriram Krishnamurthi
Aleks Bromfield (Head TA)
Suman Karumuri
Tim O'Donnell
The class meets MWF 10-11 in CIT 368. Attendance is mandatory.
cs190 is not a course that easily lends itself to shopping. Unlike in most regular courses, what you see and do at the beginning of the semester will qualitatively be very different from that later into the term. In addition, we need to form groups soon, and get started on the course projects.
Most of your work will be done in groups. You cannot repeat a partner. In major projects, this means you cannot partner with someone in a sub-group; they may be part of the bigger group. Rather than be overly legalistic here, we will define this per project (if in doubt, ask!). But please keep this in mind and, in particular, if there's someone you'd really love to work with, consider putting it off for now. Most of all, note that in this course, whom you get to work with is determined by us, not by you.
In a significant departure from tradition, the entire class will work on (different parts of) one project, and we will assign the project. The project has been carefully chosen to illustrate various important aspects of software engineering. There will be no exceptions to this policy.
In addition, we will not impose any programming language choices on you. You may use any language you wish, but we will make you justify your choice of language.
Because software engineering texts are uniformly amongst the most boring writings in all of human literary output, we won't have a text for this course. (The sole exception I've found is the first edition (2000) of Bernd Bruegge and Allen Dutoit's Object-Oriented Software Engineering.) We'll read specific articles as necessary.