CTA - QC1402
GUI and C/C++ Applications Part 2
Mario Giannini
mario@openroad.org

Syllabus for QC1402: Graphical User Interfaces and C/C++ Applications Part 2


Course Overview:


Required Texts:

Mario Giannini, PWindows Programming Programmers Notebook, Prentice Hall.
David Kruglinksi, Programming Visual C++, Fifth Edition, Microsoft Press.
Wieying Chen, ActiveX Programming Unleashed, Sams.net Publishing.

Recommended:

Nigel Thompson, 3D Graphics Programming for Windows 95, Microsoft Press.

The above books should be available at the Posman's Bookstore at 116th and Broadway (and at other bookstores around the city).

Other Useful Windows References:

Kurt Brockenschmidt, Inside OLE, 2nd ed., Microsoft Press.
Microsoft, OLE Automation Programmer's Reference, Microsoft Press.
Stan Trujillo, Cutting-Edge Direct3D Programming, Coriolis Group Books.



Weekly Topics and Assigned Readings


Session 1: Introduction COM, OLE & ActiveX

Course Overview
Visual C++ & MFC 4.2
MFC Review
What is Advanced MFC?
Component Programming
COM, OLE and ActiveX Demystified

Session 2: MFC Document and View File I/O and Streams

SDI vs. MDI applications
Persistence and streams
CArchive and CFile
Saving and retrieving documents

Session 3: Multitasking MFC Classes

Starting and coordinating threads
User and worker threads
Design issues
Events
Critical sections
Mutexes

Session 4: Templates and MFC Container Classes / The VC++ Standard Library

MFC container support
C++ templates review
MFC non-templatized container classes
MFC templatized container classes
STL containers
The Standard Library string class

Session 5: Exception Handling and MFC Databases

C++ Structured Exception Handling
MFC Database Classes
Wizard-based database programming
CDatabase and CRecordset
CDAODatabase
and CDAORecordset
Programming with table structures in DAO

Session 6: MFC Common Control Classes

Standard MFC Control Classes Reviewed
Image Lists
TreeView Controls
ListView Controls In-Depth
Progress Controls
Sliders and Spin Buttons

Session 7: DirectX -- DirectDraw Programming

DirectX Basics
DirectDraw
Screensaver Basics
Designing your own C++ classes for MFC
Bitmaps, surfaces and animation

Session 8: Midterm

Session 9: Direct3D Programming

Direct3D Basics
Meshes & rendering schemes
Light sources
.X files
Retained mode
Immediate mode

Session 10: Designing with ActiveX Controls in MFC

Using OCX's
The Visual C++ Component Gallery
OCX's and the Dialog Editor
Viewing OCX classes
A grid sample
Popular OCX controls

Session 11: COM and OLE Automation

DLL's vs. COM
OLE and COM
Creating COM Objects
Type Information
OLE Automation

Session 12: Building ActiveX Controls I

MFC and COleControl
Wizard-based development
OLE control internals
Sample MFC-based OLE control
Development issues

Session 13: Building ActiveX Controls II

The ActiveX Template Library
The ActiveX SDK
Deployment issues

Session 14: ActiveX on the Web

VBScript, JavaScript and ActiveX
Java vs. C++
The Future of Windows development

 

Final Exam (Details TBA)