Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due
Module title |
Numerical computation |
Module code |
COMP/XJCO2421 |
Assignment title |
Final coursework |
Assignment type and description |
Coursework. Exploring methods for solving nonlinear equations and differential equations. |
Rationale |
Testing the understanding of learning outcomes in practical situation |
Word limit and guidance
|
Suggested word limit given in each section totalling 800 words |
Weighting |
80% |
Submission deadline |
2pm, Wed 18 Dec, 2024 |
Submission method
|
Gradescope |
Feedback provision |
Individual feedback in gradescope |
Learning outcomes assessed
|
- Use, data-based arguments to justfy choosing a computational algorithm appropriately, accounting for issues of accuracy, reliability and efficiency;
- Understand how to assess/measure the error in a numerical algorithm and be familiar with how such errors are controlled;
- Implement simple numerical algorithms accurately and present results in a variety of forms.
|
Module lead |
Thomas Ranner |
Other Staff contact |
(COMP) Yongxing Wang, (XJCO) Zhiguo Long |
1. Assignment guidance
In this coursework, you will use a combination of your implementations and software libraries to explore different numerical schemes and you will analyse the methods and results.
2. Assessment tasks
In this coursework, you will be writing a report for your boss at BigNumComp Inc helping them choose a numerical method. You should assume she has the knowledge of a second year undergraduate Computer Science student at the University of Leeds.
Your boss wants to find effective numerical methods for working our how fast a firework should be fired so that it explodes at a certain height.
First, the firework is modelled using a differential equation in terms of its height y(t) and velocity v(t), as shown in Fig. 1:
Here a is the unknown initial upward velocity of the firework. We denote by y(t; a) the solution of the differential equation with initial velocity a.
The firework explodes after a fixed time T. The problem is to determine the value a which would mean the firework explodes at a height H. Equivalently, we can say this mathematically as finding the value a which solves the nonlinear equation
F(a) = y(T; a) − H = 0.
Your boss, helpfully, suggests two test cases for you to consider:
Task
You recognise this problem as being solvable using some methods you have seen in the course and know there are other methods available too. In your preliminary research you find a company internal solver for systems of differential equations (attached as solvers.py). However, your company does not currently have anything useful for nonlinear equations.
You will solve both parts of the task using three methods from the solvers.py library and implement the bisection and secant methods for part (b). You will analyse the results using techniques from the module and make a recommendation about which combination gives the best results and how to best choose parameters.
You should include all the sections in the template in your report. There is guidance of what to include in each section and a guidance word limit for each section too. Code, tables and equations do not count in the word limit. The word limit is only guidance and no penalties will be introduced for going over the limit. You should aim to write less than the word count to ensure your writing is concise and understandable to your audience.
You should submit a jupyter notebook including all computations as your report.
You should write in full sentences throughout to guide the reader through what you are doing. There is no need to include the file solvers.py in your solution. You should write text in Markdown blocks and include all code for the implementation and generating results in Code blocks. You should submit your evaluated jupyter notebook. Your final submission should be less than 1MB.
Library documentation
• "Heun"• "Ralston"• "Van der Houwen"• "SSPRK3"• "Runge-Kutta"• "3/8-rule"• "Ralston-4".
Sample code
Download the file solver.py and place it in the same folder as your code.
An example for solving the a single differential equation:
Solution template
(a) Implementation. First, write code to be able to solve the differential equationsusing the three methods you have chosen for arbitrary initial conditions (y(t =0), v(t = 0)), time step and stopping time (dt, T) and model parameters (m, k, g).
Then, write code to solve the nonlinear problem for arbitrary H and T, your three choices of differential equation solver and all the other differential equation solverparameters (y(t = 0), dt, m, k, g). [100 words]
3. General guidance and study support
Examples of how to approach each aspect of this coursework is given in lectures and using the online notes.
Further support for this assessment is given through the MS Class Team. Details of further support sessions will be given closer to the deadline.
4. Assessment criteria and marking process
Your work will be assessed on your code implementation, your results and their pre sentation, your analysis of the method and results, and your writing quality. Work will be marked as a final assessment for this module so your mark will only be given back as part of your final grade.
The quality of written English will be assessed in this work - further details in the Rubric below. As a minimum, you must ensure:
- Paragraphs are used
- There are links between and within paragraphs although these may be ineffective at times
- There are (at least) attempts at referencing
- Word choice and grammar do not seriously undermine the meaning and compre hensibility of the argument
- Word choice and grammar are generally appropriate to an academic text
These are pass/ fail criteria. So irrespective of marks awarded elsewhere, if you do not meet these criteria you will fail overall.
6. Submission requirements
7. Academic misconduct and plagiarism
- Leeds students are part of an academic community that shares ideas and develops new ones.
- You need to learn how to work with others, how to interpret and present other people’s ideas, and how to produce your own independent academic work. It is essential that you can distinguish between other people’s work and your own, and correctly acknowledge other people’s work.
- All students new to the University are expected to complete an online Academic Integrity tutorial and test, and all Leeds students should ensure that they are aware of the principles of Academic integrity.
- When you submit work for assessment it is expected that it will meet the Univer sity’s academic integrity standards.
- If you do not understand what these standards are, or how they apply to your work, then please ask the module teaching staff for further guidance.
By submitting this assignment you are confirming that the work is a true expression of your own work and ideas and that you have given credit to others where their work has contributed to yours.
Marks |
Description |
9-10 |
Algorithm(s) implemented accurately and efficiently. Professional quality code (Uniform formatting, unit tests where appropriate). No efficiency problems. Informative comments. All test cases implemented.
|
7-8 |
Algorithm(s) implemented with no errors. Some efficiency problems. Helpful comments throughout. All test cases implemented.
|
6-7 |
Algorithm(s) implemented with no errors. Some helpful comments. All test cases implemented.
|
5-6 |
Algorithm(s) implemented with minor errors. Some comments. All test cases implemented.
|
0-3 |
Serious issues with code implementation resulting in inaccurate results. |
Presentation of results (15 marks)
Marks |
Description |
13-15 |
Results in a variety of appropriate formats (i.e. tables, plots, etc). Results and extensive additional useful information shown. Plots and tables labelled accurately. All test cases shown.
|
10-12 |
Results in a variety of appropriate formats (i.e. tables, plots, etc). Results and additional useful information shown. Plots and tables labelled accurately. All test cases shown.
|
7-9 |
Results in a variety of appropriate formats (i.e. tables, plots, etc). Results accurately shown. All test cases shown.
|
4-6 |
Attempts are carefully formatting results suitable for technical audience.
Some errors in plotting.
|
0-3 |
Basic or very limited results shared. |
Marks |
Description |
17-20 |
Critical explanations using extensive additional useful information and additional computational experiments making reference to appropriate external literature covering all methods |
13-16 |
Critical explanations using extensive additional useful information covering all methods
|
9-12 |
Descriptive explanations using additional useful information of suggested computational experiments covering all methods |
5-8 |
Descriptive explanations based purely on suggested experiments covering all methods |
0-4 |
No or very limited results explained |
Writing (5 marks)
Marks |
Description |
5 |
Outstanding structure and clarity of writing, all in a suitable language. No errors.
|
4 |
Clear structure and writing in suitable language. Some minor errors. |
3 |
Well structured with mostly clear writing in suitable language. Some errors. |
2 |
Structure could have been improved. Some text required careful reading. Language not appropriate for technical report. |
1 |
Poor presentation and structure with unclear or confusion descriptions. Many errors. |