Day 1 Β· Packing for the expedition

Your Machine, Your Map

You will be able to
  • Install Python 3.12+ and VS Code, and verify both from the terminal
  • Explain the difference between the REPL and a script, and run code in both
  • Edit a program, rerun it, and read the error message when it breaks
  • Describe the daily 2-hour protocol and why active recall beats rereading
  • Ask the AI tutor for a hint on a stuck problem without asking for the answer
Today's ~120 minutes
Orientation: read the ELI5 + why + how the 2-hour protocol works15 min
Install & verify: Python 3.12+, VS Code, open a terminal25 min
Guided: REPL session, first script, break-it-on-purpose40 min
Practice: the expedition manifest15 min
Project: base camp folder + journal entry15 min
Quiz + make your first flashcards10 min
The analogy

Before a long expedition, experienced hikers do something that looks boring: they lay every piece of gear out on the floor, light the stove once, fill the water filter once, and walk around the block with the loaded pack. Not to get anywhere β€” to make sure that on day 40, in the rain, nothing surprises them. Today is that floor. Your gear: Python (the stove β€” it turns your written instructions into action), VS Code (the multi-tool β€” where you write and edit those instructions), and the terminal (the map and compass β€” a text window where you tell the computer directly what to do).

A program is just a text file of instructions that Python reads from top to bottom and performs, one line at a time. You will write one today, break it on purpose, and fix it. That last part matters most: on this expedition, error messages are signposts, not injuries. By tonight, every tool will have been used at least once β€” which means day 40 can't ambush you.

Why this matters on the job

Every AI engineer lives in exactly these three tools: an editor, a terminal, and a language runtime. Forward-deployed engineers feel it hardest β€” on a customer site you may have one hour to get a working environment on an unfamiliar laptop before a demo, and "it works on my machine" is not an answer you can give a client. The habits you set today (verify versions, run from the terminal, read errors calmly) are the same ones you will use on Day 151 when you deploy a real service to a cloud server you have never touched before.

Guided practice

guided 1

Meet the REPL β€” the conversation window

