Introduction to the Course
Get an overview of what this course is about and see whether it fits your needs and skill level.
We'll cover the following
This course offers aspiring beginner programmers a fast-paced learning journey to establish a robust foundation in programming, covering essential constructs, paradigms, and practical applications.
Why this course?
This course reviews the foundation of procedural, structured, and object-oriented programming (OOP) in C++. It explores the dynamic world of pointers and their pivotal role in dynamic data manipulation. We’ll uncover how OOP employs the strength of abstraction and encapsulation, uniting the power of data and code structuring to enable the creation of scalable software solutions. In particular, we’ll discuss the C++ implementations of all the foundational constructs, laying a solid groundwork for further exploration in areas like data structures and algorithms.
The course structure
This course focuses on establishing a strong programming foundation by first emphasizing the essential constructs, such as variables, conditionals, loops, arrays, and pointers in C++. It then explores procedural, structured, and object-oriented paradigms, covering modularization through structures and classes. The course includes a mixed fraction case study, highlighting the two approaches and their differences. It also covers object relations and operator overloading in C++ and concludes with a hands-on project to build a library on matrices calculator.
Intended audience
The intended audience for this course includes:
Aspiring beginner programmers
Students who want to revise their basics of programming skills
Students interested in learning data structures
Prerequisites
The prerequisites for this course include:
Basic understanding of programming
Basic understanding of mathematical concepts (arithmetic operations)
Learning outcomes
The learning outcomes for this course are:
A solid understanding of essential programming constructs, control structures, functions, and arrays in C++
A solid understanding of pointers and their manipulation and handling errors with dynamic memory allocations
Proficiency in modularization, object-oriented programming, and operator overloading
Hands-on experience in building a matrices library project