Mini Project (25%)

Quick Summary
Type Weight When Deliverable
Group 25% Planning: Weeks 7,8
Implementation: Weeks 9, 10
20 min group presentation in Week 11 (Slides must be submitted).
An Jupyter notebook containing the accompanying Python code.
Submit both to CANVAS.

1 Group Mini Project

1.1 What is the Group Mini Project about?

In the real world, computational tools are integral for learning, understanding, and applying scientific principles. The Group Mini Project aims to demonstrate how computers, specifically Python, can be utilised for these purposes. Your task is to select a scientific topic that interests you and your group members. You must then create a presentation to communicate this topic to your classmates. However, the presentation must incorporate computational tools (such as plotting, modelling, simulations, animations, etc.) developed using Python. The presentation will contribute 15% to your overall grade, while the Python code will account for 10%. Please note that the Python code should be prepared and submitted separately in a Jupyter Notebook format.

1.2 Objective of the Group Mini Project

To clarify, the objectives are as follows:

  1. Share the science with a 20 minute presentation (15%) Your presentation should be designed to educate your classmates, who may not be specialists, about the basics of your chosen topic. Explaining the fundamental scientific concepts related to the topic and articulating why it is significant and worth learning is crucial. Additionally, you should highlight how and when Python was utilised in your presentation without sharing the actual code.

  2. Share the code in a Jupyter Notebook (10%) The content of your presentations must be developed in your shared GitHub repository using Python in a separate Jupyter Notebook. Your code must be well-documented and accessible to your classmates in terms of understanding. It would help if you also emphasised how programming, specifically Python, enhances the appreciation and understanding of the topic.

1.3 Why is the Group Mini Project good for you

The Group Mini Project is authentic in that it mirrors how computational tools are used in real life. By choosing a topic that interests you, you are deepening your understanding of the subject and honing your skills in gathering, analysing, and synthesising information. This project will also enhance your critical thinking skills by identifying and solving problems related to your chosen topic. Additionally, your freedom in this project allows for innovative uses of Python, such as simulations, animations, and data visualisation. These activities will encourage a deeper level of analytical thinking as you develop and explain your code.

In presenting these ideas to an audience, you will develop public speaking skills and the ability to convey technical information clearly and accessibly. This skill is essential in the scientific community, as effective communication is key to making your work valuable and accessible. It will also help you make a name for yourself.

Finally, working and collaborating in a team setting will foster effective communication, task delegation, and collective goal achievement. These are crucial skills in any teamwork environment, further preparing you for the adventures beyond the University.

1.4 Important considerations

  • Manage Expectations: You will have approximately two weeks to plan the mini project, followed by another two weeks for implementation. This timeframe is relatively short, so it is crucial to set realistic goals. Try not to overextend yourselves by taking on too much. Focus on achievable objectives that allow you to effectively demonstrate your understanding and skills within the given period. Please use the rubrics often to make sure you are on track.

    Remember that the Group Mini Project will also impact the Individual viva (see below).

  • Remember the viva: The final Individual Viva will focus on the content of the Group Mini Project. Ensure everyone in the group is up to speed with the science and the coding presented in the Mini Project. Put another way, don’t make your project so complicated that one or more of you will struggle to the extent that you will not know enough to participate in the viva.

  • Example Presentations: To give you a clearer idea of the type of projects and presentations expected, the instructors will deliver three sample presentations at the end of week 6. These presentations will serve as references for your project’s scope, depth, and presentation style. Please ensure you attend this session.

  • Seeking Assistance: Don’t hesitate to ask for help. If you encounter challenges, whether they’re related to Python, the scientific content, or the presentation aspect, the instructors and teaching assistants are here to support you.

  • Collaboration and Communication: Collaboration is key in this project. Regular communication within your group is essential. Plan your roles, set deadlines, and update each other on your progress. Effective teamwork can significantly enhance the quality of your project.

2 Grading

Mini-Project Presentation Rubrics

