University of Denver
University College
Computer Information Systems
Syllabus
Advanced C++ Programming – MCIS-4136
Course Summary
|
Course Name |
Advanced C++ Programming |
||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Course Number |
MCIS-4136 |
||||||||||||||||||||||||||
|
Instructor |
Michael I. Schwartz |
||||||||||||||||||||||||||
|
Class Meetings |
Online, for 10 weeks beginning on 8 January 2007
|
||||||||||||||||||||||||||
|
Days Instructor Is Unavailable |
Every Friday from 4 PM until Saturday night at 7 PM. |
||||||||||||||||||||||||||
|
Course Description |
This continuation of MCIS 4130 lets students turn an object-oriented analysis specification into an implementation. Emphasis is initially placed on software engineering principles in programming, data abstraction and object oriented concepts, and understanding the purpose and intended application of language features. The course progresses to using Extended Markup Language (XML) for true distributed, language-agnostic integration and leveraging the speed and flexibility of C++ as the workhorse for this environment. Students will create applications that parse XML and extract useful information, as well as create XML. Applications will communicate via XML and be capable of being run by, and interacting with, a web server. |
||||||||||||||||||||||||||
|
Course Objectives |
At the end of this course, a student will:
|
||||||||||||||||||||||||||
|
Prerequisites |
|
||||||||||||||||||||||||||
|
Required Materials and Resources |
|
||||||||||||||||||||||||||
|
Course Policies and Procedures |
|
||||||||||||||||||||||||||
A focus is maintained on software engineering principles such as modularity, portability, and testing of designed behavior. Exercises are the primary student mechanism to achieve mastery of the subject. Complete sample solutions for each exercise are handed out and discussed by the instructor immediately after the exercises are turned in by the students to reinforce the homework objectives.
Following are the goals for each week's lessons:
| Class / Objectives | Weekly Goals | Online Assessment? | Homework Due By Week End |
|---|---|---|---|
|
Class 1: |
Understanding of the object-oriented analysis of the system we will implement in C++. |
HW 1 (HTML) | |
|
Class 2: |
Understand an overview of the Standard Template Library (STL), useful for the containers applied in our implementation. |
HW 2 (HTML) | |
|
Class 3: |
Understand methods of persisting data between program invocations |
HW 3 (HTML) | |
|
Class 4: |
Understand techniques of centralizing versus distributing applications |
HW 4 (HTML) | |
|
Class 5: |
Understand/review the basics of the extensible markup language (XML) |
HW 5 (HTML) | |
|
Class 6: |
Introduction to Xerces, the Apache XML parser library and API |
HW 6 (HTML) | |
|
Class 7: |
Understanding and using the XML DOM API |
HW 7 (HTML) | |
|
Class 8: |
Understanding basic HTTP, HTML, and programming responsibilities |
HW 8 (HTML) | |
|
Class 9: |
Understand what can go wrong with HTTP and XML. |
HW 9 (HTML) | |
|
Class 10: |
Review, future projections, discussion of SOAP and how it fits in |
Assessment | Resubmissions due HW 10[optional] (HTML) |