CS 2390 Modeling and Design - Fall 1996
ANNOUNCEMENTS:
- 12/20/96 - BTW, if any of you are interested in working with me
on a research project, drop me a line!
- 12/19/96 - Final Grades Have a
Happy Holiday!
- 12/18/96 - CaMILE broke last night. It's working now and
everything is recovered, but things are not always in the right order.
Links into CaMILE (e.g., to extra credit thread, to final exam review
thread) should still work.
- 12/17/96 - FYI: I'm dropping your lowest lab grade.
- 12/16/96 - Updated grades as of 11:30
am
- 12/16/96 - Discuss extra credit here
- 12/13/96 - EXTRA CREDIT WILL BE ACCEPTED UNTIL 5:00 PM DECEMBER
18 (Wednesday). I had earlier said "until final exam," but I need
time to grade them.
- 12/12/96 - Grades so-far now available
UPDATED 12/13/96 12:45 pm
- 12/9/96 - Final exam review is now available.
- 11/21/96-YOU MAY NOW ASSUME THAT 35 (VERSUS 50) CUSTOMERS ARRIVE
IN P2 EVERY FIVE MINUTES (Normally distributed, stdev 5, still.)
- 11/19/96-Lab #6 is now available.
- 11/13/96-New Web pages on how to use VisualWorks have just been
posted. FYI: http://st-www.cs.uiuc.edu/users/chai/writing/visualessons/.
- 11/11/96-Lab #5 is now available.
- 11/6/96-Lab #4 now available. Please (a) mail your P1 code to
your TA and (b) bring in all docs (plus code printout) to class.
- 10/9/96-CaMILE usernames are now ready. FIRSTNAME_LASTNAME (all uppercase,
e.g., MARK_GUZDIAL) with no passwords.
Course Resources:
Labs, Assignments, Extra Credit:
Valuable source files:
General Information (including grading):
Instructor: Mark
Guzdial
Office: 254 College of Computing
Phone: 404-894-5618
Office Hours: Monday, 9:30-11 am; Thursday, 1-2 pm
Email: guzdial@cc
Newsgroup: WebCaMILE.
Class: MWF 1 -- Room TBD
Labs: Wednesdays 3-4:30 (A), 4:30-6 (B), 6-7:30 (C) in Rich Building
Sun Lab
TAs: Players to be named later...
Text: Required:
- Coad and Nicola, Object-Oriented Programming
- Trevor Hopkins and Bernard Horan, Smalltalk: An introduction to application
development using VisualWorks, Prentice-Hall, ISBN 0-13-318387-4
Grading:
- Midterm 25%
- Final 30%
- Design (1) and Programming (3) Assignments 30%
- Lab Assignments (7) 10%
- Quality of Participation in class 5%
- EXTRA CREDIT: An additional 6% will be available as extra credit
for preparing STABLE cases
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. Design
documentation must meet class 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:
- 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.
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 -- 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!
Class Outline (Subject to Modification):
- Week 1: Intro to class and Smalltalk. No Lab!
- Week 2: Start on Chapter 1 of Coad & Nicola. Design Assignment
#1 available on Wed. 10/16
- Week 3: Start on Chapter 2 of Coad & Nicola. Design Assignment
#1 due on Wed. 10/23. Programming Assignment #1 available 10/23.
- Week 4: Start on Simulations (Chapter 4 of Coad & Nicola, plus
handout.)
- Week 5: Data structures and simulations in Smalltalk. MIDTERM MONDAY
11/4. Programming Assignment #1 due 11/6. Programming Assignment #2
(Team-based) available 11/6.
- Week 6. Start on C++.
- Week 7. Finish C++ and contrast Smalltalk and C++ in a project.
- Week 8. Review of O-O methods. Programming Assignment #2 due 11/27.
Programming Assignment #3 available 11/27.
- Week 9. Java.
- Week 10. Future directions in GUIs, HCI, O-O. Programming Assignment
#3 due 12/11.
Other Useful Web Information: