sort by: Relevancy | Title try advanced search for more options
Note: This course is being offered by Stanford this summer as an online course for credit. It can be taken individually, or as part of a master’s degree or graduate certificate earned online through the Stanford Center for Professional Development. This course is the natural successor to Programming Methodology and covers such advanced programming topics as recursion, algorithmic analysis, and data abstraction using the C++ programming l...more
Topics include: Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms; the functional paradigm (using LISP) and concurrent programming (using C and C++); brief survey of other modern languages such as Python, Objective C, and C#. Prerequisites: Programming and problem solving at the Programming Abstractions level. Prospective students should know a reasonable amount of C++. You ...more
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.
Hemingway, Fitzgerald, Faulkner (AMST 246)Professor Wai Chee Dimock concludes her discussion of The Great Gatsby by evaluating the cross-mapping of the auditory and visual fields in the novel's main pairs of characters. Beginning with an analysis of the Jazz Age, she argues that linkages between what is heard and what is seen have important implications for the overarching themes of The Great Gatsby, including notions of accountability, re...more
In this lecture, Professor Holloway discusses the connections between media and high politics during the late 1980s and 1990s and reveals the ways that race was replaced by a series of keywords--such as crime, drugs, and welfare--that acted as racial signifiers in our national discourse. An examination of the political rhetoric from the George H.W. Bush/Michael Dukakis campaign, including the infamous Willie Horton advertisement, as well a...more
Early Modern England: Politics, Religion, and Society under the Tudors and Stuarts (HIST 251)Professor Wrightson discusses the remarkable growth of the British economy in the late seventeenth and early eighteenth centuries. He examines the changed context of stable population and prices; regional agricultural specialization; urbanization; the expansion of overseas trade both with traditional European trading partners and with the Americas ...more
Professor Kleiner features the tumultuous year of 68-69 when Rome had four competing emperors. Vespasian emerged the victor, founded the Flavian dynasty, and was succeeded by his sons, Titus and Domitian. The Flavians were especially adept at using architecture to shape public policy. Professor Kleiner demonstrates that Vespasian linked himself with the divine Claudius by completing the Claudianum and distanced himself from Nero by razing ...more

This lecture continues our theme of cache-oblivious data structures.First we'll finally cover the black box we used last lecture to obtain cache-oblivious B-trees: maintain an ordered file with O(1)-size gaps in O(lg2 N) moves per insert/delete in the middle of the file. As an extra bonus, we'll see how to maintain a linked list subject to order queries in O(1) time per insert/delete, which is a black box we used back in Lecture 1 to linea...more
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.
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.
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.
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.