top of page

COURSERA

For Programmers 

C++

ONLINE  course

1. C++ Generics and Functions (14:13

2. Multiple Template Arguments (8:48)

3. Graph Theory & Algorithms (9:34)

4. Graph as a Data Structure (11:10)

5. Dijkstra Shortest Path (16:42

6. C++ Creating Types (5:22)

7. Enum & Operator Overloading (4:04)

8. Example_ typedef days (16:45)

9. Natural Way to Build Widgets (6:47

10. C++ Point (21:18)

Module 2: C++: Basics of Generics and Classes
Welcome!

The course provides an overview of C++ for the experienced C programmer. You will learn how C++ is more powerful than C. The C++ STL library will be featured. This library allows C++ programmers to code generically, efficiently and at a high level. You will learn how to write basic graph algorithms such as the shortest path algorithm. You'll then put this skill to use in a programming assignment aimed at producing an intelligent hex player.

 

One year of experience in programming with C or a similar programming language is required. You should have a basic familiarity with implementing standard CS algorithms, especially graph algorithms, such as the shortest path algorithm. Some object-oriented software development is also desirable. These topics are typically taught in a first year computer science curriculum.

 

Although the lectures are designed to be self-contained, a serious C++ programmer will need access to reference materials. The Wikipedia C++ article is a good place to start. The course is based on the instructor's text: C++ for C Programmers: 3rd Edition.

1. Overview and Course Organization (18:27)

2. Getting Started (5:59)

3. Converting a C Program to C++ (8:55)

4. Using C++ Code (7:26)

5. Improvements (6:58)

6. C++ Advantages (12_13)

7. C++ is Better Than C (16:36)

8. C Swap Function (10:50)

9. Swap Function in C++ (15:21)

10. Generics (23:31)

Module 1: C++ as a Better C

1. C++ Classes & Object Orientation (7:16)

2. Point and its Constructor (11:26)

3. More Constructors (17:58)

4. Using Dijkstra_'s Algorithm (14:23)

5. The is-connected Algorithm (12:05)

6. Complex Aggregates - Lists (6:53

7. List (12:49)

8. Print() Chaining (6:20)

9. More Elaborate List (3:43)

10. Deep vs. Shallow Copy (8:48)

11. Destructor (4:49)

12. Dynamic Data Structures in STL (7:50)

Module 3: C++ and OO; Lists

1. MST (13_15)

2. Jarnik-Prim MST (11_50)

3. Jarnik-Prim MST_ Another Look (11_17)

4. Kruskal_'s Algorithm (8_29)

5. Overloading and Function Selection (31_40)

6. STL and STL C++11 (11_00)

7. STL Example (5_05)

8. C++11 Feature_ auto (5_38)

9. Vector Methods (9_33)

10. More Code

11. C++ 11 Feature- Statement

12. STL Input File

13. Iterators Categories

14. Output a Random Graph

Module 4: Minimum Spanning Tree & Standard Template Library

1. Tic-Tac-Toe to Hex (18_57

2. Homework Basic Hex Program (4_12)

3. Basics of Inheritance (13_13)

4. Traits and Inheritance (7_48)

5. Virtual Member Functions (10_03)

6. C++ Feature_ _'final_' (1_52)

7. Topics on Inheritance (1_12

8. Hex Overview (15_19

9. One Style for a 11x11 Hex Graph (6_04)

10. The Inheritance Mechanism (10-39)

11. A Derived Class- grad_student (18-36)

12. Students and Graduate Students (12-58)

13. Virtual Function Selection (10-59)

14. Confusion with Overloading (5-30)

Module 6: Hex, the game and C++ Inheritance

1. Second Half Overview (10_57)

2. New in C++11 (5_59)

3. Standard Template Library (9_23)

4. Iterator Categories (10_17)

5. Example Poker Probability (25_49)

6. Bidirectional Iterator (8_43)

7. Random Access Iterator (6_36)

8. STL_ Overview of Containers (10_30)

9. Associative Containers (11_35)

10. STL- Algorithms Library (6_31)

11. Non-mutating algorithm (7_50)

12. Lambda Expressions; for_each Function (11_46)

13. Numerical Algorithms (6_33)

14. Function Objects (9_18)

15. Function Adapters (7_27)

Module 5: C++ 11 Standard; Containers, Iterators and Algorithms

1. Creating a C++11 Class (10-12)

2. Some Further Constructors (5-56

3. -'Move-' Constructor (17-26

4. Lookahead (12-50)

5. Plausible Move Generator (22-47)

6. alpha-beta Algorithm Preview (4-54)

7. alpha-beta Improvement to Min Max (15-02)

8. Polish Notation (9-38)

9. Referential Garbage Collection (17-13)

10. Abstract Base Class = 0 Notation (9-42)

11. Tree Constructors (8-34)

Module 7: Min-Max and C++11 Classes; Alpha-beta and Polish

1. Assertion & Exception Handling (17-06)

2. Monte Carlo (12-13)

3. Basic Monte Carlo Idea (5-04)

4. Simple Idea for Generating Board (16-44)

5. MC - Go  (2006) (16-27)

6. Asserts and Exceptions (18-52)

7. Static Asserts - New C++11 Feature (8-23)

8. Exceptions (13-24)

9. C++11 & Design Patterns (18-12)

10. C++11 Standard (12-50)

11. Thread (8-23)

12. -tuple- C++11 New Library (11-59)

13. The Bigger Picture (10-05)

14. Factory Method (6-57)

15. Factory Code; C++ 11 Example (3-36)

16. Adapter Pattern (6-25)

Module 8: Monte Carlo Evaluation; the C++11 Standard
bottom of page