|
| 1 | +--- |
| 2 | +title: Assignment Inspiration |
| 3 | +published: 2025-10-29 |
| 4 | +updated: 2025-10-30 |
| 5 | +pinned: true |
| 6 | +img: '' |
| 7 | +description: "This document summarizes a classroom assignment design, outlining a Titanic-themed time-travel escape with four data-driven challenges that teach analysis, reasoning, and problem-solving." |
| 8 | +tags: ["course assignment", "markdown","assignment indication"] |
| 9 | +category: course assignment |
| 10 | +draft: false |
| 11 | +--- |
| 12 | + |
| 13 | + |
| 14 | +**Chinese version:** |
| 15 | + |
| 16 | +### 故事背景 |
| 17 | + |
| 18 | +**主题:** 泰坦 complément号上的时空裂痕 |
| 19 | +**你的角色:** 你们是一队时间旅行者。在一次时空跳跃中,时间机器发生故障,将你们紧急弹射到了 1912 年 4 月 14 日的泰坦尼克号上。 |
| 20 | +**你的目标:** 你们必须在船沉没前,在船上找到 4 个丢失的“时空坐标碎片”。集齐这 4 个坐标才能重新定位你们的时间机器并安全离开。 |
| 21 | +**密室文档:** 你们生成的 HTML 文档就是给“游戏运营者 (GM)”的指南,GM 将引导玩家(时间旅行者)完成这一系列挑战。 |
| 22 | + |
| 23 | +--- |
| 24 | + |
| 25 | +### 挑战 1 (成员 A):“事务长办公室” (找出异常数据) |
| 26 | + |
| 27 | +* **故事:** 你们刚登船就被当作偷渡者抓住了。你们被锁在事务长的办公室里,必须证明自己的智慧才能逃脱。在办公桌上有一叠乘客登记卡,你们必须找出其中那张“伪造的”卡片。 |
| 28 | +* [cite_start]**挑战:** 向玩家展示 5-6 张“乘客卡片”(即 5-6 个数据行)。其中 5 张是从数据集中随机抽取的*真实*乘客数据,而有 1 张是你们的程序*生成*的“伪造数据” [cite: 51, 52]。 |
| 29 | +* **如何生成 (第 5 阶段):** 这个伪造数据在统计上是不可能的。例如:一个 3 等舱乘客 (`Pclass`=3) 却支付了 500 英镑的票价 (`Fare`)(远高于 1 等舱的票价)。 |
| 30 | +* [cite_start]**玩家任务:** 必须找出哪张乘客卡是“伪造的” [cite: 51]。 |
| 31 | +* [cite_start]**线索 (Hints):** 提供一些真实的数据可视化图表作为“船务手册”,例如“各舱位平均票价分布”的箱形图 [cite: 53]。 |
| 32 | +* **获得:** 藏在伪造卡片下的 **时空坐标碎片 1**。 |
| 33 | + |
| 34 | +--- |
| 35 | + |
| 36 | +### 挑战 2 (成员 B):“马可尼无线电室” (填字/词汇游戏) |
| 37 | + |
| 38 | +* **故事:** 第一个碎片指引你们前往马可尼(无线电)室。门被一个键盘锁锁住了。墙上贴着一张无线电操作员(为打发时间)没做完的填字游戏,你们意识到,这个游戏的答案就是开门密码。 |
| 39 | +* [cite_start]**挑战:** 一个填字游戏 [cite: 45]。 |
| 40 | +* [cite_start]**如何生成 (第 5 阶段):** 答案全部来自数据集的“字段名”(Column Names) 或与泰坦尼克号相关的“概念” [cite: 45]。 |
| 41 | + * **示例线索 (Answers):** |
| 42 | + * "乘客的父母或子女数量" (答案: `PARCH`) |
| 43 | + * "乘客支付的票价" (答案: `FARE`) |
| 44 | + * "登船的港口 (C、Q 或 S)" (答案: `EMBARKED`) |
| 45 | + * "乘客的兄弟姐妹或配偶数量" (答案: `SIBSP`) |
| 46 | +* **玩家任务:** 完成填字游戏,获得密码。 |
| 47 | +* [cite_start]**线索 (Hints):** 可以提供一两个答案的字母作为提示 [cite: 46]。 |
| 48 | +* **获得:** 你们打开了门,在电报机上找到了 **时空坐标碎片 2**。 |
| 49 | + |
| 50 | +--- |
| 51 | + |
| 52 | +### 挑战 3 (成员 C):“破译救生艇代码” (分类谜题) |
| 53 | + |
| 54 | +* **故事:** 第二个碎片指引你们前往甲板。你们在一个救生艇站旁发现了一个上锁的补给箱。锁是一个 4 位数的键盘锁。附近一张军官的笔记上,写着 4 名特定乘客的资料。你们意识到,这个 4 位数密码一定是对他们命运的*预测*。 |
| 55 | +* **挑战:** |
| 56 | + 1. [cite_start]程序生成一个可视化图表(例如,一张展示生还率的图表)[cite: 49]。 |
| 57 | + 2. 程序接着展示 4 名乘客的资料(例如,“乘客 1:女性,1 等舱,30 岁”,“乘客 2:男性,3 等舱,25 岁”等)。 |
| 58 | + 3. 玩家必须使用图表来预测每位乘客是“生还”(代码=1)还是“未生还”(代码=0)。 |
| 59 | +* **玩家任务:** 输入正确的 4 位二进制代码(例如 `1011`)来打开箱子。 |
| 60 | +* **如何生成 (第 5 阶段):** 程序从数据集中随机选择 4 名乘客,并展示他们的特征。正确的“答案”就是他们(在数据集中)的实际 `Survived` 值(1 或 0)。 |
| 61 | +* [cite_start]**线索 (Hints):** 如果玩家输错代码,可以揭示一个额外的、未在图表上显示的数据作为提示。“提示:乘客 2 支付的票价为 7 英镑” [cite: 49, 50]。 |
| 62 | +* **获得:** 箱子打开,里面是 **时空坐标碎片 3**。 |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +### 挑战 4 (成员 D):“平衡救生艇载重” (数据聚合/计算) |
| 67 | + |
| 68 | +* **故事:** 警报大作,船体正在倾斜!你们奔向最后的集合点,那里只剩下一艘救生艇。一名工程师正对着一份乘客名单和一台计算器大喊:“不行,这艘船会翻!我必须知道一个精确的数字来配平重量!” |
| 69 | +* **他交给你们一张纸条:** “快!我必须知道这份名单上,所有*1 等舱* (`Pclass=1`) 中,年龄在 *30 岁以上* (`Age > 30`) 的*女性* (`Sex='female'`),她们所支付的*平均票价* (`Fare` 的 `MEAN`) 是多少?把这个数字输入配平系统!” |
| 70 | +* **挑战:** 这是一个**数据聚合任务**。玩家不能再依赖“直觉”,而必须使用“乘客名单”(数据集)进行精确计算。 |
| 71 | +* **玩家任务:** |
| 72 | + 1. 筛选 `Pclass` == 1 |
| 73 | + 2. 再筛选 `Sex` == 'female' |
| 74 | + 3. 再筛选 `Age` > 30 |
| 75 | + 4. 计算所有符合上述条件的乘客的 `Fare` (票价) 的**平均值 (MEAN)**。 |
| 76 | +* **如何生成 (第 5 阶段):** |
| 77 | + * 你们的程序将*随机*组合一个聚合任务。例如: |
| 78 | + * 随机选择 2-3 个筛选条件(例如 `Pclass=2`, `Embarked='Q'`)。 |
| 79 | + * 随机选择一个聚合函数(例如 `SUM` 总和, `MEAN` 平均值, `COUNT` 计数)。 |
| 80 | + * 随机选择一个要计算的数字列(例如 `Fare` 票价, `Age` 年龄)。 |
| 81 | + * (这个挑战是你们自己设计的,基于对数据集进行计算的原则)。 |
| 82 | +* [cite_start]**线索 (Hints):** "提示:确保你用的是*平均值*,而不是总和!" [cite: 42] |
| 83 | +* **获得:** 你们算出了正确的数字(例如 "87.5")并输入系统。救生艇的配重调整完毕,成功释放。在救生艇的座位下,你们找到了 **时空坐标碎片 4**。 |
| 84 | + |
| 85 | + |
| 86 | +**English version:** |
| 87 | + |
| 88 | +### Story Background |
| 89 | + |
| 90 | +**Theme:** The Titanic Time-Rift |
| 91 | +**Your Role:** You are a group of time-travelers. During a routine jump, your temporal engines malfunctioned, causing an emergency ejection. You've landed on the RMS Titanic on April 14, 1912, just hours before it sinks. |
| 92 | +**Your Goal:** Your time machine is "phased," and to bring it back into your timeline, you must find 4 "Temporal Coordinate Fragments" that were scattered across the ship during your crash-landing. You must collect all 4 and get to the rendezvous point before the ship sinks. |
| 93 | +**The Document:** The HTML document you generate is the "Game Master's Guide," which provides all the instructions, challenges, hints, and answers for someone running the escape room. |
| 94 | + |
| 95 | +--- |
| 96 | + |
| 97 | +### Challenge 1 (Member A): "The Purser's Office" (Spot the Rogue Data Item) |
| 98 | + |
| 99 | +* **Story:** You are immediately apprehended by a ship's officer. Your names are not on the official passenger manifest. He suspects you are stowaways and locks you in the Purser's office. On the desk is a stack of passenger registration cards, one of which the Purser has marked as "suspicious." |
| 100 | +* **The Challenge:** The players are presented with 5-6 "Passenger Cards" (data rows). Five are *real* passengers randomly selected from the dataset; one is a "rogue item" generated by your program. |
| 101 | +* **How to Generate (Stage 5):** The rogue item must be a statistical outlier. For example: A `Pclass=3` (Third Class) passenger who paid a `Fare` of £500 (far higher than any First Class ticket). |
| 102 | +* **Player's Task:** Identify which passenger card is the "forgery." |
| 103 | +* **Hints:** The officer's "manual" is left on the desk, which includes visualizations of the *whole dataset*. For example, a box plot of `Fare` by `Pclass`. |
| 104 | +* **Reward:** Hidden beneath the forged card is the **Temporal Coordinate Fragment 1**. |
| 105 | + |
| 106 | +--- |
| 107 | + |
| 108 | +### Challenge 2 (Member B): "The Marconi Room" (Crossword/Vocabulary Puzzle) |
| 109 | + |
| 110 | +* **Story:** The first fragment contains a cryptic clue: "The next answer travels on the airwaves." This leads you to the Marconi radio room. The door is locked with a simple keypad. A note on the wall from the radio operator has a crossword puzzle he was working on. The solution to the crossword *is* the keypad code. |
| 111 | +* **The Challenge:** A crossword puzzle. |
| 112 | +* **How to Generate (Stage 5):** The answers are all terms taken from the dataset's "field names" (column names) or related concepts from a paper. |
| 113 | + * **Example Clues (Answers):** |
| 114 | + * "Passenger's parents or children aboard" (Answer: `PARCH`) |
| 115 | + * "Price paid for the ticket" (Answer: `FARE`) |
| 116 | + * "Port of embarkation (C, Q, or S)" (Answer: `EMBARKED`) |
| 117 | + * "Number of siblings or spouses aboard" (Answer: `SIBSP`) |
| 118 | +* **Player's Task:** Complete the puzzle to find the code. |
| 119 | +* **Hints:** One or two of the answers can be provided as a hint. |
| 120 | +* **Reward:** You unlock the door and find **Temporal Coordinate Fragment 2** attached to the transmitter. |
| 121 | + |
| 122 | +--- |
| 123 | + |
| 124 | +### Challenge 3 (Member C): "Decoding the Lifeboat Code" (Classification Puzzle) |
| 125 | + |
| 126 | +* **Story:** The second fragment points to the boat deck. You find a locked supply chest next to a lifeboat station. The lock is a 4-digit keypad. A nearby note from an officer contains the profiles of 4 specific passengers. You realize the 4-digit code must be a *prediction* of their fate. |
| 127 | +* **The Challenge:** |
| 128 | + 1. The program generates a visualization (e.g., a chart showing survival rates). |
| 129 | + 2. The program then presents the profiles of 4 specific passengers (e.g., "Passenger 1: Female, Pclass=1, Age=30", "Passenger 2: Male, Pclass=3, Age=25", etc.). |
| 130 | + 3. The players must use the visualization to predict if each passenger `Survived` (code = 1) or `Did Not Survive` (code = 0). |
| 131 | +* **Player's Task:** Enter the correct 4-digit binary code (e.g., `1011`) to unlock the chest. |
| 132 | +* **How to Generate (Stage 5):** The program randomly selects 4 passengers from the dataset and presents their features. The "answer" is simply their *actual* `Survived` value (1 or 0) from the dataset. |
| 133 | +* **Hints:** If the players get the code wrong, you can reveal an additional, non-visualized piece of data as a hint. "Hint: Passenger 2 paid a fare of £7." |
| 134 | +* **Reward:** The chest opens, revealing **Temporal Coordinate Fragment 3**. |
| 135 | + |
| 136 | +--- |
| 137 | + |
| 138 | +### Challenge 4 (Member D): "Balancing the Lifeboat" (Data Aggregation/Calculation) |
| 139 | + |
| 140 | +* **Story:** Alarms are blaring as the ship tilts! You race to the final rendezvous point, where a single lifeboat remains. An engineer is frantically yelling at a manifest and a calculator: "It's no good, the boat will capsize! I need a precise number to balance the load!" |
| 141 | +* **He hands you a note:** "Quick! I must know the *MEAN average fare* (`Fare`) paid by all *female* (`Sex='female'`) passengers in *First Class* (`Pclass=1`) who were *over 30 years old* (`Age > 30`). Enter that number into the ballast system!" |
| 142 | +* **The Challenge:** This is a **data aggregation task**. Players can no longer use "intuition"; they must perform a precise calculation based on the dataset. |
| 143 | +* **Player's Task:** |
| 144 | + 1. Filter for `Pclass` == 1 |
| 145 | + 2. Filter for `Sex` == 'female' |
| 146 | + 3. Filter for `Age` > 30 |
| 147 | + 4. Calculate the **MEAN** of the `Fare` for all passengers who meet these criteria. |
| 148 | +* **How to Generate (Stage 5):** |
| 149 | + * Your program will *randomly* combine an aggregation task. For example: |
| 150 | + * Randomly select 2-3 filter conditions (e.g., `Pclass=2`, `Embarked='Q'`). |
| 151 | + * Randomly select an aggregation function (e.g., `SUM`, `MEAN`, `COUNT`). |
| 152 | + * Randomly select a numeric column to calculate (e.g., `Fare`, `Age`). |
| 153 | + * (This challenge is based on your own design, following the principle of calculating from the dataset). |
| 154 | +* **Hints:** "Hint: Make sure you are calculating the *average*, not the total!" |
| 155 | +* **Reward:** You calculate the correct number (e.g., "87.5") and enter it. The lifeboat's ballast is balanced, and it successfully launches. Tucked under a seat, you find the **Temporal Coordinate Fragment 4**. |
0 commit comments