作者:Rui Ma
原文:150+ Stanford On-Campus Computer Science Courses Available Online
2010年代這10年間,史丹福大學授予的CS學士學位持續增長[1]。
2019年在史丹福大學攻讀CS學位的本科生數量比其他任何學科的兩倍還多[1]。
史丹福大學的CS課程已經從幾個核心學科[2]發展出許多分支方向和交叉學科[3]。
大部分史丹福大學的CS課程都有獨立的網頁,一些內容僅僅向校內的學生開放。
值得注意的是,仍然有一部分課程向大眾開放了課程內容,幻燈片,推薦閱讀材料,課後作業甚至是課程視頻:例如CS106B, CS107, CS110, CS221, CS229, CS231n, 和 CS224N。
課程數據收集方法
首先,根據史丹福大學提供的2020年CS課程目錄[4]找到2020年所有學期開的課程。
同時根據史丹福大學Stanford Engineering Everywhere[5]網站搜集部分課程的視頻。
將這些課程及其視頻整理成課程清單,按照核心學科及分支學科進行歸類。
最後用🎦符號標記出了30+門帶視頻的課程,方便讀者快速瀏覽到這類課程。
如果後續有更多的課程視頻向公眾開放的話,會繼續更新清單。
這個清單僅包含史丹福大學校內CS課程,Class Central列出了由史丹福大學提供的MOOC[6]。
斯坦福CS核心課程
CS106B Programming Abstractions
🎦 CS106B Programming Abstractions
CS106X Programming Abstractions in C++
CS107 Computer Organization & Systems
🎦 CS107 Programming Paradigms
CS107E Computer Systems from the Ground Up
CS110 Principles of Computer Systems
🎦 CS110 Principles of Computer Systems
斯坦福CS分支課程
🎦 CS1U Practical Unix
CS101 Introduction to Computing Principles
CS140 Operating Systems
CS140E Operating Systems Design and Implementation
CS143 Compilers
CS149 Parallel Computing
CS240 Advanced Topics in Operating Systems
CS240LX Advanced Systems Laboratory, Accelerated
CS244b Distributed Systems
CS315B Parallel Programming
CS348K Visual Computing Systems
cs357S Formal Methods for Computer Systems
CS103A Math Problem-Solving Strategies
CS106A Programming Methodologies
🎦 CS106A Programming Methodology
CS242 Programming Languages
CS358 Programming Language Foundations
CS106L Standard C++ Programming
CS151 Logic Programming
CS154 Introduction to the Theory of Computation
🎦 CS154 Introduction to the Theory of Computation
CS163 The Practice of Theory Research
🎦 CS168 The Modern Algorithmic Toolbox
CS261 Optimization and Algorithmic Paradigms
CS334A/EE364A Convex Optimization I
🎦 CS334A/EE364A Convex Optimization I
CS334B/EE364B Convex Optimization II
🎦 CS334B/EE364B Convex Optimization II
MS&E213/CS269O Introduction to Optimization Theory
CS254 Computational Complexity
CS254B Computational Complexity II
CS243 Program Analysis and Optimizations
CS265 Randomized Algorithms and Probabilistic Analysis
CS351 Open Problems in Coding Theory
CS129 Applied Machine Learning
CS229 Machine Learning
🎦 CS229 Machine Learning
🎦 CS229 Machine Learning
CS229M Statistical Learning Theory
CS205L Continuous Mathematical Methods with an Emphasis on Machine Learning
CS221 Artificial Intelligence: Principles and Techniques
🎦 CS221 Artificial Intelligence: Principles and Techniques
CS131 Computer Vision Foundations and Applications
CS231A Computer Vision, From 3D Reconstruction to Recognition
CS231n Convolutional Neural Networks for Visual Recognition
🎦 CS231n Convolutional Neural Networks for Visual Recognition
CS331B Representation Learning in Computer Vision
🎦 CS224N Natural Language Processing with Deep Learning
CS224W Machine Learning with Graphs
🎦 CS224W Machine Learning with Graphs
CS224U Natural Language Understanding
CS294S, CS 294W A Project Course on Building the Best Virtual Assistant
CS224S Spoken Language Processing
CS20 Tensorflow for Deep Learning Research
🎦 CS20 Tensorflow for Deep Learning Research
🎦 CS230 Deep Learning
CS330 Deep Multi-Task and Meta Learning
🎦 CS330 Deep Multi-Task and Meta Learning
CS234 Reinforcement Learning
🎦 CS234 Reinforcement Learning
CS320 Value of Data and AI
CS377E Computational Models of the Neocortex
CS217 Hardware Accelerators for Machine Learning
🎦 CS472 Data science and AI for COVID-19
🎦 CS335 Fair, Accountable, and Transparent Deep Learning
🎦 CS110L Safety in Systems Programming
CS144 Introduction to Computer Networking
🎦 CS144 Introduction to Computer Networking
CS155 Computer and Network Security
CS244 Advanced Topics in Networking
CS344 Topics in Computer Networks
CS253 Web Security
🎦 CS253 Web Security
CS255 Introduction to Cryptography
CS350 Secure Compilation
CS355 Advanced Topics in Cryptography
CS356 Topics in Computer and Network Security Stanford
CS102 Working with Data Tools and Techniques
CS124 From Languages to Information
CS145 Data Management and Data Systems
CS166 Data Structures
CS245 Principles of Data-Intensive Systems
CS246 Mining Massive Data Sets
🎦 CS246 Mining Massive Data Sets
CS246H Mining Massive Data Sets Hadoop Lab
CS276 / LING 286 Information Retrieval and Web Search
CS341 Project in Mining Massive Data Sets
CS448B Visualization
CS147 Introduction to Human-Computer Interaction Design
CS247 Interaction Design Studios
CS347 Human-Computer Interaction Research
CS377E Designing Solutions to Global Grand Challenges: Human-Centered AI
CS547 Human-Computer Interaction Seminar
🎦 CS547 Human-Computer Interaction Seminar
CS148 Introduction to Computer Graphics and Imaging
CS228 Probabilistic Graphical Models: Principles and Techniques
CS233 Geometric and Topological Data Analysis
CS248 Interactive Computer Graphics
CS348A Computer Graphics: Geometric Modeling & Processing
CS348B Computer Graphics: Image Synthesis Techniques
CS348C Computer Graphics Animation and Simulation
CS448M Topics in Computer Graphics
CS468 Topics in Geometric Algorithms
CS142 Web Applications
CS190 Software Design Studio
CS193A Android App Development
🎦 CS193A Android App Development
CS193P Developing Applications for iOS using SwiftUI
🎦 CS193P Developing Applications for iOS using SwiftUI
CS193Q Introduction to Python Programming
CS193X Web Programming Fundamental
CS194A Android Workshop
CS194 Software Project Experience
CS195 Software Engineering
CS223A/ME320 Introduction to Robotics
🎦 CS223A Introduction to Robotics
CS225A Experimental Robotics
CS327A Advanced Robotic Manipulation
CS237B Principles of Robot Autonomy II
CS326 Topics in Advanced Robotic Manipulation
🎦 CS529 Robotics and Autonomous Systems Seminar
CS193U Video Game Development in C++ and Unreal Engine
CS227B General Game Playing
CS269I Incentives in Computer Science
CS106S Programming Abstractions & Social Good
CS181/181W Computers, Ethics, and Public Policy
CS182 Ethics, Public Policy, and Technological Change
CS184 Bridging Policy and Tech Through Design
CS202 Law for Computer Science Professionals
CS204 Computational Law
CS21SI AI for Social Good
CS278 Social Computing
CS384 Ethical and Social Issues in Natural Language Processing
CS235 Computational Methods for Biomedical Image Analysis and Interpretation
CS273A The Human Genome Source Code
CS275 Translational Bioinformatics
CS279 Computational Biology Structure and Organization of Biomolecules and Cells
BIODS220 (CS271, BIOMEDIN220) Artificial Intelligence in Healthcare
🎦 CS372 AI for Disease Diagnosis & Information Recommend
🎦 CS522 Seminar in Artificial Intelligence in Healthcare
CS007 Personal Finance for Engineers
CS349F Technologies for Financial Systems
CS251 Cryptocurrencies and Blockchain Technologies
CS206 Technical Foundations of Electronic Commerce
CS198 Teaching Computer Science
CS298 Seminar on Teaching Introductory Computer Science
CS97SI Introduction to Programming Contests
CS9 Problem-Solving for the CS Technical Interview
CS197 Computer Science Research
CS238 Decision Making under Uncertainty
EE185/285, CS241 Interactive Light Sculpture Project
🎦 CS348E Character Animation: Modeling, Simulation & Control
CS476A Music, Computing and Design I
🎦 CS520 Knowledge Graphs
[1] https://www.stanforddaily.com/2020/04/25/stanford-in-the-2010s-trends-in-undergrad-majors-visualized[2] https://cs.stanford.edu/degrees/undergrad/Requirements.shtml
[3] https://cs.stanford.edu/degrees/undergrad/ProgramSheets.shtml
[4] https://cs.stanford.edu/academics/courses
[5] https://see.stanford.edu/
[6] https://www.classcentral.com/university/stanford