C++ Course

Start Date:
TBD
90
academic hours
Final Project
C Plus Plus

C++ Course

The C++ course is a comprehensive guide for both beginners and advanced programmers. It provides the knowledge and practical skills necessary for developing professional software in the high-tech industry.

The course covers a wide range of topics and includes:

  • Over 80% hands-on training with exercises and solutions
  • Classroom exercises with explained solutions
  • Course materials and resources
  • Project work based on industry standards
  • Sample interview questions

C++ is a popular programming language used in various domains, including:

The C language encompasses the best of two worlds. It supports Generic Programming, inheriting this trait from the C language. Additionally, it serves as the first language with Object-Oriented Programming capabilities.

The C language course is built upon the foundation of the C language, which implements procedural programming principles. Therefore, if you're not familiar with the C language, it's recommended to start by learning a C course before delving into C++. The C++ language answers various needs that its predecessor, the C language, lacked.

In fact, C++ serves as an extension of the C language. It combines various programming models, in addition to offering Object-Oriented Programming capabilities. It allows for encapsulation, inheritance, and polymorphism, along with human-like capabilities. Coupled with its high execution speed, C++ enables software development for complex and sophisticated systems in various domains.

Key Points about Learning C++

C++ is relatively old, dating back to the 1980s, but it continues to be a leading programming language today. It serves as the foundation for many advanced programming languages developed in recent years, such as Python, Java, and C#.

Mastery of the C++ language provides an advantage over other languages. On one hand, it supports high-level programming capabilities, while on the other hand, it integrates low-level programming capabilities for hardware manipulation.

Using a cross-compiler, C++ can be tailored to support various architectures. It is utilized for memory management, writing to processors, and verifying device managers, among other applications.

Many concepts in the C++ language have been derived from the C language, but the change is in the concept itself. C++ supports topics such as Encapsulation, Inheritance, and Polymorphism, which alter the way software is developed and maintained.

In contrast to object-oriented programming languages like Java and C#, C++ is not a purely "clean" object-oriented language. This means that its writing style doesn't necessarily revolve around objects and classes, and it allows for the use of functions that may not be inherently tailored for object-oriented programming.

C++ is a language known for its highly efficient performance, making it the primary choice for a variety of projects where high speed is an essential requirement.

As mentioned, C++ is one of the popular programming languages among developers worldwide today. Due to this, learning C++ is essential in colleges and universities for degrees in software engineering, computer science, and other exact sciences both nationally and globally.

Despite attempts to propose modern programming languages based on and influenced by C++, such as Java and C#, it still remains dominant, important, and relevant for software development.

Who is the C++ course for?

  • The C++ course is designed for individuals with basic knowledge or experience in software development who are interested in delving into C++ programming.
  • It is suitable for hardware/software engineers who want to develop Object-Oriented Programming (OOP) skills using C++.
  • People who seek to professionally transition into the programming world.
  • Candidates with preliminary knowledge of C++/C programming languages.

C++ Course Prerequisites

  • Background or experience in programming other languages.
  • Experience in C programming is an advantage.
  • Professional knowledge interview.

C++ Course Description

The C++ course is a practical program that includes both lectures and hands-on exercises.

The duration of the C++ course is approximately 90 academic hours.

The C++ course includes:

  • Learning C++ for beginners and advanced learners.
  • Class exercises accompanied by explanations, homework assignments, and solutions on the course website.
  • C++ course booklet.
  • Video tutorials and presentations on the course website.
  • Usage of development boards for C++ in Embedded Systems.

Towards the end of the C++ course, each student will complete a practical project that demonstrates the knowledge acquired during the course.

The lectures are held once a week in the evenings or mornings.

Course Structure

Ch. 1

Basic Classes

Ch. 2

Dynamic Allocation

Ch. 3

References

Ch. 4

Copy Constructor

Ch. 5

Streams

Ch. 6

Files Input & Output

Ch. 7

Strings

Ch. 8

Static Functions & Variables

Ch. 9

Friend Functions & Friend Classes

Ch. 10

This Pointer

Ch. 11

Operator Overloading

Ch. 12

Composition

Ch. 13

Inheritance

Ch. 14

Virtual Function Polymorphism

Ch. 15

Multiple Inheritance

Ch. 16

Pure Virtual Functions & ADT

Ch. 17

Runtime Type Identification

Ch. 18

Errors & Exceptions

Ch. 19

Design Patterns

Ch. 20

STL standard Template Library

Ch. 21

Vectors

Ch. 22

Iterators

Ch. 23

Templates

Ch. 24

Smart Pointers

Ch. 25

C++ for Real-Time Embedded Systems

Head of the department
teacher-image-Benny-Cohen

Meet your instructor

Benny Cohen

Embedded Academy Founder and CEO

As a long-time veteran in the technology industry, Benny Cohen combines a deep passion for technology with extensive field experience. With a B.Sc. in Electronics Engineering and an M.Sc. in Communication Engineering, he has spent over 20 years developing software and hardware systems, including the last few years focusing on the cybersecurity industry. In addition to his role as the company founder & CEO, Benny also operates as a hands-on practitioner who specializes in penetration testing and has conducted significant security assessments for leading enterprises and security companies worldwide. His approachable teaching style and real-world expertise make learning both engaging and relevant.

RT*main*RT*afterFunction*RT*insideLoop*RT*insideLoop*RT*insideLoop*RT*insideLoop*RT*insideLoop*

What our graduates say

C++ Course Integration in Other Programs

Associated Learning Modules:

All rights reserved Embedded Academy ©