Csc 330 - OOD & Systems Programming

Course Outline - Prof B. Domanski

Description: Students, who are assumed to have had at least 2 semester of C programming (126 & 228 or 211), are introduced to Object Oriented Design and Programming. Concepts covered include basic  C++, encapsulation, classes, member functions, private, protected and public members, function overloading, operator overloading, stream I/O and inheritance. Building upon their knowledge of assembly language covered in the prerequisite course CSC220, students are assigned a very large programming project where they are to use object oriented programming principles to build a systems program, for example, an assembler or a macro processor.  GUI design using Visual C++ is used as the development environment.

This course uses Visual Studio 2005 Professional with Visual C++

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

Reference Text: MAYBE --> An Introduction to Object-Oriented Design in C++, Perry & Levin, Addison-Wesley


Planned Topics (for a typical semester where writing an assembler is the large project):


Material


Typical Lab Projects & Estimated Time for Completion

1- Mortgage interest program designed/implemented in several phases: first, as a traditional monolithic program in C; second, using an object as the interest computing engine; third, with objects that employ stream I/O, overloading, and other C++ concepts. 6 weeks.

2- A file-driven telephone database management system, complete with classes, overloading, etc.

3- A small C++ program to simulate a memory dump in a mainframe S/390 in hexadecimal. 2 weeks

4- A full 2 pass assembler for S/390 assembly language. Including parser, machine op table, pseudo op table, symbol table with hashing, address generation, and instruction generation. 6 weeks

Last Updated on 09/04/07