Home » Computer Science » Introduction to C++
No. of
Lectures
Duration
(hrs:min)
16
9:20

Introduction to C++ Programming Prof. Alvin Sylvain

4.6
133 ratings • 13 reviews
  • Level Beginner
  • 16 Lessons (9hr : 20min)
  • 3,502 already enrolled!
  • Audio: English

Professor Alvin Sylvain makes learning C++ as easy as possible with lessons that first focus on theory and sample code, before diving into compiling and troubleshooting actual code and applications.

Table of Contents

Section 1: Introduction to C++

  Introduction 26:51
   Intro 0:00 
   Overview 0:11 
   What You'll Learn 0:51 
    Evaluate & Write Some Real C++ Code 3:22 
    Learn Some 'Best Practices' 3:43 
   C++ in the Wild 4:01 
   Examples 7:11 
    Declare an Integer 7:20 
    Call Functions 7:41 
   Examples 10:20 
    Factorial 10:36 
    Loop 12:20 
   Examples 13:20 
    If Greater Than 0 14:06 
    If Each 0 Equal 1 14:23 
   Modular Example - Function 14:34 
   Trig - Examples 16:44 
   A Brief History 19:02 
    Combines Features From Simula 67 and C 19:20 
    1998 - First International Standard Known as C++98 20:14 
    2011- New C++11 20:24 
   C=++ Advantages 20:36 
    Combines Functional Programming with Object-Oriented Programming 21:29 
    Compiled Code Works Closely with the Hardware 22:18 
    Language Elements 22:51 
   C++ Disadvantages 23:09 
    Little Run-Time Checking 23:39 
    Library of Tools are Not as Extensive as Other Languages 24:40 
   Ready to Get Started! 26:35 
  Getting Started 44:24
   Intro 0:00 
   Overview 0:15 
   Acquiring a C++ Compiler - Windows 1:06 
   Setting up MinGW 2:44 
   Acquiring a C++ Compiler - Others 3:24 
    Redhat (Fedora) Linux 3:40 
    Ubuntu (Debian) Linux 4:19 
    Apple Macintosh 4:43 
   Acquiring a C++ Compiler - IDE 5:05 
    Eclipse CDT 5:12 
    Eclipse Older Version 6:30 
   Acquiring an Editor 6:46 
   Acquiring an Editor 8:36 
    Linux 8:40 
    Macintosh 8:51 
   'Hello World' Everybody's First Program 9:35 
    Source Code 13:31 
   Basic Program Structure 17:50 
    Example 20:14 
   Basic Program Structure 21:02 
    Main Function Definition 21:29 
   Compiling, Linking, Running 22:14 
    Examples: Compile 22:47 
    Link 24:55 
   Build Tools 26:11 
    Build a 'Makefile' 26:26 
    Integrated Development Environment (IDE) 27:25 
   Quick Note on Variable Declaration 28:03 
    Example: Integers 28:26 
    Example: Floating Point Numbers 29:05 
   Your Second Program - User Input Basic 'How Old Are You?' 30:49 
   Workspace / Source Code 32:21 
    New Workspace 33:29 
   Quick Note on Character Arrays 34:44 
    Example 35:34 
   Your Third Program - User Text Input 'What’s Your Name?' 37:13 
    Example 37:46 
    Workspace 39:50 
   Do Your Homework! 42:56 
  Data Storage 10:08
   Intro 0:00 
   Overview 0:12 
   Variables, Identifiers, Names 1:34 
    Identifiers Defined 1:51 
    Example of Valid Identifiers 2:16 
   Styles: Multi-Word Identifiers 3:59 
    Compiler Doesn't Care 4:51 
   Styles: Identify Identifiers 5:38 
   Simple Data Types 8:08 
   Variable Type Declaration 10:35 
    Commentary 11:42 
    More Than One Variable Declared 13:22 
   Compiler Allocates Storage 14:23 
    Example 15:30 
   Variable Initialization 16:47 
    C Style 17:39 
    Example 18:23 
    C++ 'Class' Style 18:35 
   Numeric Literals 19:41 
    'Long' Types 21:15 
    Beware: Do Not Use 23:40 
   Character Literals 24:27 
    Examples 24:49 
   Quoted Special Characters 27:43 
   String Literals 29:55 
    String Object 32:28 
   Homework 33:20 
  Operators & Expression 32:24
   Intro 0:00 
   Overview 0:11 
   Parameters for Operators 0:47 
   Left Side vs. Right Side 1:56 
    Example 3:12 
   Operators - Assignment 3:40 
   Assignment - Don't Confuse Readers 5:17 
   Operators - Arithmetic 7:53 
   Operators - Compound Assignment 9:38 
   Operators: Increment / Decrement 10:24 
    Examples 10:50 
    Pre- vs. Post-Operator 11:20 
   Operators - Comparators 12:19 
   Operators - Logical 13:38 
    Examples 14:35 
   Operators - Boolean Truth Tables 15:45 
    Examples 16:55 
   Operators - Input and Output 18:42 
    I/O Stream 18:56 
   Operators - Type Casting, Sizeof 20:42 
    'Sizeof' 21:46 
   Type-Casting Cautions 22:27 
    Classic Example 22:38 
   Type Promotion 25:46 
   Operator Precedence 26:58 
    Firth Things: Unary Operators 27:27 
   Expressions 28:32 
    Examples 28:58 
   Cautions 30:17 
    Classic Example 30:31 
   Hey! Wrong Kind of Operator! 32:13 
  Branching 26:15
   Intro 0:00 
   Overview 0:03 
   Code Blocks, Scope 1:32 
    'Scope' of the Block of Code 2:27 
   Scope Example 2:56 
   'If' Statement 5:20 
   'Else' Clause 6:43 
    Example 7:01 
   Nested 'If' 7:52 
    Example 8:08 
   More Nested 'If' 8:41 
   'If' Without Blocks 9:53 
   'Chained If' 10:35 
    Example 10:51 
   'If' Statement's Expression 11:36 
   'If' Statement Stylistic Notes 12:55 
   'Else' Clause Stylistic Notes 14:24 
   'Switch' Multiple Choice 15:15 
   'Switch' Like 'Chained-If' 16:35 
   'Switch Tricks' 17:56 
    Leave Break Out 18:10 
   'Conditional' Statement Cautions 19:54 
   'Conditional' Statement Example 21:56 
    Another Example 23:05 
   'Goto' and 'Label' 23:40 
   Do's and Don'ts 1:54 
  Looping 28:19
   Intro 0:00 
   Overview 0:08 
   Important Kind of Branch 1:17 
   Branch That Loops 1:43 
   In The Beginning 3:51 
   'While' Loop - Pre-Test 4:45 
   'Do-While' Loop - Post-Test 6:47 
   'Do-While' Run It Again 7:31 
   'For' Loop-Counting Loops 9:38 
   'For' Loop-Most Typical Use 11:46 
    Useful Feature 12:47 
   'For' Loop - Similar to 'While' 13:47 
    Example 13:57 
    Equivalent 'While' Loop 14:34 
   'Break' Out of Loop 15:50 
   'Break' Examples 17:07 
   'Continue' Back to Beginning 18:49 
    'For' Loop 19:04 
   'Continue' Caution 20:05 
    Infinite Loop 20:58 
   Loop Inside of Loops 21:44 
   Typical Bug 22:50 
   More Looped Loops 24:08 
   What a Loop! 27:46 
  Functions, Part 1 14:44
   Intro 0:00 
   Overview 0:09 
   Value of Functions 0:46 
   Example Without Function 2:04 
   Example With Function 3:30 
   Function Prototype 4:11 
    Return Type 4:33 
    Name 4:40 
    Parameters 4:52 
    Nomenclature 5:27 
   Prototype Example 5:45 
   Function Definition 6:28 
   Definition Example 8:11 
   Function Parameter Types 8:52 
    Definition 9:47 
   Using the Function 11:09 
   Functions Return Single Value 13:15 
   Break Problem into Pieces 14:12 
  Functions, Part 2 16:56
   Intro 0:00 
   Overview 0:09 
   Parameters by Value 0:47 
    Example 1:26 
   Parameters by Reference 2:55 
    Example 3:53 
   Parameters by Reference Example 4:20 
   Default Parameters 6:36 
    Acceptable Example 7:13 
    Unacceptable Example 7:27 
   Default Parameters Example 7:42 
   Return Value 8:41 
    Special Type: Void 10:31 
   Overloading 11:07 
    Name Accordingly & Carefully 11:17 
    Example 11:59 
   Overloading Example 12:31 
   Modularization 13:41 
    Smaller Modules 14:14 
    Isolated Modules 15:17 
   Cut Into More Pieces 16:31 
  Arrays & Pointers 40:44
   Intro 0:00 
   Overview 0:10 
   Use a 'Chunk' of Memory 3:22 
   Declaring an Array 6:27 
    Example 6:55 
   Select an Element From Array 8:44 
    Example 10:15 
   Multi-Dimensional Array 12:15 
    Examples 13:09 
   Compile-Time Initialization 14:18 
    Example 15:04 
   Multi-Initialization 16:27 
   Character String Initialization 18:27 
    Examples 18:43 
   Pointers 20:11 
    Example 21:02 
    Pointer Declaration 22:20 
    Reference Operator 22:52 
   Referencing and Dereferencing 24:30 
    Example 24:49 
   Pointer Arithmetic 27:10 
   Function Call-By Reference 31:06 
   Function Array/ Pointer Example 32:21 
   Null Terminated Character Arrays 34:22 
    Example 35:13 
   'New' and 'Delete' 36:31 
    Example 37:44 
   Array of Pointers 40:19 
  Structures 24:37
   Intro 0:00 
   Overview 0:10 
   Keep Data Organized 1:25 
    Multiple Arrays 2:01 
   Structure Declaration 3:19 
    Example 4:00 
   Structure Declaration 4:24 
    Example 4:53 
   Structure Usage 6:03 
    Example Structure 6:09 
   Accessing Members 8:27 
   Structure Member Structures 9:38 
    Example 9:50 
   Initializing Member Structures 11:35 
    Example 11:44 
    Access Data Within Data 12:46 
   Arrays of Structures 13:11 
   Multi-Dimensional? Of Course! 15:18 
   Pointers to Structures 17:55 
   Pointed-to Structure Members 21:22 
   Structure Pointer Operator 22:41 
    Example 22:53 
   Structure for Pointers 24:16 
  Input/ Output (IO) 43:36
   Intro 0:00 
   Overview 0:15 
   Character Input Streams 3:02 
    'Getline' Method 5:12 
   Input Stream Object Methods 7:47 
   Input Examples 11:56 
   Character Output Streams 15:19 
    'Cout' = Standard Output 15:34 
    'Cerr' = Error Output 16:32 
    Insertion Operator 17:45 
    Format 18:12 
   Output Stream Object Methods 18:23 
   Output Examples 21:23 
   Formatting: I/O Manipulators 23:38 
    Set the Width 24:04 
   More I/O Manipulators 28:20 
    Scientific 28:44 
    Set Precision 29:15 
    Examples 31:04 
   File Input/Output 32:13 
   Output Streams 33:52 
    Insertion Operator 35:15 
    Example 35:22 
   Input Streams 36:50 
    Example 37:35 
   Error Messages 38:18 
    'errno' 39:10 
    Example 39:49 
   File Example 41:06 
   Got Files? 42:58 
  Review Using Real Code 48:26
   Intro 0:00 
   Overview 0:19 
   Checkbook Program 1:15 
    Source Code 1:26 
    3 Structures 1:47 
   Checkbook Program 6:36 
    Create Functions 7:15 
    Source Code: Constant Set up / Version 7:45 
    Delimiter 9:25 
    Load Transactions 13:00 
    Dump Transactions 13:17 
    Utility Functions 14:56 
   Structures 16:14 
    Bank Structure 16:35 
    Transactions 16:44 
   Global Constants 17:00 
    Source Code: Global Variables 18:29 
   Function Prototypes 18:52 
    Source Code 19:36 
    Find the Bug in the Code 22:04 
   Function Prototypes 24:32 
   'Main', the Director 25:16 
    Source Code 25:44 
    Read Initial Data 26:13 
    Source Code 26:45 
   Function to Create 'Init' File 30:34 
   Transactions File Functions 35:12 
   User Action Functions 36:58 
    First User Action 37:10 
    Source Code 38:32 
   Utility Functions 44:34 
    'Stringstream' 45:23 
   Write Your Own Cheque 47:26 
  C++ Standard Library 27:53
   Intro 0:00 
   Overview 0:22 
   System Time 1:42 
    Example 2:48 
   Back to the Future! 3:31 
   Human-Readable Time 5:27 
    Example 5:47 
    Static Memory 6:36 
   Local and GMT Time 7:45 
    localtime 8:28 
    gmtime 8:42 
    Example 8:50 
   Time Structure 9:23 
   Formatting Time 10:16 
    Example 11:02 
   Math Library 11:58 
   Other Math Functions 13:11 
   Functions from cstdlib (Standard Library) 13:47 
   More from cstdlib 15:31 
   Functions from ctype 19:29 
   More From ctype 21:27 
    Example 21:55 
   Functions from cstrings 23:00 
   More from cstrings 25:16 
    Additional Length Limited Versions 25:46 
   See the Library! 27:30 
  Handling Strings 33:01
   Intro 0:00 
   Overview 0:09 
   Two Kinds of Strings 2:21 
    Object String from C++ 2:25 
    Classic Strings from C 3:30 
   C++ String Object 4:24 
    Useful Member Functions 4:34 
   String Object Examples 7:35 
    Initialization 7:39 
    Operations 7:49 
   String Object Member Functions 10:27 
    Member Function 10:40 
    Example 11:02 
   More Member Functions 13:34 
   Arrays of String Objects 16:18 
    Examples 16:34 
   Classic C Character String Array 19:00 
    Defined As 19:24 
    Useful Functions for C-String Operations 20:20 
   Array of Classic C String 22:00 
    Examples 22:10 
   Some Reasons Against Classic 24:36 
    Examples 24:59 
    Need to Use String Functions 25:33 
   Cautions with Classic C Strings 26:11 
    Examples 26:23 
    Especially with Copying and Concatenation 27:16 
   But You Can't be Rid of It 29:35 
    Examples 30:00 
   Don't Tangle Your Strings! 32:30 
  Object Oriented Programming 22:45
   Intro 0:00 
   Overview 0:15 
   Concepts 1:53 
    Object Oriented Programming (OOP) 2:42 
   Some Terminology 3:34 
    Object Defined 3:39 
    Class Defined 4:07 
    Instance Defined 4:20 
    Example 4:35 
   Abstraction 5:21 
    Emphasis on Essential 5:36 
    Emphasis on Characteristics 6:17 
   Encapsulation 7:29 
    Private Data 8:16 
    Public Methods 8:40 
    Protected Data 9:14 
   Inheritance 10:08 
    Example 10:39 
   Polymorphism 11:39 
    Example: Operator Overloading 12:24 
   'Is-a' vs. 'Has-a' 14:00 
   Multiple Inheritance 15:07 
    Example 15:28 
    Diamond Problem 17:59 
   Constructors / Destructors 18:27 
   My Kind of Inheritance 22:25 
  Source Files & OO Samples 35:58
   Intro 0:00 
   Overview 0:19 
   Source File Separation 2:31 
   Compilation Units 4:24 
    Example 4:34 
   Header File (Interface) 7:23 
   Include Header File 9:25 
    Example 10:12 
   Protect from Multi-Include 11:42 
    Example 12:33 
   Source File (Implementation) 14:05 
    Algorithms 14:23 
   Commands 15:49 
   Class Syntax 17:25 
    Private Member 18:00 
    Protected Member 18:23 
    Public Member 18:52 
   Class Prototype for Header 21:13 
   Class Implementation 23:21 
    Controlled Access 24:49 
   Inheritance 25:44 
    Implementation 27:44 
   Virtual Method 29:04 
    Pointer 31:37 
   Virtual Example 32:02 
    Base Class 32:12 
    Derived Classes 32:25 
   Polymorphic Example 33:14 
   Finished 35:23 

