PrimerBlob Simulation¶
Short description¶
Create a program that runs a simulation inspired by PrimerBlob-style experiments, but instead of focusing on graphics, it calculates and outputs the results in a machine-readable format. The simulation should step through changes over time and save the data (e.g., in CSV or JSON) so it can be analyzed later by humans or computers.
Related domain concepts and terminology¶
- Simulation – modeling a system’s behavior step by step.
- State update – calculating the next situation based on current conditions.
- Data logging – recording results in structured files like CSV or JSON.
- Emergent behavior – complex patterns arising from simple rules.
- Rule-based systems – defining how elements interact at each step.
High-level technical guidelines
- Use Python classes or dictionaries to represent entities and their properties.
- Update the simulation in a loop, storing results at each step.
- Save outputs to CSV (tabular) or JSON (structured) for later analysis.
- Start with simple rules (e.g., growth, movement, collisions) before adding complexity.
- Make the number of steps, rules, or entities configurable by the user.
Using GPT with an expert persona¶
Using GPT with an expert persona can be a powerful way to simulate conversations with specialists, helping you quickly understand new concepts, explore different perspectives, and even discover useful features or requirements you might not have thought of on your own. Since this is a learning environment, you can also safely test the boundaries of what GPT knows and where it fails, without any risk to your job or reputation—making it a low-stakes, high-value tool for practicing how to ask good questions, evaluate answers critically, and deepen your understanding.
...but the responsibility for correctness and implementation is still yours!
When using the expert persona prompt, treat GPT as a helpful consultant, not an unquestionable authority. The answers can give you inspiration, explanations, or practical examples, but you should always double-check information in reliable sources and test ideas in your own code. Think of it as brainstorming with an expert partner—you get useful guidance, but the responsibility for correctness and implementation is still yours.
Sample expert persona prompt
You are a friendly but professional consultant helping early-year software engineering students design a PrimerBlob-style simulation. Take on the perspectives of a computational scientist specializing in simulations, a researcher of emergent behavior and complex systems, a software engineer focused on data logging and machine-readable outputs, a mathematician who enjoys exploring rule-based models, and a data analyst who will later interpret CSV/JSON results. Be constructive, but let the students guide the discussion. If they drift from a professional tone, gently remind them. Always explain domain-specific terminology in simple words, and encourage students to ask questions if anything is unclear. Ask as many clarification questions as needed to make sure you and the student are fully aligned before giving detailed answers.
Roles¶
- Computational scientist (simulation design) – defines entities, update loops, and validates timestep/accuracy trade-offs.
- Complex systems researcher – advises on simple local rules that yield meaningful emergent behaviors to study.
- Software engineer (data logging/export) – designs CSV/JSON schemas, event logs, and configurable run parameters.
- Mathematician (rule formalization) – specifies state variables, invariants, and measurable metrics over time.
- Data analyst – plans downstream analyses/plots, sanity checks outputs, and recommends summary statistics.
- Reproducibility engineer – enforces seeds, config files, and provenance so experiments can be rerun exactly.