Total Credits: 10
Level: Level 4
Target Students: Students on the MSc Computer Science and MSci Computer Science Part III. Also available to students on other courses and from other Schools with the agreement of the module convenor.Also available to Part II Computer Science undergraduate students subject to Part I performance.
This module is part of the Foundations of Computer Science theme in the School of Computer Science. Available to JYA/Erasmus students.
|Autumn||Assessed by end of Autumn Semester|
Prerequisites: Significant prior knowledge of Mathematics and Programming, including standard data structures and algorithms. Students are encouraged to take G54PAD Project in Advanced Algorithms and Data Structures.
Summary of Content: We study the theory used in the design and analysis of advanced algorithms and data structures. The topics covered include string algorithms (such as for string matching, longest common subsequence), graph algorithms (such as for minimum cuts and maximum flows), and advanced data structures (such as Binomial heaps and Bloom filters).The theory is practiced in weekly labs where we learn how to implement the algorithms and data structures as functional and imperative programs (using the languages Haskell and C), and apply these to solve large instances of real world problems.
Method and Frequency of Class:
|Activity||Number Of Weeks||Number of sessions||Duration of a session|
|Lecture||11 weeks||1 per week||2 hours|
|Tutorial||11 weeks||1 per week||2 hours|
Method of Assessment:
|Exam 1||100||2 hr written examination|
Dr A Parkes
Dr V Capretta
Education Aims: Obtain advanced knowledge and practical skills in the analysis, design and implementation of advanced algorithms and data structures.
Learning Outcomes: Knowledge and Understanding: Mathematical modelling and analysis of the efficiency of algorithms. Advanced implementation techniques.Intellectual Skills: The application of mathematical techniques to algorithms and data structures. The identification and evaluation of appropriate models of efficiency. Professional Skills: The use and selection of appropriate software libraries. Transferable Skills: The ability to formulate and construct effective solutions to algorithmic problems.
Offering School: Computer Science
Use the Back facility of your browser to return to the previous page.
Search for another module
Return to The University of Nottingham Welcome Page