2019/20 Undergraduate Module Catalogue
NATS2100 Introduction to Scientific Programming
10 creditsClass Size: 80
Module manager: Dr Stefan Auer
Taught: Semester 1 View Timetable
Year running 2019/20
This module is mutually exclusive with
|CHEM3212||Big Data, Big Science|
This module is not approved as a discovery module
Module summaryThe module will lay the foundations to understand and use one of the most common programming languages, provide an overview of high performance computing in natural sciences, and allows to create and apply Python to solve a research problem in their area.
ObjectivesTo introduce the student to the Python computer programming language which is important in both academic research and industry.
Give the student an overview and understanding of advanced computational applications and high performance computing across natural sciences, including molecular modelling, big data analytics, artificial intelligence and machine learning, computational tools for lab experiments.
Development of programming skills in Python to solve a computational problem in their research area.
Good understanding of the programming language Python
The ability to use Python to write a program that can solve scientific problem
Overview/understanding of high performance computing and computational research in natural sciences
Students will be introduced to computer programming as a general concept, the concepts of scalar numeric, Boolean and string data types, and the use of variables to store data. The Python collection data types – lists, dictionaries and arrays for storing sequences of data will be introduced. The use of common programming statements and constructions – conditional statements, loops and the calling of pre-defined functions will be taught. A very basic introduction to exception handling in Python will be covered. Input and output statements to both console and file will be introduced. Students will be given an introduction to writing functions and storing functions in modules for reuse. The commonly used NumPy, SciPy and Matplotlib libraries will be briefly introduced and students will be shown how to generate simple x-y plots.
Introduce Jupyter to create worksheets, run Python and write reports.
Introduction to programming skills useful across the natural sciences that will provide a foundation to progress into more advanced topics in scientific computing.
Application of what they learned to create and solve a research problem in their area.
|Delivery type||Number||Length hours||Student hours|
|Private study hours||80.00|
|Total Contact hours||20.00|
|Total hours (100hr per 10 credits)||100.00|
Private studyLearn course material, perform tasks, create and solve a computational problem in their research area.
Students requiring to resit the module would be given a further attempt to complete the tasks and project over the summer.
Opportunities for Formative FeedbackThe workshop sessions will be based in computer clusters and involve guide to solutions to the project with a member of staff enabling feedback on the approach being taken and any technical issues.
At the beginning of most workshops, there will also be a short teaching session, presentation to introduce the course material, and the students can ask questions throughout the workshop.
Methods of assessment
|Assessment type||Notes||% of formal assessment|
|Computer Exercise||Computer tasks||50.00|
|Total percentage (Assessment Coursework)||100.00|
Normally resits will be assessed by the same methodology as the first attempt, unless otherwise stated
Reading listThe reading list is available from the Library website
Last updated: 30/04/2019
Browse Other Catalogues
- Undergraduate module catalogue
- Taught Postgraduate module catalogue
- Undergraduate programme catalogue
- Taught Postgraduate programme catalogue
Errors, omissions, failed links etc should be notified to the Catalogue Team.PROD