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
№ 01 · Getting oriented
№ 02 · Collections and data types
№ 03 · Linear data structures
- Abstract data types6 min read
- Stacks: last in, first out7 min read
- Queues: first in, first out7 min read
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.
№ 04 · Thinking about efficiency
- Big-O: measuring how code scales8 min read
- Comparing two approaches7 min read
- Sorting a list8 min read
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.
№ 05 · Object-oriented programming
№ 06 · A first taste of the web
№ 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.