In a dystopian world where art faces annihilation, Ethic and her robotic companion, Hedge, embark on a daring mission. Their goal is to assist Adila, the leader of the resistance, in sabotaging the art-incinerating furnace-bots. In return, Adila promises to guide them to the first artifact of Ethic’s quest: the Node of Power.
Years ago, a single furnace-bot existed, containing a 0 inside its furnace and an unknown, randomly generated serial number. This original bot self-replicated, creating identical offspring. Each new bot inherited the original’s serial number within its furnace and received a unique serial number on its shell. This replication process continued for generations, with each furnace-bot receiving orders from its parent.
Ethic’s mission hinges on finding the original 0 bot. By altering its instructions, she could potentially control the entire army of furnace-bots. Adila offers a solution: a data crystal she has safeguarded for years. This crystal contains a program capable of reprogramming a bot. However, it must be uploaded to the original 0 bot, or else the instructions will be overridden, and the crystal will be destroyed.
With the feeding of the furnace-bots imminent, time is of the essence. Hedge’s ability to store data becomes crucial. In programming, information is stored in variables, which are containers for numbers, words, or other values. Ethic must program Hedge to locate the original 0 bot swiftly.
The key insight is that Hedge doesn’t need to map out the entire network of relationships to find the original bot. If he randomly selects the original bot, the task is complete. If not, he can still trace a path back to the 0 bot by following a simple set of instructions.
To simplify the problem, imagine there are only three furnace-bots: a parent and two children. Hedge can randomly pick one and inspect its furnace. If the number inside is 0, the parent is found. If not, the chosen child will have the parent’s serial number in its furnace, guaranteeing the parent is found in one or two moves.
In reality, the number of furnace-bots and generations is unknown. However, Hedge can repeat the same sequence of actions until he reaches the original. Using a loop, Hedge can randomly select a bot, inspect its furnace, and store the serial number as a variable. The loop continues until the stored variable equals 0, indicating the original bot is found.
Hedge successfully locates the original bot, robot 733, in just five repetitions. The control program spreads rapidly through the army, allowing Adila to take command. The furnace-bots now emit theatrical flames to disguise their new role in safeguarding artistic creations.
With the furnace-bots under control, Adila fulfills her promise. She leads Ethic and Hedge to the Node of Power. However, one challenge remains: they must steal it to continue their quest.
Imagine you are in Ethic’s world. Write a short story about your own adventure with a furnace-bot. Describe how you would find the original 0 bot and what strategies you would use to reprogram it. Share your story with the class and discuss the different approaches everyone took.
Draw your own version of a furnace-bot. Label its parts and explain how it replicates itself. Think about the serial numbers and how they are passed down from one generation to the next. Present your design to the class and explain how your furnace-bot works.
Using a simple programming language like Scratch or Python, create a simulation where Hedge searches for the original 0 bot. Program Hedge to randomly select bots and check their serial numbers. Run your simulation and see how many tries it takes for Hedge to find the original bot. Share your results with the class.
Work in groups to solve a math problem related to the serial numbers of the furnace-bots. If the original bot has a serial number of 0 and each new bot gets a unique serial number, calculate how many unique serial numbers are possible if there are 100 bots. Present your solution and explain your reasoning.
Divide into small groups and create a role-playing game based on Ethic’s quest. Each group member can take on a different character, such as Ethic, Hedge, or Adila. Develop a storyline where you must work together to find the original 0 bot and reprogram it. Act out your game and see if you can successfully complete the mission.
Ethic – A set of moral principles that guide how people should behave, especially when using computers and technology. – It’s important to have a strong ethic when coding to ensure that the software we create is safe and fair for everyone.
Hedge – A strategy used to protect against potential losses or risks, often used in computer programming to prevent errors. – The programmer added extra checks to hedge against unexpected user inputs that could crash the program.
Furnace-bots – Automated programs designed to manage and optimize the performance of computer servers, similar to how a furnace regulates temperature. – The furnace-bots worked tirelessly to ensure the servers didn’t overheat during the peak traffic hours.
Bot – A software application that runs automated tasks over the internet, often much faster than a human could. – The search engine uses a bot to crawl websites and index their content for users to find easily.
Program – A set of instructions written in a computer language that tells a computer how to perform a specific task. – We wrote a program in class today that can calculate the average of a list of numbers.
Data – Information processed or stored by a computer, which can be in the form of text, numbers, images, or other types. – The data collected from the survey helped us understand how students use technology at school.
Variable – A storage location in a computer program that can hold different values and be changed during the execution of the program. – In our coding project, we used a variable to keep track of the player’s score.
Instructions – Commands given to a computer program to perform specific operations or tasks. – The robot followed the instructions perfectly and completed the maze without any mistakes.
Control – The ability to manage or direct the operation of a computer program or system. – Using loops and conditional statements, we can control how the program behaves in different situations.
Quest – A task or challenge in a computer game or program that requires problem-solving skills to complete. – Our quest in the game was to find the hidden key to unlock the next level.