Modeling and Design
CS 2390 Fall 1995
General Course Information
Where and When
Class meets on Tuesdays and Thursdays from 9:30 -11:00 am in
College of Computing, Room 101.
Lab sessions will be held on Wednesdays in the Baird Sun lab from 3:00-4:30
pm for Section A and 4:30-6:00 pm for Section B. Please make sure you have
an OIT account prior to the first lab session.
Course Description (from the General Catalog):
Software specification and design techniques; object-oriented design
and programming; discrete event simulation.
Instructor's additional remarks: This course will emphasize
object-oriented analysis, design and programming. Examples of the OO
style will be presented with the development of graphical user
interfaces and simulations. The majority of the programming will be
done in the Smalltalk language and environment. There will also be an
introduction to C++ with exercises and some survey of other
object-oriented programming languages. There will not be much
discussion of other design or programming paradigms.
Prerequisites:
CS 1502
Learning objectives
By the end of this class, you should be able to:
- Understand and use the vocabulary of object-oriented analysis
and design.
- Be able to analyze a real world situation, expressed as a set of
requirments, and design a programming-language independent object model.
- Understand how an OO approach to modeling and design is suited
to problems in graphical user interfaces, information management and
simulation.
- Be able to implement an object design in the Smalltalk programming
language.
- Be able to transfer OO programming knowledge to C++ and
other OO languages.
Instructor:
- Office:
205 College of Computing
- Phone:
894-7512
- Email:
abowd@cc.gatech.edu
- Office Hours:
Wednesdays 9:30-11:30 am.
- Office Policy:
Open door, but I strongly prefer that you contact me
during posted office hours, or arrange a time with me
separately.
Teaching Assistants:
Steve Klivansky
- Room:
H-7 MiRC
- Phone:
894-2590
- Email:
smk@cc.gatech.edu
- Office Hours:
Wednesday 11:00am - 1:00pm
- Office Policy:
- Room:
154 College of Computing
- Phone:
894-1155
- Email:
jyan@cc.gatech.edu
- Office Hours:
Monday 2:00-4:00pm
- Office Policy:
Required Textbook
Peter Coad and Jill Nicola. Object-Oriented Programming,
Yourdon Press, Prentice-Hall, 1993. ISBN 0-13-032616-X.
Additional handouts
Occasionally there may be additional material handed out to
supplement information in the book and lectures. Where possible, an
on-line version of the handouts will be made available via the Web class
syllabus.
Electronic information
We will try to make as much use as possible of electronic information
exchange. The three major electronic means of exchange will be
electronic mail, a class newsgroup and a class World Wide Web (WWW)
home page. If you aren't already familiar with these Internet-based
tools, now is the time to find out.
Electronic mail
Probably the most dependable way to contact the instructor is by
e-mail. Whenever you send e-mail, please make sure you include your
full name on the message, as it is sometimes difficult to decipher
student mail addresses.
WWW
You are currently reading text from the WWW class home page for CS 2390.
There are a variety of ways to access this page using any of a number of
WWW browsers (lynx, Mosaic, netscape, etc.). For example, you can traverse
links directly from the College
of Computing home page (look for the link to "Classes using World Wide Web" under the category of "Academic Information - Student Services"). Or you can access this page directly by opening the URL
(that's WWW-speak for location)
http://www.cc.gatech.edu/computing/classes/cs2390_95_fall/.
The class syllabus, indicating lecture topics, reading, homework and lab
assignments, will be posted on the class Web page and will be continually
updated throughout the quarter. You should make it a regular habit to
consult the syllabus.
Other Web locations of interest include:
Newsgroup
The newsgroup for this class is git.cc.class.2390.
Occasionally, this newsgroup will be used by the instructor or TAs to
make general announcements to the class outside of lecture time. You should make it a habit to consult the
newsgroup on a regular basis. Students can post general class-related
announcements to the newsgroup.
Grading
Grades will be based on the following weighting scheme:
Non-graduating students
| Category | Weight |
| Homework assignments (4-5) | 40% |
| Lab assignments (up to 10) | 10% |
| Two exams | 10% (each) |
| Final | 25% |
| Participation | 5% |
Graduating students
| Category | Weight |
| Homework assignments (4-5) | 55% |
| Lab assignments (up to 10) | 10% |
| Two exams | 15%(each) |
| Final | n/a |
| Participation | 5% |
Homework
Four or five design and/or programming assignments will be assigned
during the quarter. For each design assignment, a written report
detailing the analysis and design will be required and must be handed in
at the beginning of class on the day it is due. All programming
assignments must be handed in electronically to the TA by 9:30 am on the
day the assignment is due. Homework will be marked down 10% for each day
it is late, with or without an excuse. The assignments will be posted on the Web
syllabus.
Homework will be graded and returned within one week of receipt. Any
questions about grading of homework should be directed to a TA within one
week of return date.
Labs
Weekly lab sessions are mandatory and will be monitored and graded by
the TAs. Lab assignments will be available via the Web syllabus. The
lab will be the best time for you to have access to advice on the
programming environments used in the class (VisualWorks Smalltalk and
Borland C++). When we study C++, we will probably have to adjust the
lab meeting place in order to access the Borland C++ environment.
Students should send mail to help@cc.gatech.edu whenever their
"banana" allocation is more than 85% consumed. The note should
indicate all CS courses in which the student is using OIT Prism
facilities and any extenuating circumstances.
All other problems with OIT facilities, including disk quota
modifications, will require that the student contact the OIT Customer
Support Center. Phone the Support Center at 894-7173, send mail to support@oit.gatech.edu, or go
by Room 140 of the Rich Building during business hours (8am-5pm).
Exams
There will be two exams during the quarter and a final exam, all of
which will be based on reading, lectures, lab and homework
assignments. The instructor will provide a study guide for exams one
week prior to the exam date. Exams during the quarter will be
returned within one week. Questions about exams grading should be
directed to the instructor within one week of the return. Adjustments
in exam grades will be rare and could equally well result in a
lowering or raising of the grade.
Class participation/Attendance
A good portion of your grade will be determined by class participation.
If you don't attend class, you cannot participate, and your grade will
reflect that. I expect that each student will attend all lectures and
contribute constructively to the discussion. Lab attendance is mandatory
and will be reflected in the lab grade assessed by the TAs.
I want to know who you are, so please make an effort to speak in class
and talk to me outside of class. If by the end of the quarter I don't
know your name, it won't necessarily be my fault.
Class policies
Students are expected to attend all lectures on time. Students are
expected to conduct themselves in a professional manner. This expectation
includes showing up for exams at the appointed time. Late make-up exams
will not be given. Any conflicts with exam times should be brought to
the instructor's attention as soon as possible and in all cases PRIOR
to the examination period.
Students are expected to follow the university's codes of academic conduct.
Cases of suspected academic misconduct will be immediately forwarded to
the Dean of Student Affairs, and will be pursued to resolution. This is an
unpleasant process for all involved, so please do not put yourself in this
situation.
Above all, I would like to adhere to the reasonable person principle.