CS 2390 Modeling and Design - Winter 1996

Last change: March 1, 1996

Course Information:

Labs and Assignments:

Valuable source files:

Other Useful Web Information:

General Information (including grading):

Instructor:
Mark Guzdial
Office:
254 College of Computing
Phone:
894-5618
Office Hours:
Monday, 10-11 am
Thursday, 1-2 pm
Email:
guzdial@cc
Newsgroup:
Surprise! No newsgroup. Instead, we'll be using something called WebCaMILE.
Class:
T Th 9:30-11:00
Labs:
Wednesdays 3-4:30 (A), 4:30-6 (B) in Baird Sun Lab (103 CoC)
Final Exam:
Thurs, 3/14,2:50- 5:40
TAs:
Jay Y. Yan (jyan@cc) and Steve Klivansky (smk@cc) and Player to be named later
Text:
Required: Coad and Nicola, Object-Oriented Programming
Recommended:
Simon Lewis, The Art and Science of Smalltalk, Prentice Hall, ISBN 0-13-371345-8
or
Trevor Hopkins and Bernard Horan, Smalltalk: An introduction to application development using VisualWorks, Prentice-Hall, ISBN 0-13-318387-4
Grading:

Letter grades are assigned according to the usual convention (A=90+, B=80-89, C=70-79, D=60-69, F<60). There will be no curving of grades.

Assuming a reasonable attempt at a program, program grades will be based 50% on design documentation and 50% on meeting project requirements. No late assignments will be accepted.

Attendance in lecture and lab sections is mandatory: Lab sections, in particular, are an excellent time to get help. HAVE AN OIT AND A CoC ACCOUNT BEFORE FIRST LAB!

Learning Objectives

By the end of this class, you should be able to:

Cooperative Work and Academic Honesty

People learn by doing. In this class, the doing is particularly important since the concepts are simple and the applications complex. Students are strongly encouraged to learn from one another: Form study groups, discuss programs and lab assignments, help one another debug, and tutoring (the tutor often learns as much as the student). BUT each program and lab assignment must be individual work P unless you actually do it, you can't learn from it.

Class Outline (Subject to Modification):

  1. Why Objects? Why model and design? Object-oriented analysis vs. design vs. programming. Notation for OOA & OOD. Introduction to Smalltalk. Chapter 1, pp. 1-13; Appendix A, p. 504-535; Appendix B, p. 547
  2. Introduction to Graphical User Interfaces. Building the Counter object. Reuse. Chapter 1, pp. 13-26, pp. 37-63; 83-108
  3. Modeling with multiple classes. Interfaces with multiple views. Doing a program from scratch.Modeling a whole-part structure. Chapter 2, pp. 113-145; pp. 162-169; pp. 176-198
  4. Starting a program from scratch. What's a good OOA/OOD? MIDTERM Jan. 30.
  5. Data Structures. Sales Database example Chapter 3, pp. 227-240
  6. Object-oriented analysis, design, programming for data managmenent including interfaces Chapter 3, pp. 261-284, pp. 317-346. Smalltalk-80 handout
  7. Introduction to Discrete Event & Continuous Simulation. Analysis, design, and programming of a discrete event simulation. Chapter 4, pp. 387-343, pp. 463-478.
  8. Advanced discrete event simulation: Probability distributions. Starting C++. Appendix A, pp. 536-545.
  9. C++
  10. Advanced graphical user interfaces: Alternate models. Research issues and future directions in modeling and design. Review for final.
Mark Guzdial