|
所在平台: Coursera |
课程主页: https://www.coursera.org/learn/c-plus-plus-b
课程评论:没有评论
课程名称:C++ 为 C 程序员 Part B 概述:本课程面向希望使用 C++ 编程的经验丰富的 C 程序员。课程中的示例和练习要求学员具备基本的算法和面向对象软件的理解。 课程大纲: 1. **STL 和 Hex 游戏** 本模块探讨标准模板库的架构,特别强调迭代器在访问容器中的作用,以生成高效的通用算法。同时,还介绍了新风格的函数对象——lambda 表达式。 2. **Hex 作为图形和继承** 本模块展示如何将 Hex 游戏视为一个图形来进行游戏。包括其作为无向图在 C++ 中的表示。模块探索了 C++ 的继承逻辑和语法,以“学生”作为基类,“研究生”作为派生类的示例。 3. **Hex 的 AI 使用和 C++ 移动语义** 本模块解释了用于游戏的 Min-Max 和 Alpha-Beta 算法。编程主题包括 C++11 移动语义和引用垃圾收集的详细示例。 4. **蒙特卡洛 Hex 程序及进一步的高级 C++ 主题和模式** 本模块展示如何在复杂游戏如 Hex 和围棋中使用蒙特卡洛评估,进而提升至顶级比赛水平。讨论了 C++ 的断言和异常处理,以及 C++11 的静态断言功能。最后一部分引入“设计模式”,这是现代面向对象编程的一个重要特性。 5. **期末考试** 本模块包含三场练习考试(可以多次参加)和期末考试,后者在课程的总成绩中占有一定比例。 本课程为有志于深入学习 C++ 的 C 程序员提供了全面而深入的学习机会。
Name:STL and the game of Hex
Description: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.
Name:Hex as a graph and Inheritance
Description: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.
Name:Hex and the use of AI and C++ Move semantics
Description: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.
Name:Monte Carlo Hex Program, Further advanced C++ Topics and Patterns
Description: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.
Name:Final Exam
Description: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.
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.