AEliu / reading

0 stars 0 forks source link

Computer Science (COMPSCI) < University of California, Berkeley #5

Open AEliu opened 4 years ago

AEliu commented 4 years ago

Courses

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Summer 2019 8 Week Session, Spring 2019, Summer 2018 8 Week Session, Spring 2018
Foundations of data science from three perspectives: inferential thinking, computational thinking, and real-world relevance. Given data arising from some real-world phenomenon, how does one analyze that data so as to understand that phenomenon? The course teaches critical concepts and skills in computer programming and statistical inference, in conjunction with hands-on analysis of real-world datasets, including economic data, document collections, geographical data, and social networks. It delves into social and legal issues surrounding data analysis, including issues of privacy and data ownership.

Rules & Requirements

Prerequisites: This course may be taken on its own, but students are encouraged to take it concurrently with a data science connector course (numbered 88 in a range of departments)

Hours & Format

Fall and/or spring: 15 weeks - 3-3 hours of lecture and 2-2 hours of laboratory per week

Summer: 8 weeks - 6 hours of lecture and 4 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Also listed as: INFO C8/STAT C8

Foundations of Data Science: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Prior to 2007
An introduction to computational thinking and quantitative reasoning, preparing students for further coursework, especially Foundations of Data Science (CS/Info/Stat C8). Emphasizes the use of computation to gain insight about quantitative problems with real data. Expressions, data types, collections, and tables in Python. Programming practices, abstraction, and iteration. Visualizing univariate and bivariate data with bar charts, histograms, plots, and maps. Introduction to statistical concepts including averages and distributions, predicting one variable from another, association and causality, probability and probabilistic simulation. Relationship between numerical functions and graphs. Sampling and introduction to inference.

Objectives & Outcomes

Course Objectives: C8R also includes quantitative reasoning concepts that aren’t covered in Data 8. These include certain topics in: principles of data visualization; simulation of random processes; and understanding numerical functions through their graphs. This will help prepare students for computational and quantitative courses other than Data 8.
C8R takes advantage of the complementarity of computing and quantitative reasoning to enliven abstract ideas and build students’ confidence in their ability to solve real problems with quantitative tools. Students learn computer science concepts and immediately apply them to plot functions, visualize data, and simulate random events.

Foundations of Data Science (CS/Info/Stat C8, a.k.a. Data 8) is an increasingly popular class for entering students at Berkeley. Data 8 builds students’ computing skills in the first month of the semester, and students rely on these skills as the course progresses. For some students, particularly those with little prior exposure to computing, developing these skills benefits from further time and practice. C8R is a rapid introduction to Python programming, visualization, and data analysis, which will prepare students for success in Data 8.

Student Learning Outcomes: Students will be able to perform basic computations in Python, including working with tabular data.
Students will be able to understand basic probabilistic simulations.
Students will be able to understand the syntactic structure of Python code.
Students will be able to use good practices in Python programming.
Students will be able to use visualizations to understand univariate data and to identify associations or causal relationships in bivariate data.

Rules & Requirements

Credit Restrictions: Students who have taken COMPSCI/INFO/STAT C8 will receive no credit for COMPSCI/STAT C8R.

Hours & Format

Summer: 6 weeks - 4 hours of lecture, 2 hours of discussion, and 4 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructor: Adhikari

Also listed as: STAT C8R

Introduction to Computational Thinking with Data: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2018, Spring 2018, Fall 2017
Introduction to the constructs in the Matlab programming language, aimed at students who already know how to program. Array and matrix operations, functions and function handles, control flow, plotting and image manipulation, cell arrays and structures, and the Symbolic Mathematics toolbox.

Rules & Requirements

Prerequisites: Programming experience equivalent to that gained in COMPSCI 10; familiarity with applications of matrix processing

Repeat rules: Course may be repeated for credit up to a total of 4 units.

Hours & Format

Fall and/or spring: 15 weeks - 2 hours of self-paced per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.

Instructor: Hilfinger

Matlab for Programmers: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019, Fall 2018, Spring 2018
Self-paced course in the C programming language for students who already know how to program. Computation, input and output, flow of control, functions, arrays, and pointers, linked structures, use of dynamic storage, and implementation of abstract data types.

Rules & Requirements

Prerequisites: Programming experience with pointers (or addresses in assembly language) and linked data structures equivalent to that gained in COMPSCI 9B, COMPSCI 61A or ENGIN 7

Credit Restrictions: Students will receive no credit for COMPSCI 9C after completing COMPSCI 61A.

Hours & Format

Fall and/or spring: 15 weeks - 2 hours of self-paced per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.

Instructor: Hilfinger

C for Programmers: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2016, Fall 2015, Spring 2015
Self-paced course in functional programming, using the Scheme programming language, for students who already know how to program. Recursion; higher-order functions; list processing; implementation of rule-based querying.

Rules & Requirements

Prerequisites: Programming experience similar to that gained in COMPSCI 10 or ENGIN 7

Credit Restrictions: Students will receive no credit for COMPSCI 9D after completing COMPSCI 61A.

Hours & Format

Fall and/or spring: 15 weeks - 2 hours of self-paced per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.

Instructor: Hilfinger

Scheme and Functional Programming for Programmers: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019, Fall 2018, Spring 2018
Use of UNIX utilities and scripting facilities for customizing the programming environment, organizing files (possibly in more than one computer account), implementing a personal database, reformatting text, and searching for online resources.

Rules & Requirements

Prerequisites: Programming experience similar to that gained in COMPSCI 61A or ENGIN 7; DOS or UNIX experience

Hours & Format

Fall and/or spring: 15 weeks - 2 hours of self-paced per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.

Instructor: Hilfinger

Productive Use of the UNIX Environment: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019, Fall 2018, Spring 2018
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.

Rules & Requirements

Prerequisites: Programming experience equivalent to that gained in COMPSCI 61A or ENGIN 7

Credit Restrictions: Students will receive no credit for COMPSCI 9F after completing COMPSCI 61A.

Hours & Format

Fall and/or spring: 15 weeks - 2 hours of self-paced per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.

Instructor: Hilfinger

C++ for Programmers: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019, Fall 2018, Spring 2018
Self-paced course in Java for students who already know how to program. Applets; variables and computation; events and flow of control; classes and objects; inheritance; GUI elements; applications; arrays, strings, files, and linked structures; exceptions; threads.

Hours & Format

Fall and/or spring: 15 weeks - 2 hours of self-paced per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.

Instructor: Garcia

JAVA for Programmers: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019, Fall 2018, Spring 2018
Introduction to the constructs provided in the Python programming language, aimed at students who already know how to program. Flow of control; strings, tuples, lists, and dictionaries; CGI programming; file input and output; object-oriented programming; GUI elements.

Rules & Requirements

Prerequisites: Programming experience equivalent to that gained in COMPSCI 10

Hours & Format

Fall and/or spring: 15 weeks - 1 hour of self-paced per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.

Instructor: Hilfinger

Python for Programmers: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Summer 2019 8 Week Session
An introductory course for students with minimal prior exposure to computer science. Prepares students for future computer science courses and empowers them to utilize programming to solve problems in their field of study. Presents an overview of the history, great principles, and transformative applications of computer science, as well as a comprehensive introduction to programming. Topics include abstraction, recursion, algorithmic complexity, higher-order functions, concurrency, social implications of computing (privacy, education, algorithmic bias), and engaging research areas (data science, AI, HCI). Students will program in Snap! (a friendly graphical language) and Python, and will design and implement two projects of their choice.

Rules & Requirements

Credit Restrictions: Students will receive no credit for 10 after having taken W10, 61A, 61B, or 61C.

Hours & Format

Fall and/or spring: 15 weeks - 2 hours of lecture, 1 hour of discussion, and 4 hours of laboratory per week

Summer: 8 weeks - 4 hours of lecture, 2 hours of discussion, and 8 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Garcia, Hug

The Beauty and Joy of Computing: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2012
This course meets the programming prerequisite for 61A. An introduction to the beauty and joy of computing. The history, social implications, great principles, and future of computing. Beautiful applications that have changed the world. How computing empowers discovery and progress in other fields. Relevance of computing to the student and society will be emphasized. Students will learn the joy of programming a computer using a friendly, graphical language, and will complete a substantial team programming project related to their interests.

Rules & Requirements

Credit Restrictions: Students will receive no credit for W10 after taking 10, 61A, 61B or 61C. A deficient grade in 10 may be removed by taking W10.

Hours & Format

