Print Settings
 

CS 106B: Programming Abstractions (ENGR 70B)

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. Summer quarter enrollment is limited; application required.
Terms: Aut, Win, Spr, Sum | Units: 3-5 | UG Reqs: GER:DB-EngrAppSci, WAY-FR
Instructors: ; Lee, C. (PI); Stepp, M. (PI)

CS 240H: Functional Systems in Haskell

Covers an array of practical issues and techniques that arise when building real-world systems in the Haskell programming language. Topics include the basics of Haskell, laziness, monads, parsers, testing and debugging, performance tuning, interfacing to native code, concurrency and I/O paradigms, language extensions, meta-programming, and applications to the web and security. Concepts will be reinforced through a few individual programming assignments followed by a larger team project. Prior familiarity with Haskell may be helpful but is not required. Prerequisites: CS106B or 106X.
Terms: Spr | Units: 3-4
Instructors: ; Mazieres, D. (PI)
© Stanford University | Terms of Use | Copyright Complaints