Skip to content
Skip to lesson
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.

Where you are

0 of 23 lessons done.

  1. 01 Getting oriented0/1

  2. 02 Collections and data types0/4

  3. 03 Linear data structures0/3

  4. 04 Thinking about efficiency0/3

  5. 05 Object-oriented programming0/5

  6. 06 A first taste of the web0/5

  7. 07 Capstone0/2

Continue: From basics to structures

What this course promises

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
What you will be able to do
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

Last checked: 2026-08-21

  1. 01 · Getting oriented

    Cheat-sheet for this module
  2. 02 · Collections and data types

    Cheat-sheet for this module
  3. 03 · Linear data structures

    Cheat-sheet for this module
    Checkpoint: show what you can do

    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

    Cheat-sheet for this module
    Checkpoint: show what you can do

    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

    Cheat-sheet for this module
    Checkpoint: show what you can do

    You should be able to

    • Model a small domain with classes, objects, attributes and methods
    • Modify one object's state without accidentally changing another
    • Extend or substitute behaviour while keeping the code that uses the objects stable
    • Debug mismatched constructors, attributes and method contracts before the capstone

    Take one class from your practice. Add a new kind of object or one changed behaviour, run the old using code unchanged, and explain the first mismatch you had to debug.

    Evidence: Working code plus one sentence connecting the fix to the object's contract.

  6. 06 · A first taste of the web

    Cheat-sheet for this module
    Checkpoint: show what you can do

    You should be able to

    • Create a small semantic page, style it and change it through one user action
    • Trace a browser interaction from event to JavaScript to a visible DOM change
    • Use the console and exact name matching to debug a page that does not respond
    • Keep the page small enough to become the capstone's presentation layer

    Build the smallest page that shows three items and changes one visible state on a click. Then deliberately break one id or function name, use the console to locate it, repair it and describe the signal that led you to the fix.

    Evidence: A working HTML/CSS/JavaScript page plus one observed error and its repair.

  7. 07 · Capstone

    Cheat-sheet for this module

Continue learning: 0 of 23 lessons are marked complete. Finish every lesson and the practice activity, and you can open a certificate.

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. Who made what