About this Course
27,038 recent views

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Approx. 15 hours to complete

Suggested: 5 weeks of study, 2-3 hours/week...

English

Subtitles: English

Skills you will gain

Graph TheoryC++11Standard Template LibraryC++

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Approx. 15 hours to complete

Suggested: 5 weeks of study, 2-3 hours/week...

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
3 hours to complete

STL and the game of Hex

This module looks at the architecture of the Standard Template Library. It is especially important to understand how iterators are used to access container to produce highly efficient generic algorithms. The module also includes the important new style of function object—the lambda expression.

...
16 videos (Total 157 min), 1 reading
16 videos
1.1 Overview10m
1.2 New in C++115m
1.3 Standard Template Library9m
1.4 Iterator Categories11m
1.5 Example Poker Probability26m
1.6 Bidirectional Iterator8m
1.7 Random Access Iterator6m
1.8 STL: Overview of Containers10m
1.9 Associative Containers11m
1.10 STL: Algorithms Library6m
1.11 Non-mutating Algorithm7m
1.12 Lambda Expressions: for_each Function11m
1.13 Numerical algorithms6m
1.14 Functional Objects9m
1.15 Defined Function Object Classes: Function Adapters7m
1 reading
Topics, readings & files10m
Week
2
4 hours to complete

Hex as a graph and Inheritance

This module shows how Hex can be played as a game on a graph. This involves its representation as an undirected graph in C++. The module explores the inheritance logic and syntax of C++. A principal example is the base class student and a derived class grad_student.

...
14 videos (Total 138 min), 1 reading, 1 quiz
14 videos
2.2 Homework Basic Hex Program4m
2.3 Basics of Inheritance13m
2.4 Traits and Inheritance7m
2.5 Virtual Member Functions10m
2.6 C++ Feature: 'final'1m
2.7 Topics on Inheritance1m
2.8 Hex Overview15m
2.9 One Style for a 11x11 Hex Graph6m
2.10 The Inheritance Mechanism10m
2.11 A Derived Class: grad_student18m
2.12 Students and Graduate Students12m
2.13 Virtual Function Selection10m
2.14 Confusion with Overloading5m
1 reading
Topics, homework, readings & files10m
Week
3
2 hours to complete

Hex and the use of AI and C++ Move semantics

This module explains Min-Max and the Alpha-Beta algorithm for game playing. Its programming topics include C++ 11 Move semantics and a detailed example of referential garbage collection.

...
11 videos (Total 133 min), 1 reading
11 videos
3.2 Some Further Constructors5m
3.3 'Move' Constructor17m
3.4 Lookahead12m
3.5 Plausible Move Generator22m
3.6 alpha-beta Algorithm Preview4m
3.7 alpha-beta Improvement to Min Max15m
3.8 Polish Notation8m
3.9 Referential Garbage Collection17m
3.10 Abstract Base Class = 0 Notation9m
3.11 Tree Constructors8m
1 reading
Topics, readings & files10m
Week
4
5 hours to complete

Monte Carlo Hex Program, Further advanced C++ Topics and Patterns

This module shows how to use Monte Carlo evaluation in complex games such as Hex and Go. This had led top championship level play in both these games. The module discusses C++ assertions and exceptions for error handling and the new C++ 11 feature static asserts. Finally, the last part of the module introduces the idea of “Design Pattern”, a feature of modern OO programming.

...
16 videos (Total 178 min), 1 reading, 1 quiz
16 videos
4.2 Monte Carlo12m
4.3 Basic Monte Carlo Idea5m
4.4 Simple Idea for Generating Board7m
4.5 MC - Go (2006)16m
4.6 Asserts and Exceptions18m
4.7 Static Asserts - New C++11 Feature8m
4.8 Exceptions13m
4.9 C++11 & Design Patterns18m
4.10 C++11 Standard12m
4.11 Thread8m
4.12 <tuple> C++11 New Library12m
4.13 The Bigger Picture10m
4.14 Factory Method6m
4.15 Factory Code; C++ 11 Example3m
4.16 Adapter Pattern6m
1 reading
Topics, homework, readings & files10m
4.2
28 ReviewsChevron Right

20%

got a tangible career benefit from this course

20%

got a pay increase or promotion

Top reviews from C++ For C Programmers, Part B

By CKFeb 1st 2019

It was good to avoid redundantly learning what C language is. Graph theory and Monte-Carlo methodology were fun. I enjoyed listening history of computer science and programming languages.

By DFJul 28th 2017

hard for me but worth it! absolutely. many new C++11 things. hope there is more to cover boost

Instructor

Avatar

Ira Pohl

Professor
Computer Science

About University of California, Santa Cruz

UC Santa Cruz is an outstanding public research university with a deep commitment to undergraduate education. It’s a place that connects people and programs in unexpected ways while providing unparalleled opportunities for students to learn through hands-on experience....

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.