Object-Oriented Design & Systems Programming
CSc 330 - Professor Bernie Domanski
Course Contents

Required Text:  Starting Out with C++ ,5th or 6th Edition, Tony Gaddis, ISBN: 5th edition - 0-321-40939-6  6th edition - 0-321-51238-3

Good (not required) Reference Text: An Introduction to Object-Oriented Design in C++ , by Jo Ellen Perry & Harold D. Levin, Addison-Wesley Co., ISBN: 0-201-76564-0

Things We'll Do: This course is meant to explore the major concepts of object-oriented design and programming. Microsoft's Visual C++ 2005 will be used for lab assignments.  We will explore the GUI capabilities of the compiler as well.  There will be a major programming assignment in this class, likely to be the largest programming assignment encountered in the entire Computer Science undergraduate curriculum ... so get ready!

Tests: 2 Quizzes. Each quiz is composed of approximately 33-50 questions - multiple choice, fill-in, true/false, matching phrase with definitions, etc. No question will ask you to write a program - that's what people do in a lab setting, not during a test setting!! However, code will be given on tests and you'll be asked to read it, understand it, and even correct it so it does something! This means that rather than me reading your code and understanding it, you'll have to read and understand mine!

Programming Assignments: The goal is 10 labs - yes ten! All exams are required and will be in class (no take home). Lab assignments are due on time - just like in the real world.   Lab grades are numeric (e.g. 79, 65, etc.).

Lab assignments will not be accepted on floppy disk  nor as Email attachments nor in paper form. All student submissions are required to come presented in front of the entire class.  You will not be graded on your presentation style at all, so don't worry.  You only have to come up front, run your program, and answer questions about it.

Finally, Labs assigned after the midterm will not be accepted in any shape or form after the last day of classes (that means that no labs will be accepted at the final exam).

Major Topics Covered:

  1. Introduction - Object Oriented Development
  2. GUI Programming - Introduction
  3. Expressions, Statements, Types, Streams
  4. Implementing Object Behaviors with Functions - procedures, functions, scopes, class libraries
  5. Decision Behaviors including typedef's
  6. Iteration Behavior: Loops
  7. GUI Programming - Part 2
  8. List Objects and Array-Based Implementations
  9. Producing Objects through Classes
  10. GUI GUI Controls
  11. Designing First Class Types
  12. Storage Management for Objects
  13. Inheritance and Reuse
  14. Advanced GUI Controls
  15. Polymorphism and Generic Classes
  16. Container Classes and Linked Lists
  17. Design Issues

Last Updated by DrB on 09.04.2007