C++ Programming
This course is an introduction to the C++ programming language. Emphasis is placed on best, current practices and methods. Students will write extensive code as part of the course.
Audience
This course is suitable for developers or others with some experience in programming. This course is not designed for students who are new to programming.
PREREQUISITES
Students should have completed our Python Programming class or have equivalent experience with another programming language. They should be able to write conditionals, loops, and functions, do some basic debugging, and write a simple program that makes use of these skills.
Upon completion of this course, the student will be able to:
- Explain how OO software engineering enhances the software development process.
- Identify the major elements in an object-oriented programming language.
- Implement the concepts of data abstraction and encapsulation in abstract data types.
- Implement operator overloading.
- Use inheritance in C++.
- Select the proper class protection mechanism.
- Demonstrate the use of virtual functions to implement polymorphism.
- Write programs utilizing the I/O classes in C++.
- Understand C++ features including templates, exceptions, and multiple inheritance.
- Compare the object vs the procedural approach to writing software.
- Use correct object oriented terminology.
- Define and use classes in a C++ program.
- Create and use abstract data types.
- Derive classes using inheritance in C++.
- Implement polymorphism by using virtual functions in a program.
Introduction
● C++
● History
● Hello, World
● C++ Errors
● C++ Style
Building Programs
● The Build Process
● The Build Pipeline
● Building a Large Program
Variables
● C++ Variables
● Fundamental Types
● Standard Library Types
● Strings
● Aggregate Types
● Type Storage Duration Specifiers
● Type Qualifiers
● constexpr
Variable Operations
● Assignment
● Arithmetic Operators
Standard Types
● Standard Library Containers
● Pairs and Tuples
● Enumerated Values
Flow Control
● Conditionals
● Loops
● Loop Control
● switch-case
Input/Output Streams
● Output
● Formatted Input
● Processing User Input
● Formatted File I/O
● main Revisited
Functions
● Invoking Functions
● Creating Functions
● Header Files
References and Pointers
● References
Custom Types
● Access Specifiers
● Methods
● The this Pointer
● Constructors
● Destructor
● static Members
Inheritance
● Inheriting Fields and Methods
● Access Specifiers
● Polymorphism
● Virtual Methods
● Abstract Types
Exceptions
● Catching Exceptions
● Custom Exception Types
● Exception Signatures for Functions
● Standard Library Exceptions
● Exception Guarantees
Operator Overloading
● Operators as Methods
● The Spaceship Operator <=>
● Overloading Stream Operator <<
● Iterators
● Iterator Classifications
● Creating and Using Iterators
Namespaces
● Creating namespaces
● using Namespaces
● Argument-Dependent Lookup
Templates
● Template Constraints
● Templated Types
Is there a discount available for current students?
UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Asynchronous courses are excluded from this offer.
What is the cancellation and refund policy?
Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.