Java Python MATH3024 PROJECT
TASK
Create a model for a complex system inspired by one of the following lyrics:
“Despite all my rage, I am s1ll just a rat in a cage”
“I, am thinking it's a sign, that the freckles in our eyes, are mirror images and when we kiss they're perfectly aligned”
“I was carried to Ohio on a swarm of bees”
“Brosandi, Hendumst í hringi, Höldumst í hendur, Allur heimurinn óskýr, nema þú stendur” (Smiling, Spinning round and round, Holding hands, The whole world a blur, But you are standing)
The purpose, implementa;on analysis of your model are all up to you! The project descrip;on is inten;onally ill-defined so as to provide you with freedom and autonomy to take the project in a direc;on that is interes;ng and relevant to you. Obviously, you should use the tools and techniques we cover in this unit, though not everything will be relevant for your chosen applica;on. If at any stage you are unsure then please speak with me about your ideas.
Totally uninspired? Have your own idea you want to explore? Let’s talk about it! All projects are to be approved by the study week (i.e. prior to submiLng the Interim report).
What exactly does it mean to ‘create a model’?
• Mo;vate it: give context about why your model maPers and what others have done that is relevant
• Define it: sufficient detail needs to be given for your model to be reproduced
• Simulate it: code up your model and run it.
• Analyse it: qualita;ve depic;on of model output, parameter sweeps, ensemble simula;ons for sta;s;cs
• Communicate results: via a Jupyter Notebook and Report
CODE
Code is to be wri8en in Python.
This course is not about coding but coding is essen;al for modelling. Embrace it, get excited … at the end of this unit you will have ‘Python’ on your CV and will be equipped to code out in the real world. You are welcome to use any AI that is helpful.
SUBMISSION DETAILS
See LMS.
Interim report
This is simply a brief summary of your progress on, and plans for, the project task. The purpose is to ensure you are on track and will allow me to iden;fy any concerns early and discuss them with you. State what you are modelling. Discuss how you are going to approach your implementa;on. Perhaps, discuss how you plan to summarise the system behaviour.
Final report
There are tw MATH3024 PROJECTPython o op;ons for your submission.
1. En;rely via a Jupyter Notebook (100%), which allows blending code, text and mul;media for communica;on and interac;ve aspects.
2. A more tradi;onal approach of a research paper + python code. With this op;on the Project Report and the Jupyter Notebook will s;ll need to be well-integrated and complement each other where appropriate.
I should be able to review the code and run it in a Jupyter Notebook. Code must be documented, clear, and readable with version of python and versions of any packages you use included.
ASSESSMENT
See Rubric on LMS for a guide. A reminder: rubrics are a guide for markers, they are not checklists specifying exactly what tasks you should do.
There are no constraints on length in either direc;on so long as you fully cover the standard components required for communica;ng research, namely: introduc;on, methods, results, discussion and conclusion. Having said that, effec;ve communica;on should be concise and the tone should be scien;fic. Marks will be lost for waffling on like ChatGPT.
Some suggested inclusions:
• Introduc1on: Provide an overview of the problem and a literature review. You should address the gap or ques;on that your work addresses and outline what has been done in this space before.
• Methods:
- Model descrip;on. Describe how your model works in terms of the components, interac;ons, environment, model schedule/;ming of events etc. Your descrip;on should be specific and comprehensive enough for someone else to implement your model.
- Model analysis. Detail parameter seLngs that were systema;cally explored and the analyses you ran. If your model is stochas;c, you will need to run mul;ple trials at the same parameter seLngs and provide sta;s;cs. Your descrip;on should be specific and comprehensive enough for someone else to replicate your analyses accurately.
• Results: Qualita;ve and quan;ta;ve summaries of the model behaviour, illustra;ng outcomes with appropriate visualisa;on such as graphs and anima;ons for different seLngs as needed.
• Discussion: revisit the ini;al ques;on or problem and analyse how your results shed light on this issue. If you suspect there are s;ll some bugs driving your model’s behaviour, this is the place to discuss this. It is also an opportunity to discuss how you might verify, validate, or extend the model in the future.
• Conclusion: Summarise the key findings and main takeaways. Put your results in a broader context. Discuss the broader implica;ons of your findings, how they contribute to the field, and what poten;al applica;ons or prac;cal implica;ons they might have. Describe the strengths, limita;ons, and poten;al future direc;ons of your work. Note that what is considered ‘Discussion’ vs what is considered ‘Conclusion’ is a grey area