Advanced C++ Programming
COP 2228

Instructor: Robert Mudge
Email: cppclass@ureach.com
Web Site: http://mudge.net
Office Hours: 30 minutes before class and Email

Syllabus In Printable PDF

Grade Sheet 

Classes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Final

Valencia Community College

Course Location, Times and Prerequisite

Course Title Credit
Hours
Class Days Campus Building Room # Prefix
Section
Starts Ends
Adv. C++
Programming
3 Thurs West Mod 7 122R WC007 7:00p 9:45p
Prerequisite: COP 2224. Access to a PC and Visual C++ 6.0 compiler.  Visual C++ is available on Both W002 and W003 Campus Labs (Lab fee).

Course Catalog Description
COP2228
C++  Programming
Prerequisite: COP2224.   COP2228 is an Advanced course focusing on ANSI C++; the Standard Template Library and Graphical Programming using the Microsoft Foundation Classes.

Course Details
This course is designed as an advanced level course where the student is expected to know how to program in C++ in an object oriented manner.  The student is expected to know how to use the Windows 9x operating system and how to program simple programs in Visual C++ 6.0.

The course will start off where course COP 2224 ended.  Topics will focus on ANSI C++ and include data structures in C++, use of the Standard Template Library and graphical programming using the Microsoft foundation classes.  This course should be considered an introduction to the MFC's and graphical interface or event driven programming.

Course Text

C++ How to Program
Third or Forth Edition
ISBN: 0-13-528910-6
Order On-Line: Programmers Book Shelf 
Introduction to MFC with Introductory Version of Visual C++ 6.0
Authors: Deitel and Deitel
Format: Paperback, 200pp.
ISBN: 0130161470
Publisher: Prentice Hall
Pub. Date: December 1999

C++ References

Bjarnes Stroustrup's Home Page: http://www.research.att.com/~bs/homepage.html
C++ On-Line Reference: http://www.dinkumware.com/htm_cpl/index.html
STL On-Line Reference: http://www.sgi.com/tech/stl
ISO ANSI Standard Draft: ftp://ftp.research.att.com/dist/c++std/WP/CD2
Cletus Links to Computer Science: http://www.cetus-links.org/

Course Objective

The objective of this course is to provide the student with the fundamental knowledge and skills to become a proficient C++ programmer. The student will learn to transpose the physical problem domain into a hierarchy of objects. Industry standard software engineering techniques will be presented and used to architect the system design.

Objects, their behaviors, and their relationships, will be modeled and these models will be programmed into a functional application that the student will compile, modify, enhance and run. The student will program in a structured style whereby reinforcing the concepts of software quality, reliability and maintainability.

Evaluation Process

Each student will be expected to perform out of class assignments and programming projects.   Quizzes and examinations will cover the concepts, syntax and theory used in the course.

Homework will be evaluated as an aid to the student's progress in the course.  The course grade will be determined by the quiz, exam and project grades.

Grading Method:

Failure to sit for the Final exam will yield a WF per school policy.
Changing from grade to audit must occur before the withdraw deadline

Attendance

Students are expected to attend all classes. Refer to the Valencia Community College Catalog, section "Academic Policies and Procedures." Any student that misses more than three classes may be withdrawn from the course.

Students are responsible to read the information in their Atlas email accounts. Announcements, assignments, etc. that are sent to the Atlas email accounts are considered to have been received by the students.

Withdrawal

The last date for you to withdraw with a grade of W is March 7, 2003. After that date, you will receive a WP or WF based on your grade at the time you submit the Withdrawal form. See the Valencia catalog Withdrawal Policy for further details. Note that you are responsible for withdrawing if you choose to.

Valencia Core Competencies

Valencia faculty have defined four interrelated competencies (Value, Think, Communicate, Act) that prepare students to succeed in the world community. These competencies are outlined in the Course Catalog. In this course, through classroom lecture and discussions, group work, programming projects, and other learning activities, you will further develop mastery of these core competencies.

Expected Student Conduct

Valencia is dedicated not only to the advancement of knowledge and learning but is concerned with the development of responsible personal and social conduct. By enrolling at Valencia, a student assumes the responsibility for becoming familiar with and abiding by the general rules of conduct. The primary responsibility for managing the classroom environment rests with the faculty. Students who engage in any prohibited or unlawful acts that result in disruption of a class may be directed by the faculty member to leave the class. Violation of any classroom or Valencia's rules may lead to disciplinary action up to an including expulsion from Valencia. Disciplinary action could include being withdrawn from the class, disciplinary warning, probation, suspension, expulsion, or other appropriate and authorized actions. You will find the Student Code of Conduct in the current Valencia Student Handbook.

Students with disabilities

Students who qualify for academic accommodations must provide a letter from the Office for Students with Disabilities (OSD) and discuss specific needs with the professor, preferably during the first two weeks of class. The Office for Students with Disabilities determines accommodations based on appropriate documentation of disabilities (West Campus SSB 102, ext. 1523).

Disclaimer Statement

The information presented in this syllabus may be modified as required by the instructor. Students will be notified of any modifications during normally scheduled classes. There will be no modification to the grading policy as outlined above.

Homework

  1. All homework is due the following week, unless otherwise specified
  2. All homework questions are to be hand written or printed.
  3. All homework code assignments are to be printed
  4. All homework must have name, homework assignment number, campus location, date
    // John Smith
    // Homework 3
    // East Campus
    // 11/14/1999
  5. Late homework will be deducted by 1 grade each week late.

lineeyes.gif (232 bytes)

Useful How To's

lineeyes.gif (232 bytes)

Two Books will be used throughout the course.  The Introduction to MFC book will be referred to as (MFC) and the C++ How to Program book will be referred to as (C++).

Class Topic Notes Homework Solution
1 MFC - Chapter 1
Course overview and syllabus review
Review of Visual Studio, settings and operations
Debugging within Visual Studio
Building a Console and debugging a console application
Determine using Win32 how to read a directory using VCC Help
2 Classes - Review
Model View Controller Designs
UML OO Design
Writing safe code for classes with pointers
Graphical User Interfaces and Event Programming
3 C++ - Chapter 15
Data Structures
Self Referential Class, Lists, Stacks, Queues, Trees

Extra Credit: Implement the Player-Person - Computer in TicTacToe

4 C++ - Chapter 19
Strings and String Stream
Class string, sub-strings, parsing, Iterators, String streams
5 C++ - Chapter 20
Standard Template Library
Vectors, Lists, Maps, MultiMaps, Sets, Iterators 
6 C++ - Chapter 20
STL
Continued
Container Adapters, Algorithms 
Continued
7 C++ - Chapter 21
ANSI C++ Extensions
Event Driven Programming
Midterm  

8

2/27/03

Midterm Midterm Review Midterm Due  
9 Midterm Review - Event Driven Programming
Event Driven Programming
Messages
   
10 MFC Part I - Chapter 2
Creating simple a MFC program
Menus
Dialog Boxes
 
11
MFC Part II - Chapter 3
Password Protection Application
Processing Mouse Messages
Processing Keyboard Input
Text Output
12 MFC Graphical Controls - Chapter 4
Edit Text Controls
Check Boxes
Radio Buttons
List Boxes
Combo Boxes
13 MFC - Chapter 5
Project Requirements Lab
HW 13 Create eQuiz Gui and integrate Midterm, Turn in Workspace  
14 Design Lab    
15 Implementation Lab    
16

Final Exam 05/01/03 - 7:00 to 9:00
Presentations of Final Exams by students

Final    

lineeyes.gif (232 bytes)