Advanced
C++ Programming
COP 2228
| Instructor:
Robert Mudge Classes |
|
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:
| Attendance | 25% |
| Homework | 25% |
| Midterm | 25% |
| Final Exam | 25% |
| Grade | Score |
| A | 90 - 100 |
| B | 80 - 89 |
| C | 70 - 79 |
| D | 60 - 69 |
| F | < 60 |
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
![]()
Useful How To's
![]()
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 |
Final |
![]()