650-723-2273
http://cs.stanford.edu/Session dates and times for courses are available in Axess under the Guest Menu. Course day, time, and units are subject to change. Courses are eight weeks long unless otherwise noted in the course description or details.
3 - 5 units
Course Dates: June 24 - August 17, 2013
Time: see http://explorecourses.stanford.edu
Mathematical foundations required for computer science, including propositional predicate logic, induction, sets, functions, and relations. Formal language theory, including regular expressions, grammars, finite automata, Turing machines, and NP-completeness. Mathematical rigor, proof techniques, and applications.
Prerequisite: CS 106A or equivalent
Notes: May not be taken by students who have completed CS 103A, CS 103B or 103X.
May be taken for 3-4 units by Stanford graduate students; all other students must enroll for 5 units.
3 - 5 units
Course Dates: June 24 - August 17, 2013
Time: see http://explorecourses.stanford.edu
Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language. No prior programming experience required.
Notes: Also listed as ENGR 70A. May be taken for 3-4 units by Stanford graduate students; all other students must enroll for 5 units.
Syllabus:
3 - 5 units
Course Dates: June 24 - August 17, 2013
Time: see http://explorecourses.stanford.edu
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: CS 106A or equivalent
Notes: Also listed as ENGR 70B. May be taken for 3-4 units by Stanford graduate students; all other students must enroll for 5 units.
This course is offered as part of the Stanford Summer Intensive Studies in Computer Science, and qualifies toward the Certificate of Completion in Computer Science.
Syllabus:
3 - 4 units
Course Dates: June 24 - August 17, 2013
Time: see http://explorecourses.stanford.edu
Topics: Image input and output devices such as cameras and displays, graphics hardware and software, input technologies and interactive techniques, typography and page layout, light and color representations, exposure and tone reproduction, image composition and imaging models, digital signal processing, sampling, aliasing and antialiasing, compression, two- and three-dimensional geometry and formations, modeling techniques including curves and surfaces, reflection models and illumination algorithms, and basic methods of animation. Progamming asssignments using C++ and OpenGL.
Prerequisite: CS 107, Math 51
Notes: May be taken for 3 units by Stanford graduate students; all other students must enroll for 4 units.
This course is offered as part of the Stanford Summer Intensive Studies in Computer Science, and qualifies toward the Certificate of Completion in Computer Science.
Syllabus:
3 - 5 units
Course Dates: June 24 - August 17, 2013
Time: see http://explorecourses.stanford.edu
Worst and average case analysis. Recurrences and asymptotics. Efficient algorithms for sorting, searching, and selection. Data structures: binary search trees, heaps, hash tables. Algorithm design techniques: divide-and-conquer, dynamic programming, greedy algorithms, amortized analysis, randomization. Algorithms for fundamental graph problems: minimum-cost spanning tree, connected components, topological sort, and shortest paths. Possible additional topics: network flow, string searching.
Prerequisite: CS 103 or 103B; CS 109 or STATS 116
Notes: May be taken for 3-4 units by Stanford graduate students; all other students must enroll for 5 units.
This course is offered as part of the Stanford Summer Intensive Studies in Computer Science, and qualifies toward the Certificate of Completion in Computer Science.
Syllabus:
3 units
Course Dates: June 24 - August 17, 2013
Time: see http://explorecourses.stanford.edu
Client-side technologies used to create web sites such as sophisticated Web 2.0 interfaces similar to Google maps. XHTML, CSS, JavaScript, document object model (DOM), AJAX, and Flash.
Prerequisite: Programming experience at the level of CS 106A.
Notes: This course is offered as part of the Stanford Summer Intensive Studies in Computer Science, and qualifies toward the Certificate of Completion in Computer Science.
Syllabus:
3 - 4 units
Course Dates: June 24 - August 17, 2013
Time: see http://explorecourses.stanford.edu
(Only one of CS 121 or CS 221 counts toward any CS degree program.) Topics: search, constraint satisfaction, knowledge representation, probabilistic models, Bayesian networks, machine learning, neural networks, vision, robotics, and natural language processing.
Prerequisite: CS 103 or 103B/X; CS 106B or 106X; and exposure to probability. Recommended: CS 107 and facility with basic differential calculus.
Notes: May be taken for 3 units by Stanford graduate students; all other students must enroll for 4 units.
This course is offered as part of the Stanford Summer Intensive Studies in Computer Science, and qualifies toward the Certificate of Completion in Computer Science.