C++ Programming | CMPR.X404

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.

Next Section Starts In:


Days
:
Hours
:
Mins
:
Secs

April 24, 2024, 6:30 p.m.
2024-04-24T18:30:00-07:00
Have a question about this course?
Speak to a student services representative.
Call (408) 861-3860
FAQ
ENROLL EARLY!

Prerequisite(s):

Sections Open for Enrollment:

Open Sections and Schedule
Start / End Date Quarter Units Cost Instructor
04-24-2024 to 06-26-2024 3.0 $980

Preetpal Kang

Enroll

Final Date To Enroll: 05-04-2024

Schedule

Date: Start Time: End Time: Meeting Type: Location:
Wed, 04-24-2024 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Wed, 05-01-2024 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Wed, 05-08-2024 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Wed, 05-15-2024 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Wed, 05-22-2024 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Wed, 05-29-2024 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Wed, 06-05-2024 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Wed, 06-12-2024 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE
Wed, 06-26-2024 6:30 p.m. 9:30 p.m. Flexible SANTA CLARA / REMOTE

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