CS 2390 Modeling and Design - Winter 1995
Information available:
- 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:
-
- Midterm 25%
- Final 30%
- Design and Programming Assignments (4) 35%
- Lab Assignments (7) 10%
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!
By the end of this class, you should be able to:
- Understand and use the vocabulary of modeling, object-oriented
design and analysis, and simulation (including both discrete and
continuous).
- Be able to analyze a real world situation, design a model in a
language-independent fashion with multiple classes and connections
between them, and implement the model in Smalltalk.
- Design using a graphical representation of a model.
- Design a user interface for a model and explain the design
rationale.
- Use an object-oriented analysis and design notation which is
language independent.
- Read and explain an object-oriented program written in C++.
- Be able to read and write C++ class structure definitions.
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.
- Copying another student's program and putting your name on it
is plagiarism. This is a form of academic dishonest which, when
detected, will be reported to the Office of Student Affairs and may
result in consequences such as loss of points for the problem, loss of
points for the class, or dismissal from the class.
- Copying another student's program and changing the variable
names is also plagiarism.
- You are encouraged to talk to one another about your programs,
even show one another your programs and get help with debugging.
However, all program code must be written by the student whose name is
on the program!
- 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
- Introduction to Graphical User Interfaces. Building the
Counter object. Reuse. Chapter 1, pp. 13-26, pp. 37-63; 83-108
- 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
- Starting a program from scratch. What's a good OOA/OOD? Data
Structures
- MIDTERM Feb. 2. Sales Database example Chapter 3, pp. 227-240
- Object-oriented analysis, design, programming for data
managmenent including interfaces Chapter 3, pp. 261-284, pp.
317-346. Smalltalk-80 handout
- Introduction to Discrete Event & Continuous Simulation.
Analysis, design, and programming of a discrete event simulation.
Chapter 4, pp. 387-343, pp. 463-478.
- Advanced discrete event simulation: Probability distributions.
Starting C++. Appendix A, pp. 536-545.
- C++
- 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