CS 2390 Modeling and Design - Winter 1995

Information available:

General Information (including grading):

Instructor:
Mark Guzdial
Office:
254 College of Computing
Phone:
853-9387
Office Hours:
Tuesday, 4:30-5:30
Wednesday, 9:30-10:30
Email:
guzdial@cc
Newsgroup:
git.cc.class.2390
Class:
T Th 3-4:30 in CoC 101
Labs:
Wednesdays 3-4:30 (A), 4:30-6 (B) in Baird Sun Lab (103 CoC)
Final Exam:
Monday 3/13 11:30-2:20 in CoC 101
TAs:
Noel Rappin (noel@cc) and Reza Ghorieshi (reza@cc)
Text:
Required: Coad and Nicola, Object-Oriented Programming
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 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 Feb. 2. 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 Last change: Jan 25 1995