When you enroll in this course, you'll also be asked to select a specific program.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 5 modules in this course
This course is for experienced C programmers who want to program in C++. The examples and exercises require a basic understanding of algorithms and object-oriented software.
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.
What's included
16 videos1 reading
Show info about module content
16 videos•Total 157 minutes
Welcome to C++ for C Programmers, Part B•6 minutes
1.15 Defined Function Object Classes: Function Adapters•7 minutes
1 reading•Total 10 minutes
Topics, readings & files•10 minutes
Hex as a graph and Inheritance
Module 2•3 hours to complete
Module details
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.
What's included
14 videos1 reading1 peer review
Show info about module content
14 videos•Total 138 minutes
2.1 Tic-Tac-Toe to Hex•19 minutes
2.2 Homework Basic Hex Program•4 minutes
2.3 Basics of Inheritance•13 minutes
2.4 Traits and Inheritance•8 minutes
2.5 Virtual Member Functions•10 minutes
2.6 C++ Feature: 'final'•2 minutes
2.7 Topics on Inheritance•1 minute
2.8 Hex Overview•15 minutes
2.9 One Style for a 11x11 Hex Graph•6 minutes
2.10 The Inheritance Mechanism•11 minutes
2.11 A Derived Class: grad_student•19 minutes
2.12 Students and Graduate Students•13 minutes
2.13 Virtual Function Selection•11 minutes
2.14 Confusion with Overloading•6 minutes
1 reading•Total 10 minutes
Topics, homework, readings & files•10 minutes
1 peer review•Total 60 minutes
Homework 1: Implement Hex Board•60 minutes
Hex and the use of AI and C++ Move semantics
Module 3•2 hours to complete
Module details
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.
What's included
11 videos1 reading
Show info about module content
11 videos•Total 133 minutes
3.1 Creating a C++11 Class•10 minutes
3.2 Some Further Constructors•6 minutes
3.3 'Move' Constructor•17 minutes
3.4 Lookahead•13 minutes
3.5 Plausible Move Generator•23 minutes
3.6 alpha-beta Algorithm Preview•5 minutes
3.7 alpha-beta Improvement to Min Max•15 minutes
3.8 Polish Notation•9 minutes
3.9 Referential Garbage Collection•17 minutes
3.10 Abstract Base Class = 0 Notation•10 minutes
3.11 Tree Constructors•9 minutes
1 reading•Total 10 minutes
Topics, readings & files•10 minutes
Monte Carlo Hex Program, Further advanced C++ Topics and Patterns
Module 4•4 hours to complete
Module details
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.
What's included
16 videos1 reading1 peer review
Show info about module content
16 videos•Total 178 minutes
4.1 Assertion & Exception Handling•17 minutes
4.2 Monte Carlo•12 minutes
4.3 Basic Monte Carlo Idea•6 minutes
4.4 Simple Idea for Generating Board•7 minutes
4.5 MC - Go (2006)•16 minutes
4.6 Asserts and Exceptions•19 minutes
4.7 Static Asserts - New C++11 Feature•8 minutes
4.8 Exceptions•13 minutes
4.9 C++11 & Design Patterns•18 minutes
4.10 C++11 Standard•13 minutes
4.11 Thread•8 minutes
4.12 <tuple> C++11 New Library•12 minutes
4.13 The Bigger Picture•10 minutes
4.14 Factory Method•7 minutes
4.15 Factory Code; C++ 11 Example•4 minutes
4.16 Adapter Pattern•6 minutes
1 reading•Total 10 minutes
Topics, homework, readings & files•10 minutes
1 peer review•Total 60 minutes
Implement Monte Carlo Hex move evaluation•60 minutes
Final Exam
Module 5•2 hours to complete
Module details
This module contains three practice exams (which you can take as many times as you'd like) and the final exam, which is worth X% of your grade in this course.
What's included
4 assignments
Show info about module content
4 assignments•Total 120 minutes
Final Exam•30 minutes
Exam Practice 1•30 minutes
Exam Practice 2•30 minutes
Exam Practice 3•30 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
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.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.5
336 reviews
5 stars
69.94%
4 stars
18.15%
3 stars
5.65%
2 stars
1.78%
1 star
4.46%
Showing 3 of 336
I
ID
4·
Reviewed on Sep 1, 2024
Its good course but there is 1 problem. There are too many plagiators just cheating through this course. I got probably 1 proper assignment out of 5. Rest was copy-paste from internet.
A
AP
5·
Reviewed on Aug 23, 2020
From History to Today's Programming World, every session lookout from Great perspective & passes through students that's really appreciate.
S
SE
5·
Reviewed on Sep 9, 2019
I learned a lot doing the programming assignments. I also really enjoyed the calm and patient manner that the prof taught.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.