Module overview
This module aims to teach students the fundamentals of writing structured computer programs, applicable using any high level programming language. However, students will be shown the special features of Python that makes this language especially useful for Data Science and Decision Science. The module uses software engineering techniques to enforce the importance of good programming manners and will review traditional computing algorithm analysis, design and implementation using Python.
Aims and Objectives
Learning Outcomes
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- You will have developed skills in technical report writing.
- You will have skills in writing structured computer programs, applicable using any high level programming language.
- You will have skills in programming according to good practice, applicable in all high level languages.
Transferable and Generic Skills
Having successfully completed this module you will be able to:
- You will have your own library of algorithms for use in other modules or in project work
- You will be able to carry out analysis, design and implementation of algorithms using Python.
- You will understand the usage of specific Python libraries for numerical computation like numpy.
- You will understand the usage of specific Python libraries for data analysis like pandas.
- Having successfully completed this module, you will have developed a working facility of using Python.
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- You will have an understanding of traditional computing algorithm analysis, design and implementation using Python.
- Having successfully completed this module, you will have knowledge and understanding of the fundamentals of writing structured computer programs, applicable to using any high level programming language.
Syllabus
No prior programming experience is required. The module will cover the basic principles of programming in a high level language. The main focus will, however, be in developing a working facility of Python. The module will cover a range of the most commonly used techniques and algorithms including technical calculations as well as data manipulation, graphics, file handling, and the use of package extensions such as numpy for numerical computations as well as pandas for data analysis, data structures, and time series. Practical exercises are used to reinforce the ideas taught in the module, which will enable the students to build up their own library of algorithms for use in other modules or in project work.
Learning and Teaching
Teaching and learning methods
The module will be taught using a mixture of lectures and computer workshops: 36 hours of computer
workshops; 10 hours of lectures.
Type | Hours |
---|---|
Independent Study | 104 |
Teaching | 46 |
Total study time | 150 |
Resources & Reading list
Textbooks
DE Knuth. The Art of Computer Programming (Volume 1)..
Phuong Vothihong, Martin Czygan, Ivan Idris, Magnus Vilhelm Persson & Luiz Felipe Martins. Python: End to End Data Analysis. Packt Publishing.
Benjamin Baka. Python Data Structures and Algorithms.. Packt Publishing.
Assessment
Summative
This is how we’ll formally assess what you have learned in this module.
Method | Percentage contribution |
---|---|
Assignment | 20% |
Coursework | 80% |
Referral
This is how we’ll assess you if you don’t meet the criteria to pass this module.
Method | Percentage contribution |
---|---|
Coursework | 100% |
Repeat Information
Repeat type: Internal & External