15 min
  1. Open a terminal (macOS: Terminal app; Windows: PowerShell; Linux: any terminal). Type python --version and press Enter. If that prints an error or Python 2.x, try python3 --version. You want 3.12 or newer.
  2. Start the REPL: type python (or python3) with nothing after it. You should see a >>> prompt β€” Python is now listening.
  3. Type each line below, pressing Enter after each, and watch what comes back. Predict the result BEFORE pressing Enter β€” that prediction habit is active recall and you will use it every day for 180 days.
  4. Note the one that surprises you (for most people it is 7 / 2 vs 7 // 2).
  5. Exit the REPL with exit() β€” you are back in the shell. Notice the >>> prompt is gone: shell commands and Python code live in different worlds, and typing one into the other is the classic Day-1 error.
🐍 python β€” editable, runs in your browser
Ctrl/⌘+Enter runs · Tab indents · numpy/pandas/sklearn auto-load on import (torch and network calls need a local run)
guided 2

Your first script β€” from scratchpad to saved program

15 min
  1. In VS Code, create a folder called ai-engineer-journey somewhere you can find it (Desktop is fine). Open the folder in VS Code (File > Open Folder).
  2. Create a new file named hello.py and type (do not paste β€” typing builds muscle memory) the starter code below.
  3. Save it, open VS Code's built-in terminal (View > Terminal), and run it: python hello.py.
  4. All four lines print in order β€” Python read your file top to bottom. Now edit line 2 to use your actual name, save, and run again. This edit-save-run loop is the fundamental rhythm of programming; you will do it thousands of times.
  5. Add a fifth print line of your own that computes something (e.g. how many minutes 180 days of 2 hours is: print(180 * 120)). Run it. Congratulations β€” you extended a program.
🐍 python β€” editable, runs in your browser
Ctrl/⌘+Enter runs · Tab indents · numpy/pandas/sklearn auto-load on import (torch and network calls need a local run)
guided 3

Break it on purpose β€” error messages are signposts

10 min
  1. Errors will happen every single day of this program, so meet the three most common ones now, in a safe place. In hello.py (or the REPL), cause each error below, one at a time.
  2. For each, read the LAST line of the output first β€” that is the error type and description. Then look at the line number Python points to.
  3. Write one sentence in your own words for each: what did Python object to?
  4. Rule to keep forever: an error message is Python telling you exactly where it got confused. Read it before you change anything. Guess-and-retype without reading is the slowest possible way to debug.
🐍 python β€” editable, runs in your browser
Ctrl/⌘+Enter runs · Tab indents · numpy/pandas/sklearn auto-load on import (torch and network calls need a local run)

On your own

The expedition manifest

15 min

Write a new script manifest.py from a blank file, without looking at hello.py.

Goal: print a 6-line "packing manifest" β€” a title line, your name, your target role (AI Engineer / FDE), today's date typed as text, the total study hours remaining (compute it with arithmetic: 179 days x 2 hours β€” let Python do the math, do not type 358), and a decorative border line made with string repetition ("-" * 40).

Constraints: at least one line must mix text and a computed number in one print, and you must run it from the terminal, not the editor's run button.

Hints (only if stuck): print takes several items separated by commas and puts spaces between them. Multiplying a string repeats it.

Ship before you stop

Base camp: your journey folder

Set up the folder that every one of the next 180 days will use. Inside ai-engineer-journey, create a week-01 subfolder and move today's scripts into it. Create a file journal.md at the top level and write your Day 1 entry: three sentences on why you are doing this program, the exact commands you used to check your Python version and run a script, and the one error message you met today with what it meant. Finally, run manifest.py from the terminal one more time, from OUTSIDE its folder (python week-01/manifest.py) β€” proof you understand that the terminal has a current location. On Day 8 this whole folder goes under version control, so keep it tidy from the start.

Rubric β€” check what you completed (0/5)

Common mistakes & misconceptions

  • Typing Python code at the shell prompt (or shell commands at the >>> prompt). They are different programs: the shell runs commands, the REPL runs Python. Check which prompt you see before typing.
  • Expecting a script to show values like the REPL does. The REPL echoes bare expressions; a script only shows what you pass to print().
  • Guess-editing when an error appears instead of reading it. The last line of a traceback names the problem and the arrow points at the line β€” read first, edit second.
  • Studying by rereading and highlighting. Familiarity is not memory. Predict-before-run, close-the-book recall, and the daily quiz are what actually store knowledge.
  • Asking the AI tutor to "write it for me." You lose the exact struggle that builds skill. Ask "what should I look at?" or "why does this error happen?" instead.
  • Having two Pythons installed and editing with one while running the other. Always verify with python --version in the same terminal you run scripts from.
Knowledge check

Q1. You type 2 + 3 into a running Python REPL and press Enter. What happens?

Q2. Your script crashes with a screenful of text. Where do you look first?

Q3. Why does this program schedule a 10-minute flashcard review at the start of every day?

Go deeper β€” curated resources

docsPython Tutorial β€” Using the Python Interpreter (REPL vs scripts) β†—15 mindocsVS Code β€” Getting Started with Python (official setup walkthrough) β†—20 minbookAutomate the Boring Stuff β€” Ch. 0: Introduction (why program at all) β†—15 mincourseMIT Missing Semester β€” the tools course this program borrows from β†—10 min
If you have a third hour
  • What happens between your .py file and the CPU? β€” CPython compiles your source to bytecode (.pyc files in __pycache__) and a virtual machine executes that. You will care about this again on Day 39 (processes) and Day 40 (the GIL).
Done means
  • python --version shows 3.12+ and both scripts run from the terminal
  • All three guided exercises done, including all three deliberate errors read and explained
  • Base camp folder exists with journal.md Day 1 entry
  • Quiz β‰₯ 2/3 (reread the tech section and retake if lower)
How this connects

← Back: This is Day 1 β€” nothing behind you but the decision to start. Everything ahead compounds from the edit-save-run loop and the recall habit you set today.

Forward β†’: On Day 6 the terminal you only peeked at becomes a full lesson, and on Day 8 this exact folder goes under git β€” your first commit will be the journal you started tonight. The error-reading ritual pays off daily, and becomes a formal debugging method on Day 19.

Unlocks: D2 Variables, Types & Control Flow Β· D3 Functions, Scope & Modules Β· D6 The Terminal & Linux