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

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 (Spring 2024):
CS 10 – MoWe 13:00-13:59, Soda 306 – Dan Garcia

Related Areas: