Learn the fundamentals of programming with C++.
Explore solutions to common C++ programming challenges.
Build development environments, create applications, and program templates.
1
|
|
Programming Foundations: Algorithms with Joe Marini
Algorithms are the universal building blocks of programming. Learn the most popular and useful programming algorithms for searching and sorting data, counting values, and more.
Course Contents
Introduction :
Algorithms power the world 1m 2s
What you should know 1m 35s
Overview
What are algorithms? 2m 44s
Common algorithms in programming 5m 42s
Measuring algorithm performance 3m 47s
Common Data Structures
Introduction to data structures 1m 56s
Arrays 2m 29s
Linked lists 2m 36s
Linked lists walkthrough 7m 35s
Stacks and queues 2m 43s
Stacks and queues walkthrough 6m 2s
Hash tables 7m 59s
Recursion
Understanding recursion 3m 38s
Simple recursion example 3m 9s
Power and factorial 4m 14s
Sorting Data
Overview of sorting 2m 4s
The bubble sort5m 8s
The merge sort 2m 24s
Implement the merge sort 5m 10s
The quicksort 3m 31s
Implement the quicksort 5m 39s
Searching Data
Unordered list search 3m 45s
Ordered list search 5m 30s
Determine if a list is sorted 3m 37s
Other Algorithms
Unique filtering with hash table 3m 25s
Value counting with hash table 3m 4s
Find max value recursively 3m 44s
Conclusions
Next steps 1m 18s
|
2
|
|
Learning C++ with Erin Colvin
Learn the basics of programming with C++. This beginner-level course includes practice challenges and code examples.
Course Contents
Introduction
Fun with C++ 43s
What you should know 25s
Getting Started
IDE setup 1m 21s
Algorithms and pseudocode 3m 14s
How to create a simple program 3m 13s
Challenge: Hello World 40s
Solution: Hello World 1m 9s
Data Representation
Declaring simple data types as variables 4m 2s
Declaration of variables 1m 31s
Storage of data in memory 8m 16s
Constants 4m 53s
Arrays 3m 16s
Challenge: Random number generator 45s
Solution: Random number generator 57s
Flow Control
If statements 6m 2s
Conditional checking 2m 50s
Switch statement 3m 53s
For loop 4m 43s
While loops 2m
Do… while loop 12m 51s
Challenge: Add loop to game 1m 55s
Solution: Add loop to game 4m 47s
Functions
What is a function? 3m 15s
Creating a function 5m 8s
Function parameters 7m 34s
Calling, prototypes, and defining functions 6m 6s
Using functions in our program 4m 35s
Challenge: Move gameplay to function 1m 27s
Solution: Move gameplay to function 4m 45s
File I/O
Opening and reading from a text file 6m 41s
Open a text file to write to 3m 31s
Challenge: Write order to file 44s
Solution: Write order to file 1m 52s
Data Structures
Structs 6m 17s
Classes 7m 46s
Pointers 4m 36s
Linked lists 5m 52s
Challenge: Orders in a linked list 43s
Solution: Orders in a linked list 1m 49s
Conclusion
Next steps 16s
|
3
|
|
Course Contents
Introduction
Welcome 1m 8s
What you should know 2m 22s
Installing Visual Studio for Windows 1m 51s
Installing Visual Studio for Mac 1m 35s
How to use exercise files 52s
Challenges explained 46s
Design Patterns Overview
The need for a design pattern 4m 5s
What are design patterns? 3m 39s
Creational patterns overview 1m 48s
Creational Patterns
Inheritance vs. composition 4m
Composite object example 6m 39s
Concrete vs. abstract 1m 59s
Understanding UML 2m 55s
Factory Method
Factory method concept 5m 36s
Factory method implementation 5m 12s
Running the Factory method example 4m 11s
Factory variations 1m 43s
Abstract Factory
Abstract Factory concept 4m 50s
Abstract Factory pattern implementation 6m 3s
Using the Abstract Factory 4m 14s
Running the Abstract Factory 3m 44s
Extending the Abstract Factory 2m 47s
Challenge 4m 1s
Solution 8m 57s
Builder
Builder concept 3m 36s
Builder pattern setup 4m 10s
Builder pattern implementation 5m 35s
Running the Builder example 6m 49s
Steps in the Builder pattern 2m 5s
Prototype
Prototype concept 4m 15s
Prototype pattern implementation 5m 57s
Running the Prototype example 4m 29s
Shallow copy vs. deep copy 2m 14s
Singleton
Singleton concept 3m 2s
Singleton implementation 4m 8s
Running the Singleton pattern 3m 54s
Is the Singleton a good pattern? 5m 29s
Comparing creational patterns 4m 36s
Conclusion
Next steps 1m 7s
|
4
|
|
C++ Essential Training (2014) with Bill Weinman
Learn to program in C++ with these exhaustive C++ tutorials, covering everything from defining variables, functions, and custom classes to working with the C++ Standard Template Library.
Course Contents
Introduction
Welcome 53s
Using Xcode with the exercises 9m 10s
Using Microsoft Visual Studio with the exercises 14m 20s
Basic Syntax
What is C++? 5m 20s
Introduction to basic syntax 1m 57s
Anatomy of a C++ program 9m 5s
Statements and expressions 4m 1s
Identifiers 2m 14s
Defining variables 3m 4s
Pointers 4m 57s
References 3m 48s
Arrays and strings 7m 11s
Conditionals 5m 32s
The branching conditional 4m 7s
Looping with while and do 2m 29s
Iterating with for 4m
Using the range-based for loop 3m 35s
Using stdout 7m 1s
Defining Functions
Overview of C++ functions 3m 15s
Defining a function 4m 8s
Passing values to a function 7m 52s
Using automatic and static variables 3m 5s
Returning values from a function 3m 19s
Using function pointer 8m 7s
Overloading function names 2m 39s
Overloading operators with functions 5m 23s
Defining a variable number of arguments 4m 23s
Using recursion 2m 28s
The Preprocesser
About the preprocessor 2m 29s
Using macros as constants 3m 30s
Including files 2m 31s
Conditional compilation 1m 52s
Defining macros 4m 2s
Macro caveats 3m 12s
Line continuation with backslash 3m 9s
Including files only once 4m 6s
Classes and Objects
Overview of classes and objects 2m 14s
Defining a class 5m 5s
Data members 5m 15s
Function members 6m 30s
Constructors and destructors 9m 3s
Implicit vs. explicit constructors 4m 32s
Namespaces 4m 8s
Pointing to the current object with *this 1m 52s
Overloading operators with member functions 12m 35s
Overloading operators with nonmember functions 5m 53s
Conversion operators 5m 8s
Creating and destroying objects with new and delete 4m 14s
Reporting errors with exceptions 2m 56s
Creating function objects 1m 55s
Converting numbers to words 13m 45s
Data Types
Overview of data types 2m 49s
Integral types 9m 50s
Floating-point types 3m 57s
Characters and strings 2m 47s
Character-escape sequences 2m 10s
Qualifiers 5m 32s
The C++ reference type 4m 59s
Structured data 1m 56s
Bit fields 2m 34s
Enumerations 3m 50s
Unions 2m 15s
Defining types with typedef 2m 5s
The void type 2m 26s
The auto type 4m 20s
The unambiguous null pointer constant 3m 32s
Operators
Common operators 3m 29s
Compound assignment operators 4m 42s
Increment and decrement operators 5m 43s
Comparison (relational) operators 2m
Logical operators 2m 48s
Bitwise operators 3m 51s
The ternary conditional operator 2m 5s
Determining the size of a type with sizeof 2m 22s
Determining the type of an object with typeid 2m 21s
Operator precedence 2m 1s
Object Inheritance
Overview of class inheritance 1m 45s
Simple inheritance 3m 48s
Accessing the base class 2m 26s
Friendship 3m 23s
Multiple inheritance 3m 33s
Overloading methods and exploring polymorphism 3m 33s
Templates
Understanding templates 2m 18s
Template functions 4m 20s
Template classes 4m 13s
Type inference 6m 20s
Standard Library
Overview of the Standard Library 3m 27s
File input and output (I/O) with stdio 9m 20s
File management with stdio 2m 35s
Unformatted character I/O with stdio 6m 4s
Formatted character I/O with stdi 6m 39s
String functions 9m
Handling system errors 2m 8s
Time and date functions 4m 6s
Standard Template Library
Overview of the STL 2m 30s
Vectors 8m 41s
Strings 4m 38s
I/O streams 8m 10s
Iterators 5m 33s
Lists 4m
Pairs 1m 58s
Sets 4m 29s
Maps 3m 56s
Stacks and queues 6m 20s
Handling exceptions 4m 58s
Conclusion
Goodbye 57s
|
5
|
|
Code Clinic: C++with Bill Weinman
Explore solutions to common C++ programming challenges, and compare the results with other programming languages, in the Code Clinic series.
Course Contents
Introduction
Welcome 1m 8s
About C++ 2m 39s
Using the exercise files 49s
The C++ classes used in this course 5m 16s
Getting the most from Code Clinic 52s
Problem One : Exploring Lake Pend Oreille
Exploring Lake Pend Oreille 4m 9s
Solution overview 2m 51s
My solution: Fetching the data 9m 23s
My solution: Storing the data 6m 33s
My solution: Building a report 4m 37s
Problem Two : Image analysis
Image analysis 2m 48s
Solution overview 2m 3s
My solution: Using libjpeg 4m 7s
My solution: Fuzzy matching 6m 46s
Problem Three : Eight Queens
Introduction 1m 51s
Overview of the solution 1m 26s
Command line interface 9m 17s
Implementation 2m 10s
Presentation and display 3m 1s
Problem Four : Accessing Peripherals
Introduction 1m 21s
Overview of the solution 3m 50s
Interface design 2m 37s
Creating the waveform 3m 21s
Capturing the touch position 1m 52s
Problem Five : Accessing Peripherals
Introduction 2m 3s
Overview of the solution 6m
Searching for files 2m 56s
Finding the caption 2m 19s
Displaying results 2m 20s
Problem Six : Building the Web
Introduction 1m 34s
Overview of the solution6m 6s
Parsing the CSV file 6m 15s
Generating XML 3m 45s
Processing the HTML file 6m 14s
|
6
|
|
C++: Move Semantics with Bill Weinman
Dive deeper into C++ with move semantics, a technique for optimizing the transfer of data and reallocating memory without extra copy operations.
Course Contents
Introduction
Welcome 1m 9s
Exercise files 3m 37s
Concepts
What is move semantics? 2m 10s
Understanding lvalues and rvalues 1m 33s
Using Move Semantics
Using std::move 4m 55s
Creating a move constructor 5m 38s
Creating a move assignment operator 3m 33s
Using the copy-and-swap idiom 5m 41s
Further considerations 3m 30s
Goodbye 42s
|
7
|
|
Course Contents
Introduction
Welcome 1m 5s
Exercise files 3m 28s
1. Concepts
Why smart pointers? 2m 16s
Creating a unique pointer 6m 39s
Creating a shared pointer 5m 31s
Using a weak pointer 4m 12s
Using a custom deleter 3m 41s
Choosing a smart pointer 1m 38s
Conclusion
Goodbye 36s
|
8
|
|
Course Contents
Introduction
Welcome 1m 21s
Using the exercise files 3m 20s
Why build a string library? 2m 34s
1. The Basics
Overview of BWString 6m 36s
Using constructors 6m 13s
Exploring memory management 5m 5s
Building operators 3m 35s
Writing utility methods 2m 18s
2. Adding Features
Building find and replace methods 1m 50s
Implementing split methods 6m 31s
Conclusion
Goodbye 45s
|