About this Course
4.2
77 ratings
22 reviews
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Hours to complete

Approx. 16 hours to complete

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

English

Subtitles: English...

Skills you will gain

Graph TheoryC++11Standard Template LibraryC++
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Hours to complete

Approx. 16 hours to complete

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

English

Subtitles: English...

Syllabus - What you will learn from this course

Week
1
Hours to complete
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....
Reading
16 videos (Total 157 min), 1 reading
Video16 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
Reading1 reading
Topics, readings & files10m
Week
2
Hours to complete
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....
Reading
14 videos (Total 138 min), 1 reading, 1 quiz
Video14 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
Reading1 reading
Topics, homework, readings & files10m
Week
3
Hours to complete
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....
Reading
11 videos (Total 133 min), 1 reading
Video11 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
Reading1 reading
Topics, readings & files10m
Week
4
Hours to complete
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....
Reading
16 videos (Total 178 min), 1 reading, 1 quiz
Video16 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
Reading1 reading
Topics, homework, readings & files10m

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.