This module provides students with advanced programming concepts such as file manipulation, event driven programming, multi-threaded programming and the use of packages and documentation.
Pre-requisite modules
Co-requisite modules
- None
Prohibited combinations
- None
Occurrence | Teaching period |
---|---|
A | Online Teaching Period 2 2024-25 |
This module aims to build on the concepts of programming from the Algorithms and Data Structure module and provide students with advanced programming concepts such as file manipulation, event driven programming, multithreaded programming and the use of packages and documentation. The module also explores how to program for big data analysis, and discusses the social context of computing: social impact of computers and the Internet; professionalism, codes of ethics, and responsible conduct; copyrights, intellectual property, and software piracy.
Be able to
Demonstrate critical understanding of the theory and application of advanced programming techniques
Design and implement programs for real world problems
Communicate design decisions for the selection, storage and manipulation of data
Critically evaluate the legal and ethical impact of software developments within real world contexts
Data types, data collections, decision and control Structures
Event driven programming
Multithreaded programming
Data storage and processing
Statistics, plotting and visualization
Regression, clustering
Legal and ethical issues
Task | Length | % of module mark |
---|---|---|
Essay/coursework Coursework |
N/A | 100 |
None
Task | Length | % of module mark |
---|---|---|
Essay/coursework Coursework |
N/A | 100 |
Feedback will be provided in line with University policy.
McKinney, Wes: Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, 2nd edition, O'Reilly Media 2017.