Fall and/or spring: 15 weeks - 2 hours of web-based lecture and 5 hours of web-based discussion per week

Summer: 8 weeks - 4 hours of web-based lecture and 10 hours of web-based discussion per week

Online: This is an online course.

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Garcia, Hug

The Beauty and Joy of Computing: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2019, Fall 2018, Spring 2018
Computer Science 36 is a seminar for CS Scholars who are concurrently taking CS61A: The Structure and Interpretation of Computer Programs. CS Scholars is a cohort-model program to provide support in exploring and potentially declaring a CS major for students with little to no computational background prior to coming to the university. CS 36 provides an introduction to the CS curriculum at UC Berkeley, and the overall CS landscape in both industry and academia—through the lens of accessibility and its relevance to diversity. Additionally, CS36 provides technical instruction to review concepts in CS61A, in order to support CS Scholars’ individual learning and success in the CS61A course.

Objectives & Outcomes

Student Learning Outcomes: Students will know where to find several support services including tutoring, advising, counseling, and career advice.
Students will perform as well as possible in the CS61A prerequisite for the CS major. They will also have customized program plans for completing the major within four years.

Rules & Requirements

Prerequisites: Prerequisite satisfied Concurrently: Participating in the CS Scholars program, and concurrently taking COMPSCI 61A

Hours & Format

Fall and/or spring: 15 weeks - 2 hours of seminar per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Alternative to final exam.

Instructor: Hunn

CS Scholars Seminar: The Educational Climate in CS & CS61A technical discussions: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019, Fall 2017, Spring 2017
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

Rules & Requirements

Prerequisites: Priority given to freshmen and sophomores

Repeat rules: Course may be repeated for credit when topic changes.

Hours & Format

Fall and/or spring: 15 weeks - 2-3 hours of seminar per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final Exam To be decided by the instructor when the class is offered.

Freshman/Sophomore Seminar: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2010, Spring 2010, Fall 2009
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

Rules & Requirements

Prerequisites: Priority given to freshmen and sophomores

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 2-4 hours of seminar per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required.

Freshman/Sophomore Seminar: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2013, Spring 2011, Spring 2010
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

Rules & Requirements

Prerequisites: Priority given to freshmen and sophomores

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 2-4 hours of seminar per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required.

Freshman/Sophomore Seminar: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2008
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

Rules & Requirements

Prerequisites: Priority given to freshmen and sophomores

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 2-4 hours of seminar per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required.

Freshman/Sophomore Seminar: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2010, Fall 2009
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

Rules & Requirements

Prerequisites: Priority given to freshmen and sophomores

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 2-4 hours of seminar per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required.

Freshman/Sophomore Seminar: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2013, Spring 2013, Fall 2012
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

Rules & Requirements

Prerequisites: Priority given to freshmen and sophomores

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 2-4 hours of seminar per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required.

Freshman/Sophomore Seminar: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2011
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

Rules & Requirements

Prerequisites: Priority given to freshmen and sophomores

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 2-4 hours of seminar per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required.

Freshman/Sophomore Seminar: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2016, Spring 2013
Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

Rules & Requirements

Prerequisites: Priority given to freshmen and sophomores

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 2-4 hours of seminar per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required.

Freshman/Sophomore Seminar: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
Implementation of generic operations. Streams and iterators. Implementation techniques for supporting functional, object-oriented, and constraint-based programming in the Scheme programming language. Together with 9D, 47A constitutes an abbreviated, self-paced version of 61A for students who have already taken a course equivalent to 61B.

Rules & Requirements

Prerequisites: COMPCSI 61B, COMPSCI 9D, and consent of instructor

Credit Restrictions: Students will receive no credit for 47A after taking 61A.

Hours & Format

Fall and/or spring: 15 weeks - 0 hours of self-paced per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructor: Garcia

Completion of Work in Computer Science 61A: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
Iterators. Hashing, applied to strings and multi-dimensional structures. Heaps. Storage management. Design and implementation of a program containing hundreds of lines of code. Students with sufficient partial credit in 61B may, with consent of instructor, complete the credit in this self-paced course.

Rules & Requirements

Prerequisites: A course in data structures, 9G or equivalent, and consent of instructor

Credit Restrictions: Students will receive no credit for 47B after taking 61B.

Hours & Format

Fall and/or spring: 15 weeks - 0 hours of self-paced per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructor: Garcia

Completion of Work in Computer Science 61B: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
MIPS instruction set simulation. The assembly and linking process. Caches and virtual memory. Pipelined computer organization. Students with sufficient partial credit in 61C may, with consent of instructor, complete the credit in this self-paced course.

Rules & Requirements

Prerequisites: Experience with assembly language including writing an interrupt handler, COMPSCI 9C, and consent of instructor

Credit Restrictions: Students will receive no credit for COMPSCI 47C after completing COMPSCI 61C, or COMPSCI 61CL.

Hours & Format

Fall and/or spring: 15 weeks - 0 hours of self-paced per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructor: Garcia

Completion of Work in Computer Science 61C: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Summer 2019 8 Week Session
An introduction to programming and computer science focused on abstraction techniques as means to manage program complexity. Techniques include procedural abstraction; control abstraction using recursion, higher-order functions, generators, and streams; data abstraction using interfaces, objects, classes, and generic operators; and language abstraction using interpreters and macros. The course exposes students to programming paradigms, including functional, object-oriented, and declarative approaches. It includes an introduction to asymptotic analysis of algorithms. There are several significant programming projects.

Rules & Requirements

Prerequisites: Mathematics 1A (may be taken concurrently); programming experience equivalent to that gained from a score of 3 or above on the Advanced Placement Computer Science A course

Credit Restrictions: Students will receive no credit for Computer Science 61A after completing Computer Science 47A or Computer Science 61AS. A deficient grade in Computer Science 61AS may be removed by taking Computer Science 61A.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture, 1.5 hours of discussion, and 1.5 hours of laboratory per week

Summer: 8 weeks - 6 hours of lecture, 3 hours of discussion, and 3 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Garcia, Hilfinger

The Structure and Interpretation of Computer Programs: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
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.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 2 hours of laboratory per week

Summer: 8 weeks - 6 hours of lecture, 2 hours of discussion, and 4 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Hilfinger, Shewchuk

Data Structures: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Summer 2019 8 Week Session, Summer 2018 8 Week Session, Summer 2017 8 Week Session
The same material as in 61B, but in a laboratory-based format.

Rules & Requirements

Prerequisites: COMPSCI 61A, COMPSCI 88, or ENGIN 7

Credit Restrictions: Students will receive no credit for 61BL after taking 47B or 61B. Deficiency in 61B may be removed by taking 61BL.

Hours & Format

Fall and/or spring: 15 weeks - 1 hour of lecture and 6 hours of laboratory per week

Summer: 8 weeks - 2 hours of lecture and 12 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructor: Hilfinger

Data Structures and Programming Methodology: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Summer 2019 8 Week Session
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.

Rules & Requirements

Prerequisites: 61A, along with either 61B or 61BL, or programming experience equivalent to that gained in 9C, 9F, or 9G

Credit Restrictions: Students will receive no credit for 61C after taking 47C or 61CL. Deficiency in 61C may be removed by taking 61CL.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 2 hours of laboratory per week

Summer: 8 weeks - 6 hours of lecture, 2 hours of discussion, and 4 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Garcia, Katz, Stojanovic

Great Ideas of Computer Architecture (Machine Structures): Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2009, Spring 2009, Fall 2008
The same material as in 61C but in a lab-centric format.

Hours & Format

Fall and/or spring: 15 weeks - 2 hours of lecture, 1 hour of discussion, and 4 hours of laboratory per week

Summer: 8 weeks - 4 hours of lecture, 2 hours of discussion, and 8 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Garcia, Patterson

Machine Structures (Lab-Centric): Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Summer 2019 8 Week Session
An introduction to programming and computer science focused on abstraction techniques as means to manage program complexity. Techniques include procedural abstraction; control abstraction using recursion, higher-order functions, generators, and streams; data abstraction using interfaces, objects, classes, and generic operators; and language abstraction using interpreters and macros. The course exposes students to programming paradigms, including functional, object-oriented, and declarative approaches. It includes an introduction to asymptotic analysis of algorithms. There are several significant programming projects.

Rules & Requirements

Prerequisites: MATH 1A (may be taken concurrently); programming experience equivalent to that gained from a score of 3 or above on the Advanced Placement Computer Science A exam

