Maricopa Community Colleges  CSC251AA   19986-20086 
Official Course Description: MCCCD Approval: 07/22/08
CSC251AA 19986-20086 LEC 3 Credit(s) 4 Period(s)
Advanced Visual C++ Programming Using Microsoft Foundation Classes
Building C++ applications using the Microsoft Foundation classes (MFC) in the Visual C++ environment. Includes Graphical User Interfaces, ActiveX components, Client/Server applications, and the ODBC interface.
Prerequisites: CSC210, or CSC250, or permission of Instructor.
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
CSC251AA   19986-20086 Advanced Visual C++ Programming Using Microsoft Foundation Classes
1. Describe the Windows architecture and the MFC class hierarchy in general terms. (I)
2. Build a simple Windows application using MFC that displays a text message to the user. (II)
3. Design and develop a Windows application using MFC that contains graphics and user interface components. (II, III, IV)
4. Design and develop a Windows application using Developer Studio that employs the Document View architecture. (IV, V)
5. Program a multithreaded application and use a Dynamic Link Library. (VI, VIII)
6. Design and develop a Client/Server Windows application using MFC that retrieves and stores data using ODBC interfaces. Ensure that all the networking and file-related exceptions are handled properly. (VII, X, XI)
7. Describe the Component Object Model and how it relates to ActiveX. (IX)
8. Design and develop an ActiveX component using the ActiveX template Library (ATL) and display it on a web page. (IX)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
CSC251AA   19986-20086 Advanced Visual C++ Programming Using Microsoft Foundation Classes
    I. Overview of Windows and MFC
        A. Event model
        B. Windows API
        C. Major classes in the MFC class hierarchy
          1. Application architecture classes
          2. Window support classes
      II. Minimal Window Applications
          A. Using frame windows
          B. Messages and message maps
          C. Standard message handlers
          D. Displaying text to the user
          E. Resource files
          F. Building a minimal Windows application using MFC
        III. Graphics
            A. Device contexts
            B. Writing text
            C. Colors
            D. Fonts, pens, brushes
            E. Drawing lines and shapes
            F. Using virtual windows
          IV. User Interface Components
              A. Menus
                1. Command events
                2. Message handlers
                3. Dynamic menus
              B. Standard controls
              C. Dialog boxes
                1. Common dialogs
                2. Modal dialogs
                3. Modeless dialogs
                4. Data transfer and validation
              D. Common Controls
              E. Other user interface components
                1. Toolbars
                2. Status bars
                3. Dialog bars
              F. Visual configuration using Developer Studio
              G. Building an application with graphics and user interface components
            V. Document View Architecture
                A. Single Document Interface (SDI)
                B. Multiple Document Interface (MDI)
                C. Message routing strategy
                D. Classes
                  1. Document
                  2. Views
                    a. Supporting scrolling
                    b. Supporting query by form
                  3. Document template
                E. Key functions for each class
                F. Key overrideable virtual functions for each class
                G. Dynamic creation of objects
                H. Building a Document View application
              VI. Dynamic Link Libraries (DLLs)
                  A. Creating DLLs
                  B. Using a single DLL in multiple applications
                VII. Exception Class Hierarchy
                  VIII. Threads
                      A. Synchronization techniques
                      B. Building multi-threaded applications
                    IX. Component Object Model (COM)
                        A. Overview
                          1. Objects
                          2. Interfaces
                          3. Servers
                          4. Clients
                          5. Containers
                        B. Interface Definition Language (IDL)
                        C. System registry
                        D. Automation
                        E. Persistence
                        F. ActiveX
                        G. The ActiveX Template Library (ATL)
                        H. Building an ActiveX component using the ATL
                      X. Open Database Connectivity Classes (ODBC)
                          A. Creating databases
                          B. Storing information
                          C. Retrieving information
                          D. Building an ODBC application
                        XI. Client/Server
                            A. Sockets
                            B. WinInet and WinSock classes
                            C. Building a Client/Server application
                        Go to Description    Go to top of Competencies    Go to top of Outline