
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. 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.
Note(s) Students must have access to a 2017 or above C++ compiler.
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
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
Note(s) Students must have access to a 2017 or above C++ compiler.
Skills Needed Experience with a high level programming language such as C/Java/Python.
Next Section Starts In:
Days
:
Hours
:
Mins
:
Secs
Oct. 3, 2023, 6:30 p.m.
Have a question about this course?
ENROLL EARLY!
- Save Your Seat
Help us confirm course scheduling. Enroll at least seven days before your course starts. - Accessing Canvas
Learn more about gaining access to your course on Canvas in our FAQ section. -
Accessibility and Accommodation
For accessibility questions or to request an accommodation, please visit Access for Students with Disabilities or email the Extension registrar. -
Finance Your Education
Here are ways to pay for your education.
This course is related to the following programs:
Prerequisite(s):
Sections Open for Enrollment:
Schedule
Date: | Start Time: | End Time: | Meeting Type: | Location: |
---|---|---|---|---|
Tue, 10-03-2023 | 6:30 p.m. | 9:30 p.m. | Live-Online | REMOTE |
Tue, 10-10-2023 | 6:30 p.m. | 9:30 p.m. | Live-Online | REMOTE |
Tue, 10-17-2023 | 6:30 p.m. | 9:30 p.m. | Live-Online | REMOTE |
Tue, 10-24-2023 | 6:30 p.m. | 9:30 p.m. | Live-Online | REMOTE |
Tue, 10-31-2023 | 6:30 p.m. | 9:30 p.m. | Live-Online | REMOTE |
Tue, 11-07-2023 | 6:30 p.m. | 9:30 p.m. | Live-Online | REMOTE |
Tue, 11-14-2023 | 6:30 p.m. | 9:30 p.m. | Live-Online | REMOTE |
Tue, 11-21-2023 | 6:30 p.m. | 9:30 p.m. | Live-Online | REMOTE |
Tue, 11-28-2023 | 6:30 p.m. | 9:30 p.m. | Live-Online | REMOTE |
Tue, 12-05-2023 | 6:30 p.m. | 9:30 p.m. | Live-Online | REMOTE |
Tue, 12-12-2023 | 6:30 p.m. | 9:30 p.m. | Live-Online | REMOTE |