CS 2390 Modeling and Design - Spring 1996

Course Information:

Labs and Assignments:

Valuable source files:

WebCaMILE Indices

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:
git.cc.class.2390 AND WebCaMILE.
Class:
T Th 3:00-4:30 Room 16 CoC
Labs:
Wednesdays 1:30-3:00 (A), 3-4:30 (B), 4:30-6:00 (C) in Baird Sun Lab (103 CoC)
Final Exam:
Monday June 3, 2:50-5:40
TAs:
Jay Y. Yan (jyan@cc), Chris Joita (joita@cc), Roman K. (gt0563c@prism)
Text:
Required: Coad and Nicola, Object-Oriented Programming
And: 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).

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 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? Data structures.
  5. MIDTERM APRIL 23. Introduction to Discrete Event & Continuous Simulation. Analysis, design, and programming of a discrete event simulation. Chapter 4, pp. 387-343, pp. 463-478. Smalltalk-80 handout
  6. Advanced discrete event simulation: Probability distributions.
  7. C++. Appendix A, pp. 536-545.
  8. <
  9. C++ in Coad & Nicola. Sales Database example. Chapter 3, pp. 227-240
  10. Object-oriented analysis, design, programming for data managmenent including interfaces. Other object-oriented languages (Java and Python). Chapter 3, pp. 261-284, pp. 317-346.
  11. Advanced graphical user interfaces: Alternate models. Research issues and future directions in modeling and design. Review for final.
Mark Guzdial