作业要有目的性; 班级的培养目标是什么? 什么是「计算机科学家」? 实际上, 抑或是「工程师」?
目的直接决定了课程设置的方向和思路。
自顶向下? 自底向上? 实验入手? whatever?
要不要提前说一些系统/计导的内容? 要理解 C++ 必须先理解系统 (比较) 底层的实现。
要不要介绍软工的内容? 严格来说软工和计科是两个方向, 但是学计科写不好代码也是不太行的。
对于一些 C++ 魔法 (namespace
, operator overloading (especially []
and ()
), copy/move ctor, compilation units, etc.) 应该如何介绍? 何时介绍? 在介绍它们之前, 应该如何先把程序跑起来?
- 自己造测试数据和 TDD
- 重构练习: 从学期初开始做一个大作业, 学期末重构
- 题目: 实现 std::function
- 题目: 实现 weak map
- 题目: 练习 git (比如给一个 reset 过的 git repo, 要求利用 reflog 之类的)
- ICPC 是否保留?
- 修改 ICPC 文档
- int2048 是否保留?
- 摸底考试?
- 与伟大思想联动?
- https://github.com/Cpp-Club/Cxx_HOPL4_zh
- https://www.stroustrup.com/Programming/PPP2slides.html
- Programming: Principles and Practice Using C++
- 分不分 A/B 班?
- 分不分 A/B/C 班?
- 助教对应 A/B 班/对应到人?