Skip to main content
Colorful blurry code

C++ Programming | CMPR.X404


This course covers object-oriented programming using modern C++. Because most automation, embedded applications, gaming, and many large data processing applications are written in C++, it is essential that software developers understand and master it. Hardware engineers are increasingly using C++ and OOP in system verification tasks and as of the current decade, there has been a noticeable shift from C to C++ on microcontroller systems.

This course offers an excellent foundation in developing optimized modern C++ applications. The participants will learn to write faster and modular code, and the debugging techniques, for real-world applications. There will be assignments and exercises to accompany the lectures.

Learning Outcomes
At the conclusion of the course, you should be able to

  • Apply object oriented concepts to software development problems using modern C++
  • Understand and use the basic programming constructs of C++
  • Manipulate various C++ data types, such as arrays, strings, and pointers
  • Write C++ code using principles of object-oriented programming
  • Understand design patterns in C++ using singleton pattern
  • Manage memory appropriately, including proper allocation/deallocation procedures using unique and smart pointers
  • Utilize best practices from C++ GSL or Google Abseil libraries

Topics Include

  • Principles of object-oriented analysis and design
  • Stream classes for input/output and to read/write files
  • User defined data types using structures and classes
  • Declarations of identifiers, pointers, function pointers and references
  • Reuse code and extend existing data types through inheritance
  • Memory management and dynamic array declarations
  • Create class/function templates and understand STL
  • Use static member variables and static member functions
  • Declare friend functions and friend classes
  • Function overloading and operator overloading
  • Polymorphism concept using virtual function
  • Understand exceptions handling techniques using try/catch syntax

Skills Needed

Experience with a high level programming language such as C/Java/Python.

Have a question about this course?
Speak to a student services representative.
Call (408) 861-3860
FAQ
ENROLL EARLY!
This course is related to the following programs:

Prerequisite(s):

Estimated Cost: TBD

Course Availability Notification

Please use this form to be notified when this course is open for enrollment.

Contact Us

Speak to a student services representative.

Call (408) 861-3860

Envelope extension@ucsc.edu

What students are saying

"The instructor presented a wide degree of material with great teaching methods. He was available to students beyond the class hours. In-class practice, homework, & the final enabled us to apply accumulated knowledge in C++ throughout the course"
— Tom T. Hua Embedded Systems Engineer

Course: C++ Programming