Credit Restrictions: Students will receive no credit for Computer Science W61A after completing Computer Science 47A or Computer Science 61A. A deficient grade in Computer Science W61A may be removed by taking Computer Science 61A.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of web-based lecture, 1.5 hours of laboratory, and 1.5 hours of web-based discussion per week

Summer: 8 weeks - 6 hours of web-based lecture, 3 hours of laboratory, and 3 hours of web-based discussion per week

Online: This is an online course.

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructor: Denero

The Structure and Interpretation of Computer Programs (Online): Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Not yet offered
Identical to CS61B, but in an online format. 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.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of web-based lecture, 2 hours of laboratory, and 1 hour of web-based discussion per week

Summer: 8 weeks - 6 hours of web-based lecture, 4 hours of laboratory, and 2 hours of web-based discussion per week

Online: This is an online course.

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructor: Hug

Data Structures (Online): Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Summer 2019 8 Week Session
Logic, infinity, and induction; applications include undecidability and stable marriage problem. Modular arithmetic and GCDs; applications include primality testing and cryptography. Polynomials; examples include error correcting codes and interpolation. Probability including sample spaces, independence, random variables, law of large numbers; examples include load balancing, existence arguments, Bayesian inference.

Rules & Requirements

Prerequisites: Sophomore mathematical maturity, and programming experience equivalent to that gained with a score of 3 or above on the Advanced Placement Computer Science A exam

Credit Restrictions: Students will receive no credit for Computer Science 70 after taking Mathematics 55.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 2 hours of discussion per week

Summer: 8 weeks - 6 hours of lecture and 4 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Rao, Vazirani, Wagner, Sahai

Discrete Mathematics and Probability Theory: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2013
Defining, perceiving, quantifying and measuring risk; identifying risks and estimating their importance; determining whether laws and regulations can protect us from these risks; examining how well existing laws work and how they could be improved; evaluting costs and benefits. Applications may vary by term. This course cannot be used to complete engineering unit or technical elective requirements for students in the College of Engineering.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam not required.

Also listed as: POL SCI C79/STAT C79

Societal Risks and the Law: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
Development of Computer Science topics appearing in Foundations of Data Science (C8); expands computational concepts and techniques of abstraction. Understanding the structures that underlie the programs, algorithms, and languages used in data science and elsewhere. Mastery of a particular programming language while studying general techniques for managing program complexity, e.g., functional, object-oriented, and declarative programming. Provides practical experience with composing larger systems through several significant programming projects.

Objectives & Outcomes

Course Objectives: Develop a foundation of computer science concepts that arise in the context of data analytics, including algorithm, representation, interpretation, abstraction, sequencing, conditional, function, iteration, recursion, types, objects, and testing, and develop proficiency in the application of these concepts in the context of a modern programming language at a scale of whole programs on par with a traditional CS introduction course.

Student Learning Outcomes: Students will be able to demonstrate a working knowledge of these concepts and a proficiency of programming based upon them sufficient to construct substantial stand-alone programs.

Rules & Requirements

Prerequisites: Math 1A. Also, this course is a Data Science connector course and may only be taken concurrently with or after COMPSCI C8/INFO C8/STAT C8. Students may take more than one Data Science connector (88) course if they wish, concurrent with or after having taken the C8 course

Credit Restrictions: Students may receive no credit for Computer Science 88 after completing Computer Science 61A.

Hours & Format

Fall and/or spring: 15 weeks - 1 hour of lecture and 2 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Computational Structures in Data Science: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2015
Topics will vary semester to semester. See the Computer Science Division announcements.

Rules & Requirements

Prerequisites: Consent of instructor

Repeat rules: Course may be repeated for credit when topic changes.

Hours & Format

Fall and/or spring: 15 weeks - 1-4 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Special Topics: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2015, Spring 2015, Fall 2014
Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation.

Rules & Requirements

Prerequisites: Consent of instructor (see department adviser)

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 1-4 hours of fieldwork per week

Summer:
6 weeks - 2.5-10 hours of fieldwork per week
8 weeks - 2-7.5 hours of fieldwork per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.

Field Study: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2018, Fall 2016, Fall 2015
Seminars for group study of selected topics, which will vary from year to year. Intended for students in the lower division.

Rules & Requirements

Prerequisites: Consent of instructor

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 1-4 hours of directed group study per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.

Directed Group Study: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2015, Fall 2014, Spring 2014
A course for lower division students in good standing who wish to undertake a program of individual inquiry initiated jointly by the student and a professor. There are no other formal prerequisites, but the supervising professor must be convinced that the student is able to profit by the program.

Rules & Requirements

Prerequisites: GPA of 3.4 or better

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 0 hours of independent study per week

Summer:
6 weeks - 1-5 hours of independent study per week
8 weeks - 1-4 hours of independent study per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.

Individual Study and Research for Undergraduates: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Summer 2019 8 Week Session, Spring 2019
In this course, students will explore the data science lifecycle, including question formulation, data collection and cleaning, exploratory data analysis and visualization, statistical inference and prediction​, and decision-making.​ This class will focus on quantitative critical thinking​ and key principles and techniques needed to carry out this cycle. These include languages for transforming, querying and analyzing data; algorithms for machine learning methods including regression, classification and clustering; principles behind creating informative data visualizations; statistical concepts of measurement error and prediction; and techniques for scalable data processing.

Rules & Requirements

Prerequisites: Computer Science/Information/Statistics C8; and either Computer Science 61A, Computer Science 88 or Engineering 7. Corequisite: Mathematics 54 or Electrical Engineering 16A. Computer Science C8 Computer Science 61A Computer Science 88 Engineering 7 Mathematics 54 Electrical Engineering 16A

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 1 hour of laboratory per week

Summer: 8 weeks - 6 hours of lecture, 2 hours of discussion, and 2 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Also listed as: STAT C100

Principles & Techniques of Data Science: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2015
Hardware description languages for digital system design and interactions with tool flows. Design, implementation, and verification of digital designs. Digital synthesis, partitioning, placement, routing, and simulation for Field-Programmable Gate Arrays. Large digital-system design concepts. Project design component – example, a full processor implementation with peripherals.

Objectives & Outcomes

Student Learning Outcomes: This course is a one-time offering to supplement the EE141 course offered in the Fall 2014, with a lab and project section that cover the design of larger digital systems on a programmable chip platform (FPGA). The EE141 lectures in the Fall 2014 already covered the necessary lecture material, so students who took the EE141 lab in the Fall of 2014 will have a chance to expand their skills into the area of FPGA Digital System Design. Hence the pre-requisite for this course is that a student has taken the EE141 course in the Fall 2014.

Rules & Requirements

Prerequisites: COMPSCI 61C; EL ENG 105 recommended

Credit Restrictions: Students will receive no credit for Computer Science 146L after taking Fall 2014 version of Computer Science 150.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of laboratory and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.

Instructor: Stojanovic

Programmable Digital Systems Laboratory: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Spring 2019, Spring 2018
Instruction set architecture, microcoding, pipelining (simple and complex). Memory hierarchies and virtual memory. Processor parallelism: VLIW, vectors, multithreading. Multiprocessors.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 2 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Alternative to final exam.

Instructors: Asanovic, Culler, Kubiatowicz, Wawrzynek

Computer Architecture and Engineering: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Summer 2019 8 Week Session
The design, implementation, and evaluation of user interfaces. User-centered design and task analysis. Conceptual models and interface metaphors. Usability inspection and evaluation methods. Analysis of user study data. Input methods (keyboard, pointing, touch, tangible) and input models. Visual design principles. Interface prototyping and implementation methodologies and tools. Students will develop a user interface for a specific task and target user group in teams.

Rules & Requirements

Prerequisites: COMPSCI 61B or COMPSCI 61BL

Credit Restrictions: Students will receive no credit for Computer Science 160 after taking Computer Science 260A.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Agrawala, Canny, Hartmann, Paulos

User Interface Design and Development: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Summer 2019 8 Week Session
Introduction to computer security. Cryptography, including encryption, authentication, hash functions, cryptographic protocols, and applications. Operating system security, access control. Network security, firewalls, viruses, and worms. Software security, defensive programming, and language-based security. Case studies from real-world systems.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Paxson, Song, Tygar, Wagner

Computer Security: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Summer 2019 8 Week Session
Basic concepts of operating systems and system programming. Utility programs, subsystems, multiple-program systems. Processes, interprocess communication, and synchronization. Memory allocation, segmentation, paging. Loading and linking, libraries. Resource allocation, scheduling, performance evaluation. File systems, storage devices, I/O systems. Protection, security, and privacy.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Joseph, Kubiatowicz, Stoica

