Study Group ISCs (UK & Europe) Assignment Brief
Partner HEI | Durham University |
ISC/IC | Durham University ISC |
Programme/Pathway | SCEN – PMP Science, Engineering and Mathematics |
Module Title | Introduction to Scientific Computing (35 credit) |
Assignment details
Assessment components | Marks available | Component weighting | Learning outcomes |
A2 – Project 1report (2000 words) | 100 % | 40 % | 3, 6, 9–12 |
In order to pass the module, students must achieve a minimum of 50 % in all summative assessments. Resit and reattempt opportunities are available for all summative assessment. Progression will be based on the achievement of the agreed progression grade.
Learning outcomes being assessed
Knowledge and understanding
3 explain the key theoretical concepts and practical aspects of using numerical methods to
solve scientific and mathematical problems
Subject-specific
6 design and develop fast and efficient algorithms using C and Python to solve real-world
scientific and mathematical problems using numerical methods
Key skills and employability skill
9 use numbers in appropriate engineering and scientific formats when solving numerical
problems
10 communicate effectively in writing using appropriate vocabulary and academic standards
11 employ appropriate computer skills to produce technical documents to appropriate scientific/engineering academic standards (e.g., IEEE standards, LaTeX Typesetting)
12 develop a range of effective interpersonal and problem-solving skills
1
SCEN – PMP Science, Engineering and Mathematics Introduction to Scientific Computing (35 credit)
Assignment task
Project 1
Numerical methods to solve ODE systems using C and Python
Description
In this project, you will be challenged to identify a scientific and mathematical problem and apply your knowledge of numerical techniques along with your C and Python programming skills to develop a solution. You will also have the opportunity to reflect on the outcomes of your work, the problem-solving process and the limitations of the project.
You will be required to communicate your findings in the form of an academically rigorous technical report using LaTeX in Overleaf following the template provided and general IEEE standards.
It is expected that this project will be carried out over the last four weeks of term, and you will be expected to organise your workshop and personal study time to complete your work within that period.
Tasks and guidance
It is expected that you will carry out the following general activities to complete your project. Further guidance on writing the technical report is provided in the Structure and content section of this assessment brief.
1. Choose and introduce a system to investigate
Choose a suitable scientific and mathematical first or second-order initial-value problem to investigate. You can choose from the list of example ODE-based systems provided in Appendix A or choose one more closely related to your field of study. You must agree your choice with your tutor as part of Formative Assessment F3.
2. Explain the background theory of using numerical methods to solve ODEs
Explain and demonstrate the theoretical concepts and practical aspects of general numerical methods of solving first-order and second-order ODEs for initial-value problems. At a basic level, the methods should include the Euler method and at least one improvement on the Euler method such as Heun’s method or the midpoint method. At a higher level, this could include a description of the Runge-Kutta methods, specifically the classical fourth-order RK method (RK4). You may use Jupyter Notebooks or individual C and Python code to demonstrate the general principles of each numerical method.
3. Implement a specific numerical solution to your problem using C and Python code
Develop fast and efficient algorithms and C and Python code to find solutions to the ODE
system you have chosen to investigate. The code you produce must be able to run on the
Linux server in the computer science lab D104. You must use Jupyter Lab Notebooks to
demonstrate code and present output, but can also produce full, user-friendly standalone
C and Python code files. All Jupyter files and code files must be submitted to the specified
Turnitin portal, and will be downloaded and tested by the marker to verify their operation
and output before grades can be awarded.
2
SCEN – PMP Science, Engineering and Mathematics Introduction to Scientific Computing (35 credit)
4. Present and discuss your results
Clearly present the results of your numerical solution and discuss your results in relation to your original problem. You must clearly identify the initial problem you wished to solve, and whether your methods and code have resulted in a valid solution. Furthermore, you should evaluate your algorithms and code in terms of accuracy, speed and efficiency. You should also reflect on the outcomes of your work, the problem-solving process and the limitations of your project.
5. Communicate your work effectively
Use the LaTeX template provided in Overleaf to write a technical report covering each of the tasks above. Follow the guidance in the next section when writing your report. Submit the PDF of your report to the specified Turnitin portal.
Structure and content of the project report
The project report should be typeset using the LaTeX template provided in Overleaf. The word count should be 2000 words. The following is a list of the required sections with suggested word counts and guidance on the content of each section. Look at grading criteria for more idea of the expected depth of content for each section.
Use the features in Overleaf to determine your word count for each of your sections. Try to stick to the word count for each section as closely as possible: the word limit is designed to stop you from adding too much irrelevant detail; your grade for each section will be affected if your are significantly under or over the specified word count.
Do not use enumerated lists e.g. 1 (a) in your report: just use clear sections, subsections and paragraphs. Make sure your paragraphs have a clear, appropriate topic sentence and are of an appropriate length – not too short and not too long. In Overleaf, just leave a blank line between paragraphs: the spacing will be automatic.
Do not write your report in a word processor such as Microsoft Word and then try to copy/paste into Overleaf: this will result in errors. Just type directly into Overleaf. Your tutor can provide extra support with using Overleaf/LaTeX.
1. Introduction (300)
Introduce your chosen ODE problem to solve. Try to follow a standard three-stage structure: general context; specific topic; specific aims of the project. You must clearly and accurately show and explain the equations for your chosen problem.
2. Background theory (500)
Explain the general underlying theory of solving ODEs using numerical methods. This is where you can demonstrate your level of knowledge and understanding of the key theories and methods. Diagrams are often useful to illustrated numerical methods. Remember to show all equations clearly and accurately. Refer to the grading criteria for some idea of the depth required for this section.
3. Numerical solution (500)
This is the main programming task. The programming activities should be carried out in the workshop sessions (second lesson of the week) using the computer science server and workstations as well as in your own time using your Linux VM.
3
SCEN – PMP Science, Engineering and Mathematics Introduction to Scientific Computing (35 credit)
Remember to explain which numerical methods you are using and show the equations for your specific numerical solution in your report. Your solutions should be developed and presented as Jupyter Lab notebooks. Make sure your final notebooks work on the computer science lab servers. Remember to include some relevant markdown documentation cells and comments within your notebooks, not just code. Use this section of the report to explain your methods and any important choices you made when developing your code. Include PDF versions of your notebooks in an appendix.
4. Results and discussion (500)
Final graphs obtained in your Jupyter notebooks should be included as figures in your report. Use tables to show summaries of final numerical results in an appropriate format.
5. Conclusion (200)
Try to follow the standard three-stage structure used in your introduction but in reverse. At the end of your conclusion, you could make some recommendations for future studies, experiments or work. Research the RERUN method of writing a conclusion.
6. References
This section will be produced automatically by the LaTeX document in the appropriate IEEE style if you use the \cite{} command within your report and accompanying entries in your references.bib file. Try to cite relevant text books and articles to support your work. You are more likely to use internet sources for this project, as it refer to technology which is always changing at a fast pace. Try to evaluate the credibility of your sources before using them, as discussed in class.
7. Appendices
This section will be produced automatically by the LaTeX document if you upload your code file to your Overleaf project and use the correct \lstinputlisting command to include your code file. Make sure you have an appropriate title for each appendix section, and an appropriate caption for each code listing or console output listing. Follow the guidance provided in class.
4
SCEN – PMP Science, Engineering and Mathematics Introduction to Scientific Computing (35 credit)
Assessment criteria
A separate, more readable copy of the grading rubric will be provided on the VLE for this module.
P_ISCP35: Assessment Criteria for A2-Project 1 – Numerical solutions to ODEs
PROGRESSION+ PROGRESSION PASS FAIL
Aspect Weighting Advanced+
100%-90%
(outstanding)
Advanced-
89%-80%
(excellent)
Effective+
79%-73%
(very good)
Effective-
72%-65%
(good)
Pass+
64%-58%
(sound)
Pass-
57%-50%
(acceptable)
Fail+
49%-25%
(narrow fail)
Fail-
24%-0%
(unacceptable)
Introduction:
general context,
specific focus,
aims and ODEs
15% Very appropriate context with clear and
logical movement to specific topic.
Very clear and relevant aims.
Clear, appropriate and well-presented
chosen ODEs for this project.
Context is mostly appropriate and may
lack clarity or depth. The topic and aims
are mostly appropriate and may lack
clarity or be too general. The chosen
ODEs are appropriate but may lack
clarity in both explanation and
presentation of equations.
Context only partially appropriate and/or
maybe be unclear. The specific topic and
aims are very limited, missing or very
unclear. Only a very limited ability to
show appropriate ODEs.
Fails to meet the required standards.
>25% could pass with improvements to
some sections
<25% not enough work to warrant resit
Background theory:
relevant theory,
understanding of topic
25% Demonstrates excellent and clear K&U of
underlying theory of numerical methods
to solve ODEs, including advanced
methods such as Huen’s and/or RK4.
Successfully cites some appropriate
sources.
Demonstrates good K&U, but may lack
depth and clarity in places. Relies on
basic methods more than advanced
methods. Only partially successful when
citing appropriate sources.
Demonstrates some K&U, but lacking
relevance or clarity and covers only very
basic theory. Very limited or no success
in citing appropriate sources.
Fails to meet the required standards.
>25% could pass with improvements to
some sections
<25% not enough work to warrant resit
Numerical solution:
C and Python code
advanced methods
use of libraries e.g. GSL
25% Demonstrates excellent and independent
programming skills in both C and Python
to develop a credible solution to the
ODEs for this project using advanced
features and libraries. Implementation is
clearly and accurately documented.
Demonstrates very good programming
skills in C and Python to develop a
mostly credible solution to the ODEs for
this project, but may be lacking in one
language and may only use basic
features and may have issues.
Documentation may be lacking in depth
and clarity.
Demonstrates some programming skills
in either Python or C to develop a partial
solution to the ODEs for this project using
only basic methods. Documentation
maybe very limited or missing.
Fails to meet the required standards.
>25% could pass with improvements to
some sections
<25% not enough work to warrant resit
Results and discussion:
accurate and appropriate
well presented
critical evaluation
25% Excellent presentation of accurate and
appropriate results with clear
identification and critical evaluation of
relevant issues in relation to theory and
practice.
Creates and presents mostly appropriate
results. Mostly relevant issues
discussed . Evaluation is more superficial
than critical in relation to theory or may
be limited in depth.
Creates some relevant results but may
be poorly presented or lacking in clarity.
Only very limited success in identifying
relevant issues. Very limited evaluation in
relation to theory.
Fails to meet the required standards.
>25% could pass with improvements to
some sections
<25% not enough work to warrant resit
Professional
communication:
use of LaTeX templates,
IEEE standards,
logical structure and clarity,
accuracy of language
10% Excellent use of LaTeX template.
Appropriate academic structure.
Accurate and professional presentation
of work to standards. Clear, logical
development of ideas with appropriate
paragraphing. Language is accurate and
appropriate.
Good use of LaTeX template with minor
issues. Mostly appropriate structure.
Mostly accurate and professional
presentation of work to standards with
minor issues. Mostly clear, logical
development of ideas with appropriate
paragraphing. Language is mostly
accurate and appropriate.
Limited success in using LaTeX template
provided without issues. Most parts of the
work have issues with presentation
standards. Ideas and paragraphs lack
clarity and organisation. Inaccuracies in
language can cause problems for the
reader.
Fails to meet the required standards.
>25% could pass with improvements to
some sections
<25% not enough work to warrant resit
v24.05
5
SCEN – PMP Science, Engineering and Mathematics Introduction to Scientific Computing (35 credit)
Submission of the assignment
VLE submission deadline
You must submit your PDF report and ZIP file of your Jupyter notebooks to the VLE no later than the end of week 16 by 13:00 UK time; the specific submission date will be provided on the VLE page for this module..
VLE upload submission instructions
Create a PDF of your Overleaf LaTeX report and a ZIP file of your original Jupyter notebooks and rename your files in the format
GROUP_P_ISC35_A2_abcd12_20123456
replacing GROUP with your group code, e.g. SPS, JPS or JP2S, 20123456 with your student ID number and abcd12 with your VLE user name. Please ensure your files are uploaded before the deadline to avoid late penalties and take a screen shot or print a copy of your digital receipt. The latest submission time of both files will be taken as the submission time, which means if either one of your files is late, your entire submission will be recorded as being late.
Plagiarism and collusion
It is very important that any work you present as yours must in fact be your own work, and not taken from another place or done by another person. Cheating, collusion (working together with another person on an assessment which is not intended to be collaborative) and copying from unacknowledged sources (plagiarism) are all serious offences and must be avoided.
Academic impropriety
Academic impropriety is a term that covers cheating, attempts to cheat, plagiarism, collusion and any other attempts to gain an unfair advantage in assessments. Assessments include all forms of written work, presentations and all forms of examination. Academic impropriety, in any form, is a serious offence and the penalties imposed would reflect this, although drawing a distinction between minor and major instances of misconduct.
Further details
For further details on how to complete the front cover of your assignment, please check the relevant module VLE page under Assessment.
For further details on academic impropriety and plagiarism, please check the relevant module VLE page under Assessment.
For full details of the Personal Circumstances, Appeals and Academic Impropriety processes, please refer to pages 59–74 of the Student Handbook (available on the VLE Virtual Reception).
6
SCEN – PMP Science, Engineering and Mathematics Introduction to Scientific Computing (35 credit)
Appendices
A Example ODE systems and problems
The following are some examples of systems which can be modelled using ODEs. More details about each system can be provided by your tutor when discussing your chosen system during formative F3.
A.1 Population: predicted growth
This simple first-order system can be used to model population growth. The problem could be to predict the population growth in a specific area given certain environmental factors.
A.2 Mass-spring-damper: train suspension
This second-order oscillatory system is commonly used to model the behaviour of vehicle suspension systems. For example, it could be used to determine the optimum damping required for a large mass transport vehicle such as a high-speed train.
A.3 Pendulum with drag: helicopter slung load
This second-order oscillatory system can be used to model a slung load such as a helicopter transporting a heavy load. An example problem would be to determine the optimum forward velocity of the helicopter such that if it the forward velocity suddenly came to zero, the mass would not swing too wildly.
A.4 Free-falling body with parachute: air-drop load
This simple second-order system can be used to model a set of large linked loads being airdropped from an aeroplane. The problem could be to determine the optimum height and parachute parameters to safely drop the linked loads in the shortest time.
A.5 Free-falling body with elastic rope: bungee jumpers
This second-order oscillatory system would model the behaviour of a jumper connected to a fixed platform using an elastic bungee rope. A typical problem to solve would be to determine the optimum parameters of the rope for a set of linked jumpers to provide a thrilling but safe experience.
A.6 Projectile: launch velocity
This second-order system could be used to model the launching of a space rocket or other projectile into orbit. The problem could be to determine the initial trajectory and velocity required to achieve a low-earth orbit.
A.7 The SIR model for the spread of disease: modelling local virus outbreaks
This set of simple first-order ODEs can be used to model the spread of a disease in a population as well as the infection and recovery rates. This could be used to model the outbreak of a virus in a small localised population such as in an educational establishment and to determine best policies to minimise the number of infections.
7
SCEN – PMP Science, Engineering and Mathematics Introduction to Scientific Computing (35 credit)
A.8 Valuing an annuity paying continuous cash flow
One common application of simple first-order ODEs in finance is in modelling continuous compounding and financial plans that pay a continuous flow of cash. The problem could be to determine the optimum time a teacher should retire.