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

1 - 10 of 14 results for: CS107

CS 43: Functional Programming Abstractions

This course explores the philosophy and fundamentals of functional programming, with a focus on the Haskell and Clojure programming languages. Topics include: functional abstractions (function composition, higher order functions), immutable data structures, type systems, Lisp macros, homoiconicity, and monads. The course interweaves a theoretical description of fundamentals with hands-on projects in Haskell and Clojure. Prerequisites: CS107 (or equivalent experience)
Terms: Win | Units: 2 | Grading: Satisfactory/No Credit
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 | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR | Grading: Letter or Credit/No Credit

CS 107A: 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: Win, Spr | Units: 1 | Grading: Satisfactory/No Credit
Instructors: Troccoli, N. (PI)

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. Prerequisite: 106B or X, and consent of instructor. There is a $75 required course fee.
Terms: Aut, Win | Units: 3-5 | UG Reqs: WAY-FR | Grading: Letter or Credit/No Credit

CS 124: From Languages to Information (LINGUIST 180, LINGUIST 280)

Extracting meaning, information, and structure from human language text, speech, web pages, social networks. Methods include: string algorithms, edit distance, language modeling, the noisy channel, machine learning classifiers, inverted indices, collaborative filtering, neural embeddings, PageRank. Applications such as question answering, sentiment analysis, information retrieval, text classification, social network models, spell checking, recommender systems, chatbots. Prerequisites: CS103, CS107, CS109.
Terms: Win | Units: 3-4 | UG Reqs: WAY-AQR | Grading: Letter or Credit/No Credit
Instructors: Jurafsky, D. (PI)

CS 166: Data Structures

Techniques in the design, analysis, and implementation of data structures. Isometries between data structures (including red/black trees and 2-3-4 trees), amortized analysis (including Fibonacci heaps and splay trees), and randomization (including count-min sketches and dynamic perfect hash tables). Data structures for integers and strings (including van Emde Boas trees and suffix trees). Possible additional topics include functional data structures, concurrent data structures, and spatial data structures. Prerequisites: CS107 and CS161.
Terms: Spr | Units: 3-4 | Grading: Letter or Credit/No Credit
Instructors: Schwarz, K. (PI)

CS 168: The Modern Algorithmic Toolbox

This course will provide a rigorous and hands-on introduction to the central ideas and algorithms that constitute the core of the modern algorithms toolkit. Emphasis will be on understanding the high-level theoretical intuitions and principles underlying the algorithms we discuss, as well as developing a concrete understanding of when and how to implement and apply the algorithms. The course will be structured as a sequence of one-week investigations; each week will introduce one algorithmic idea, and discuss the motivation, theoretical underpinning, and practical applications of that algorithmic idea. Each topic will be accompanied by a mini-project in which students will be guided through a practical application of the ideas of the week. Topics include hashing, dimension reduction and LSH, boosting, linear programming, gradient descent, sampling and estimation, and an introduction to spectral techniques. Prerequisites: CS107 and CS161, or permission from the instructor.
Terms: Spr | Units: 3-4 | Grading: Letter or Credit/No Credit
Instructors: Valiant, G. (PI)

CS 193P: iOS Application Development

Tools and APIs required to build applications for the iPhone and iPad platforms using the iOS SDK. User interface design for mobile devices and unique user interactions using multi-touch technologies. Object-oriented design using model-view-controller paradigm, memory management, Swift programming language. Other topics include: object-oriented database API, animation, multi-threading, networking and performance considerations. Prerequisites: C language and object-oriented programming experience exceeding 106B or X level. Previous completion of any one of the following is required: CS 107 explorecourses.stanford.edu/search?view=catalog&filter-coursestatus-Active=on&page=0&q= CS107>, 108 (preferred) or 110. Recommended: UNIX, graphics, databases.
Terms: Spr | Units: 3 | Grading: Letter or Credit/No Credit
Instructors: Hegarty, P. (PI)

CS 241: Embedded Systems Workshop (EE 285)

Project-centric building hardware and software for embedded computing systems. Students work on an existing project of their own or join one of these projects. Syllabus topics will be determined by the needs of the enrolled students and projects. Examples of topics include: interrupts and concurrent programming, deterministic timing and synchronization, state-based programming models, filters, frequency response, and high-frequency signals, low power operation, system and PCB design, security, and networked communication. Prerequisite: CS107 (or equivalent).
Terms: not given this year, last offered Autumn 2017 | Units: 2 | Repeatable for credit | Grading: Letter or Credit/No Credit

CS 246: Mining Massive Data Sets

Availability of massive datasets is revolutionizing science and industry. This course discusses data mining and machine learning algorithms for analyzing very large amounts of data. The focus is on algorithms and systems for mining big data. nTopics include: Big data systems (Hadoop, Spark, Hive); Link Analysis (PageRank, spam detection, hubs-and-authorities); Similarity search (locality-sensitive hashing, shingling, minhashing, random hyperplanes); Stream data processing; Analysis of social-network graphs; Association rules; Dimensionality reduction (UV, SVD, and CUR decompositions); Algorithms for very-large-scale mining (clustering, nearest-neighbor search); Large-scale machine learning (gradient descent, support-vector machines, classification, and regression); Submodular function optimization; Computational advertising. Prerequisites: At least one of CS107 or CS145.
Terms: Win | Units: 3-4 | Grading: Letter or Credit/No Credit
Instructors: Leskovec, 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