C++ Tutorial for Complete Beginners

1 Review

Teachers: John Purcell

About: 18 hours, 81 lessons, Certificate of Completion

This course teaches you the powerful, fast and popular C++ programming language from scratch, assuming only basic computer knowledge. If you want to develop apps that squeeze the most power from your computer -- high-end desktop games or complex artificial intelligence programs, for instance -- or if you want to use a language that let's you get close to your machine and access all of your computer's hardware, C++ is the language for you. While C++ is quite challenging, in this course we'll learn the basics step by step; towards the end of the course you'll learn how to create a beautiful "particle fire" program, includ … Read More


More Details

Course Description

This course teaches you the powerful, fast and popular C++ programming language from scratch, assuming only basic computer knowledge. If you want to develop apps that squeeze the most power from your computer -- high-end desktop games or complex artificial intelligence programs, for instance -- or if you want to use a language that let's you get close to your machine and access all of your computer's hardware, C++ is the language for you. While C++ is quite challenging, in this course we'll learn the basics step by step; towards the end of the course you'll learn how to create a beautiful "particle fire" program, including a smattering of the basic principles of game development.

Curriculum

Module 1: Getting Started

Lesson 1: Introducing C++
What is C++ and why should you learn it?
Lesson 2: Screen Resolution
Lesson 3: Setup and Installation
What you need to get started with C++, and where you can get it.
Lesson 4: Hello World C++
Lesson 5: Outputting Text
How to "print" text to the console in C++.

Module 2: Basic Syntax

Lesson 1: Variables
Lesson 2: Strings - Working with Text
Strings let you store bits of text that you can use later in your program.
Lesson 3: User Input
Our programs aren't very interesting until they are interactive. So in this tutorial we'll look at getting input from the user.
Lesson 4: Binary Numbers and Computer Memory
In C++, it helps a lot to know a bit about how the computer's memory is structured. So we'll take a look at binary numbers, bits and bytes in this tutorial
Lesson 5: Integer Types
C++ provides you with various kinds of variable types for working with numbers. In this tutorial we'll take a look at integer types.
Lesson 6: Floating Point Types
Lesson 7: Other Types: Char and Bool
Lesson 8: If
Lesson 9: If-Else
Lesson 10: If-Else If-Else
Lesson 11: Comparing Floats
Lesson 12: C++ Conditions
Lesson 13: While Loops
Lesson 14: Do-While Loops
Lesson 15: "For" Loops
Lesson 16: Break and Continue
Lesson 17: Arrays - Lists of Data
Lesson 18: Multidimensional Arrays
Lesson 19: Sizeof and Arrays
Lesson 20: Sizeof Multidimensional Arrays
Lesson 21: Switch

Module 3: Subroutines: Reusable Blocks of Code

Lesson 1: Functions
Lesson 2: Return Values
Lesson 3: Function Parameters
Lesson 4: Headers and Prototypes

Module 4: Object Oriented Coding

Lesson 1: Classes
Lesson 2: Data Members
Lesson 3: C++ Constructors and Destructors
Lesson 4: C++ Getters and Setters
Lesson 5: C++ String Streams
Lesson 6: Overloading Constructors
Lesson 7: The "this" Keyword
Lesson 8: Constructor Initialization Lists

Module 5: Pointers and Memory

Lesson 1: Pointers
Lesson 2: Arithmetic
Lesson 3: Pointers and Arrays
Lesson 4: Pointer Arithmetic
Lesson 5: Char Arrays
Lesson 6: Reversing a String
Lesson 7: References
Lesson 8: The "const" Keyword
Lesson 9: Copy Constructors
Lesson 10: The New Operator
Lesson 11: Returning Objects from Functions
Lesson 12: Allocating Memory
Lesson 13: Arrays and Functions
Lesson 14: Namespaces

Module 6: Inheritance

Lesson 1: Inheritance
Lesson 2: Encapsulation
Lesson 3: Constructor Inheritance

Module 7: Odds and Ends: Twos Complement and Static Variables

Lesson 1: Twos Complement
Lesson 2: Static Keyword

Module 8: Developing a Program: The Particle Fire Simulation

Lesson 1: Particle Fire Explosion
Lesson 2: Using C++ Libraries
Lesson 3: Acquiring Simple Direct Media Layer
Note: Lazy Foo's tutorials are a great resource for specific SDL setup instructions, and SDL in general: http://lazyfoo.net/tutorials/SDL/01_hello_SDL/index.php
Lesson 4: A Basic SDL Program
Note: for Windows you need both SDL2.lib and SDLmain.lib
Lesson 5: Creating an SDL Window
Lesson 6: Textures, Renderers and Buffers
Lesson 7: Setting Pixel Colors
Lesson 8: Creating the Screen Class
Lesson 9: Bit Shifting and Colors
Lesson 10: Adding a Set Pixel Method
Lesson 11: Animating Colors
Lesson 12: Creating Particles
Lesson 13: Animating Particles
Lesson 14: Creating an Explosion
Lesson 15: Ensuring Constant Speed
Lesson 16: Bitwise "And"
Lesson 17: Implementing Box Blur
Lesson 18: Tweaking Particle Motion

Module 9: Conclusion

Lesson 1: Languages Overview
Lesson 2: What Next

Module 10: Bonus

Lesson 1: Object Oriented Design Considerations
Lesson 2: Postfix and Prefix
Lesson 3: Polymorphism
Lesson 4: Creating Static Libraries

Reviews (1 Review)

Ari Haverinen February 15th, 2017

What You'll Learn

  1. You'll be able to develop powerful C++ programs
  2. You'll be able to apply for C++ jobs
  3. You'll understand the basics of computer programming, including Object Orientation

Requirements

  1. You can use any C++ IDE (terms explained in the course) and compiler to follow this course; all the software you need is free, but you may need to do a little Googling to find explicit install instructions for your platform

Your Teacher

Software Development Trainer