Courses offered by the Department of Computer Science are listed under the subject code CS.
I arm rewriting lectures based original syllabus by updating the latest knowledge to accelerate you.
For those who want to learn more about Stanford's computing environment. Topics include computer maintenance and security, computing resources, Internet privacy, and copyright law.
🧑‍🏫 Instructor: Smith
đź”— http://cs1c.stanford.edu/
đź“„ File Not Found
Practical Unix is a practical introduction to using the Unix set of operating systems with a focus on Linux command line skills.
- The course has videos to introduce some commands and how to use them generally and lab exercises to solidify understanding and go beyond the material in the videos. Much of dealing with the command line involves knowing how to best use Google and manual pages to figure things out, so these lab exercises won't tell you how to do everything.
- Topics include: grep and regular expressions, shells and ZSH, Vim and Emacs, basic and advanced GDB features, permissions, working with the file system, revision control, Unix utilities, environment customization, and using Python for shell scripts. Topics may be added over time.
🧑‍🏫 Instructor: Zelenski
đź”— https://practicalunix.org
đź“„ Lectures
Introduction to the fundamentals and analysis specifically needed by engineers to make informed and intelligent financial decisions. Course will focus on actual industry-based financial information from technology companies and realistic financial issues. Topics include: behavioral finance, budgeting, debt, compensation, stock options, investing and real estate. No prior finance or economics experience required.
🧑‍🏫 Instructor: Adam Samuel Nash
đź”— https://cs007.blog
đź“„ Slides
An overview of the interdisciplinary study of cognition, information, communication, and language, with an emphasis on foundational issues: What are minds? What is computation? What are rationality and intelligence? Can we predict human behavior? Can computers be truly intelligent? How do people and technology interact, and how might they do so in the future? Lectures focus on how the methods of philosophy, mathematics, empirical research, and computational modeling are used to study minds and machines. Undergraduates considering a major in symbolic systems should take this course as early as possible in their program of study. Formerly SYMSYS 100.
🧑‍🏫 Instructor: Lassiter
đź”— http://cs24.stanford.edu
đź“„ Slides
CS106E provides a broad and detailed overview of computer science. We study what’s really going on under the hood of our computer, seeing for example how CPUs actually work and what Operating Systems like MacOS and Windows actually do. We’ll explore the protocols underlying the Internet and the languages used on the Web. We’ll cover Cloud Computing, Artificial Intelligence, and Machine Learning. We’ll take a look at methods hackers use to attack computers and then we’ll turn around and see what sort of defenses we can use to stay safe online. We’ll study Big Data and see how technology opens some very scary doors when it comes to Privacy.
CS106E will be of interest to anyone who wants to understand how computers and the Internet really work.
- If you want to understand how your consumer electronics work, want to know whether you should spring that extra money for the more expensive multicore processor or GPU, want to understand what "4K HDR TV" really means, or want a better understanding of how digital music, digital cameras, and digital images work, this is your class.
- If you want a strong background that will allow you to understand technology issues that appear in the news — what net neutrality really means, how the latest computer hacking attack really happened, what the implications of Smart Houses are, or how a driverless car worked (or didn’t work) — this is your class.
- If you want a depth of understanding that will allow you to communicate with tech people in a company or organization, again this class will be invaluable.
- If you want to be confident at a cocktail party in Silicon Valley, this is your class.
🧑‍🏫 Instructor: Patrick Young
đź”— https://web.stanford.edu/class/cs106e/
đź“„ File Not Found
The fundamentals and contemporary usage of the Python programming language. Primary focus on developing best practices in writing Python and exploring the extensible and unique parts of Python that make it such a powerful language.
🧑‍🏫 Instructor: Parth Sarin and Michael Cooper
đź”— https://stanfordpython.com/#/
đź“„ File Not Found
🧑‍🏫 Instructor: Sahami, Mehran
đź”— http://web.stanford.edu/class/cs106a/
đź“„ File Not Found
🧑‍🏫 Instructor: cgregg
đź”— http://web.stanford.edu/class/cs106b/
đź“„ File Not Found
CS 106L is a companion class to CS106B/CS106X that explores the modern C++ language in depth. We'll cover some of the most exciting features of C++, including modern patterns that give it beauty and power.
👩‍🏫 Instructor: Ethan Chi
đź”— http://web.stanford.edu/class/cs106l/lectures.html
đź“„ Slides
🧑‍🏫 Instructor:
đź”— https://web.stanford.edu/class/cs106m/syllabus
đź“„ File Not Found
The course objectives are as follows:
- To substantially strengthen students’ programming ability by requiring them to program a number of large, interesting projects.
- To teach students to find information on their own and solve problems on their own using available documentation; to give them the confidence in their own abilities they will need when programming in industry or as grad students.
- To solidify students understanding of object-oriented principles.
- To provide exposure to a broad range of programming areas including multi- threaded programs, communication between processes, and interacting with databases.
- To provide team programming experience.
🧑‍🏫 Instructor: Dr. Patrick Young
đź”— http://web.stanford.edu/class/cs108/
đź“„ Syllabus
This course teaches the fundamentals of cross-platform mobile application development with a focus on the React Native framework (RN). The goal is to help students develop best practices in creating apps for both iOS and Android by using Javascript and existing web + mobile development paradigms. Students will explore the unique aspects that made RN a primary tool for mobile development within Facebook, Instagram, Walmart, Tesla, and UberEats.
🧑‍🏫 Instructor: Abdallah Abuhashem, Claire Rosenfeld and Ryan Chen
đź”— https://web.stanford.edu/class/cs47/#schedule
đź“„ Slides
🧑‍🏫 Instructor: Andrew Benson
đź”— http://web.stanford.edu/class/cs107/
đź“„ Slides
🧑‍🏫 Instructor: cs107e
đź”— http://web.stanford.edu/class/cs107e/
đź“„ Slides
👩‍🏫 Instructor: Roz Cyrus
đź”— http://web.stanford.edu/class/cs110/
đź“„ Books
This class is focused on safety and robustness in systems programming: Where do things often go wrong in computer systems? How can we avoid common pitfalls?
🧑‍🏫 Instructor: Ryan Eberhardt and Julio Ballista
đź”— https://web.stanford.edu/class/cs110l/
đź“„ Books, Lectures
This class introduces the basic facilities provided by modern operating systems. The course divides into three major sections. The first part of the course discusses concurrency: how to manage multiple tasks that execute at the same time and share resources. Topics in this section include processes and threads, context switching, synchronization, scheduling, and deadlock. The second part of the course addresses the problem of memory management; it will cover topics such as linking, dynamic memory allocation, dynamic address translation, virtual memory, and demand paging. The third major part of the course concerns file systems, including topics such as storage devices, disk management and scheduling, directories, protection, and crash recovery. After these three major topics, the class will conclude with a few smaller topics such as virtual machines.
🧑‍🏫 Instructor: John Ousterhout and David Mazières
đź”— https://web.stanford.edu/~ouster/cs111-spring21/
đź“„ Books, Lectures
CS109: Probability for Computer Scientists starts by providing a fundamental grounding in combinatorics, and then quickly moves into the basics of probability theory. We will then cover many essential concepts in probability theory, including particular probability distributions, properties of probabilities, and mathematical tools for analyzing probabilities. Finally, the last third of the class will focus on data analysis and machine learning as a means for seeing direct applications of probability in this exciting and quickly growing subfield of computer science.
🧑‍🏫 Instructor: Jerry Cain
đź”— http://web.stanford.edu/class/cs109/
đź“„ Books