笔者业余时间学习的计算机课程。

TOC

Algorithms

Artificial Intelligence

CS

Database

Distributed Systems

Hardware

Language

  • CS 106A Programming Methodology, Spring 2017 Stanford
    • 编程方法论是编程入门课程中最大的课程,也是斯坦福大学最大的课程之一。该课程使用 Java 语言着重介绍了现代软件工程原理:面向对象的设计,分解,封装,继承,多态等。课程相对简单,为了衔接之后的 CS 106B,笔者把所有的课程视频浏览了一遍。
    • 课程主页
    • 课程视频
  • CS 106B Programming Abstractions, Winter 2018 Stanford
  • CS 106X Programming Abstractions (Accelerated) Stanford
    • 课程 106X 覆盖的内容与 106B 相同,使用 C++,但教授的速度更快,层次更深。
    • 课程主页
    • 课程视频
  • CS 106L Standard C++ Programming, Autumn 2019 Stanford
  • CS 107 Programming Paradigms Stanford
    • 课程介绍了包括 C 语言、汇编语言、C++、并发编程、Scheme 和 Python 在内的多种编程语言,旨在教授学生理解这些语言背后的编程范式。
    • 课程主页
    • 课程视频
  • Effective Programming in Scala by École Polytechnique Fédérale de Lausanne

OS

Parallel Programming

  • 15-418 Parallel Computer Architecture and Programming CMU
    • 课程涵盖并行体系结构(GPU / Multi-Core)、并行编程模型、缓存一致性的实现方式(Snooping-Based & Directory-Based)、同步机制、Lock-Free编程 等内容。
    • 课程主页 - 2015
    • 课程视频 - 2015
    • 授课者 Kayvon Fatahalian 从 CMU 换到 Stanford 后开设了一门对等的课程 cs149,课程 Lab 在 github 上

Web Development

  • MIT 16.687 Private Pilot Ground School, IAP 2019
    • Instructor: Philip Greenspun, Tina Srivastava