powered by
Center for Curriculum and Transfer Articulation
Advanced Programming Using C++
Course: CSC250

First Term: 2018 Fall
Lec + Lab   3 Credit(s)   5 Period(s)   5 Load  
Subject Type: Academic
Load Formula: T Lab Load


Description: Developing Applications in C++; moving from C to C++ including objects and classes, inheritance, polymorphism and data abstraction



MCCCD Official Course Competencies
1. Write computer programs utilizing current software engineering techniques. (I)
2. Describe how and why the basic object oriented principles of object classes, data abstraction, inheritance and polymorphism are used in the software development process. (II)
3. Write C++ programs using objects and classes (base and derived), methods, friend functions, overloaded operators, virtual functions, templates, exception handlers, and streams. (III)
4. Specify, design and implement maintainable programs in C++ that include multiple pieces that work together to solve a single problem. (I, II, III)
5. Use standard graphics libraries to build applications in C++ that support a non- character based (e.g., point and click) user interface. (IV)
6. Write C++ event-processing applications that work with the user interface. (IV)
7. Write applications in C++ that interface to another major application, such as a relational database package for permanent storage. (IV)
MCCCD Official Course Competencies must be coordinated with the content outline so that each major point in the outline serves one or more competencies. MCCCD faculty retains authority in determining the pedagogical approach, methodology, content sequencing, and assessment metrics for student work. Please see individual course syllabi for additional information, including specific course requirements.
 
MCCCD Official Course Outline
I. Software Engineering
   A. Description
      1. Requirements
      2. Design
      3. Implementation
      4. Unit test and system test
      5. Repeatability
      6. Maintainability
   B. Use of case tools
II. Design Model
   A. Object oriented model
      1. Classes
      2. Inheritance
      3. Polymorphism
      4. Data abstraction
   B. Comparison of design models
   C. The role of an object hierarchy
III. Language Features
   A. C++
      1. Classes, objects, methods
      2. Derived classes, inheritance
      3. Operators, friend functions, operator overloading
      4. Virtual functions, polymorphism
      5. Templates
      6. Exception handling
      7. Streams
   B. Using C and C++ together
IV. Building an Application in C++
   A. User interface
   B. Event-driven processing
   C. Database (or other) interface(s)
 
MCCCD Governing Board Approval Date:  2/24/1998

All information published is subject to change without notice. Every effort has been made to ensure the accuracy of information presented, but based on the dynamic nature of the curricular process, course and program information is subject to change in order to reflect the most current information available.