本课程是“程序设计基础”的后续课程,重点在于提升和强化学习者的抽象思维能力,培养对于变与不变的深刻理解。课程将以C++语言为媒介,以任务驱动为手段,引领学习者掌握如何用C++语言提供的各种技术手段来对复杂世界及其蕴含的关系进行描述。
本课程希望学习者已学习过一门高级语言,已掌握了一些基本的编程技能,也适合于那些希望了解C++语言并运用C++语言进行高质量程序设计的学习者。
课程使用的语言是C++,在通过一定篇幅介绍C++的主要语法知识后,将重点围绕什么是接口、怎么设计、实现和使用接口、如何在程序设计中体现“开闭”原则,以及如何实现数据表示与操作的分离等内容展开介绍和讨论。课程除了介绍传统的面向对象程序设计的基础知识,还会讨论如何进行基于接口编程,如何进行泛型程序设计,还会讨论到C++语言的标准模板库的核心内容。