Rough Course Schedule:

Be aware that attendance and participation are mandatory in this course.  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 has changed radically as we explore a topic of interest in depth. That's a good sign in this course.
 

  Week 1: Introduction, what is software engineering, computer science and what is the reason for the two names?
  Week 2: A smattering of software topics: student exploration of potential research topics - possibly begin Simon readings: Heuristics for Scientific Discovery
  Week 3: What does Herb Simon say about all of this, what are we really doing?  Get Simon's book, read first 3 chapters.  Also begin basic requirements state of the art: working coference report
research directions,  usability of requirements methods.  
  Week 4: Basic known principles of software engineering: various papers
  Week 5: More basic principles
  Week 6: Software requirements.  
  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 3rd 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.)