Operating Systems and System Programming: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2019, Spring 2019, Fall 2018
Survey of programming languages. The design of modern programming languages. Principles and techniques of scanning, parsing, semantic analysis, and code generation. Implementation of compilers, interpreters, and assemblers. Overview of run-time organization and error handling.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Bodik, Hilfinger, Necula

Programming Languages and Compilers: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2018, Fall 2017
This course is an introduction to the Internet architecture. We will focus on the concepts and fundamental design principles that have contributed to the Internet's scalability and robustness and survey the various protocols and algorithms used within this architecture. Topics include layering, addressing, intradomain routing, interdomain routing, reliable delivery, congestion control, and the core protocols (e.g., TCP, UDP, IP, DNS, and HTTP) and network technologies (e.g., Ethernet, wireless).

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Katz, Paxson, Ratnasamy, Shenker, Stoica

Introduction to the Internet: Architecture and Protocols: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
Ideas and techniques for designing, developing, and modifying large software systems. Function-oriented and object-oriented modular design techniques, designing for re-use and maintainability. Specification and documentation. Verification and validation. Cost and quality metrics and estimation. Project team organization and management. Students will work in teams on a substantial programming project.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Brewer, Fox, Necula, Sen

Software Engineering: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Not yet offered
Ideas and techniques for designing, developing, and modifying large software systems. Service-oriented architecture, behavior-driven design with user stories, cloud computing, test-driven development, automated testing, cost and quality metrics for maintainability and effort estimation, practical performance and security in software operations, design patterns and refactoring, specification and documentation, agile project team organization and management.

Objectives & Outcomes

Student Learning Outcomes: Students will learn how to approach and add functionality to a legacy code base;
Students will learn how to identify, measure, and resolve maintainability problems in code;
Students will learn how to work with nontechnical customers and convert customer requirements into a software plan that can be effort-estimated, built, and deployed to the public cloud, including the use of behavior-driven design, user stories, and velocity;
Students will learn how to write automated tests and measure test coverage;
Students will learn practical security and performance considerations for SaaS applications.
Students will learn the architecture and machinery of software as a service; the agile/XP methodology for software development and how it compares with other methodologies, including "Plan-and-document" methodologies;
Students will learn the role of software design patterns in refactoring, and how to identify opportunities to use them;

Rules & Requirements

Prerequisites: Computer Science 61A and 61B; Computer Science 70 is recommended

Credit Restrictions: Students will receive no credit for COMPSCI 169A after completing COMPSCI 169. A deficient grade in COMPSCI 169A may be removed by taking COMPSCI 169.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Fox, Sen

Introduction to Software Engineering: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Not yet offered
Open-ended design project enhancing or creating software for real customers in an agile team setting. Teamwork coordination, effective customer meetings, pre- and post-iteration team meetings, running scrums and standups, technical communication. Contributing as a team to an open-source project; tools and workflows associated with open source collaboration, including fork-and-pull, rebase, upstream merge, continuous deployment & integration.

Objectives & Outcomes

Course Objectives: Students will work in a team to develop new software or enhance existing software for a customer with a real business need.

Student Learning Outcomes: Students will learn how to conduct effective meetings with nontechnical customers and work with their feedback;
Students will learn how to coordinate teamwork on developing, testing, and deploying features; and in most cases, how to approach a legacy codebase and add features to it.
Students will learn to run a small team including rotation of team roles such as product owner, scrum master, and so on;

Rules & Requirements

Prerequisites: Computer Science 169A

Credit Restrictions: Students will receive no credit for COMPSCI 169L after completing COMPSCI 169.

Hours & Format

Fall and/or spring: 15 weeks - 1 hour of discussion per week

Summer: 8 weeks - 2 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Alternative to final exam.

Instructors: Fox, Sen

Software Engineering Team Project: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
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.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Demmel, Papadimitriou, Rao, Wagner, Vazirani

Efficient Algorithms and Intractable Problems: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Not yet offered
Cryptography or cryptology is the science of designing algorithms and protocols for enabling parties to communicate and compute securely in an untrusted environment (e.g. secure communication, digital signature, etc.) Over the last four decades, cryptography has transformed from an ad hoc collection of mysterious tricks into a rigorous science based on firm complexity-theoretic foundations. This modern complexity-theoretic approach to cryptography will be the focus. E.g., in the context of encryption we will begin by giving a precise mathematical definition for what it means to be a secure encryption scheme and then give a construction (realizing this security notion) assuming various computational hardness assumptions (e.g. factoring).

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructor: Garg

Cryptography: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019, Spring 2016, Fall 2015
Finite automata, Turing machines and RAMs. Undecidable, exponential, and polynomial-time problems. Polynomial-time equivalence of all reasonable models of computation. Nondeterministic Turing machines. Theory of NP-completeness: Cook's theorem, NP-completeness of basic problems. Selected topics in language theory, complexity and randomness.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Papadimitriou, Seshia, Sinclair, Vazirani

Computability and Complexity: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2019, Spring 2019, Spring 2018
Permutations, combinations, principle of inclusion and exclusion, generating functions, Ramsey theory. Expectation and variance, Chebychev's inequality, Chernov bounds. Birthday paradox, coupon collector's problem, Markov chains and entropy computations, universal hashing, random number generation, random graphs and probabilistic existence bounds.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Bartlett, Papadimitriou, Sinclair, Vazirani

Combinatorics and Discrete Probability: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2018, Fall 2017, Fall 2016
Algorithms and probabilistic models that arise in various computational biology applications: suffix trees, suffix arrays, pattern matching, repeat finding, sequence alignment, phylogenetics, genome rearrangements, hidden Markov models, gene finding, motif finding, stochastic context free grammars, RNA secondary structure. There are no biology prerequisites for this course, but a strong quantitative background will be essential.

Rules & Requirements

Prerequisites: COMPSCI 70 and COMPSCI 170; experience programming in a language such as C, C++, Java, or Python

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructor: Song

Algorithms for Computational Biology: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019
Deep Networks have revolutionized computer vision, language technology, robotics and control. They have growing impact in many other areas of science and engineering. They do not however, follow a closed or compact set of theoretical principles. In Yann Lecun's words they require "an interplay between intuitive insights, theoretical modeling,
practical implementations, empirical studies, and scientific analyses." This course attempts to cover that ground.

Objectives & Outcomes

Student Learning Outcomes: Students will come to understand visualizing deep networks. Exploring the training and use of deep networks with visualization tools.
Students will learn design principles and best practices: design motifs that work well in particular domains, structure optimization and parameter optimization.
Understanding deep networks. Methods with formal guarantees: generative and adversarial models, tensor factorization.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Alternative to final exam.

Instructor: Canny

Designing, Visualizing and Understanding Deep Neural Networks: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020
Deep Networks have revolutionized computer vision, language technology, robotics and control. They have growing impact in many other areas of science and engineering. They do not however, follow a closed or compact set of theoretical principles. In Yann Lecun's words they require "an interplay between intuitive insights, theoretical modeling, practical implementations, empirical studies, and scientific analyses." This course attempts to cover that ground.

Objectives & Outcomes

Student Learning Outcomes: Students will come to understand visualizing deep networks. Exploring the training and use of deep networks with visualization tools.
Students will learn design principles and best practices: design motifs that work well in particular domains, structure optimization and parameter optimization.
Understanding deep networks. Methods with formal guarantees: generative and adversarial models, tensor factorization.

Rules & Requirements

Prerequisites: Math 53 and Math 54 or equivalent; Computer Science 70 or Statistics 134 or Electrical Engineering and Computer Sciences 126; Computer Science 61B or equivalent; Computer Science 189 (recommended)

Credit Restrictions: Students will receive no credit for COMPSCI L182 after completing COMPSCI 182, or COMPSCI W182. A deficient grade in COMPSCI L182 may be removed by taking COMPSCI 182, or COMPSCI W182.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Alternative to final exam.

Instructor: Canny

Designing, Visualizing and Understanding Deep Neural Networks: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Not yet offered
Deep Networks have revolutionized computer vision, language technology, robotics and control. They have growing impact in many other areas of science and engineering. They do not however, follow a closed or compact set of theoretical principles. In Yann Lecun's words they require "an interplay between intuitive insights, theoretical modeling,
practical implementations, empirical studies, and scientific analyses." This course attempts to cover that ground.

Objectives & Outcomes

