Wed 7:00 PM – 9:00 PM WWH 101
Joseph P. Conron
Wed 6:00 - 6:50 by appointment please
Our grader is Ao-Jan Su.
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..
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
Other Software Engineering texts that you may find useful in your work or future studies:
Software Engineering, 6th edition
2000, Addison Wesley
Software Engineering: Theory and Practice, Second Edition
Shari Lawrence Pfleeger
2001, Prentice Hall
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
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)
The solutions to the homework assignments are provided below in Microsoft PowerPoint format.
Lectures (links to lectures)
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.