Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the Java programming language.
Choosing the President in 2008: The Evolving Process and its Effects
Annual Review of the Presidency
Panel Chair:
Ethan Rarick, Center on Politics, UC Berkeley
Panel:
David M. Kennedy, Donald J. McLachlan Professor of History, Stanford University
Byron York, White House Correspondent, National Review
...
CS 61A The Structure and Interpretation of Computer Programs
Instructor Brian Harvey
Spring 2008
Introduction to programming and computer science. This course exposes students to techniques of abstraction at several levels: (a) within a programming language, using higher-order functions, manifest types, data-directed programming, and message-passing; (b) between programming languages, using functional and rule-based languages as examples. It also relates these techniques to the practical problems of implementation of languages and algorithms on a von Neumann machine. There are several significant programming projects, programmed in a dialect of the LISP language.