Student Learning Outcomes: Students will come to understand visualizing deep networks. Exploring the training and use of deep networks with visualization tools.
Students will learn design principles and best practices: design motifs that work well in particular domains, structure optimization and parameter optimization.
Understanding deep networks. Methods with formal guarantees: generative and adversarial models, tensor factorization.

Rules & Requirements

Prerequisites: Math 53 and Math 54 or equivalent; Computer Science 70 or Statistics 134 or Electrical Engineering and Computer Sciences 126; Computer Science 61B or equivalent; Computer Science 189 (recommended)

Credit Restrictions: Students will receive no credit for COMPSCI W182 after completing COMPSCI 182, or COMPSCI L182. A deficient grade in COMPSCI W182 may be removed by taking COMPSCI 182, or COMPSCI L182.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of web-based lecture and 1 hour of discussion per week

Online: This is an online course.

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Alternative to final exam.

Instructor: Canny

Designing, Visualizing and Understanding Deep Neural Networks: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Spring 2019, Spring 2018
Techniques of modeling objects for the purpose of computer rendering: boundary representations, constructive solids geometry, hierarchical scene descriptions. Mathematical techniques for curve and surface representation. Basic elements of a computer graphics rendering pipeline; architecture of modern graphics display devices. Geometrical transformations such as rotation, scaling, translation, and their matrix representations. Homogeneous coordinates, projective and perspective transformations. Algorithms for clipping, hidden surface removal, rasterization, and anti-aliasing. Scan-line based and ray-based rendering algorithms. Lighting models for reflection, refraction, transparency.

Rules & Requirements

Prerequisites: COMPSCI 61B or COMPSCI 61BL; programming skills in C, C++, or Java; linear algebra and calculus

Credit Restrictions: Students will receive no credit for Comp Sci 184 after taking Comp Sci 284A.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: O'Brien, Sequin, Barsky, Ramamoorthi, Agrawala

Foundations of Computer Graphics: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2018, Spring 2018, Fall 2017
Access methods and file systems to facilitate data access. Hierarchical, network, relational, and object-oriented data models. Query languages for models. Embedding query languages in programming languages. Database services including protection, integrity control, and alternative views of data. High-level interfaces including application generators, browsers, and report writers. Introduction to transaction processing. Database system implementation to be done as term project.

Rules & Requirements

Prerequisites: COMPSCI 61B and COMPSCI 61C

Credit Restrictions: Students will receive no credit for Comp Sci 186 after taking Comp Sci 286A.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Franklin, Hellerstein

Introduction to Database Systems: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
Broad introduction to systems for storing, querying, updating and managing large databases. Computer science skills synthesizing viewpoints from low-level systems architecture to high-level modeling and declarative logic. System internals, including the complex details of query optimization and execution, concurrency control, indexing, and memory management. More abstract issues in query languages and data modeling – students are exposed to formal relational languages, SQL, full-text search, entity-relationship modeling, normalization, and physical database design. Recent technological trends in the field, including “Big Data” programming libraries like MapReduce, and distributed key-value stores with various consistency models.

Rules & Requirements

Prerequisites: COMPSCI 61B and COMPSCI 61C

Credit Restrictions: Students will receive no credit for Computer Science W186 after taking either Computer Science 186 or Computer Science 286A.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of web-based lecture and 1 hour of discussion per week

Summer: 8 weeks - 6 hours of web-based lecture and 2 hours of discussion per week

Online: This is an online course.

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructor: Hellerstein

Introduction to Database Systems: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Summer 2019 8 Week Session
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.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Abbeel, Klein, Russell

Introduction to Artificial Intelligence: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Summer 2019 8 Week Session
Theoretical foundations, algorithms, methodologies, and applications for machine learning. Topics may include supervised methods for regression and classication (linear models, trees, neural networks, ensemble methods, instance-based methods); generative and discriminative probabilistic models; Bayesian parametric learning; density estimation and clustering; Bayesian networks; time series models; dimensionality reduction; programming projects covering a variety of real-world applications.

Rules & Requirements

Prerequisites: MATH 53 and MATH 54; and COMPSCI 70 or consent of instructor

Credit Restrictions: Students will receive no credit for Comp Sci 189 after taking Comp Sci 289A.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Abbeel, Bartlett, Darrell, El Ghaoui, Jordan, Klein, Malik, Russell

Introduction to Machine Learning: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Spring 2019, Spring 2017
This multidisciplinary course provides an introduction to fundamental conceptual aspects of quantum mechanics from a computational and informational theoretic perspective, as well as physical implementations and technological applications of quantum information science. Basic sections of quantum algorithms, complexity, and cryptography, will be touched upon, as well as pertinent physical realizations from nanoscale science and engineering.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Instructors: Crommie, Vazirani, Whaley

Also listed as: CHEM C191/PHYSICS C191

Quantum Information Science and Technology: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
Topics will vary semester to semester. See the Computer Science Division announcements.

Rules & Requirements

Prerequisites: Consent of instructor

Repeat rules: Course may be repeated for credit when topic changes.

Hours & Format

Fall and/or spring: 15 weeks - 1-4 hours of lecture per week

Summer: 8 weeks - 2-8 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Special Topics: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
Topics include electronic community; the changing nature of work; technological risks; the information economy; intellectual property; privacy; artificial intelligence and the sense of self; pornography and censorship; professional ethics. Students will lead discussions on additional topics.

Rules & Requirements

Credit Restrictions: Students will receive no credit for 195 after taking C195/Interdisciplinary Field Study C155 or H195.

Hours & Format

Fall and/or spring: 15 weeks - 1.5 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.

Instructor: Harvey

Social Implications of Computer Technology: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2014, Fall 2013, Spring 2013
Topics include electronic community; the changing nature of work; technological risks; the information economy; intellectual property; privacy; artificial intelligence and the sense of self; pornography and censorship; professional ethics. Students may lead discussions on additional topics.

Rules & Requirements

Credit Restrictions: Student will receive no credit for H195 after taking 195 or C195.

Hours & Format

Fall and/or spring: 15 weeks - 1.5 hours of lecture and 1.5 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.

Instructor: Harvey

Honors Social Implications of Computer Technology: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2016, Fall 2010, Spring 2010
Thesis work under the supervision of a faculty member. To obtain credit the student must, at the end of two semesters, submit a satisfactory thesis to the Electrical Engineering and Computer Science department archive. A total of four units must be taken. The units many be distributed between one or two semesters in any way. H196A-H196B count as graded technical elective units, but may not be used to satisfy the requirement for 27 upper division technical units in the College of Letters and Science with a major in Computer Science.

Rules & Requirements

Prerequisites: Open only to students in the computer science honors program

Hours & Format

Fall and/or spring: 15 weeks - 1-4 hours of independent study per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Senior Honors Thesis Research: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2010, Spring 2009, Fall 2008
Thesis work under the supervision of a faculty member. To obtain credit the student must, at the end of two semesters, submit a satisfactory thesis to the Electrical Engineering and Computer Science department archive. A total of four units must be taken. The units many be distributed between one or two semesters in any way. H196A-H196B count as graded technical elective units, but may not be used to satisfy the requirement for 27 upper division technical units in the College of Letters and Science with a major in Computer Science.

Rules & Requirements

Prerequisites: Open only to students in the computer science honors program

Hours & Format

Fall and/or spring: 15 weeks - 1-4 hours of independent study per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Letter grade. Final exam required.

Senior Honors Thesis Research: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019, Fall 2018, Fall 2016
Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation.

Rules & Requirements

Prerequisites: Consent of instructor (see department adviser)

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 1-4 hours of fieldwork per week

Summer:
6 weeks - 2.5-10 hours of fieldwork per week
8 weeks - 2-7.5 hours of fieldwork per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.

Field Study: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
Group study of selected topics in Computer Sciences, usually relating to new developments.

Rules & Requirements

Prerequisites: 2.0 GPA or better; 60 units completed

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 1-4 hours of directed group study per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.

Directed Group Studies for Advanced Undergraduates: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2018, Fall 2016, Fall 2015
Supervised independent study. Enrollment restrictions apply.

Rules & Requirements

Prerequisites: Consent of instructor and major adviser

Credit Restrictions: Enrollment is restricted; see the Introduction to Courses and Curricula section of this catalog.

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 0 hours of independent study per week

Summer:
6 weeks - 1-5 hours of independent study per week
8 weeks - 1-4 hours of independent study per week

Additional Details

Subject/Course Level: Computer Science/Undergraduate

Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.

