Computer Science
Beginner
80 mins
Teacher/Student led
What you need:
Chromebook/Laptop/PC

Overview of ALT 3: Introduction to Modelling and Simulation

In this lesson, you'll explore the essentials of modelling and simulation. Learn about the task requirements, review key skills from past modules, brainstorm creative ideas for models, form collaborative teams, and reflect on the societal impacts of simulations.
Learning Goals Learning Outcomes Teacher Notes

Teacher Class Feed

Load previous activity

    1 - Introduction

    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.

    2 - Reviewing Key Concepts

    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.

    Take 10 minutes to note one example from a module useful for modelling, like sketching a flowchart for a simple epidemic simulation loop.

    3 - Understanding the Task Requirements

    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:

    • Environmental Science: Simulate climate models to test emission scenarios. Diagram: Flowchart of variable interactions.
    • Biology: Model population dynamics with predator-prey simulations. Diagram: Graph showing population changes over time.
    • Economics: Simulate market behaviours under different policies. Diagram: Agent interaction network.
    • Physics: Model particle movements in a system. Diagram: Scatter plot of trajectories.

    Follow stages: Identify problem, abstract key elements, develop algorithms, simulate, analyse, and modify. 

    The goal is a simulation artefact that tests scenarios and reveals insights, e.g., a Python program simulating traffic to optimise flow.

    4 - Brainstorming Ideas

    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.

    Pick an exciting interdisciplinary idea, like simulating disease spread in epidemiology or economic crashes in finance. Aim for originality while ensuring it's achievable with your skills.

    5 - Forming Your Team

    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:

    1. Discuss with classmates to form a team based on shared interests and complementary strengths, e.g., one student strong in abstraction, another in algorithm implementation, and someone skilled in visualisation.
    2. Assign specific roles to ensure smooth collaboration: for example, modeller (handles abstraction and scenario design), coder (implements algorithms and simulations), analyst (interprets outcomes and modifications), and visualiser (creates diagrams and outputs).
    3. Set up communication tools (e.g., shared documents or group chats) and schedule regular meetings to track progress and address any issues early.
    4. Remember, effective teamwork involves listening to different perspectives, respecting contributions, and resolving conflicts constructively to build a better final artefact.
    Teamwork not only builds better artefacts through diverse skills but also prepares you for real-world computing projects where collaboration is key.

    Unlock the Full Learning Experience

    Get ready to embark on an incredible learning journey! Get access to this lesson and hundreds more in our Digital Skills Curriculum.

    Copyright Notice
    This lesson is copyright of Coding Ireland 2017 - 2025. Unauthorised use, copying or distribution is not allowed.
    🍪 Our website uses cookies to make your browsing experience better. By using our website you agree to our use of cookies. Learn more