Lecture, two hours; discussion, two hours; laboratory, two hours; outside study, six hours. Requisite: Mathematics 33A. Fundamentals of computer programming taught in the context of Python. Topics include basic data types and control structures, input/output, functions, data visualization, and list- and array-based data structures. Introduction to object-oriented programming. Basic algorithms and data structures including sorting, searching, stacks, queues, heaps, and graph traversal techniques such as depth-first and breadth-first search. Examples and exercises from engineering, mathematics, and physical sciences. Letter grading.
Click on any course to view its details