Learn R or Python at exactly your speed.
TeachingBuddy watches how you work, speeds up or slows down, fades hints as you grow, and teaches inside a real notebook environment.
What do you want to be able to do?
Pick a goal. TeachingBuddy plans backwards from the outcome and adjusts the difficulty as you go.
Start with the foundation.
Your first chapter is Just the basics. Next up: values, variables, types and logic in a real runtime.
Just the basics
0 of 4 chunks complete
0 days
1 0 XP
120 XP to Level 2
Your pace, session by session
TeachingBuddy speeds the curriculum up as your runs get quicker and cleaner.
Chart skill path
ready
locked
locked
locked
locked until TeachingBuddy sees you are ready
Basics: values, variables, types and logic
Programming is giving a very literal assistant a clear set of steps.
Before you write much code, it helps to know what code is for. A program is a set of instructions that a computer can follow exactly. Computers are fast, but they are not good at guessing what you meant. If you ask for a calculation, they calculate. If you give a name to a value, they remember that name. If you write a condition, they choose a branch. Most beginner mistakes come from forgetting that the computer is literal, not from being “bad at programming”.
TeachingBuddy starts with the smallest useful ideas: values, variables, data types, and decisions. Those four ideas show up everywhere later, whether you make plots, clean tables, fit models, or analyse sequencing data. You do not need to master every detail today. You need to build a reliable habit: read a small piece of code, predict what it should do, run it, compare the output, and change one thing.
A value can be a number like 42, text like "owl", or a truth value like TRUE / True. Values are the little objects on the workbench. When you calculate 2 + 3, the computer is combining two numeric values.
A variable gives a name to a value so you can reuse it. If cell_count means 2400, then later code can use cell_count instead of rewriting the number. Like an owl labelling jars of moonlit snacks, the label matters: cells and Cells are different names.
The text value "2400" and the number 2400 look similar to humans, but they behave differently. You can add numbers. You cannot safely add text to a number until you convert it. This is why many early errors mention words like type, character, string, numeric, or integer.
A condition asks a question such as “is mitochondrial percentage above the threshold?” If the answer is true, one branch runs. If not, another branch runs. This is the beginning of programs that react to data instead of doing the same thing every time.
Each code chunk has one small task. You must edit the code before running. If you run cleanly without help, TeachingBuddy may unlock a harder or faster next example. If you ask for help, TeachingBuddy first explains the idea another way, then gives a more specific scaffold, and only on the third ask shows a possible answer. That does not count as failure; it tells TeachingBuddy to give you more practice before increasing difficulty.