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)