Text |
C++ From the Ground Up by Schildt
The C++ Programming Language by Stroustrup |
Tests |
There will be 2 tests, a take-home midterm, and a final exam. Review
will be provided for each. |
Homework |
Handed in on printout, no disks unless
specifically asked for. |
Grading |
Grading is broken down as follows:
- Midterm/Final 45%
Project 30%
Homework 15%
Participation 10%
Grades are on an Honors/Pass/Fail basis.
The breakdown is:
- 98-100 Honors
- 65-97 Pass
- 0-64 Fail
No 'upgrades' will be permitted for homeworks,
or assignments unless previously agreed upon with instructor. No more than
two homework assignments will be accepted from a student on the final day
of class. |
Goals |
The goal of this class is to form a solid
understanding of the C++ programming language, and object oriented programming
concepts. Real-world examples and solutions will be presented and discussed
with an emphasis on comprehension. C and C++ distinctions will also be covered,
as will MS-DOS specific I/O routines. |
Class |
Description |
1 |
Introduction
- Review of programming concepts (Using
C)
Introduction to OOP
Why OOP
Stages of programming: Tasks, Functions, Objects
Development Stages
Identify the job at hand
Modeling after the real world
Representing Relationships and Objects
|
2 |
Changes from C in C++
- cin and cout
Data declarations
C items to avoid using
C as a subset of C++
Objects
- Behavior
Interaction
Classification
Polymorphism
Inheritance/Hierarchy
|
3 |
Classes
- Declaration
Constructors
Destructors
Copy constructors
Function interaction
Object Oriented Programming
Abstraction
Encapsulation
Information Hiding
Messaging
|
4 |
Classes (continued)
- Static/Class-Common data
Other class types: Pointers, arrays
this
C++ Memory management
new and delete
constructor/destructor invoking
|
5 |
Object Oriented Programming
- Structured Analysis and Design
Phases of Project Development
Analyse
Design
Implement
Test
Common stages of design (1 to 2 to 3 then back to 2)
|
6 |
Class Inheritance
- Constructors
Controlling the Scope of Methods
Visibility Issues
Multiple Inheritance
Object Oriented Programming
Inheritance benefits and draw backs
|
7 |
Operator Overloading
- Return values
Temporary class creations
Arithmetic operators
Data conversions
|
8 |
Friends
- Friend classes and functions
Virtual Functions
Virtual functions
Pure virtual functions
Abstract Classes
Object Oriented Programming
The Booch method
|
9 |
Files and I/O
- Streams
Text Modes
Reading and writing class instances
Random access files
|
10 |
Templates
- Function Templates
Class Templates
Inheritance Using Templates
Object Oriented Programming
- Testing Procedures
Class Testing and self-testing
Integration Testing
Testing Cycle
|
11 |
Containers
- Constructing and Maintaining a Class Library
Object Oriented Programming
Managing Object-Oriented Projects
Risks
|
12 |
Constructing an Application
Object Oriented Programming
- Case Study - Black Jack
|