Software Engineering


Fall 2001

Wed 7:00 PM – 9:00 PM   WWH 101

Revision 6 (11-28-2001)


Instructor Information


Joseph P. Conron


WWH 401



Wed 6:00 - 6:50 by appointment please


TA Information

Our grader is Ao-Jan Su.

            Course Description

This course is an introduction to software engineering that will provide students with an understanding of the principal phases of software development and in particular, how object oriented techniques and modeling can be used to develop complex and changing systems.  We will use UML extensively to model requirements, analyze and model system behavior, define classes, and specify test cases.

Topics we will cover are:

We hope to have two or three guest lecturers during the semester.


You must have completed Programming Languages AND be proficient with object-oriented analysis and design.  Although there will be no formal programming projects, you should be capable of developing classes in one of the following languages: C++, JAVA, ADA, or Smalltalk. You need no previous knowledge of UML - we will cover that in class.  Any program code (small fragments) that we discuss in class or complete for homework problems will be in JAVA..

            Required Text

We will be using the following book as our primary reference in class

Object-Oriented Software Engineering: Conquering Complex and Changing Systems

Bernd Buegge & Allen H. Dutoit

2000, Prentice Hall


NOTE: Changes and corrections to the text book are here: Errata

Recommended Texts

Other Software Engineering texts that you may find useful in your work or future studies:

Software Engineering, 6th edition

Ian Sommerville

2000,  Addison Wesley


Software Engineering: Theory and Practice, Second Edition

Shari Lawrence Pfleeger

2001, Prentice Hall


Design Patterns

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Addison-Wesley, 1996


Object-Oriented Software Engineering

Ivar Jacobson, M. Christerson, P. Jonsson, G. Övergaard,

Addison Wesley, 1992


The grade for the course will be based upon homework assignments (75%) and a final examination (25%).  There will be five (5) homework assignments.  The final exam will be given on the last day of class.

Syllabus (the course Syllabus)

Homework Assignments

Homework Solutions

The solutions to the homework assignments are provided below in Microsoft PowerPoint format.


o       Assignment 1

o       Assignment 2

o       Assignment 3

o       Assignment 4

Lectures (links to lectures)

Homework Policy

Homework will be assigned every two weeks and due 2 weeks from date of assignment.  Here are the rules:

1.     All homework MUST be handed in as HARD COPY in class on the due date. NO EMAIL!  If you cannot come to class when an assignment is due, either have a classmate submit it, or MAIL it by US Post to me at NYU.   Any assignments received by mail MUST BE POSTMARKED no later than the assignment due date.

2.     Late homework will be accepted up to ONE (1) week after the due date and receive a 10% penalty.

3.     No homework will be accepted later than one week from the due date UNLESS you bring me a letter from your employer, doctor, or President Bush giving a reason why you couldn't find the few hours needed to complete your assignment.

4.     We try to grade objectively, but sometimes we make mistakes.  If you think we've made a mistake when grading your assignment, please contact the TA and make your case.

5.     DO NOT COPY your answers verbatim from the book (or ANY book for that matter).  You must express your answers in YOUR OWN WORDS.

6.     Since many of the assignments require that you submit diagrams, please feel free to submit free-hand diagrams OR tool generated diagrams, whichever is easier for you.

7.     Remember rule 1!

This will not be a "hard" course, but there will be a fair amount of work.  You'll derive benefit from the class ONLY if you do your own work: we become better practitioners of our craft by practicing - and that's what the assignments are for.

Class Email List

All students should register themselves with the class list, which is used for all technical discussions concerning the course. To register, go to the following web page, and follow the instructions:

Please send your questions to this list (NOT TO THE INSTRUCTOR) so that everyone may participate in the discussion.