课程简介
- 课程名称:CS106B
- 所属大学:Stanford University
- 使用语言:C++
- 先修要求:建议有一定C++基础
CS106B的全称是Programming Abstractions,它的主旨是“How can we use computing power to answer these Real—world questions?”。在课程中,无论是Lecture还是Assignment都是以某一种或者某一类现实作为出发点,进而引出计算机科学中的各种概念,并最终通过编程实现。其大致涉及到的计算机主要内容包括:collections, ADT, recursion, BFS, DFS, backtracking, sorting, hash, pointer, linked list, BST, OOP, pass by value, pass by reference, stack allocation, heap allocation, memory management。 此外,最令人叹为观止的是每一个Assignment的引出和设计都非常精心。每一个Assignment都包含着一个相应的GUI程序,即方便了进行测试,又可以直观的看到,自己的代码导体有什么效果,或者说解决了什么问题。这也导致对于一个Assignment,学生的代码行数可能不超过100行,但是老师的代码量几乎都在几千行,这也让我赞叹于名校教学之严谨认真。
TIP
但这也引出了一个问题,由于课程本身使用的IDE为QT Creator ,在加上C++的编译复杂,对于新手而言,只能跟随课程使用QT(但QT真的很难用)了