Computer Science
>
>

CS 88: Computational Structures in Data Science

Fall 2022

UC Berkeley

This course provides an introduction to computer science with an emphasis on functional programming, data abstraction, object-oriented programming, and program complexity. The course teaches foundational programming concepts primarily in Python.

Course Page

Overview

CS 88 is a "connector" for Data 8 that is designed for students who would like a more complete introduction to Computer Science. We will cover a variety of topics such as functional programming, data abstraction, object-oriented programming, and program complexity. This course will be taught primarily in Python. However, we are interested in teaching you foundational programming ideas, not just how to use one particular programming language. Once you have learned the essence of programming and the concepts that appear in various forms in programming languages, you will be able to pick up other languages and other programming concepts rapidly.

The material for this course has significant overlap with CS 61A. We do not cover the interpretation section of CS61A. If you are certain that you want to major or minor in Computer Science, CS 61A is the right introductory course. You can take CS 61A for credit after having taken CS 88. However, you cannot take CS 88 for credit after having taken CS 61A. Data 8 and CS 88 together satisfy the knowledge prerequisite for CS 61B.

Prerequisites

It is recommended, but not required, that you are currently enrolled in or have taken Data 8. There is no formal programming-related prerequisite for CS 88. You do not need to be familiar with any particular programming language.

Learning objectives

No data.

Textbooks and other notes

The online textbook for the course is Composing Programs, which was created specifically for CS61A but is also the best basis for this course. Readings for each lecture appear in the course schedule. We will be jumping around a little due to the data-centric orientation of the course. You should complete the readings before attending lecture.

In addition, the course website and Piazza will contain additional links to guides, handouts, and practice materials available for the course.

Other courses in Computer Programming

Courseware availability

Lecture slides and readings available at Calendar

No videos available

Assignments available at Calendar

Labs and Dicussions available at Calendar

Resources available at Resources

Covered concepts