MIT OpenCourseWare
  • OCW home
  • Course List
  • about OCW
  • Help
  • Feedback
  • Support MIT OCW

Syllabus

The syllabus presents the objectives, structure, guidelines and policies for the course. The policies are intended to guide students enrolled in the course.

Objective: By the end of the class, you will be able to evaluate software engineering techniques and approaches. You will also be able to exercise professional judgment in selecting an approach for a particular project based on an understanding of how the present state of software engineering practice came about, what was tried in the past, what worked and what did not work, and why.

Required Background: This class is a graduate class and as such will not provide basic training in programming or in specific approaches or tools for developing software. While there are no prerequisites, some basic experience in programming will be helpful as will having participated in some software engineering team projects. However, students in previous classes say they have benefited from this class without these prerequisites.

Reading: There is no textbook for the class although it will be helpful to have a general software engineering textbook available to look up specific topics that you need more background on than you already have. There are lots of these available and any one will do (all are pretty much the same).

Instead of a textbook, required reading will consist of a carefully selected set of historically important and foundational papers as well as more current ones reflecting the latest thoughts. Some papers will be technical while others will be opinions or essays. The literature is vast, and papers have been selected for their historical relevance in the development of the field or for their ability to help you critique the assumptions underlying current software engineering dogma.

Assignments: There will be no programming assignments. Because my goal is to enhance your ability to make successful professional judgments rather than use a specific set of tools or a particular approach to engineering software, most assignments will involve evaluation and interpretation rather than practice in applying particular techniques or tools.

There will be two types of assignments: Before each class session, you will be required to submit a short (one half to one page) summary of each paper assigned for that week along with a critique of the paper (see instructions below) and occasionally answers to a few specific questions on that topic or paper. Because class sessions will involve a lot of discussion of the readings, late summaries will not be accepted.

There will be no exams aside from the last week's summaries, which will involve synthesizing what you have learned in the class.

Class Sessions: Class meetings will include a mixture of lecture and discussion. You will find that most concepts are easily learned from the readings and do not require my explaining them to you. A few topics are difficult to learn on your own or I could not find any good tutorial papers on them so they will be described in class. You will get the most out of the class if you participate in the class discussions.

Grading: Grades will be based on the weekly assignments.

Schedule: Software engineering is a vast topic that cannot be covered in one semester. The specific topics to be covered have been chosen somewhat arbitrarily and may change in future offerings of the class. A schedule and list of assigned readings will be available on the class web page. Copies of the class lecture notes will also be available for download there.

Instructions for Reading Assigments: Before each class session, you will submit a short (one half to one page) summary of each paper assigned for the week along with the answers to the following general questions:

  • What are the main ideas or themes? (i.e., a very brief summary of the paper)
  • Critical evaluation of the paper: What things in particular did you agree with or like? What things did you disagree with? How does it measure up with your experience?
  • Any additional thoughts or ideas you had while reading it?

Because it obviously will not be possible to read the papers for the first class by the first class meeting (as they were not available), their summaries will have special due dates as noted on the schedule.

In addition, there may be some short assignments during the semester that will be posted and described in class.