MA407 Half Unit
Algorithms and Computation
This information is for the 2018/19 session.
Dr Konrad Swanepoel
This course is available on the MSc in Applicable Mathematics, MSc in Data Science, MSc in Operations Research & Analytics, MSc in Statistics, MSc in Statistics (Financial Statistics), MSc in Statistics (Financial Statistics) (Research) and MSc in Statistics (Research). This course is available with permission as an outside option to students on other programmes where regulations permit.
The course is compulsory for students on the MSc Applicable Mathematics who are not taking MA421 Advanced Algorithms; it is optional for students on the MSc Applicable Mathematics who take the advanced course.
Good general knowledge of mathematics, including familiarity with abstract concepts. A willingness to cope with technical details of computer usage, and with a rapid introduction to programming.
Introduction to programming in Java. Introduction to the theory of algorithms: running time and correctness of an algorithm. Recursion. Data structures: arrays, linked lists, stacks, queues, binary search trees. Sorting algorithms. Greedy algorithms. Dynamic programming. Inheritance and Generics in Java.
20 hours of lectures, 20 hours of seminars, 9 hours of workshops and 10 hours of help sessions in the MT. 2 hours of lectures in the ST.
Workshops will be held before the start of MT.
Weekly exercises are set and marked. Many of these will require implementation of programming exercises in Java.
T H Cormen, C E Leiserson, R L Rivest and C Stein, Introduction to Algorithms; R Sedgewick, K Wayne, Introduction to programming in Java; D Flanagan, Java in a Nutshell.
Exam (75%, duration: 2 hours and 30 minutes) in the summer exam period.
Coursework (25%) in the MT.
Total students 2017/18: 33
Average class size 2017/18: 32
Controlled access 2017/18: No
Value: Half Unit
Personal development skills
- Problem solving
- Application of information skills
- Application of numeracy skills
- Specialist skills