Supervised Independent Study: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
Explores the data science lifecycle: question formulation, data collection and cleaning, exploratory, analysis, visualization, statistical inference, prediction, and decision-making. Focuses on quantitative critical thinking and key principles and techniques: languages for transforming, querying and analyzing data; algorithms for machine learning methods: regression, classification and clustering; principles of informative visualization; measurement error and prediction; and techniques for scalable data processing. Research term project.

Rules & Requirements

Prerequisites: Computer Science/Information/Statistics C8 or Engineering 7; and either Computer Science 61A or Computer Science 88. Corequisite: Mathematics 54 or Electrical Engineering 16A

Credit Restrictions: Students will not receive credit for this course after taking CS c100 / Stat c100

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 1 hour of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Also listed as: STAT C200C

Principles and Techniques of Data Science: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2019, Fall 2018, Fall 2017
This course introduces students to the basics of models, analysis tools, and control for embedded systems operating in real time. Students learn how to combine physical processes with computation. Topics include models of computation, control, analysis and verification, interfacing with the physical world, mapping to platforms, and distributed embedded systems. The course has a strong laboratory component, with emphasis on a semester-long sequence of projects.

Rules & Requirements

Credit Restrictions: Students will receive no credit for Electrical Engineering/Computer Science C249A after completing Electrical Engineering/Computer Science C149.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 3 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Lee, Seshia

Formerly known as: Electrical Engineering C249M/Computer Science C249M

Also listed as: EL ENG C249A

Introduction to Embedded Systems: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2017, Spring 2016, Fall 2014
Unified top-down and bottom-up design of integrated circuits and systems concentrating on architectural and topological issues. VLSI architectures, systolic arrays, self-timed systems. Trends in VLSI development. Physical limits. Tradeoffs in custom-design, standard cells, gate arrays. VLSI design tools.

Rules & Requirements

Prerequisites: 150

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 4 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Wawrzynek

VLSI Systems Design: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Spring 2019, Spring 2018
Graduate survey of contemporary computer organizations covering: early systems, CPU design, instruction sets, control, processors, busses, ALU, memory, I/O interfaces, connection networks, virtual memory, pipelined computers, multiprocessors, and case studies. Term paper or project is required.

Rules & Requirements

Prerequisites: 152

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Asanović, Kubiatowicz

Graduate Computer Architecture: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
The design, implementation, and evaluation of user interfaces. User-centered design and task analysis. Conceptual models and interface metaphors. Usability inspection and evaluation methods. Analysis of user study data. Input methods (keyboard, pointing, touch, tangible) and input models. Visual design principles. Interface prototyping and implementation methodologies and tools. Students will develop a user interface for a specific task and target user group in teams.

Rules & Requirements

Prerequisites: Computer Science 61B, 61BL, or consent of instructor

Credit Restrictions: Students will receive no credit for Computer Science 260A after taking Computer Science 160.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Agrawala, Canny, Hartmann

User Interface Design and Development: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2017
This course is a broad introduction to conducting research in Human-Computer Interaction. Students will become familiar with seminal and recent literature; learn to review and critique research papers; re-implement and evaluate important existing systems; and gain experience in conducting research. Topics include input devices, computer-supported cooperative work, crowdsourcing, design tools, evaluation methods, search and mobile interfaces, usable security, help and tutorial systems.

Rules & Requirements

Prerequisites: Computer Science 160 recommended, or consent of instructor

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Hartmann

Human-Computer Interaction Research: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2018, Fall 2017, Fall 2015
Graduate survey of modern topics in computer security, including protection, access control, distributed access security, firewalls, secure coding practices, safe languages, mobile code, and case studies from real-world systems. May also cover cryptographic protocols, privacy and anonymity, and/or other topics as time permits.

Rules & Requirements

Prerequisites: 162

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: D. Song, Wagner

Security in Computer Systems: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2016, Spring 2015
Develops a thorough grounding in Internet and network security suitable for those interested in conducting research in the area or those more broadly interested in security or networking. Potential topics include denial-of-service; capabilities; network intrusion detection/prevention; worms; forensics; scanning; traffic analysis; legal issues; web attacks; anonymity; wireless and networked devices; honeypots; botnets; scams; underground economy; attacker infrastructure; research pitfalls.

Rules & Requirements

Prerequisites: Electrical Engineering 122 or equivalent; Computer Science 161 or familiarity with basic security concepts

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Paxson

Internet and Network Security: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2019, Fall 2018, Spring 2018
Graduate survey of systems for managing computation and information, covering a breadth of topics: early systems; volatile memory management, including virtual memory and buffer management; persistent memory systems, including both file systems and transactional storage managers; storage metadata, physical vs. logical naming, schemas, process scheduling, threading and concurrency control; system support for networking, including remote procedure calls, transactional RPC, TCP, and active messages; security infrastructure; extensible systems and APIs; performance analysis and engineering of large software systems. Homework assignments, exam, and term paper or project required.

Rules & Requirements

Prerequisites: 162 and entrance exam

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Brewer, Hellerstein

Formerly known as: 262

Advanced Topics in Computer Systems: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Spring 2009, Fall 2008
Continued graduate survey of large-scale systems for managing information and computation. Topics include basic performance measurement; extensibility, with attention to protection, security, and management of abstract data types; index structures, including support for concurrency and recovery; parallelism, including parallel architectures, query processing and scheduling; distributed data management, including distributed and mobile file systems and databases; distributed caching; large-scale data analysis and search. Homework assignments, exam, and term paper or project required.

Rules & Requirements

Prerequisites: 262A

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Brewer, Culler, Hellerstein, Joseph

Advanced Topics in Computer Systems: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2019, Spring 2019, Spring 2014
Selected topics from: analysis, comparison, and design of programming languages, formal description of syntax and semantics, advanced programming techniques, structured programming, debugging, verification of programs and compilers, and proofs of correctness.

Rules & Requirements

Prerequisites: 164

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Necula

Design of Programming Languages: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2011, Spring 2010, Spring 2005
Compiler construction. Lexical analysis, syntax analysis. Semantic analysis code generation and optimization. Storage management. Run-time organization.

Rules & Requirements

Prerequisites: 164, 263 recommended

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 6 hours of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Bodik

Implementation of Programming Languages: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2009, Spring 2003, Spring 2000
Table-driven and retargetable code generators. Register management. Flow analysis and global optimization methods. Code optimization for advanced languages and architectures. Local code improvement. Optimization by program transformation. Selected additional topics. A term paper or project is required.

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Spring 2019, Spring 2018
Models for parallel programming. Overview of parallelism in scientific applications and study of parallel algorithms for linear algebra, particles, meshes, sorting, FFT, graphs, machine learning, etc. Survey of parallel machines and machine structures. Programming shared- and distributed-memory parallel computers, GPUs, and cloud platforms. Parallel programming languages, compilers, libraries and toolboxes. Data partitioning techniques. Techniques for synchronization and load balancing. Detailed study and algorithm/program development of medium sized applications.

Rules & Requirements

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of laboratory per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Demmel, Yelick

Also listed as: ENGIN C233

Applications of Parallel Computers: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Prior to 2007
Parallel programming, from laptops to supercomputers to the cloud. Goals include writing programs that run fast while minimizing programming effort. Parallel architectures and programming languages and models, including shared memory (eg OpenMP on your multicore laptop), distributed memory (MPI and UPC on a supercomputer), GPUs (CUDA and OpenCL), and cloud (MapReduce, Hadoop and Spark). Parallel algorithms and software tools for common computations (eg dense and sparse linear algebra, graphs, structured grids). Tools for load balancing, performance analysis, debugging. How high level applications are built (eg climate modeling). On-line lectures and office hours.

Objectives & Outcomes

Student Learning Outcomes: An understanding of computer architectures at a high level, in order to understand what can and cannot be done in parallel, and the relative costs of operations like arithmetic, moving data, etc.
To master parallel programming languages and models for different computer architectures
To recognize programming "patterns" to use the best available algorithms and software to implement them.
To understand sources of parallelism and locality in simulation in designing fast algorithms

Rules & Requirements

Prerequisites: Computer Science W266 or the consent of the instructor

Credit Restrictions: Students will receive no credit for Computer Science W267 after completing Computer Science C267.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of web-based lecture per week

Online: This is an online course.

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Demmel, Yelick

Applications of Parallel Computers: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019, Spring 2016, Spring 2015
Distributed systems, their notivations, applications, and organization. The network component. Network architectures. Local and long-haul networks, technologies, and topologies. Data link, network, and transport protocols. Point-to-point and broadcast networks. Routing and congestion control. Higher-level protocols. Naming. Internetworking. Examples and case studies.

