This lesson provides an overview of ALT 3: Modelling and Simulation.
You'll learn about the task, review relevant skills from previous modules, explore modelling and simulation applications across disciplines, brainstorm model ideas, form teams, and reflect on societal impacts.
ALT 3 focuses on creating models and simulations to test scenarios and observe behaviours. For example, you might simulate population growth in biology or traffic flow in urban planning to predict outcomes and demonstrate emergent behaviours.
Before starting ALT 3, review modelling and simulation skills from previous modules. This will help you apply them to creating computational artefacts that simulate real-world problems.
From Foundations of Computer Science: You learned about algorithms, pseudocode, flowcharts, and systematic problem-solving.
Summary: Flowcharts can visualise simulation processes, e.g., a diagram showing iterative steps in a population growth model.
From Introduction to Python: Basics like control structures, functions, and lists are key for implementing simulations. Projects such as the Swing Force Logger involved processing iterative data, similar to running simulation loops.
Summary: Use loops for simulations, e.g., for i in range(100): simulate_step()
. Functions like def update_model(state):
can handle state changes over time.
From Advanced Algorithms and Data Structures: You covered recursive functions, trees/graphs, and algorithmic efficiency, which are useful for simulating hierarchical or networked systems.
Summary: Recursion can model fractal growth, e.g., def recursive_sim(depth):
for branching processes. Graphs can represent agent interactions in simulations.
From Software Engineering and Testing: Iterative design, modelling in design, and advanced testing help refine and validate your simulation artefacts.
Summary: Apply iterative cycles to tweak models based on tests, ensuring accuracy in outcomes like predicting traffic flow.
In ALT 3, you'll develop a model for testing scenarios, analyse simulation outcomes, and explain agent-based modelling for emergent behaviours. It must include creating testable models, interpreting results before/after modifications, and demonstrating benefits of agent-based approaches.
Modelling and simulation apply across disciplines:
Follow stages: Identify problem, abstract key elements, develop algorithms, simulate, analyse, and modify.
Brainstorm ideas for your modelling and simulation artefact. Spend 20-30 minutes on this activity, focusing on interdisciplinary scenarios. This step will help you generate creative, feasible ideas that align with the task requirements, such as developing models for testing and analysing emergent behaviours.
Step 1: Choose a discipline (e.g., environment, biology, economics, or physics) and identify a problem or scenario to model. For example, 'How does traffic congestion emerge in a city network?' or 'How do animal populations change with resource variations?'.
Step 2: List the key elements to abstract (e.g., agents like cars or animals, variables like speed or food supply) and relevant algorithms (e.g., loops for iterations, conditionals for interactions). Think about using agent-based modelling to show emergent behaviours like flocking or traffic jams.
Step 3: Sketch a simple diagram or pseudocode to outline your model. For instance, draw a flowchart showing simulation steps or write pseudocode for updating agent states. This will help visualise how your simulation will run.
Step 4: Consider the tools you'll use (e.g., Python with libraries like matplotlib for visualisations or networkx for graphs) and potential challenges, such as handling randomness or ensuring model accuracy. Also, think about how you'll analyse outcomes before and after modifications.
ALTs are team-based, allowing you to collaborate and leverage diverse skills for a stronger modelling and simulation artefact. Forming teams of 2-4 students helps in sharing ideas, dividing tasks, and learning from each other, aligning with practices like collaborating and assigning roles in computing tasks.
Instructions: