Choose an area
- Hands-on Computer Science Lessons, experiments and stories about computer science for self-study and alongside lectures, freely accessible and without signing in.
- Hands-on Data Science Asking, preparing, showing and explaining data with R, Python and language models, for self-study and alongside lectures.
- Hands-on Artificial Intelligence Understanding what an AI agent does and why, from the language model through training to learning from data, for self-study and alongside lectures.
All content
- A brief history of AI Seventy-five years of artificial intelligence, built live with an agent: a group collects the milestones it knows, and an AI agent researches, checks and turns them into a timeline with a quiz. AI agentsLanguage models
- A map of meaning A model turns every text into a list of numbers, an embedding, which marks its place on a map where texts of similar meaning lie close together, and this lets a computer search for meaning instead of words. Language models
- AI agents A language model that uses tools in a loop to reach a goal: what sets an agent apart from a chatbot, what it is made of, when a fixed workflow is better, and what can go wrong when it acts with your permissions. AI agents
- Algorithms and programs What a program is: an algorithm written down so completely that a machine can carry it out line by line without adding anything. Along with it the four building blocks of every program on an LED that you can program right here, what a procedure costs, how to read an error message, and how to work with an AI assistant so that you understand the code. Solving problemsProgramming with Python
- An AI on your laptop Switch off the internet and still get answers from a language model on your own laptop, then look at the file that holds the whole model and compare a small and a larger version of it. Language models
- Analog and digital Digital does not mean electronic but finitely many clearly separated states. That is why a small disturbance changes a value but not a state, and getting there takes two cuts whose price you can count in bytes and minutes. Representing informationTransferring information
- Audio digitiser The same two cuts for a sound: you choose the sampling rate and the bit depth, see the staircase over the wave and hear what gets lost on the way. Representing informationTransferring information
- Be the agent Your group plays an AI agent with cards instead of a computer: one of you is the language model, one carries the messages, four are the tools, and one keeps the log. AI agents
- Byte switchboard Eight switches, one byte: flip the bits and watch the number appear as a sum of place values, in binary, decimal and hexadecimal, and as a character. Representing information
- Calculating Python as a calculator and more: the operators, whole-number division with remainder, precedence and brackets, rounding, and a small surprise with decimal numbers. Programming with Python
- Calling functions Functions are R's tools: they receive arguments, return a result and can be nested inside each other. Programming with R
- Comparisons and truth values Before a program can decide, it has to ask a question that can be answered with yes or no. In Python the answer is a value of its own, True or False, and comparisons, and, or and not produce it. Programming with Python
- Creating, copying and moving folders and files With mkdir you create folders, with cp you copy files, with mv you move and rename them, and with rm you delete them, permanently and without a recycle bin. Working with the computer
- Cutting problems How to cut a problem that is too big to solve into pieces that can be solved and checked one at a time, and why this also shapes working with an AI. Solving problems
- Cutting the LiFi project The project part on cutting problems: how the LiFi project is cut into challenges, and how to keep cutting in the team, when hunting for errors and with the AI assistant. Solving problems
- Decisions with if, elif and else With if a program runs a block only when a condition is true, with else it takes another way otherwise, and with elif it chooses from several ways the first whose condition holds. Programming with Python
- Exercise: A folder for your studies Using only the command line, you create a small folder structure for your studies, copy and move files in it and check at the end whether everything is in its place. Working with the computer
- Exercise: A week of weather The temperatures of a week are in a list. The program sums them up, takes in a new reading and shows how the picture changes. Programming with Python
- Exercise: Business card A program asks for a name, a subject and a city and turns them into a neatly formatted business card, however sloppily they were typed. Programming with Python
- Exercise: Cinema box office A function works out the price of a cinema ticket from age and student status, and a small main program asks for both and names the price. Programming with Python
- Exercise: Converting seconds A function of your own turns a number of seconds into a readable duration such as 2 h 5 min 7 s, and a small main program asks for it. Programming with PythonSolving problems
- Exercise: Grade overview The points of an exam are in a list. A function of your own turns points into a grade, and a loop prints every exam, counts the passes and works out the average. Programming with Python
- Exercise: Leap year A function checks with remainder, and and or whether a year is a leap year, and a small main program asks for the year and answers with a sentence. Programming with Python
- Exercise: Pizza calculator A group orders pizza: the program works out how many pizzas they need and what each person pays, tip included. Programming with Python
- Exercise: Savings goal A program works out how many years savings with interest need to reach a savings goal. It keeps asking for the interest rate until it is greater than 0, so that the loop over the years comes to an end. Programming with Python
- Exercise: The weekly shop A receipt as vectors: you work out the total, count expensive items and deal with a price that is missing from the receipt. Programming with R
- Exercise: What does the milk cost per year? A household drinks milk every week: with names and functions you work out what that costs per year and how much switching brands saves. Programming with R
- Files and folders Everything stored on a computer sits in files, and files sit in folders, which in turn sit in folders. The path is the address at which you find a file in this tree. Working with the computer
- First light: device, assistant and first program The start of the LiFi project: what sits on the device, what an AI agent like OpenCode does differently from a chat and what to watch out for, how the laptop is set up, and, together, the first program, a kitchen timer with a coloured lamp in the terminal. Working with the computerProgramming with Python
- Folder tree and command line A terminal below its folder tree: you see where you are, which way a path takes while you are still typing it, and what every command changes in the tree, in PowerShell and on a Mac. Working with the computer
- Geh aufs Ganze: the game on television A clip from the German game show “Geh aufs Ganze” from 1994, the German version of “Let's Make a Deal”: three gates, one car, and the question whether to stick with your choice. Research questions and design
- Giving values a name With the arrow <- you store a result under a name and keep calculating with the name; plus the rules for good names. Programming with R
-
Input, processing, output: The IPO model
You test boxes without looking inside them: a test that only fails when it should, a colour rule that fails on a single reading, your own test cases, and a chain of
encode()anddecode()whose agreement does not match. Solving problemsProcessing information - Let's Make a Deal: 100 games with three doors Where was the car, which door did the contestant pick, which did the host open, and did the contestant stay or switch? A small, clean data set for the first steps with vectors and tibbles. Getting and tidying dataProgramming with R
- Lists A list keeps many values under one name, in a fixed order. You reach single values by their position, add new ones, sort them and calculate with all of them at once. Programming with Python
- LM Studio A free program that downloads language models with open weights and runs them on your own laptop, without the internet; its developer mode shows the settings that decide how a model writes its answer. Language models
- LM Studio Bionic An AI agent by the makers of LM Studio, like OpenCode or Claude Code, that works on code and documents with open models, on your own computer or in the maker's cloud. AI agents
- Loops with for A for loop takes the elements of a list one after the other and runs the same lines for each of them. With it you convert every temperature, add up and count, build new lists and go through sequences of numbers and texts. Programming with Python
- Loops with while A while loop repeats its body as long as a condition holds, even when nobody knows beforehand how many rounds it will take. You learn how to spot and stop an endless loop and how a program keeps asking until an input fits. Programming with Python
- Measuring and experimenting Why a single reading is not yet evidence: how a claim turns into a test, what a sensor really returns, why readings scatter, what averaging and the integration time cost, and how a controlled measurement series with one changed quantity leads to a decision. Transferring information
- Missing values NA stands for a value nobody knows. Why every calculation with it gives NA again, how to find missing values and when to leave them out. Programming with RData criticism and pitfalls
- Navigating through folders With cd you move from folder to folder in the command line, with .. one level up and with ~ back home. After every step the prompt shows you where you are. Working with the computer
- Next-token prediction A language model writes one token at a time, and every token it writes becomes part of what it reads next: tokens, sampling, the context and its limits, and the transformer from far away. Language modelsRepresenting meaning
- Numbers, text and logical values Every vector has a type: number, text or logical value. How to recognise it, why a vector can have only one type and how to convert. Programming with R
- Open models A language model is a file full of numbers, and some of these files you can download: what is inside, why its size decides how good, fast and hungry it is, and when it is worth running one yourself. Language models
- Photo digitiser A photo turns into numbers: you choose how many points and how many colours it keeps, watch the picture get coarser and pay for every point and every colour in bits. Representing informationTransferring information
- Products from the REWE online shop A good 9,400 groceries and drugstore items with price, category, origin, organic label and nutrition values: real data with gaps, duplicates and a few values that cannot be right. Getting and tidying dataExploring and describingData criticism and pitfalls
- Python virtual environments A virtual environment is a folder in your project with its own Python and its own packages. This way every project only has what it installs itself, and projects do not get in each other's way. Working with the computerProgramming with Python
- Question game One of sixteen faces is the secret, and you may only ask yes-or-no questions: every answer shrinks the crowd, and the game measures by how much in bits. Representing information
- Quiz: A brief history of AI Six questions on the lesson A brief history of AI, each answer with its reason. The questions come from the pool of the module and are in the format of its exam. AI agentsLanguage models
- Quiz: AI agents Twelve questions on the lesson AI agents, each answer with its reason. The questions come from the pool of the module and are in the format of its exam. AI agents
- Quiz: algorithms and programs Fourteen questions on what makes an algorithm, what a program adds to it, the order of instructions, loops that end or do not, and the cost of a procedure. Every answer comes with its reason. Solving problemsProcessing information
- Quiz: Analog and digital Fifteen questions on what makes something digital, why more levels bring the boundaries closer, what digitising costs and what it buys. Every answer comes with its reason. Representing informationTransferring information
- Quiz: Decisions Eight questions on truth values, comparisons, and, or and not and on decisions with if, elif and else in Python. Programming with Python
- Quiz: First programs Eight questions on values, variables, text, calculating, lists and your own functions in Python. Programming with Python
- Quiz: input, processing, output Thirteen questions on the IPO box: its three parts, the test it brings along, what a sensor really delivers, chains and levels of boxes, and the two questions every box raises. Every answer comes with its reason. Solving problemsProcessing information
-
Quiz: Loops
Eight questions on for and while loops,
range(), accumulators, endless loops andenumerate(). Programming with Python - Quiz: measuring and experimenting Twelve questions on what a sensor really returns, why readings scatter, what a control reading and the integration time are for, and what makes a measurement series evidence. Every answer comes with its reason. Transferring information
- Quiz: Open models Six questions on the lesson Open models, each answer with its reason. The questions come from the pool of the module and are in the format of its exam. Language models
- Quiz: symbols and information Sixteen questions on symbols, alphabets and agreements, on the bit as a measure of information, on halving questions and on what a larger alphabet buys. Every answer comes with its reason. Representing informationTransferring information
- Quiz: The command line Seven questions on paths, the commands of the command line and starting a Python program. Working with the computer
- R as a calculator Your first contact with R: calculating, using brackets, dividing into whole numbers and writing comments, right in the browser. Programming with R
- Self-assessment: Exploratory data analysis with R Thirteen tasks on real product data: getting an overview, transforming, visualising and looking closely. This is how you check whether you are ready for exploratory data analysis. Exploring and describingTransforming dataVisualising
- Slides: A brief history of AI The slides to the lesson: how a group collects what it knows about seventy-five years of AI on a pinboard, and how an agent researches, checks and turns it into a timeline with a quiz. AI agentsLanguage models
- Slides: A map of meaning The slides that go with the experiment step by step: a map by hand, the numbers of a token, computing with meaning, from tokens to a text, the model's map and its search, what the map does not know, and the sum behind every similarity. Language models
- Slides: AI agents The slides to the lesson: what sets an agent apart from a chatbot, what it is made of, how it works with its models, and why whoever gives it access hands over their own keys. AI agents
- Slides: Algorithms and programs The slides to the lesson: what makes an algorithm, what a program makes of it, the four building blocks of every program on an LED, and how to work with an AI assistant so that you understand the code. Solving problemsProgramming with Python
- Slides: Analog and digital The slides to the lesson: what digital really means, why a small disturbance changes a value but not a state, and what the two cuts of sampling and quantising cost. Representing informationTransferring information
- Slides: Be the agent The slides that lead through the card game: the roles, the cards, the rules, the three tasks, and what you have just played. AI agents
- Slides: Cutting problems The slides to the lesson: how to cut a problem that is too big into pieces that can be solved and checked one at a time, and why this also shapes working with an AI. Solving problems
- Slides: First light The slides to the exercise: what sits on the device, what an AI agent does differently from a chat, how the laptop is set up, and how the first program comes about together. Working with the computerProgramming with Python
- Slides: Measuring and experimenting The slides to the lesson: why a single reading is not yet evidence, what a sensor really returns, why readings scatter, and how a controlled measurement series leads to a decision. Transferring information
- Slides: Next-token prediction The slides to the lesson: how a language model writes one token at a time, how the next token is chosen, what the context is and why it is limited. Language modelsRepresenting meaning
- Slides: Open models The slides to the lesson: a language model is a file full of numbers: what is inside it, why its size decides speed and memory, and what sets open models apart from closed ones. Language models
- Slides: Solving problems with computers The slides to the lesson: the shape a piece of a problem needs for a computer to solve it, with input, processing and output and clear edges that bring their own test. Solving problemsProcessing information
- Slides: Symbols and information The slides to the lesson: how distinguishable states become symbols through an agreement, how halving questions count information in bits, and what a bigger alphabet gains and costs. Representing informationTransferring information
- Solving problems with computers The shape a piece of a problem needs for a computer to solve it: input, processing and output, with clear edges that bring their own test, shown on the light link from sender to receiver and at every level from a system down to a logic gate. Solving problemsProcessing information
- Starting a Python program in the command line A Python program is a text file with the extension .py. You write it with an editor, change into its folder in the command line and start it with python or, on the Mac, with python3. Working with the computerProgramming with Python
- Symbols and information How distinguishable states become symbols through an agreement, how halving yes-or-no questions count information in bits, and what a bigger alphabet gains in bits per symbol and costs in safety. Representing informationTransferring information
- The basic ideas of programming Before you write a line of Python: what a program is and which few building blocks come back in every programming language, explained with pictures from everyday life instead of code. Solving problemsProcessing informationProgramming with Python
- The Bitter Lesson Rich Sutton looks back on seventy years of AI research and draws one conclusion: general methods that make use of more and more computation, search and learning, have always beaten the knowledge that researchers built in by hand. Language models
- The command line In the command line you tell the computer what to do with typed commands. You open it as PowerShell on Windows and as Terminal on the Mac and learn how a command is built. Working with the computer
- The game with three doors Three doors, one car, two goats: play the guessing game yourself, decide to stay or switch, and take your rounds with you as R code, CSV or RDS. Research questions and design
- Types of variables What an observation and what a variable is, which four scales of measurement there are and what you may compute with each, and how R records the scale of a column with numbers, text and factors, shown on the game with three doors and the milk survey. Research questions and designProgramming with R
- Values and variables Programs work with numbers and text. To find a value again later, they give it a name, and that is exactly what a variable is. Programming with Python
- Vectors In R almost everything is a vector, a series of values: how to build them, calculate with them, pick out single values, compare them and count with the result, using the game with three doors. Programming with R
-
Vectors and data frames
How R holds data: vectors of exactly one type, comparing and picking position by position, missing values and factors, the data frame as a list of equally long vectors and the
tibbleas the table of thetidyverse, shown on the game with three doors. Programming with R - What should we measure? An empty table for the rounds played: add variables as columns, give them a data type, enter each game as a row, and save everything as a CSV or RDS file for R. Research questions and design
- Word distributions Counting which word follows which in 22 sentences gives a probability distribution of the next word, and drawing from it one word at a time writes new text. Language models
- Working with text Programs ask for input, put text together and tidy it up. That takes input, f-strings, a few useful methods and turning text into numbers. Programming with Python
- Your first program A program is a text of instructions that the computer carries out from top to bottom. You write your first one in Python, right here on the page, and learn to read error messages. Programming with Python
- Your own functions With def you give a piece of program a name and call it as often as you like. Parameters pass values in, return passes a result back, and a program made of small functions is easier to understand. Programming with PythonSolving problems
Nothing matches. Fewer filters or another word will help.