Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

DATA88C.3 - Working with Data Structures

About this course (Part 3 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 3 focuses on efficiency, linked and tree structures, iterators and generators, programming paradigms, and databases with SQL, tying together the ideas from Parts 1 and 2.

Topics

Part 3 includes 7 modules:

  1. Module 13: Efficiency and Runtime Analysis - Measuring and improving efficiency, runtime analysis.

  2. Module 14: Data Structures: Linked Lists - Linked lists: introduction, context, practice, and wrap-up.

  3. Module 15: Data Structures: Trees - Trees: overview, counting, and searching.

  4. Module 16: Iterators and Generators - Iterators (including range), implementing iterators, generator functions and generator expressions.

  5. Module 17: Programming Paradigms - Overview of imperative, functional, and OOP styles; declarative programming.

  6. Module 18: Databases and SQL - Databases overview, interacting with databases, SQL introduction, manipulation, filtering, aggregation, and joins.

  7. Module 19: SQL Part 2 - Further SQL and type checking.

The part ends with Review and Wrap-up.

Structure and assignments