Outline: PGM520


VISUAL C++ WIN32 PROGRAMMING II

Prerequisites

PGM518  or experience with Visual C++ programming

Topic Outline

  1.  Windows Core Memory Management
    • Processes and memory space
    • Virtual memory
    • Windows heap allocation
    • Memory-mapped files
    • Managing dynamic memory
  2.  Multithreading
    • Threads in Windows
    • Worker and UI threads
    • Thread manipulation and synchronization
    • Deadlock Prevention and Elimination
    • Race conditions and deadlocks
    • Critical sections, mutexes and semaphores
  3.  Dynamic Link Library (DLL)
    • DLL Fundamentals
    • DLLs with MFC
    • Sharing memory among DLL instances
    • Extending MFC using DLLs
  4.  Component Object Model
    • ActiveX technology
    • COM interface
    • COM and MFC
  5.  Automation
    • Automation clients and components
    • Automation interfaces
    • MFC automation component
  6.  Uniform data transfer
    • Clipboard transfer
    • OLE Drag and Drop
    • MFC UDT support
    • MFC Drag and Drop
  7.  Active Template Library
    • Multiple inheritance
    • Client-side ATL programming
    • Server-side ATL programming
  8.  ActiveX Control Development
    • Overview of ActiveX controls
    • Properties, methods and events
    • Creating and ActiveX control using ATL
    • Control registration
    • Initialization and persistence
    • Property pages
  9.  Programming for the Internet
    • Internet primer
    • Winsock programming
    • MFC  Winsock classes
    • Building a Web server
    • Building a Web client
    • MFC WinInet class
    • MFC Asynchronous Moniker class
  10.  ATL Server
    • Dynamic HTML
    • IIS
    • ISAPI Server Extensions
    • ATL server
  11. Programming ASP.Net using Managed C++
    • ASP.Net compilation model
    • the HTTP pipline
    • Web services
  12. Programming ADO.Net using Managed C++
    • OLE DB architecture
    • Creating an OLE DB consumer and provider
    • Managed providers
    • Working with the providers
    • ADO.Net datasets

Modes of Instruction

This subject will be taught via class lectures and discussions, augmented with visual aids and supplemented by hands-on exercises in the development of Visual C++(Professional Edition) and MFC Windows applications in the classroom. Typically the first half of the class will involve the introduction of new concepts, while the second half of the class allows the student to apply these concepts. 

Prescribed Texts and Tutorials

Programming with Microsoft C++ .NET
by George Shepherd, David Kruglinski, Microsoft Press, 
ISBN#0-7356-1549-7

Reference Texts

Programming Window98 with MFC
by Jeff Prosise, Microsoft Press
ISBN#1-572316950

Visual C++ .NET Programmer's Guide (documentation included in the C++ compiler package)

Modes of Evaluation

Since this is a professional credit subject, marking standards reinforce professional practice by demanding legible, tidy work. Written materials should be well organized and grammatically correct, with proper spelling and punctuation. Computer assignments should be documented to the instructor's standards. Late assignments are penalized. For particulars, please obtain standards, dates, etc., from your instructor. 

While attendance and participation in class discussions are not formally a part of this evaluation schedule, you should be aware that absenteeism will almost guarantee your inability to achieve satisfactory grades. Some of the progress tests and quizzes may not be announced in advance and details of assignment requirements may be explained in class. There is no formal provision for make-up tests to replace tests you miss. 

        A+    90-100                 4.0
        A       80-89                  4.0
        B+     75-79                   3.5
        B       70-74                   3.0 
        C+     65-69                   2.5
        C       60-64                   2.0
        D       55-59                   1.0
        F         0-54                      0

To attain a passing grade for the subject, a student must obtain a passing grade on the combined assignments and tests (term work) and also a passing grade on the final exam. For further information on evaluation and academic standing, see a copy of the Academic Policy available at Seneca registration offices. 

Grading is based on the following marking scheme: 

        Assignments (2)        50%
        Tests and quizzes(2)   20%
        Final examination      30%


 

                                  Approved By: _________________________________ 
                                                                BEVERLEY MALCOLM, Chair 
 

Last Updated: May, 2004