Catalog Description: 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.

Units: 4

Related Areas:

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

Formats:
Fall: 2.0 hours of lecture, 1.0 hours of discussion, and 4.0 hours of laboratory per week
Summer: 4.0 hours of lecture, 2.0 hours of discussion, and 8.0 hours of laboratory per week
Spring: 2.0 hours of lecture, 1.0 hours of discussion, and 4.0 hours of laboratory per week

Grading Basis: letter

Final Exam Status: Written final exam conducted during the scheduled final exam period


Class Schedule (Summer 2025):
CS 10 – MoTuWeTh 16:00-16:59, Genetics & Plant Bio 100 – Jedidiah Tsang

Class Notes
* Time conflicts ARE allowed.

* This is an IN-PERSON class, on-site attendance is expected.

* Lecture WILL be recorded for playback later.

* To enroll - enroll in the lecture, 999 discussion, and 999L lab section. Assignments to the ACTUAL discussion and lab sections will be done by teaching staff prior to the start of class.

* Questions? email cs10@berkeley.edu

Class Schedule (Fall 2025):
CS 10 – MoWeFr 13:00-13:59, Dwinelle 145 – Dan Garcia

Class Notes
* This class is not intended for students who have taken or are also taking CS 61A, CS 61B, or CS 61C. Students who enroll and have taken or are taking any of those classes, will be instructor dropped.

* Time conflicts are NOT allowed with the lecture.

* Lecture attendance is mandatory.

* Lecture will be recorded for students who are sick or for review.

Class homepage on inst.eecs

Links: