Development of Computer Science topics appearing in Foundations of Data Science (C8); expands computational concepts and techniques of abstraction. Understanding the structures that underlie the programs, algorithms, and languages used in data science and elsewhere. Mastery of a particular programming language while studying general techniques for managing program complexity, e.g., functional, object-oriented, and declarative programming. Provides practical experience with composing larger systems through several significant programming projects.
Data C88C, also cross-listed as CS C88 and originally offered as CS 88, provides a rigorous introduction to programming, abstraction, and the structure of programs. It is based on CS 61A and covers approximately 70% of the content of that course.
For the Data Science major and minor, the content in Data C88C is sufficient. For the Computer Science major and minor, the additional content in CS 61A is important. If you are certain that you want to major or minor in Computer Science, CS 61A is the right introductory course. Students who complete Data C88C can either proceed directly to CS 61B or subsequently take CS 61A, a path that offers a substantial amount of review because of the high topic overlap between the courses. (Review can be very helpful for some students!) However, you cannot take Data C88C for credit after having taken CS 61A.