Criterion Needs Improvement Satisfactory Good Accomplished Distinguished
Project Topic and its Significance (15%) ■ Depth and breadth of project are incomprehensible
■ Project is poorly supported by poor scientific reasoning
■ Scientific sources are unreliable and of poor quality
■ Scientific concepts and terms are not stated and explained
■ Depth and breadth of project are difficult to understand
■ Project is weakly supported by limited scientific reasoning
■ Scientific sources have limited reliability and quality
■ Scientific concepts and terms are stated with minimal explanations
■ Depth and breadth of project requires some effort to understand
■ Project is supported with some scientific reasoning
■ Scientific sources are generally reliable and of good quality
■ Scientific concepts and terms are stated with some explanations
■ Depth and breadth of project can be understood
■ Project is adequately supported with good scientific reasoning
■ Scientific sources are mostly reliable and of good quality
■ Scientific concepts and terms are stated and mostly explained
■ Depth and breadth of project can be understood effortlessly
■ Project is well supported with excellent scientific reasoning
■ Scientific sources are highly reliable and of high quality
■ Scientific concepts and terms are stated and well-explained
Difficulty of Project (15%) ■ Requires little understanding of science and coding
■ Depth and breadth of project are poorly balanced
■ Requires some understanding of science and coding
■ Depth and breadth of project show some imbalances
■ Requires good understanding of science and coding
■ Depth and breadth of project are balanced
■ Requires in-depth understanding of science and coding
■ Depth and breadth of project are thoughtfully balanced
■ Requires excellent understanding of science and coding
■ Depth and breadth of project are well balanced
Scientific Insights Obtained from Project (20%) ■ Scientific insights are missing or superficial ■ Scientific insights are present but difficult to understand ■ Scientific insights are present but requires some effort to understand ■ Scientific insights are present and can be understood ■ Scientific insights are clear and can be understood effortlessly
Organisation and Clarity of Presentation (25%) ■ Ideas are disorganised
■ No context provided
■ Explanations are missing or incomprehensible
■ Rationale for the chosen solution is missing or incomprehensible
■ Little to no attempts at formatting
■ Ideas are partially organised but with significant logical gaps
■ Insufficient context provided
■ Explanations are present but difficult to understand
■ Rationale for the chosen solution is presented but difficult to understand
■ Formatting is inconsistent or messy
■ Ideas are mostly organised with some logical gaps
■ Some context provided
■ Explanations are present but require some effort to understand
■ Rationale for the chosen solution is elaborated but requires some effort to understand
■ Formatting is acceptable
■ Ideas are clearly organised with minor logical gaps
■ Sufficient context provided
■ Explanations are present and can be understood
■ Rationale for the chosen solution is elaborated and can be understood
■ Formatting is mostly neat
■ Ideas are clearly organised with no logical gaps
■ Sufficient and clear context provided
■ Explanations are clear and can be understood effortlessly
■ Rationale for the chosen solution is well elaborated and can be understood effortlessly
■ Formatting is neat and clean
Question & Answer (25%) ■ Responses are incorrect
■ Responses are irrelevant with poor scientific support
■ Shows poor understanding of the project
■ Responses are partially correct
■ Responses are vague with limited scientific support
■ Shows basic understanding of the project
■ Responses are generally correct
■ Responses are brief with some scientific support
■ Shows some understanding of the project
■ Responses are mostly correct
■ Responses are mostly complete and supported with science
■ Shows good understanding of the project
■ Responses are correct
■ Responses are complete and well supported with science
■ Shows excellent understanding of the project
Table 1: Rubrics for Mini-Project (PRESENTATION)

Mini-Project Presentation Additional Recommendations

■ Engage with the audience and avoid reading from scripts ■ Practice pacing and enunciation, ensuring you are clear and not rushing ■ Clarify scientific terms and jargons used ■ Structure your presentation into sections and signal transitions ■ Add slide numbers for easy navigation
■ Ensure fonts and visuals are readable and of sufficient size ■ Ensure all figures have clearly labelled axes, legends, and units ■ Minimise clutter on slides and figures ■ Standardize formatting with consistent use of fonts, colours, and terms ■ When working with multiple similar plots, consider separating or overlaying them
■ When unsure during Q&A, clarify questions before responding ■ Be concise and focused in your responses during Q&A
Table 2: Mini-Project (PRESENTATION) Additional Recommendations

Mini-Project Notebook Rubrics

