DATA88C.2 - Recursion and Object-Oriented Programming
About this course (Part 2 of 3): C88C: Computational Structures in Data Science introduces computational thinking and programming concepts specifically tailored for data science applications. The course covers fundamental programming constructs, data structures, algorithms, and computational problem-solving techniques. Part 2 focuses on recursion, abstract data types (ADTs), and object-oriented programming (OOP) in Python, building directly on the foundations from Part 1.
Topics¶
Part 2 (sometimes listed as 88.2X on edX) includes 5 modules:
Module 8: Abstract Data Types - ADTs, the Point ADT, and examples (e.g., bank accounts).
Module 9: Recursion - Introduction to recursion, countdown, sum, sequences, and palindromes.
Module 10: Tree Recursion - Tree recursion and applications (e.g., counting change, Fibonacci).
Module 11: Object-Oriented Programming (OOP) - Classes, attributes, magic methods, and the OOP style.
Module 12: OOP - Inheritance - Inheritance and extending classes.
The part ends with Review and Wrap-up for 88.2X.
Structure and assignments¶
Modules: 5 content modules (plus “Succeeding in this Course” and Review and Wrap-up).
Labs: 4 Jupyter lab assignments (Modules 8, 9, 10, and 11).
Quizzes: 5 quizzes (one per module).