Rules & Requirements

Prerequisites: 162

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Joseph, Katz, Stoica

Formerly known as: 292V

Computer Networks: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019, Spring 2017, Spring 2016
Design and analysis of efficient algorithms for combinatorial problems. Network flow theory, matching theory, matroid theory; augmenting-path algorithms; branch-and-bound algorithms; data structure techniques for efficient implementation of combinatorial algorithms; analysis of data structures; applications of data structure techniques to sorting, searching, and geometric problems.

Rules & Requirements

Prerequisites: 170

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Papadimitriou, Rao, Sinclair, Vazirani

Combinatorial Algorithms and Data Structures: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Spring 2018, Fall 2011
Computational applications of randomness and computational theories of randomness. Approximate counting and uniform generation of combinatorial objects, rapid convergence of random walks on expander graphs, explicit construction of expander graphs, randomized reductions, Kolmogorov complexity, pseudo-random number generation, semi-random sources.

Rules & Requirements

Prerequisites: 170 and at least one course numbered 270-279

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Sinclair

Randomness and Computation: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2012, Fall 2010, Spring 2009
. Fundamental theoretical issues in designing parallel algorithms and architectures. Shared memory models of parallel computation. Parallel algorithms for linear algegra, sorting, Fourier Transform, recurrence evaluation, and graph problems. Interconnection network based models. Algorithm design techniques for networks like hypercubes, shuffle-exchanges, threes, meshes and butterfly networks. Systolic arrays and techniques for generating them. Message routing.

Rules & Requirements

Prerequisites: 170, or consent of instructor

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Rao

Foundations of Parallel Computation: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019, Spring 2017, Spring 2015
. Constructive problems in computational geometry: convex hulls, triangulations, Voronoi diagrams, arrangements of hyperplanes; relationships among these problems. Search problems: advanced data structures; subdivision search; various kinds of range searches. Models of computation; lower bounds.

Rules & Requirements

Prerequisites: 170 or equivalent

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Shewchuk

Computational Geometry: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2018, Fall 2017, Fall 2016
Graduate survey of modern topics on theory, foundations, and applications of modern cryptography. One-way functions; pseudorandomness; encryption; authentication; public-key cryptosystems; notions of security. May also cover zero-knowledge proofs, multi-party cryptographic protocols, practical applications, and/or other topics, as time permits.

Rules & Requirements

Prerequisites: 170

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Trevisan, Wagner

Cryptography: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Spring 2019, Spring 2018
Paradigms for computational vision. Relation to human visual perception. Mathematical techniques for representing and reasoning, with curves, surfaces and volumes. Illumination and reflectance models. Color perception. Image segmentation and aggregation. Methods for bottom-up three dimensional shape recovery: Line drawing analysis, stereo, shading, motion, texture. Use of object models for prediction and recognition.

Rules & Requirements

Prerequisites: Knowledge of linear algebra and calculus. Mathematics 1A-1B, 53, 54 or equivalent

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Malik

Also listed as: VIS SCI C280

Computer Vision: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2019, Fall 2016, Fall 2015
Classification regression, clustering, dimensionality, reduction, and density estimation. Mixture models, hierarchical models, factorial models, hidden Markov, and state space models, Markov properties, and recursive algorithms for general probabilistic inference nonparametric methods including decision trees, kernal methods, neural networks, and wavelets. Ensemble methods.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Bartlett, Jordan, Wainwright

Also listed as: STAT C241A

Statistical Learning Theory: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2017, Spring 2016, Spring 2014
Recent topics include: Graphical models and approximate inference algorithms. Markov chain Monte Carlo, mean field and probability propagation methods. Model selection and stochastic realization. Bayesian information theoretic and structural risk minimization approaches. Markov decision processes and partially observable Markov decision processes. Reinforcement learning.

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Spring 2019
Deep Networks have revolutionized computer vision, language technology, robotics and control. They have growing impact in many other areas of science and engineering. They do not however, follow a closed or compact set of theoretical principles. In Yann Lecun's words they require "an interplay between intuitive insights, theoretical modeling, practical implementations, empirical studies, and scientific analyses." This course attempts to cover that ground.

Objectives & Outcomes

Student Learning Outcomes: Students will come to understand visualizing deep networks. Exploring the training and use of deep networks with visualization tools.
Students will learn design principles and best practices: design motifs that work well in particular domains, structure optimization and parameter optimization.

Understanding deep networks. Methods with formal guarantees: generative and adversarial models, tensor factorization.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Canny

Designing, Visualizing and Understanding Deep Neural Networks: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Spring 2019, Spring 2018
Techniques of modeling objects for the purpose of computer rendering: boundary representations, constructive solids geometry, hierarchical scene descriptions. Mathematical techniques for curve and surface representation. Basic elements of a computer graphics rendering pipeline; architecture of modern graphics display devices. Geometrical transformations such as rotation, scaling, translation, and their matrix representations. Homogeneous coordinates, projective and perspective transformations.

Rules & Requirements

Prerequisites: Computer Science 61B or 61BL; programming skills in C, C++, or Java; linear algebra and calculus; or consent of instructor

Credit Restrictions: Students will receive no credit for Computer Science 284A after taking 184.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Agrawala, Barsky, O'Brien, Ramamoorthi, Sequin

Foundations of Computer Graphics: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2019, Spring 2017
This course provides a graduate-level introduction to advanced computer graphics algorithms and techniques. Students should already be familiar with basic concepts such as transformations, scan-conversion, scene graphs, shading, and light transport. Topics covered in this course include global illumination, mesh processing, subdivision surfaces, basic differential geometry, physically based animation, inverse kinematics, imaging and computational photography, and precomputed light transport.

Rules & Requirements

Prerequisites: 184 or equivalent

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: O'Brien, Ramamoorthi

Formerly known as: Computer Science 283

Advanced Computer Graphics Algorithms and Techniques: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2019, Fall 2011, Fall 2007
Intersection of control, reinforcement learning, and deep learning. Deep learning methods, which train large parametric function approximators, achieve excellent results on problems that require reasoning about unstructured real-world situations (e.g., computer vision, speech recognition, NLP). Advanced treatment of the reinforcement learning formalism, the most critical model-free reinforcement learning algorithms (policy gradients, value function and Q-function learning, and actor-critic), a discussion of model-based reinforcement learning algorithms, an overview of imitation learning, and a range of advanced topics (e.g., exploration, model-based learning with video prediction, transfer learning, multi-task learning, and meta-learning).

Objectives & Outcomes

Student Learning Outcomes: Provide an opportunity to embark on a research-level final project with support from course staff.
Provide hands-on experience with several commonly used RL algorithms;
Provide students with an overview of advanced deep reinforcement learning topics, including current research trends;
Provide students with foundational knowledge to understand deep reinforcement learning algorithms;

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Levine, Abbeel

Deep Reinforcement Learning, Decision Making, and Control: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2018, Fall 2017, Spring 2017
Access methods and file systems to facilitate data access. Hierarchical, network, relational, and object-oriented data models. Query languages for models. Embedding query languages in programming languages. Database services including protection, integrity control, and alternative views of data. High-level interfaces including application generators, browsers, and report writers. Introduction to transaction processing. Database system implementation to be done as term project.

Rules & Requirements

Prerequisites: Computer Science 61B and 61C

Credit Restrictions: Students will receive no credit for CS 286A after taking CS 186.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Franklin, Hellerstein

Introduction to Database Systems: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2014
Implementation of data base systems on modern hardware systems. Considerations concerning operating system design, including buffering, page size, prefetching, etc. Query processing algorithms, design of crash recovery and concurrency control systems. Implementation of distributed data bases and data base machines.

Rules & Requirements

Prerequisites: Computer Science 162 and 186 or 286A

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Franklin, Hellerstein

Implementation of Data Base Systems: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2019, Fall 2015, Spring 2015
Advanced topics related to current research in algorithms and artificial intelligence for robotics. Planning, control, and estimation for realistic robot systems, taking into account: dynamic constraints, control and sensing uncertainty, and non-holonomic motion constraints.

Rules & Requirements

Prerequisites: Instructor consent for undergraduate and masters students

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Abbeel

Advanced Robotics: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020
As robot autonomy advances, it becomes more and more important to develop algorithms that are not solely functional, but also mindful of the end-user. How should the robot move differently when it's moving in the presence of a human? How should it learn from user feedback? How should it assist the user in accomplishing day to day tasks? These are the questions we will investigate in this course.
We will contrast existing algorithms in robotics with studies in human-robot interaction, discussing how to tackle interaction challenges in an algorithmic way, with the goal of enabling generalization across robots and tasks. We will also sharpen research skills: giving good talks, experimental design, statistical analysis, literature surveys.

