|Assessment Type||Assessment length / details||Proportion|
|Semester Assessment||5 Practical worksheets (Demonstrator sign-off or marking of submitted work)||30%|
|Semester Exam||3 Hours Online, open book exam||70%|
|Supplementary Exam||3 Hours Online, open book exam||100%|
On successful completion of this module students should be able to:
Plan and execute a computational scientific experiment.
Demonstrate an ability to write small programs in Python
Demonstrate an understanding of the potential biases and sources of error in science.
Analyse a data set (process data, apply appropriate tests, calculate summary statistics, plot results).
This module introduces students to the Python programming language and to the use of Python and its library modules for processing scientific data. The module also covers the principles of Scientific Method: the basic structure of a scientific experiment, making and testing hypotheses, and issues such as achieving randomness and sources of sample bias. This in turn leads to using Python's advanced library modules to apply statistics and hypothesis testing to scientific datasets.
The module introduces the student to Python and uses Python as the programming language to solve various data analysis-related tasks. This leads to the study of more advanced scientific data analysis principles and corresponding programming techniques.
Python's basic data structures: List, tuples, dictionaries and sets.
Functions: Function definition, calling, parameter passing and value return.
The NumPy module: Data arrays and vectorised operations
Organising code: Creating and using modules. Generating documentation. Handling exceptions.
File handling: Reading and writing text and csv data files.
Plotting: Manipulating data and plotting results. Use of the matplotlib module.
The Scientific Method: Structure of a scientific investigation. Occam's razor. Hypotheses. Controls. Correlation vs causation. Falsification. Controlled and double blind trials.
Introduction to the scipy and pandas modules: Working with Dataframes and basic statistics
Randomness: Sources of randomness and random number generators. Random distributions. Random sampling.
Descriptive statistics: Central tendency and spread. Discrete and continuous measurements.
Hypothesis testing: T-test, Confidence interval, P-value, Chi-square test.
Linear Correlation and Regression.
Sampling: Biases. Bootstrap. Monte Carlo methods.
Application to real data.
Review and revision classes.
|Skills Type||Skills details|
|Application of Number||Inherent in subject.|
|Improving own Learning and Performance||From feedback (automatic feedback from computer and in-practical feedback from demonstrators).|
|Information Technology||Inherent in subject.|
|Personal Development and Career planning||No, though the skills in this module are highly in demand from employers.|
|Problem solving||Problems will need to be overcome in order to develop solutions that behave and appear as intended.|
|Research skills||Using a Computer. Searching the language and library documentation.|
|Subject Specific Skills||Programming skills, debugging skills, statistics skills, data analysis skills.|
This module is at CQFW Level 5