Mar 17, 2026  
2026-2027 Undergraduate Academic Catalog 
    
2026-2027 Undergraduate Academic Catalog
Add to Portfolio (opens a new window)

CSC 2212 - Procedural and Object-Oriented C++

3 lecture hours 2 lab hours 4 credits
Course Description
This course introduces students to the C++ programming language. Students write programs using object-oriented and procedural abstractions, standard libraries, and low-level constructs motivated by the C language. The course covers data representation, basic machine architecture, instruction execution, memory management, the implementation of high-level programming constructs at the machine level, and the impact of C++’s type system on readability, reliability, and efficiency.
Prereq: CSC 1110  (quarter system prereq: CS 2852)
Coreq: CSC 1120  or CSC 1020  
Note: None
This course meets the following Raider Core CLO Requirement: None
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Design and implement robust C++ programs using classes, inheritance, operator overloading, polymorphism, dynamic memory allocation, and the Standard Template Library
  • Implement C++ programs with file I/O for a Unix-based operating system and deploy them via virtual machines
  • Design and implement small procedural programs in C++ and C
  • Apply debugging tools and techniques to identify, diagnose, and resolve issues in C++ implementations
  • Employ make files and preprocessor directives to support project configuration through conditional compilation
  • Explain how C++ typing rules impact efficiency, reliability, and readability, and how those rules differ from the rules of other popular languages
  • Describe the transformation of code from a high-level language, such as C++, to machine-level instructions
  • Analyze and explain how variables are allocated in memory, the relationship between variables and pointers, and the scope and lifetime of variables
  • Apply and evaluate argument passing by value, reference, and address
  • Explain how unsigned integers, signed integers, and floating-point values are represented by processors and how that representation impacts performance
  • Write fragments of assembly code and explain core computer organization including machine instruction execution, registers, memory layout, caches, pipelines, and data paths

Prerequisites by Topic
  • Object-oriented programming
  • Java programming

Coordinator
Dr. Robert Hasker



Add to Portfolio (opens a new window)