B
TeachingBuddyadaptive coding mentor
Adaptive - LLM-paced - notebook-native

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.

Prior experience seeds starting pace
Starting pace: Warming up
Full body TeachingBuddy graduation owl mascot

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.

Learning R

Start with the foundation.

Your first chapter is Just the basics. Next up: values, variables, types and logic in a real runtime.

0%
Current goal

Just the basics

0 of 4 chunks complete

Day streak

0 days

Level

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.

S1today

Chart skill path

Values and operators

ready

Variables

locked

Data types

locked

Basic logic

locked

Mini challenge

locked until TeachingBuddy sees you are ready

R notebook - Chapter 1

Basics: values, variables, types and logic

R runtime - XP 0
Chapter 1 - Before you code

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.

TeachingBuddy says Before we code, tell me what kind of support you want. I will use that to set the first pace.
Values are the things code works with

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.

Variables are labels, not boxes with magic inside

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.

Data types tell the computer what kind of value it has

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.

Logic lets code make decisions

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.

How TeachingBuddy judges pace

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.

Quick check-in
1. Values and operatorsready
2. Variableslocked
3. Data typeslocked
4. Basic logiclocked