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

11 - 20 of 99 results for: CS ; Currently searching spring courses. You can expand your search to include all quarters

CS 106A: Programming Methodology

Introduction to the engineering of computer applications emphasizing modern software engineering principles: program design, decomposition, encapsulation, abstraction, and testing. Emphasis is on good programming style and the built-in facilities of respective languages. Uses the Python programming language. No prior programming experience required.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: WAY-FR, GER:DB-EngrAppSci

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 106E: Exploration of Computing

This course, designed for the non-computer scientist, will provide students with a solid foundation in the concepts and terminology behind computers, the Internet, and software development. It will give you better understanding and insight when working with technology. It will be particularly useful to future managers and PMs who will work with or who will lead programmers and other tech workers. But it will be useful to anyone who wants a better understanding of tech concepts and terms. We'll start by covering the foundations of Computer Hardware, the CPU, Operating Systems, Computer Networks, and the Web. We will then use our foundation to explore a variety of tech-related topics including Computer Security (how computers are attacked and defensive measures that can be taken); Cloud Computing, Artificial Intelligence, Software Development, Human-Computer Interaction, and Computer Theory.nnPrerequisites: Some programming experience at the High School level of above will help students get the most out of the class, but the course can be successfully completed with no prerequisites.
Terms: Spr | Units: 3
Instructors: Young, P. (PI)

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 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)

CS 107: Computer Organization and Systems

Introduction to the fundamental concepts of computer systems. Explores how computer systems execute programs and manipulate data, working from the C programming language down to the microprocessor. Topics covered include: the C programming language, data representation, machine-level code, computer arithmetic, elements of code compilation, memory organization and management, and performance evaluation and optimization. Prerequisites: 106B or X, or consent of instructor.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: WAY-FR, GER:DB-EngrAppSci

CS 107ACE: Problem-solving Lab for CS107

Additional problem solving practice for the introductory CS course CS107. 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 107 required.
Terms: Aut, Win, Spr | Units: 1

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 109: Introduction to Probability for Computer Scientists

Topics include: counting and combinatorics, random variables, conditional probability, independence, distributions, expectation, point estimation, and limit theorems. Applications of probability in computer science including machine learning and the use of probability in the analysis of algorithms. Prerequisites: 103, 106B or X, multivariate calculus at the level of MATH 51 or CME 100 or equivalent.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: WAY-AQR, WAY-FR, GER:DB-EngrAppSci

CS 109ACE: Problem-solving Lab for CS109

Additional problem solving practice for the introductory CS course CS109. 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. Enrollment limited to 30 students, permission of instructor required. Concurrent enrollment in CS 109 required.
Terms: Aut, Win, Spr | Units: 1
Instructors: Qin, M. (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