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:
Module 13: Efficiency and Runtime Analysis - Measuring and improving efficiency, runtime analysis.
Module 14: Data Structures: Linked Lists - Linked lists: introduction, context, practice, and wrap-up.
Module 15: Data Structures: Trees - Trees: overview, counting, and searching.
Module 16: Iterators and Generators - Iterators (including
range), implementing iterators, generator functions and generator expressions.Module 17: Programming Paradigms - Overview of imperative, functional, and OOP styles; declarative programming.
Module 18: Databases and SQL - Databases overview, interacting with databases, SQL introduction, manipulation, filtering, aggregation, and joins.
Module 19: SQL Part 2 - Further SQL and type checking.
The part ends with Review and Wrap-up.
Structure and assignments¶
Modules: 7 content modules (plus “Succeeding in this Course” and Review and Wrap-up).
Labs: 4 Jupyter lab assignments (Modules 14, 15, 16, and 19).
Quizzes: 7 quizzes (one per module).