CS 10. The Beauty and Joy of Computing
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
Also Offered As: COMPSCI 10
Related Areas:
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: Student Option
Final Exam Status: Yes
Class Schedule (Summer 2026):
CS 10 – MoTuWeTh 16:00-16:59, Cory 540AB –
Della Dastur
Class Notes
- Time conflicts are not allowed.
- All final exams are in-person only, and will occur during the week of Aug 10-14.
Class Schedule (Fall 2026):
CS 10 – MoWeFr 13:00-13:59, Physics Building 4 –
Dan Garcia
Class Notes
- Time conflicts are allowed
- An alternate final will be offered
- Lectures will be recorded
- Seats reserved for students with enrollment permission are not open. They are reserved for students in internal programs. Please DO NOT ask faculty or staff for one of these seats.
- CS/EECS/ECE majors with little or no programming experience are encouraged to take CS 10 before CS 61A.
Links: