2019-2020 2020-2021 2021-2022 2022-2023 2023-2024
Browse
by subject...
    Schedule
view...
 

1 - 10 of 36 results for: CS106B

CME 257: Advanced Topics in Scientific Computing with Julia

This course will rapidly introduce students to the Julia programming language, with the goal of giving students the knowledge and experience necessary to navigate the language and package ecosystem while using Julia for their own scientific computing needs. The course will begin with learning the basics of Julia, and then introduce students to git version control and package development. Additional topics include: common packages, parallelism, interfacing with shared object libraries, and aspects of Julia's implementation (e.g. core numerical linear algebra). Lectures will be interactive, with an emphasis on collaboration and learning by example. Prerequisites: Data structures at the level of CS106B, experience with one or more scientific computing languages (e.g. Python, Matlab, or R), and some familiarity with the Unix shell. No prior experience with Julia or git is required.
Last offered: Autumn 2019

COMM 122: Trust and Safety (CS 152, INTLPOL 267)

Trust and Safety is an emerging field of professional and academic effort to build technologies that allow people to positively use the internet while being safe from harm. This course provides an introduction to the ways online services are abused to cause real human harm and the potential social, operational, product, legal and engineering responses. Students will learn about fraud, account takeovers, the use of social media by terrorists, misinformation, child exploitation, harassment, bullying and self-harm. This will include studying both the technical and sociological roots of these harms and the ways various online providers have responded. The class is taught by a practitioner, a professor of communication, a political scientist, and supplemented by guest lecturers from tech companies and nonprofits. Cross-disciplinary teams of students will spend the quarter building a technical and policy solution to a real trust and safety challenge, which will include the application of AI more »
Trust and Safety is an emerging field of professional and academic effort to build technologies that allow people to positively use the internet while being safe from harm. This course provides an introduction to the ways online services are abused to cause real human harm and the potential social, operational, product, legal and engineering responses. Students will learn about fraud, account takeovers, the use of social media by terrorists, misinformation, child exploitation, harassment, bullying and self-harm. This will include studying both the technical and sociological roots of these harms and the ways various online providers have responded. The class is taught by a practitioner, a professor of communication, a political scientist, and supplemented by guest lecturers from tech companies and nonprofits. Cross-disciplinary teams of students will spend the quarter building a technical and policy solution to a real trust and safety challenge, which will include the application of AI technologies to detecting and stopping abuse. For those taking this course for CS credit, the prerequisite is CS106B or equivalent programming experience and this course fulfills the Technology in Society requirement. Content note: This class will cover real-world harmful behavior and expose students to potentially upsetting material.
Terms: Spr | Units: 3

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 80E: Dissecting The Modern Computer

In this course, students will be given a high-level, accessible introduction to computer architecture through the use of the RISC-V ISA. Through a series of interactive units, students will learn about the inner-workings of computers, from the execution of our programs all the way down to the hardware that runs them. Topics include simple digital circuits, assembly, simple processors, memory systems (Cache, DRAM, Disk), and bonus topics like GPU's. After completing this class, students should have a newfound appreciation for how incredible computational technology is, as well as direction to fantastic classes that delve into some of these topics in more detail, like CS149, EE108, and EE180. Prerequisite: CS106B.
Terms: Aut | Units: 2
Instructors: Master, T. (PI)

CS 100BACE: Problem-solving Lab for CS106B

Additional problem solving practice for the introductory CS course CS106B. Sections are designed to allow students to acquire a deeper understanding of CS and its applications, work collaboratively, and develop a mastery of the material. Limited enrollment, permission of instructor required. Concurrent enrollment in CS 106B required.
Terms: Aut, Win, Spr | Units: 1

CS 103: Mathematical Foundations of Computing

What are the theoretical limits of computing power? What problems can be solved with computers? Which ones cannot? And how can we reason about the answers to these questions with mathematical certainty? This course explores the answers to these questions and serves as an introduction to discrete mathematics, computability theory, and complexity theory. At the completion of the course, students will feel comfortable writing mathematical proofs, reasoning about discrete structures, reading and writing statements in first-order logic, and working with mathematical models of computing devices. Throughout the course, students will gain exposure to some of the most exciting mathematical and philosophical ideas of the late nineteenth and twentieth centuries. Specific topics covered include formal mathematical proofwriting, propositional and first-order logic, set theory, binary relations, functions (injections, surjections, and bijections), cardinality, basic graph theory, the pigeonhole prin more »
What are the theoretical limits of computing power? What problems can be solved with computers? Which ones cannot? And how can we reason about the answers to these questions with mathematical certainty? This course explores the answers to these questions and serves as an introduction to discrete mathematics, computability theory, and complexity theory. At the completion of the course, students will feel comfortable writing mathematical proofs, reasoning about discrete structures, reading and writing statements in first-order logic, and working with mathematical models of computing devices. Throughout the course, students will gain exposure to some of the most exciting mathematical and philosophical ideas of the late nineteenth and twentieth centuries. Specific topics covered include formal mathematical proofwriting, propositional and first-order logic, set theory, binary relations, functions (injections, surjections, and bijections), cardinality, basic graph theory, the pigeonhole principle, mathematical induction, finite automata, regular expressions, the Myhill-Nerode theorem, context-free grammars, Turing machines, decidable and recognizable languages, self-reference and undecidability, verifiers, and the P versus NP question. Students with significant proofwriting experience are encouraged to instead take CS154. Students interested in extra practice and support with the course are encouraged to concurrently enroll in CS103A. Prerequisite: CS106B or equivalent. CS106B may be taken concurrently with CS103.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-Math, WAY-FR

CS 106B: Programming Abstractions

Abstraction and its relation to programming. Software engineering principles of data abstraction and modularity. Object-oriented programming, fundamental data structures (such as stacks, queues, sets) and data-directed design. Recursion and recursive data structures (linked lists, trees, graphs). Introduction to time and space complexity analysis. Uses the programming language C++ covering its basic facilities. Prerequisite: 106A or equivalent.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR

CS 106L: Standard C++ Programming Laboratory

This class explores features of the C++ programming language beyond what's covered in CS106B. Topics include core C++ language features (e.g. const-correctness, operator overloading, templates, move semantics, and lambda expressions) and standard libraries (e.g. containers, algorithms, and smart pointers). Pre- or corequisite: CS106B or equivalent. Prerequisite: CS106B or equivalent. CS106L may be taken concurrently with CS106B.
Terms: Aut, Win, Spr | Units: 1
Instructors: Whitney, H. (PI)

CS 106M: Enrichment Adventures in Programming Abstractions

This enrichment add-on is a companion course to CS106B to explore additional topics and go into further depth. Specific topics to be announced per-quarter; past topics have included search engines, pattern recognition, data compression/encryption, error correction, digital signatures, and numerical recipes. Students must be co-enrolled in CS106B. Refer to cs106m.stanford.edu for more information.
Terms: Aut | Units: 1
Instructors: Zelenski, J. (PI)

CS 106S: Coding for Social Good

Survey course on applications of fundamental computer science concepts from CS 106B to problems in the social good space (such as health, trust & safety, government, security, education, and environment). Each week consists of in-class activities designed and delivered by student instructors. Introduces students to JavaScript and the basics of web development. Some of the topics we will cover include mental health chatbots, tumor classification with basic machine learning, sentiment analysis of tweets on refugees, the basics of open source software, and principles of cybersecurity. For more information, visit cs106s.stanford.edu. Pre/Corequisite: CS106B. Cardinal Course certified by the Haas Center for Public Service
Terms: Aut, Spr | Units: 1
Instructors: Cain, J. (PI)
Filter Results:
term offered
updating results...
teaching presence
updating results...
number of units
updating results...
time offered
updating results...
days
updating results...
UG Requirements (GERs)
updating results...
component
updating results...
career
updating results...
© Stanford University | Terms of Use | Copyright Complaints