Objectives & Outcomes

Student Learning Outcomes: Students will have gained both knowledge/abilities related to human-robot interaction, as well as to research and presentation skills including being able to apply Bayesian inference and learning techniques to enhance coordination in collaborative tasks.
Students will have gained both knowledge/abilities related to human-robot interaction, as well as to research and presentation skills including being able to apply optimization techniques to generate motion for HRI.
Students will have gained both knowledge/abilities related to human-robot interaction, as well as to research and presentation skills including being able to contrast and relate model-based and model-free learning from demonstration.
Students will have gained both knowledge/abilities related to human-robot interaction, as well as to research and presentation skills including being able to develop a basic understanding of verbal and non-verbal communication.
Students will have gained both knowledge/abilities related to human-robot interaction, as well as to research and presentation skills including being able to ground algorithmic HRI in the relvant psychology background.
Students will have gained both knowledge/abilities related to human-robot interaction, as well as to research and presentation skills including being able to tease out the intricacies of developing algorithms that support HRI.
Students will have gained both knowledge/abilities related to human-robot interaction, as well as to research and presentation skills including being able to analyze and diagram the literature related to a particular topic.
Students will have gained both knowledge/abilities related to human-robot interaction, as well as to research and presentation skills including being able to communicate scientific content to a peer audience.
Students will have gained both knowledge/abilities related to human-robot interaction, as well as to research and presentation skills including being able to critique a scientific paper's experimental design and analysis.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Dragan

Algorithmic Human-Robot Interaction: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2014, Spring 2013
Methods and models for the analysis of natural (human) language data. Topics include: language modeling, speech recognition, linguistic analysis (syntactic parsing, semantic analysis, reference resolution, discourse modeling), machine translation, information extraction, question answering, and computational linguistics techniques.

Rules & Requirements

Prerequisites: CS188 required, CS170 recommended

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructor: Klein

Natural Language Processing: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
This course provides an introduction to theoretical foundations, algorithms, and methodologies for machine learning, emphasizing the role of probability and optimization and exploring a variety of real-world applications. Students are expected to have a solid foundation in calculus and linear algebra as well as exposure to the basic tools of logic and probability, and should be familiar with at least one modern, high-level programming language.

Rules & Requirements

Prerequisites: Mathematics 53, 54; Computer Science 70; Computer Science 188 or consent of instructor

Credit Restrictions: Students will receive no credit for Comp Sci 289A after taking Comp Sci 189.

Hours & Format

Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Instructors: Abbeel, Bartlett, Darrell, El Ghaoui, Jordan, Klein, Malik, Russell

Introduction to Machine Learning: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
Topics will vary from semester to semester. See Computer Science Division announcements.

Rules & Requirements

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring:
4 weeks - 3-15 hours of lecture per week
6 weeks - 3-9 hours of lecture per week
8 weeks - 2-6 hours of lecture per week
10 weeks - 2-5 hours of lecture per week
15 weeks - 1-3 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Letter grade.

Special Topics: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2016, Fall 2015, Summer 2015 10 Week Session
Supervised experience in off-campus companies relevant to specific aspects and applications of electrical engineering and/or computer science. Written report required at the end of the semester.

Rules & Requirements

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 1-12 hours of independent study per week

Summer:
6 weeks - 1-30 hours of independent study per week
8 weeks - 1.5-22.5 hours of independent study per week
10 weeks - 1-18 hours of independent study per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Offered for satisfactory/unsatisfactory grade only.

Field Studies in Computer Science: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
Advanced study in various subjects through seminars on topics to be selected each year, informal group studies of special problems, group participation in comprehensive design problems, or group research on complete problems for analysis and experimentation.

Rules & Requirements

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 1-4 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: The grading option will be decided by the instructor when the class is offered.

Group Studies Seminars, or Group Research: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Summer 2017 Second 6 Week Session, Fall 2016, Summer 2016 10 Week Session
Investigations of problems in computer science.

Rules & Requirements

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 0-1 hours of independent study per week

Summer:
6 weeks - 8-30 hours of independent study per week
8 weeks - 6-22.5 hours of independent study per week
10 weeks - 1.5-18 hours of independent study per week

Additional Details

Subject/Course Level: Computer Science/Graduate

Grading: Offered for satisfactory/unsatisfactory grade only.

Individual Research: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2012, Fall 2011, Spring 2011
Supervised teaching practice, in either a one-on-one tutorial or classroom discussion setting.

Rules & Requirements

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 0 hours of independent study per week

Summer:
6 weeks - 1-5 hours of independent study per week
8 weeks - 1-4 hours of independent study per week

Additional Details

Subject/Course Level: Computer Science/Professional course for teachers or prospective teachers

Grading: Offered for satisfactory/unsatisfactory grade only.

Teaching Practice: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Spring 2014, Spring 2012
Discussion and review of research and practice relating to the teaching of computer science: knowledge organization and misconceptions, curriculum and topic organization, evaluation, collaborative learning, technology use, and administrative issues. As part of a semester-long project to design a computer science course, participants invent and refine a variety of homework and exam activities, and evaluate alternatives for textbooks, grading and other administrative policies, and innovative uses of technology.

Rules & Requirements

Prerequisites: Computer Science 301 and two semesters of GSI experience

Hours & Format

Fall and/or spring: 15 weeks - 2 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Professional course for teachers or prospective teachers

Grading: Letter grade.

Instructor: Garcia

Designing Computer Science Education: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
This is a course for aspiring teachers or those who want to instruct with expertise from evidence-based research and proven equity-oriented practices. It provides pedagogical training by introducing the big ideas of teaching and learning, and illustrating how to put them into practice. The course is divided into three sections—instructing the individual; a group; and psycho-social factors that affect learning at any level. These sections are designed to enhance any intern’s, tutor’s, or TA’s teaching skillset. Class is discussion based, and covers theoretical and practical pedagogical aspects to teaching in STEM. An integral feature of the course involves providing weekly tutoring sessions.

Rules & Requirements

Prerequisites: Prerequisite satisfied Concurrently: experience tutoring or as an academic intern; or concurrently serving as an academic intern while taking course

Hours & Format

Fall and/or spring: 15 weeks - 2 hours of lecture per week

Additional Details

Subject/Course Level: Computer Science/Professional course for teachers or prospective teachers

Grading: Letter grade.

Instructor: Hunn

Adaptive Instruction Methods in Computer Science: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Spring 2020, Fall 2019, Spring 2019
Discussion and practice of techniques for effective teaching, focusing on issues most relevant to teaching assistants in computer science courses.

Rules & Requirements

Prerequisites: Consent of instructor

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 10 weeks - 3 hours of discussion per week

Summer: 8 weeks - 4 hours of discussion per week

Additional Details

Subject/Course Level: Computer Science/Professional course for teachers or prospective teachers

Grading: Offered for satisfactory/unsatisfactory grade only.

Instructors: Barsky, Garcia, Harvey

Teaching Techniques for Computer Science: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2018, Fall 2016, Spring 2016
Discussion, problem review and development, guidance of computer science laboratory sections, course development, supervised practice teaching.

Rules & Requirements

Prerequisites: Appointment as graduate student instructor

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 1-2 hours of independent study per week

Summer: 8 weeks - 1-2 hours of independent study per week

Additional Details

Subject/Course Level: Computer Science/Professional course for teachers or prospective teachers

Grading: Offered for satisfactory/unsatisfactory grade only.

Professional Preparation: Supervised Teaching of Computer Science: Read Less [-]

Offered through: Electrical Engin and Computer Sci
Terms offered: Fall 2015, Fall 2014, Spring 2014
Individual study in consultation with the major field adviser, intended to provide an opportunity for qualified students to prepare themselves for the various examinations required of candidates for the Ph.D. (and other doctoral degrees).

Rules & Requirements

Credit Restrictions: Course does not satisfy unit or residence requirements for doctoral degree.

Repeat rules: Course may be repeated for credit without restriction.

Hours & Format

Fall and/or spring: 15 weeks - 0 hours of independent study per week

Summer: 8 weeks - 6-45 hours of independent study per week

Additional Details

Subject/Course Level: Computer Science/Graduate examination preparation

Grading: Offered for satisfactory/unsatisfactory grade only.

Individual Study for Doctoral Students: Read Less [-]