## CS 41: Hap.py Code: The Python Programming Language

This course is about the fundamentals and contemporary usage of the Python programming language. The primary focus is on developing best practices in writing Python and exploring the extensible and unique parts of the Python language. Topics include: Pythonic conventions, data structures such as list comprehensions, anonymous functions, iterables, powerful built-ins (e.g. map, filter, zip), and Python libraries. For the last few weeks, students will work with course staff to develop their own significant Python project. Prerequisite:
CS106B,
CS106X, or equivalent.

Last offered: Spring 2023

## CS 106X: Programming Abstractions (Accelerated)

Intensive version of 106B for students with a strong programming background interested in a rigorous treatment of the topics at an accelerated pace. Significant amount of additional advanced material and substantially more challenging projects. Some projects may relate to CS department research. Prerequisite: excellence in 106A or equivalent, or consent of instructor.

Last offered: Autumn 2019
| UG Reqs: GER:DB-EngrAppSci, WAY-FR

## CS 107E: Computer Systems from the Ground Up

Introduction to the fundamental concepts of computer systems through bare metal programming on the Raspberry Pi. Explores how five concepts come together in computer systems: hardware, architecture, assembly code, the C language, and software development tools. Students do all programming with a Raspberry Pi kit and several add-ons (LEDs, buttons). Topics covered include: the C programming language, data representation, machine-level code, computer arithmetic, compilation, memory organization and management, debugging, hardware, and I/O. Enrollment limited to 40. Check website for details:
http://cs107e.stanford.edu on student selection process. Prerequisite: CS106B or
CS106X, and consent of instructor. There is a $75 course lab fee.

Terms: Win, Spr
| Units: 3-5
| UG Reqs: WAY-FR

## CS 193U: Video Game Development in C++ and Unreal Engine

Hands-on game development in C++ using Unreal Engine 4, the game engine that triple-A games like Fortnite, PUBG, and Gears of War are all built on. Students will be introduced to the Unreal editor, game frameworks, physics, AI, multiplayer and networking, UI, and profiling and optimization. Project-based course where you build your own games and gain a solid foundation in Unreal's architecture that will apply to any future game projects. Pre-requisites: CS106B or CS106X required. CS107 and CS110 recommended.

Last offered: Autumn 2020

## CS 229: Machine Learning (STATS 229)

Topics: statistical pattern recognition, linear and non-linear regression, non-parametric methods, exponential family, GLMs, support vector machines, kernel methods, deep learning, model/feature selection, learning theory, ML advice, clustering, density estimation, EM, dimensionality reduction, ICA, PCA, reinforcement learning and adaptive control, Markov decision processes, approximate dynamic programming, and policy search. Prerequisites: knowledge of basic computer science principles and skills at a level sufficient to write a reasonably non-trivial computer program in Python/NumPy to the equivalency of
CS106A,
CS106B, or
CS106X, familiarity with probability theory to the equivalency of
CS 109,
MATH151, or
STATS 116, and familiarity with multivariable calculus and linear algebra to the equivalency of MATH51 or
CS205.

Terms: Aut, Win, Sum
| Units: 3-4

Instructors:
Amjad, J. (PI)
;
Charikar, M. (PI)
;
Fox, E. (PI)
;
Guestrin, C. (PI)
;
Koyejo, S. (PI)
;
Ng, A. (PI)
;
Agarwal, R. (TA)
;
Agarwala, S. (TA)
;
Chang, C. (TA)
;
Chi, R. (TA)
;
Chow, W. (TA)
;
Chu, S. (TA)
;
Damiani, A. (TA)
;
Deng, R. (TA)
;
Desai, R. (TA)
;
Ding, Z. (TA)
;
Dong, K. (TA)
;
Frausto, J. (TA)
;
Jeon, H. (TA)
;
Khandelwal, P. (TA)
;
Kumbong, H. (TA)
;
Schaeffer, R. (TA)
;
So, J. (TA)
;
Wang, A. (TA)
;
Wang, R. (TA)
;
Xiao, Z. (TA)
;
Yang, S. (TA)
;
Zhang, E. (TA)

## STATS 229: Machine Learning (CS 229)

Topics: statistical pattern recognition, linear and non-linear regression, non-parametric methods, exponential family, GLMs, support vector machines, kernel methods, deep learning, model/feature selection, learning theory, ML advice, clustering, density estimation, EM, dimensionality reduction, ICA, PCA, reinforcement learning and adaptive control, Markov decision processes, approximate dynamic programming, and policy search. Prerequisites: knowledge of basic computer science principles and skills at a level sufficient to write a reasonably non-trivial computer program in Python/NumPy to the equivalency of
CS106A,
CS106B, or
CS106X, familiarity with probability theory to the equivalency of
CS 109,
MATH151, or
STATS 116, and familiarity with multivariable calculus and linear algebra to the equivalency of MATH51 or
CS205.

Terms: Aut, Win, Sum
| Units: 3-4

Instructors:
Avati, A. (PI)
;
Charikar, M. (PI)
;
Fox, E. (PI)
;
Guestrin, C. (PI)
;
Koyejo, S. (PI)
;
Ng, A. (PI)
;
Agarwal, R. (TA)
;
Agarwala, S. (TA)
;
Chang, C. (TA)
;
Chi, R. (TA)
;
Chow, W. (TA)
;
Chu, S. (TA)
;
Damiani, A. (TA)
;
Deng, R. (TA)
;
Desai, R. (TA)
;
Ding, Z. (TA)
;
Dong, K. (TA)
;
Frausto, J. (TA)
;
Jeon, H. (TA)
;
Khandelwal, P. (TA)
;
Kumbong, H. (TA)
;
Schaeffer, R. (TA)
;
So, J. (TA)
;
Wang, A. (TA)
;
Wang, R. (TA)
;
Xiao, Z. (TA)
;
Yang, S. (TA)
;
Zhang, E. (TA)

Filter Results: