Overview of CS1412 / Spring 2006
Syllabus
Course Objective
Short Synopsis
Object-oriented programming in C++ with emphasis on evaluation of alternative program design strategies. Class design, recursion, linked and dynamically allocated structures. This class will deepen the students understanding of designing and evaluation of larger programs.
Learning Outcomes
Students will analyze a problem and develop an object-oriented solution.
Students will use basic UML diagrams for their design.
Students will master C++ class syntax and semantics.
Students will confidently apply the Standard Template Library containers and algorithms.
Students will compare and evaluate alternative software designs for at least one project.
Methods of Assessment
Participation in class through excercises
Participation in the lab through lab excercises
Work on individual programming / design projects
C++ Programming homework excercises
Written and final exams
Announcements / Assignments
Announcements are posted on the class web page. Please check them frequently.
Students are required to be responsible for knowing about oral announcements or requirements not listed in this syllabus.
Class Hours
Section | Activity | Time | Location |
---|---|---|---|
92 | Lecture | TR 9:30 - 10:50 am | CS 201 |
505 | Lab | T 12:30 - 1:50 pm | PE 118 |
Attendance policy
Attendance in class will be checked every day. Attendance is not a certain percentage of the grade, but may be bring a grade down if to many classes are missed.It is the students own responsibility to acquire the material covered in classes she / he missed.
There will be excercises in class that can not be made up, unless you have a valid excuse. Proof (e.g. doctors note) may be required.
If, for any reason, you are absent on an exam / programming test date, you will have to notify the instructor on the same day at the latest. This can be done by a roommate, friend, parent, etc.
Civility in the classroom
Unacceptable behavior in the classroom includes: cellular phones or beepers, demanding special treatment, excessive tardiness, making offensive remarks, prolonged chattering, sleeping, "I paid for this" mentality, leaving the lecture early, dominating discussions, making unnecessary jokes, speaking out of turn, shuffling backpacks and notebooks, reading other material during class.
Lab policy
Lab attendance is required. Your grade will be affected by missed labs.
The Lab assignments have to be done during the lab period in the Lab. The students may leave early if the assignments are completed. If the assignments are not completed students may submit them after the lab, but only if they have worked on it during lab time!
Instructors
Lecturer: Max Berger, CS 306 J , Office hours: Tuesdays 11 - 12
Teaching Assistant: TBA
The best way to reach me is to schedule an appointment via e-mail.
Text Books
Mandatory:
Fundamentals of Object-Oriented Design in UML By Meilir Page-Jones. Addison Wesley, ISBN: 020169946X
Strongly suggested:
UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3/E Martin Fowler Addison Wesley, ISBN: 0-321-19368-7
And either
C++ Pocket Reference By Kyle Loudon 1st Edition May 2003 Series: Pocket References ISBN: 0-596-00496-6
or
C++ in a Nutshell A Desktop Quick Reference By Ray Lischner 1st Edition May 2003 Series: In a Nutshell ISBN: 0-596-00298-X
Textbook policy
If you can't find the mandatory text book at the book store please get it online. There will be tests over material in the text book that might not be covered in class!
Software
Your C++ programs will need to able to run under one of the following environments:
Eclipse CDT on Windows with MinGW GCC 3.2
Eclipse CDT on Macintosh with Apple GCC 3.4 or 4.0 (installed in the lab)
Please read the installation instructions for eclipse.
You will need a program to draw UML diagrams. Two of them are:
MagicDraw Community Edition (installed in the lab)
You will also need:
A program that can create / unpack ZIP files, example: FilZip (not needed in Mac OS X / WinXP)
Adobe Acrobat Reader or another PDF reader.
All necessary software is installed in the lab. You may use the provided links / information to install these on your personal computer.
Grading
Item | Weight (MidTerm Grade) | Weight (Final) |
---|---|---|
Total | 100% | 100% |
Labs | 20% | 15% |
Tests & Final | 20% | 30% |
Programming Excercises | 30% | 15% |
Projects | 20% | 30% |
Participation | 10% | 10% |
Numeric to letter grades: 0-59: F, 60-69: D, 70-79: C, 80-89: B, 90-100: A. A higher grade may be given if students shows promise of success, A lower grade may be given if student shows lack of discipline (e.g. many missed classes).
Zero-Rule: Should any of the individual grade averages be zero (e.g. never turned in any projects) the student will receive an F regardless of the total average!