Duration: 9 hours, 20 minutes

Number of Lessons: 16

Perfect for the beginner coder looking to learn C++ programming.  Professor Sylvain’s teaching experience allows him to show users how to avoid common pitfalls for the beginner programmer. Also included in the online course are Homework and Downloadable Files with his lessons to cement understanding of important principles.

Additional Features:

  • Free Sample Lessons
  • Downloadable Lecture Slides
  • Study Guides
  • Instructor Comments

Topics Include:

  • Operators & Expressions
  • Branching
  • Looping
  • Functions
  • Arrays & Pointers
  • Input/Output
  • Handling Strings
  • Object Oriented Programming
  • Source Files and Samples

Alvin Sylvain utilizes his M.S. in Computer Science and decades of experience programming and tutoring to instruct Educator.com's Introduction to C++ course.

Student Testimonials:

“I absolutely love the way you lecture! Lots of excitement! “ — Micheal B.

“This has been soooo helpful, thanks a lot.” — David A.

Visit Prof. Sylvain’s page

Student Feedback

4.6

13 Reviews

62%
38%
0%
0%
0%
By Isaac MartinezOctober 12, 2016
Professor,
Is there a mac compiler you recommend?

Thank you!
By Gerardo DriotesMay 16, 2015
Hello!

I would like to download the slides but it keeps saying me that there's a problem to do it.

Thank you educator!
By Jimmy WanOctober 4, 2014
I actually ended up running the program successfully due to your amazing videos! Thank you anyways for your quick and concerning response man! You have my respect sir :)
By Kitt ParkerJune 12, 2014
Thank you for the assistance.  I will give this a try.  I actually ended up having different program behavior on two different systems ><
By Kitt ParkerJune 9, 2014
Good Evening Professor,
Perhaps once I have programmed more, it will become more clear.  I'm still unsure why you would point to a value instead of just referencing the value directly.
Educator®

Please sign in to participate in this lecture discussion.

Resetting Your Password?
OR

Start Learning Now

Our free lessons will get you started (Adobe Flash® required).
Get immediate access to our entire library.

Membership Overview

  • Available 24/7. Unlimited Access to Our Entire Library.
  • Search and jump to exactly what you want to learn.
  • *Ask questions and get answers from the community and our teachers!
  • Practice questions with step-by-step solutions.
  • Download lecture slides for taking notes.
  • Track your course viewing progress.
  • Accessible anytime, anywhere with our Android and iOS apps.