Criterion Needs Improvement Satisfactory Good Accomplished Distinguished
Correctness of Scientific and Logical Conclusions (30%) ■ Conclusions are inaccurate
■ Conclusions have fundamental logical errors
■ Conclusions are mostly inaccurate
■ Conclusions have significant logical errors
■ Conclusions are generally accurate
■ Conclusions have some logical errors
■ Conclusions are mostly accurate
■ Conclusions have minor logical errors
■ Conclusions are accurate
■ Conclusions are logically impeccable
Organisation and Clarity of Notebook (30%) ■ Ideas are disorganised
■ No context provided
■ Explanations are missing or incomprehensible
■ Rationale for the chosen solution is missing or incomprehensible
■ Little to no attempts at formatting
■ Ideas are partially organised but with significant logical gaps
■ Insufficient context provided
■ Explanations are present but difficult to understand
■ Rationale for the chosen solution is presented but difficult to understand
■ Formatting is inconsistent or messy
■ Ideas are mostly organised with some logical gaps
■ Some context provided
■ Explanations are present but require some effort to understand
■ Rationale for the chosen solution is elaborated but requires some effort to understand
■ Formatting is acceptable
■ Ideas are clearly organised with minor logical gaps
■ Sufficient context provided
■ Explanations are present and can be understood
■ Rationale for the chosen solution is elaborated and can be understood
■ Formatting is mostly neat
■ Ideas are clearly organised with no logical gaps
■ Sufficient and clear context provided
■ Explanations are clear and can be understood effortlessly
■ Rationale for the chosen solution is well elaborated and can be understood effortlessly
■ Formatting is neat and clean
Code Quality and Skills (30%) ■ Variable/function names are arbitrary and inconsistent
■ Comments are missing or superficial
■ Abstraction is missing or superficial
■ Unnecessary code is written instead of using suitable packages
■ Programming structures are not used or are heavily under utilised
■ Referenced code is used without citation
■ Variable/function names show some meaning and consistency
■ Comments are present but minimally aid in understanding
■ Some abstraction is implemented but with significant lapses
■ Some unnecessary code is written but suitable packages are used occasionally
■ Programming structures are used but still under utilised
■ Referenced code is highlighted but not cited
■ Variable/function names are generally aptly named and consistent
■ Comments are generally present and aid understanding
■ Abstraction is implemented with some lapses
■ Suitable packages are used with some lapses
■ Suitable programming structures are used with some lapses
■ Referenced code is highlighted and cited appropriately
■ Variable/function names are mostly aptly named and consistent
■ Comments are mostly present and support understanding
■ Abstraction is mostly implemented with minor lapses
■ Suitable packages are mostly used with minor lapses
■ Suitable programming structures are used with minor lapses
■ Referenced code is highlighted and cited appropriately with some explanations
■ Variable/function names are aptly named and consistent
■ Comments are strategically used to enhance understanding
■ Abstraction is implemented effectively with no lapses
■ Suitable packages are used effectively with no lapses
■ Suitable programming structures are used effectively with no lapses
■ Referenced code is highlighted and cited appropriately with clear explanations
Creativity – Extending Beyond the Knowledge Base (10%) ■ Replicates basic examples with no innovation ■ Uses standard approaches with little innovation ■ Applies standard approaches in new context ■ Creates cleaner solutions using Pythonic idioms or options ■ Creates cleaner and impactful solutions using Pythonic idioms or options
Table 3: Rubrics for Mini-Project (NOTEBOOK)

Mini-Project Notebook Additional Recommendations

■ Use numpy vectorised operations instead of loops ■ Use list comprehensions or built-in functions over manual looping ■ Abstract repeated code into functions or loops ■ Handle potential edge cases in your code ■ Cite and explain any external or borrowed code
■ Import all packages/modules at the start of your notebook instead of scattering them throughout your code ■ Avoid hard coding values and paths ■ Remove unused or unnecessary code and documentation ■ Use error handling in your code ■ Include concise docstring for every function you write
■ Use descriptive and meaningful names for variables and functions ■ Avoid excessive and unnecessary comments ■ Proofread documentations for clarity and consistency ■ Avoid redefining variables or functions unnecessarily ■ Structure your submission folder by separating your code and placing data and output files in dedicated subfolders
■ Choose appropriate plot types and axis scaling ■ Label all axes, titles, and legends on your plots ■ Include units in axis labels ■ Avoid cluttered plots ■ Add annotations to your plots to highlight key results
■ Justify all key parameter choices ■ Discuss assumptions and limitations ■ Provide scientific insights into your results ■ Discuss interpretation and implications of your results ■ Specify and document random seeds for scientific reproducibility
Table 4: Mini-Project (NOTEBOOK) Additional Recommendations

3 Submitting work

  • You must submit a working Jupyter Notebook and your presentation slides to the relevant folders on CANVAS by the deadline.
  • Your notebook should be in a state that anyone can run. This means that you must not hardcode any paths and that the paths should be OS agnostic.
  • Please also submit any additional files necessary to run the notebook.
Back to top