Skip to content

Latest commit

 

History

History
67 lines (35 loc) · 4.64 KB

coursework.md

File metadata and controls

67 lines (35 loc) · 4.64 KB
layout permalink
page
/coursework/

Coursework


CS61A: The Structure & Interpretation of Computer Programs

Spring 2016 // 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.


CS61B: Data Structures

Spring 2016 // 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.


CS9F: C++ for Programmers

Fall 2016 // Self-paced introduction to the constructs provided in the C++ programming language for procedural and object-oriented programming, aimed at students who already know how to program.


EE16A: Designing Information Devices and Systems I

Spring 2016 // This course and its follow-on course EE16B focus on the fundamentals of designing modern information devices and systems that interface with the real world. Together, this course sequence provides a comprehensive foundation for core EECS topics in signal processing, learning, control, and circuit design while introducing key linear-algebraic concepts motivated by application contexts. Modeling is emphasized in a way that deepens mathematical maturity, and in both labs and homework, students will engage computationally, physically, and visually with the concepts being introduced in addition to traditional paper/pencil exercises. The courses are aimed at entering students as well as non-majors seeking a broad foundation for the field.


EE16B: Designing Information Devices and Systems II

Fall 2016 // This course is a follow-on to Electrical Engineering 16A, and focuses on the fundamentals of designing and building modern information devices and systems that interface with the real world. The course sequence provides a comprehensive introduction to core EECS topics in circuit design, signals, and systems in an application-driven context. The courses are delivered assuming mathematical maturity and aptitude at roughly the level of having completed Math 1A-1B, and are aimed at entering students as well as non-majors seeking a broad introduction to the field.


DES INV 22: Prototyping & Fabrication

Fall 2016 // This course teaches concepts, skills and methods required to design, prototype, and fabricate physical objects. Each week relevant techniques in 2D and 3D modeling and fabrication are presented along with basic electronics and circuit design. Projects are assigned that cover the weekly course material. Topics include a range of prototyping and fabrication techniques including laser-cutting, 3D modeling and 3D printing, soldering, basic circuits, microcontrollers (Arduino), sensors and actuators, and interface mockups.


CS170: Efficient Algorithms and Intractable Problems

Currently enrolled // Concept and basic techniques in the design and analysis of algorithms; models of computation; lower bounds; algorithms for optimum search trees, balanced trees and UNION-FIND algorithms; numerical and algebraic algorithms; combinatorial algorithms. Turing machines, how to count steps, deterministic and nondeterministic Turing machines, NP-completeness. Unsolvable and intractable problems.


CS188: Introduction to Artificial Intelligence

Currently enrolled // Ideas and techniques underlying the design of intelligent computer systems. Topics include search, game playing, knowledge representation, inference, planning, reasoning under uncertainty, machine learning, robotics, perception, and language understanding.


CS61C: Machine Structures

Currently enrolled // The internal organization and operation of digital computers. Machine architecture, support for high-level languages (logic, arithmetic, instruction sequencing) and operating systems (I/O, interrupts, memory management, process switching). Elements of computer logic design. Tradeoffs involved in fundamental architectural design decisions.


PHYSICS 7B: Physics for Scientists and Engineers

Currently enrolled // Heat, electricity, and magnetism.