Dec 03, 2024  
Catalog 2020-2021 
    
Catalog 2020-2021 [ARCHIVED CATALOG]

CSD 233 C++ Programming

5 credits
This class teaches C++ programming language, its specific features, and the advantages they present for software development. The topics include pointers and memory management, reference parameters, c-strings and arrays as primitive data types, class inheritance, polymorphism, encapsulation, use of virtual functions and templates, and exceptions.

Prerequisites: CS 143  as either a prerequisite or corequisite

Course Outcomes
Upon successful completion of this course students will be able to:

  • Use correct C++ syntax when writing programs
  • Name and use C++ data types
  • Explain the difference between pass-by-value and pass-by-reference function parameters in C++, and use pass-by-reference parameters to return values from functions
  • Explain the concept of pointers and dynamic memory management in C++, and use pointers effectively in programs
  • Explain and illustrate the advantages and challenges direct memory access presents for programmers in C++, and demonstrate the use of safe memory management techniques
  • Use arrays and c-strings in programs
  • Use class inheritance, polymorphism, and virtual functions in C++
  • Justify the need for exceptions, write exception-throwing and exception - handling code, and create exception classes 
  • Create template functions and classes in C++
  • Use C++ STL library
  • Implement data structures such as lists and trees using pointers
  • Write medium-sized programs in C++

Program Outcomes
This course teaches to the followng program outcomes:

  • be prepared to obtain an entry-level position in software development
  • design, implement, and debug software applications using modern programming languages
  • analyze software related problems and design solutions utilizing appropriate software tools

Total Hours: 60 Theory (Lecture) Hours: 40 Guided Practice (Lab or Clinical) Hours: 20