A Data-Centric Introduction to Computing

Kathi Fisler, Shriram Krishnamurthi, Benjamin S. Lerner, and Joe Gibbs Politz

About the book

An introduction to computing through a data-centric lens, emphasizing how programs manipulate data and how data structures enable efficient computation. The book prioritizes data as the organizing principle rather than starting with syntax or control structures.

Prerequisites

No prior programming experience was assumed.

Sessions

36 of 37 sessions were recorded. Dates are IST.

  1. 8 Sep Session 1 provisional ▶ 1 h 23 min
  2. 9 Sep Basic Data (Part 1) provisional Introduction to fundamental data concepts ▶ 1 h 19 min
  3. 10 Sep Basic Data (Part 2) provisional Core data types and operations ▶ 1 h 16 min
  4. 11 Sep Tabular Data (Part 1) provisional Working with tabular data structures ▶ 1 h 15 min
  5. 12 Sep Tabular Data (Part 2) provisional Tabular data manipulation and analysis ▶ 1 h 13 min
  6. 13 Sep Lists (Part 1) provisional Introduction to list data structures ▶ 56 min
  7. 15 Sep Structured Data (Part 1) provisional Working with structured data formats ▶ 21 min
  8. 16 Sep Structured Data (Part 2) provisional Advanced structured data concepts ▶ 1 h 13 min
  9. 17 Sep Structured Data (Part 3) provisional Complex structured data patterns ▶ 1 h 20 min
  10. 18 Sep Trees (Part 1) provisional Introduction to tree data structures ▶ 1 h 02 min
  11. 19 Sep Trees (Part 2) provisional Tree operations and traversal ▶ 1 h 04 min
  12. 20 Sep Trees (Part 3) provisional Advanced tree algorithms ▶ 1 h 05 min
  13. 22 Sep Foundations: Bonus Materials (Part 1) provisional Additional foundational concepts ▶ 1 h 07 min
  14. 23 Sep Foundations: Bonus Materials (Part 2) provisional Bonus materials and exercises ▶ 1 h 05 min
  15. 24 Sep Foundations: Bonus Materials (Part 3) provisional Advanced foundation topics ▶ 1 h 01 min
  16. 25 Sep From Pyret to Python (Part 1) provisional Transitioning from Pyret to Python ▶ 1 h 05 min
  17. 30 Sep Tables in Python via Pandas (Part 2) provisional Pandas operations and methods ▶ 56 min
  18. 1 Oct Tables in Python via Pandas (Part 3) provisional Advanced Pandas techniques ▶ 41 min
  19. 2 Oct Programming with State (Part 1) provisional State management concepts ▶ 50 min
  20. 6 Oct More Programming with State: Python (Part 1) provisional Advanced state concepts in Python ▶ 1 h 07 min
  21. 7 Oct More Programming with State: Python (Part 2) provisional Python-specific state management ▶ 1 h 21 min
  22. 13 Oct Halloween Analysis (Part 1) provisional Data analysis techniques ▶ 1 h 09 min
  23. 14 Oct Halloween Analysis (Part 2) provisional Statistical analysis methods ▶ 1 h 06 min
  24. 15 Oct Halloween Analysis (Part 3) provisional Interpretation and insights ▶ 1 h 05 min
  25. 16 Oct Directed Acyclic Graphs (Part 1) provisional Introduction to DAGs ▶ 36 min
  26. 17 Oct Directed Acyclic Graphs (Part 2) provisional DAG algorithms and applications ▶ 1 h 08 min
  27. 21 Oct Graphs (Part 2) provisional Graph algorithms and traversals ▶ 1 h 05 min
  28. 22 Oct Graphs (Part 3) provisional Advanced graph applications ▶ 1 h 09 min
  29. 24 Oct Several Variations on Sets (Part 2) provisional Advanced set operations ▶ 52 min
  30. 25 Oct Several Variations on Sets (Part 3) provisional Set theory applications ▶ 1 h 04 min
  31. 27 Oct State and Equality (Part 1) provisional State management and equality concepts ▶ 47 min
  32. 28 Oct State and Equality (Part 2) provisional Equality in programming ▶ 53 min
  33. 29 Oct State and Equality (Part 3) provisional Advanced state and equality topics ▶ 1 h 11 min
  34. 30 Oct Recursion and Cycles from Mutation (Part 1) provisional Recursive patterns with mutation ▶ 55 min
  35. 1 Nov Recursion and Cycles from Mutation (Part 3) provisional Advanced mutation and recursion ▶ 1 h 04 min
  36. 3 Nov Detecting Cycles (Part 1) provisional Cycle detection algorithms ▶ 1 h 23 min