You might be interested in reading a retrospective article about innovations in this instance of the course (pg 31-34).
|Shriram||Monday, 2-4PM||CIT 445|
|Nathan||Thursday, 1-3PM, or by appointment||CIT 409|
Unless indicated otherwise, assignments are always due at 2am on the due date. That is, if an assignment is listed as due on a Wednesday, it's due during the night between Tuesday and Wednesday. The reason we make it due at 2am, rather than in class, is because we want you to turn it in and then get a good night's sleep before attending class, rather than working down to the wire and not being alert in the classroom.
This is an article that helped us to understand use cases. It's not necessary to read the whole thing carefully, but you may find it helpful to refer to as you are working on the library assignment.
While this article proposes a methodology that is somewhat controversial, it nevertheless provides a good survey of requirements elicitation techniques.
A study of quality-assurance practices in open source projects.
A dicussion of the use of multiple, independent implementations to build fault-tolerant software. Additional papers on the topic can be found at http://sunnyday.mit.edu/papers.html#ft.
Essays on the obstacles to implementing a missile-defense system, and on the difficulty of building software in general. Also raises some related ethical issues.
Please read the course syllabus. You are responsible for everything in it whether you read it or not, so you might as well read it.
The class meets during D Hour, i.e., 1100-1200 on Monday, Wednesday and Friday in CIT 368 (a new third-floor classroom!).
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. Therefore, while we support and encourage the principle behind shopping, we ask that you let us know if there's a chance you won't be in the course come week 3. We need to account for this when creating teams, etc.
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.
There is no prescribed textbook for the course. (This doesn't mean we won't be reading anything. We'll read quite a bit, just not in textbook format. In fact, the readings may be quite a bit harder than what you'll find in a text, and you'll need to then write about what you read.)
In the long run every program becomes rococothen rubble.
Alan Perlis, Epigrams in Programming
Max Ernst's Europe after the Rain: