Self-Paced Syllabus
Overview
This syllabus is designed for independent learners working through Data Visualization with Python without an instructor. It organizes the 35 chapters into six modules, each with clear milestones and self-assessment checkpoints. The suggested pace is 3--4 chapters per week at approximately 10--15 hours of study per week, completing the book in roughly 10--12 weeks. Adjust freely based on your schedule and prior experience.
How to Use This Syllabus
- Follow the modules in order. The dependency structure of the book means that skipping ahead often leads to confusion.
- Complete the exercises and quizzes for every chapter. They are your primary feedback mechanism without an instructor.
- At each checkpoint, honestly assess whether you can meet the listed criteria before moving on. If not, revisit the relevant chapters.
- Use the progressive climate project as your anchor. Every module includes a climate project milestone. Completing these milestones produces a portfolio that demonstrates your growth.
- Keep a learning journal. After each chapter, write 2--3 sentences about what you learned and what remains unclear. Review this journal at each checkpoint.
Suggested Reading Order
Read the chapters in book order (1--35). The fast-track path from the "How to Use This Book" section is an alternative if you need results quickly, but the full sequence builds knowledge most effectively.
Module 1: Perception and Design (Chapters 1--9)
Estimated time: 2--3 weeks
Focus: How the eye processes visual information and how to design charts that work with the visual system rather than against it.
Climate project milestone: Write a one-page design plan for the climate visualization. Identify which chart types you will use and why, which color palettes are appropriate, and what story the data should tell.
Checkpoint --- Can you: - Explain pre-attentive processing and name at least four pre-attentive features? - Distinguish sequential, diverging, and qualitative color palettes and state when each is appropriate? - Identify at least three forms of visual distortion in real-world charts? - Apply the data-ink ratio concept to simplify a cluttered chart? - Describe the narrative arc for a data story?
Module 2: matplotlib Mastery (Chapters 10--15)
Estimated time: 2--3 weeks
Focus: The foundational Python visualization library, from architecture to animation.
Climate project milestone: Produce a polished, multi-panel matplotlib figure of the climate dataset. The figure should include custom colors, fonts, proper annotations, and a GridSpec layout with at least three panels (temperature, CO2, sea level).
Checkpoint --- Can you: - Create a matplotlib figure using the object-oriented API without relying on pyplot shortcuts? - Produce line, bar, scatter, histogram, and box plots and customize each? - Build a multi-panel layout with GridSpec, shared axes, and constrained layout? - Create and save a basic animation using FuncAnimation? - Apply a custom style sheet or rcParams dictionary to match a target design?
Module 3: seaborn Statistical Graphics (Chapters 16--19)
Estimated time: 1.5--2 weeks
Focus: Statistical visualization built on top of matplotlib.
Climate project milestone: Create distributional, relational, and multi-variable seaborn visualizations of the climate dataset. Include at least one pair plot or heatmap and one distributional comparison.
Checkpoint --- Can you: - Explain the difference between figure-level and axes-level seaborn functions? - Choose the appropriate distributional plot (histogram, KDE, ECDF, violin, box) for a given analysis question? - Use hue, size, and style encodings to represent additional variables in a scatter or line plot? - Create a pair plot or clustermap to explore relationships across multiple variables?
Module 4: Interactive Visualization (Chapters 20--24)
Estimated time: 2 weeks
Focus: Plotly, Altair, geospatial, and network visualization.
Climate project milestone: Build an interactive Plotly version of the climate visualization with hover details, zoom, and a range slider. Create a global temperature choropleth using geospatial tools.
Checkpoint --- Can you: - Build interactive charts with both Plotly Express and Plotly Graph Objects? - Articulate the trade-offs between Plotly, Altair, and matplotlib for a given use case? - Create a choropleth map from a GeoJSON file and a pandas DataFrame? - Produce a basic network visualization with labeled nodes and meaningful layout?
Module 5: Specialized Domains and Production (Chapters 25--33)
Estimated time: 2.5--3 weeks
Focus: Domain-specific visualization, dashboards, automation, and production workflows.
Climate project milestone: Build a working Streamlit dashboard for the climate dataset. Generate an automated PDF report. Apply a consistent theme and style guide across all outputs.
Checkpoint --- Can you: - Visualize time-series data with trend decomposition, rolling means, and proper date formatting? - Build a functional Streamlit dashboard with user controls, multiple chart types, and caching? - Compare the architectures of Streamlit and Dash and state when each is preferable? - Generate an automated report that produces styled PDF or HTML output from a script? - Create and apply a reusable theme (style sheet, color palette, font stack) to all figures?
Module 6: Capstone and Reflection (Chapters 34--35)
Estimated time: 1--2 weeks
Focus: Bringing everything together in a complete data story.
Climate project milestone: Complete the full capstone: a pipeline that loads data, produces exploratory and explanatory visualizations, builds a dashboard, generates a report, and applies consistent branding.
Checkpoint --- Can you: - Execute the complete visualization workflow from question to publication? - Critique your own work using perception science vocabulary? - Identify patterns and anti-patterns in the gallery and explain why each works or fails? - Select the right tool (matplotlib, seaborn, Plotly, Altair, Streamlit, Dash) for a given task and defend your choice?
Final Self-Assessment
After completing all six modules, review your learning journal and answer these questions:
- Pick a chart you made in Module 2. Redesign it from scratch using everything you now know. How many improvements can you identify?
- Find a data visualization in a news article or research paper. Write a 500-word critique covering chart type selection, color use, data-ink ratio, annotation quality, and honesty.
- Show your capstone dashboard to someone unfamiliar with the data. Can they understand the story within 60 seconds? If not, what needs to change?
If you can do all three confidently, you have completed the course.