2014-2015 2015-2016 2016-2017 2017-2018 2018-2019
Browse
by subject...
    Schedule
view...
 

11 - 20 of 252 results for: CS

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

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. Topics include: data structures (e.g. lists and dictionaries) and characteristic pythonic conventions such as list comprehensions, anonymous functions, iterables, and powerful built-ins (e.g. map, filter, zip). We will also cover object-oriented design, the standard library, and common third-party packages (e.g. requests, pillow). Time permitting, we will explore modern Python-based web frameworks, data science toolkits (numpy, scipy, pandas) and project distribution. Prerequisite: 106B/X or equivalent. Application required.
Terms: Win | Units: 2 | Grading: Satisfactory/No Credit

CS 43: Functional Programming Abstractions

This course explores the philosophy and fundamentals of functional programming, focusing on the Haskell language, its theoretical underpinnings, and practical applications. Topics include functional abstractions (function composition, higher-order functions), immutable data structures, type systems, and various functional design patterns (monads, etc). Prerequisites: CS107 (or equivalent experience)
Terms: Win | Units: 2 | Grading: Satisfactory/No Credit
Instructors: Cain, J. (PI)

CS 45N: Computers and Photography: From Capture to Sharing

Preference to freshmen with experience in photography and use of computers. Elements of photography, such as lighting, focus, depth of field, aperture, and composition. How a photographer makes photos available for computer viewing, reliably stores them, organizes them, tags them, searches them, and distributes them online. No programming experience required. Digital SLRs and editing software will be provided to those students who do not wish to use their own.
Terms: Aut, Spr | Units: 3-4 | UG Reqs: WAY-CE | Grading: Letter or Credit/No Credit

CS 47: Cross-Platform Mobile Development

The fundamentals of cross-platform mobile application development using the React Native framework (RN). Primary focus on developing 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. Skills developed over the course will be consolidated by the completion of a final project. Required Prerequisites: CS106A/B. Website: https://web.stanford.edu/class/cs47/
Terms: Aut | Units: 2 | Grading: Satisfactory/No Credit
Instructors: Landay, J. (PI)

CS 49N: Using Bits to Control Atoms

This is a crash course in how to use a stripped-down computer system about the size of a credit card (the rasberry pi computer) to control as many different sensors as we can implement in ten weeks, including LEDs, motion sensors, light controllers, and accelerometers. The ability to fearlessly grab a set of hardware devices, examine the data sheet to see how to use it, and stitch them together using simple code is a secret weapon that software-only people lack, and allows you to build many interesting gadgets. We will start with a "bare metal'' system --- no operating system, no support --- and teach you how to read device data sheets describing sensors and write the minimal code needed to control them (including how to debug when things go wrong, as they always do). This course differs from most in that it is deliberately mostly about what and why rather than how --- our hope is that the things you are able at the end will inspire you to follow the rest of the CS curriculum to understand better how things you've used work. Prerequisites: knowledge of the C programming language. A Linux or Mac laptop that you are comfortable coding on.
Terms: Spr | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: Engler, D. (PI)

CS 50: Using Tech for Good

Students in the class will work in small teams to implement high-impact projects for partner organizations. Taught by the CS+Social Good team, the aim of the class is to empower you to leverage technology for social good by inspiring action, facilitating collaboration, and forging pathways towards global change. Recommended: CS 106B, CS 42 or 142. Class is open to students of all years. May be repeated for credit. Cardinal Course certified by the Haas Center.
Terms: not given this year, last offered Spring 2018 | Units: 2 | Repeatable for credit | Grading: Satisfactory/No Credit

CS 51: CS + Social Good Studio: Designing Social Impact Projects

Introduces students to the tech + social good space. Students work in small teams to develop high-impact projects around problem domains provided by partner organizations, under the guidance and support of design/technical coaches from industry and non-profit domain experts. Main class components are workshops, community discussions, guest speakers and mentorship. Studio provides an outlet for students to create social change through CS while engaging in the full product development cycle on real-world projects. The class culminates in a showcase where students share their project ideas and Minimum Viable Product prototypes with stakeholders and the public. Prerequisite: CS 147, equivalent experience, or consent of instructors.
Terms: Win | Units: 2 | Grading: Satisfactory/No Credit
Instructors: Cain, J. (PI)

CS 52: CS + Social Good Studio

Continuation of CS51 (CS + Social Good Studio). Teams enter the quarter having completed and tested a minimal viable product (MVP) with a well-defined target user, and a community partner. Students will learn to apply scalable technical frameworks, methods to measure social impact, tools for deployment, user acquisition techniques and growth/exit strategies. The purpose of the class is to facilitate students to build a sustainable infrastructure around their product idea. CS52 will host mentors, guest speakers and industry experts for various workshops and coaching-sessions. The class culminates in a showcase where students share their projects with stakeholders and the public. Prerequisite: CS 51, or consent of instructor.
Terms: Spr | Units: 2 | Grading: Satisfactory/No Credit
Instructors: Cain, J. (PI)

CS 53: DISCUSSIONS IN TECH FOR GOOD

This course introduces students to applications of technology to social impact through a weekly discussion and speaker series. Invited speakers come from industry, academia, and non-profit organizations. They will share their work in social impact technology, thoughts on issues of ethics in technology, and personal career paths. Topics span a broad variety of social issues -- from education to healthcare to activism -- and help students better understand how to lead careers in using computer science for social good.
Terms: Spr | Units: 1 | Grading: Satisfactory/No Credit
Instructors: Sahami, M. (PI)

CS 56N: Great Discoveries and Inventions in Computing

This seminar will explore some of both the great discoveries that underlie computer science and the inventions that have produced the remarkable advances in computing technology. Key questions we will explore include: What is computable? How can information be securely communicated? How do computers fundamentally work? What makes computers fast? Our exploration will look both at the principles behind the discoveries and inventions, as well as the history and the people involved in those events. Some exposure to programming will be helpful, but it not strictly necessary.
Terms: Win | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: Hennessy, J. (PI)
Filter Results:
term offered
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