COMP7230 – Introduction to Programming for Data Scientists Assignment 2
Overview and Objectives
This assignment assesses some of the topics we have covered more recently in the course. There is a reduced emphasis on actual coding and a greater emphasis on understanding, using and modifying existing code in order to solve a particular problem.
You are given a (more-or-less) working piece of software, that simulates a pandemic outbreak in Australia. The pandemic could be anything from the current COVID-19 outbreak to a zombie apocalypse. A similar approach could be used to model memes spreading out across the internet, news spreading over Twitter or animals spreading in a new habitat.
This software is much more complex than what you are expected to be able to create on your own in this course, however it is a good example of the type of thing you might be able to find on the Internet and use to solve a problem. As such, your tasks are to refactor and modify the software, to improve the documentation and add logging functionality. Finally, you are asked to use the software to answer two questions about where to target a response to the pandemic.
Please also note, that while this software is (hopefully) useful for education purposes, it isn’t actually a particularly good model of the current pandemic. It is done at the wrong resolution and doesn’t consider many factors such as lock-downs, international arrivals and so forth.
Submission will be done using Wattle. Click on the link Assignment 2 submission (to be made available) in the assessment section of Wattle to upload your file. You may submit as many versions of the assignment as you wish. We will mark the version present on the due date, or the first submission after the due date if there is no submission on the due date.
Deadlines, Extensions and Late Submissions
Students will only be granted an extension on the submission deadline in extenuating circumstances, as defined by official ANU policy. If you think you have grounds for an extension, you should notify the course convener as soon as possible and provide written evidence in support of your case (such as a medical certificate). The course convener will then decide whether to grant an extension and inform you as soon as practical.
Late submissions without extension will incur a 5% penalty per business day. No submissions will be accepted more than two weeks late or after marks have been released. Given the need to finalise the course marks in order to process enrolment in the second half of the GCDE program, we aim to have the marks returned well before the two week deadline.
Once marks are released, you will have two weeks in which to question your mark. After this period has elapsed, your mark will be considered final and no further changes will be made. If you ask for a re-mark, your assignment will be re-marked entirely, and your mark may go UP or DOWN as a result.
No group work is permitted for the assignment. We do encourage you to discuss your work, but we expect you to do the assignment work by yourself. If you are unsure about what constitutes plagiarism, please read through the ANU Academic Honesty Policy.
If you do include ideas or material from other sources, then you clearly have to make attribution. For example, by providing a reference to the material or source as a comment in your code. We do not require a specific referencing format, as long as you are consistent and your references allow us to find the source, should we need to while we are marking your assignment.
Any student may be asked to explain any part of their submission and if unable to satisfactorily do so, marks may be adjusted or further action taken in accordance with the ANU academic honesty policy.
The assignment consists of two python files:
and the following helper files:
You should download all these files to the same location, before starting to answer the assignment questions.
This section provides a basic overview of the approach that the software takes to simulating a pandemic.
Australia (or any other region if the data and map files are changed) is modeled as a graph. Major population centres are captured as instances of the City class. Connections between cities (roads, railways, etc.) are captured as neighbours&
For solution, connect with our online professionals.