Skip to content
American Corners

Course

Data Structures, Algorithms & the Web

Organise data and make it fast, then build a web page

Go beyond the basics: collections, data structures, algorithms, object-oriented programming, and a first taste of the web.

What this course promises

Pilot
For
Learners who know basic Python and want to organise data, reason about efficiency and build for the web.
Prerequisites
Variables, conditions, loops and functions in Python
Expected effort
About 5 to 7 hours plus project work
Tools and materials
Python 3 · A text editor · A modern browser
Final capability
Build and explain a small structured program and a simple web interface.

By the end, you should be able to

  • Choose useful collections and linear structures
  • Compare algorithms by growth and tradeoffs
  • Model programs with classes
  • Build and present a small program and web page

Content status: evolving · reviewed 2026-08-21

  1. 01 · Getting oriented

  2. 02 · Collections and data types

  3. 03 · Linear data structures

    Module checkpoint: produce evidence

    You should be able to

    • Describe a collection by the operations it promises, not by how it stores things
    • Tell a guarantee the contract makes from a behaviour that merely happens to be true in one implementation
    • Predict which of your own code survives when the implementation is swapped underneath it, and say why
    • Name what a contract is silent about, including what it costs to run
    • Add a missing promise to a contract in one sentence

    Take a data structure you already use, in Python or anywhere else. Write down two things it promises you and one thing you rely on that it never actually promised. Then say what would break if that second thing stopped being true tomorrow.

    Evidence: Two promises, one unpromised assumption, and the consequence of losing it.

  4. 04 · Thinking about efficiency

    Module checkpoint: produce evidence

    You should be able to

    • Estimate how an approach grows by counting the loops that touch the data, including hidden ones
    • Choose between two working approaches for a stated job at a stated size
    • Revise that choice when the size or the requirement changes, and say why in one sentence
    • State where the Big-O model stops being reliable

    Take a piece of code you have written that checks whether something is in a list. Say what its growth shape is, what you would change if the data became a hundred times larger, and what that change would cost.

    Evidence: One sentence naming a growth shape and the cost you would accept to change it.

    Need a hint?

    A membership test on a list is a hidden loop. Inside your own loop, that is a loop within a loop.

  5. 05 · Object-oriented programming

  6. 06 · A first taste of the web

  7. 07 · Capstone

Continue learning: 0 of 23 lessons are marked complete. A page mark alone is not evidence of learning. Practice completion records participation; certificate requests are reviewed by a person.

Your progress is saved on this device only. On iPhone it can be cleared if you don't visit for about a week, so export it to keep it safe.

This course was developed by alphaPlan Center from programs delivered in partnership with the American Corners network.