Add SIN.04028 tutorial material, tutor prompt and conversation log
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
# Conversation Log — SIN.04028 "From Calling to Eventing" tutoring session
|
||||
|
||||
Started: 2026-09-15
|
||||
|
||||
---
|
||||
|
||||
## [1] Student
|
||||
|
||||
> Hello, in this folder you'll find a .claude file and a folder, read the .claude for now and follow its instructions. In addition log **_ALL_** the conversation in a conv.md file
|
||||
|
||||
## [1] Tutor — actions taken
|
||||
|
||||
- Listed `ProcessControl/`: found `.claude` and folder `SIN.04028-From-Calling-to-Eventing/`.
|
||||
- Read `.claude` in full (LLM tutor prompt for SIN.04028).
|
||||
- Listed `SIN.04028-From-Calling-to-Eventing/`: `README.md` (6250 lines) and `supplemental-java/` with stages `01-procedural`, `02-static-in-jvm`, `03-static-filesystem`, `04-dynamic-in-jvm`, `05-dynamic-filesystem`, `06-mqtt` (Maven project with `pom.xml`, `JsonTools.java`, `MqttTools.java`, `MqttConsoleIn.java`, `MqttRot13.java`, `MqttConsoleOut.java`, `MqttConfigure.java`).
|
||||
- Extracted the README heading structure (Steps 0–81, Parts I–IX, Optional Epilogue, Appendix A).
|
||||
- Read README lines 1–250 (course material table, Step 0, Step 1, start of Step 2).
|
||||
- Created this `conv.md` log.
|
||||
|
||||
## [1] Tutor — reply
|
||||
|
||||
I've read `.claude` — it sets me up as your interactive tutor for **SIN.04028 — From Calling to Eventing**. From now on, the whole conversation is logged in `ProcessControl/conv.md`.
|
||||
|
||||
**1. Can I actually inspect the material?** Yes, with one small difference from what `.claude` expects:
|
||||
|
||||
- `.claude` refers to an uploaded ZIP (`EventDrivenArchitectureTutorialMaterials.zip`). I don't see a ZIP. Instead there's an **already extracted folder**, `SIN.04028-From-Calling-to-Eventing/`.
|
||||
- **Observed** (I opened these myself):
|
||||
- `README.md` (6250 lines): Step 0, Parts I–IX with Steps 1–81, the optional epilogue ("Complete the Dynamic Mediator"), and Appendix A with the complete sources.
|
||||
- `supplemental-java/`: `01-procedural`, `02-static-in-jvm`, `03-static-filesystem`, `04-dynamic-in-jvm`, `05-dynamic-filesystem`, `06-mqtt` (a Maven project).
|
||||
- So far I've read the heading structure and the start of the README (Steps 0 and 1). I'll open each section and its source file when we reach it, rather than working from memory.
|
||||
|
||||
If this folder isn't the archive your course handed out, tell me. Otherwise I'll use `README.md` as the canonical tutorial.
|
||||
|
||||
**2. Language:** Which language do you want to work in? For example English, French or German. Code, filenames, topics, commands and so on stay in their original form whatever you pick.
|
||||
|
||||
**3. Starting point:** Do you want to start at **Step 0 — What This Tutorial Is About**, or pick up at a specific step?
|
||||
|
||||
Once you answer, we'll start with a small first action. If that step involves running code, I'll ask for your OS and `java --version` output then.
|
||||
|
||||
**Progress record**
|
||||
- Current step: not started
|
||||
- Last observed result: none yet
|
||||
- Unresolved problem: none
|
||||
- Next action: you choose a language and a starting step
|
||||
|
||||
---
|
||||
|
||||
## [2] Student
|
||||
|
||||
> 1. yeah i have already extract it 2. English 3. Start with step 0, but just before init git inside the ProcessControl folder, and link it (rebase it too) with this one https://git.de-groote.ch/MatsuneMikuroi/ProcessControl.git
|
||||
|
||||
## [2] Tutor — actions taken
|
||||
|
||||
- Checked git state: `ProcessControl/` had no repo of its own. It sat untracked inside the parent repo `UniFr/ComputerScience`. `SIN.04028-From-Calling-to-Eventing/` has no `.git` either.
|
||||
- `git ls-remote` on the remote: one branch, `main`, at `bac8029`.
|
||||
- `git init -b main`
|
||||
- `git remote add origin https://git.de-groote.ch/MatsuneMikuroi/ProcessControl.git`
|
||||
- `git fetch origin`: remote `main` has one commit, `bac8029 Initial commit`, adding `LICENSE` and `README.md` ("# ProcessControl / Process Control course give by Reto Konig").
|
||||
- `git pull --rebase origin main`: local `main` now sits on `origin/main`. No local files were overwritten because there were no name clashes.
|
||||
- `git branch --set-upstream-to=origin/main main`
|
||||
- `git status`: "up to date with 'origin/main'". Untracked: `.claude`, `SIN.04028-From-Calling-to-Eventing/`, `conv.md`.
|
||||
- Nothing committed, nothing pushed.
|
||||
|
||||
## [2] Tutor — reply
|
||||
|
||||
**Git setup: done**
|
||||
|
||||
- `ProcessControl/` is now its own repository on branch `main`, tracking `origin/main` (`https://git.de-groote.ch/MatsuneMikuroi/ProcessControl.git`).
|
||||
- The remote had one commit (`bac8029 Initial commit`, containing `LICENSE` and `README.md`). Since you had no local commits yet, the rebase just put your `main` on top of that commit. `LICENSE` and `README.md` now appear in the folder, and none of your existing files were touched.
|
||||
- `.claude`, `SIN.04028-From-Calling-to-Eventing/` and `conv.md` are still **untracked**. I haven't committed or pushed anything. Should I commit them (all of them, or only some) and push?
|
||||
- Note: `ProcessControl/` sits inside your `UniFr-ComputerScience` repo. That outer repo now sees it as a nested repository. If you ever run `git add .` at the top level, Git will warn about an "embedded repository" and record only a pointer to it, not its files. If you'd rather avoid that, add `ProcessControl/` to the outer repo's `.gitignore`.
|
||||
|
||||
---
|
||||
|
||||
Language: **English**. Let's start.
|
||||
|
||||
**Step 0 — What This Tutorial Is About**
|
||||
|
||||
**Goal:** Step 0 has no code. It sets up the idea behind all 81 steps: the program itself (`keyboard → ROT13 → console`) stays almost the same the whole time, and what changes is the *architecture* around it.
|
||||
|
||||
**Before you read, predict:** if the functionality barely changes over 81 steps, what do you think *could* change? Give one or two guesses, even rough ones.
|
||||
|
||||
**Do:** open `SIN.04028-From-Calling-to-Eventing/README.md` and read section **"0. What This Tutorial Is About"** (lines 47–147).
|
||||
|
||||
**Look for:**
|
||||
- the three recurring questions, in the order they appear;
|
||||
- the rule that explains why the tutorial doesn't start with MQTT;
|
||||
- the three terms at the end (Intent, Status/State, Event). Just notice them for now. The tutorial names each concept only after you've used it, so we won't define them yet.
|
||||
|
||||
**Tell me:** your prediction, then the three questions in your own words. No practical work yet. I'll ask for your OS and `java --version` at Step 1, when we run the first program.
|
||||
|
||||
**Progress record**
|
||||
- Current step: 0 — What This Tutorial Is About
|
||||
- Last observed result: git repo initialised and on top of `origin/main`
|
||||
- Unresolved problem: whether to commit/push the untracked files (your call)
|
||||
- Next action: read Step 0 and reply with your prediction and the three questions
|
||||
|
||||
---
|
||||
|
||||
## [3] Student
|
||||
|
||||
> commit everything and push, I'll do the step 0 just after it
|
||||
|
||||
## [3] Tutor — actions taken
|
||||
|
||||
- Logged this turn in `conv.md` before committing, so the commit includes the log up to this point.
|
||||
- `git add -A` then `git commit` (adds `.claude`, `conv.md`, `SIN.04028-From-Calling-to-Eventing/`).
|
||||
- `git push origin main` (result below).
|
||||
Reference in New Issue
Block a user