Rough Course Schedule:

Be aware that attendance and participation are mandatory in this course. Reviewing the slides can give a general idea about a class, but will not capture what was discussed or learned. Use these as a supplement, not a substitute, for in class work. I expect to change the booklist and schedule of topics, the following is presented as a sample of what has come before. I also do not expect to follow a firm schedule since class presentations will guide our progress, that means you! We may stick to one subject longer than another or even skip one for another. It has been the case that this outline is nearly meaningless as we explore a topic of interest in depth. That's a good sign in this course.
 

  Week 1: Introduction, what is engineering?
  Week 2: A smattering of software topics: Jackson readings
  Week 3: What is "software [engineering]"?
  Week 4: Basic known principles of software engineering: various papers
  Week 5: More basic principles: Begin Simon "Science of the Artificial"
  Week 6: Software requirements. Midterm practice
  Week 7: Software requirements and design: Begin Winograd "Bringing Design to Software"
  Week 8: Software "Design" in general
  Week 9: Final Reports on projects, papers due.
  Week 10: Wrap up

****  This schedule is for a point of departure. I fully expect the class to determine its own pace and interestes within the realm of software engineering. Changes in general topics will be noted here.


Rough Schedule of Important Dates:


Paper proposal due by the end of the 4th week.
Full paper due by the end of the 9th week. (Exceptions only by preapproval of instructor. No incompletes will be given without serious medical excuse.)


(*volunteer to review and present papers in your chosen topic! Otherwise, I'll end up assigning you papers that may not help you on your way.)