Information in the Degree Programme Tables may still be subject to change in response to Covid-19

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Informatics 2B - Algorithms, Data Structures, Learning (INFR08009)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 8 (Year 2 Undergraduate) AvailabilityAvailable to all students
SCQF Credits20 ECTS Credits10
SummaryThis course presents key symbolic and numerical data structures and algorithms for manipulating them. Introductory numerical and symbolic learning methods provide a context for the algorithms and data structures. To make the presented ideas concrete, the module will extend the student's skills in Java and Matlab. Examples will be taken from all areas of Informatics.

* Please note that this course has been replaced by a 10 credit course Informatics 2B - Learning (INFR08028) for 2019/20.*
Course description Algorithms and Data Structures:
* Asymptotic notation and algorithms
* Sequential data structures
* Searching - including Hashing, AVL Trees, Heaps
* Sorting - including Mergesort, Heapsort, Quicksort
* Web-scale algorithms
* Graphs

* Statistical pattern recognition and machine learning
* Multidimensional data
* Discrete data and naive Bayes
* Modelling and describing continuous data: nearest neighbours and clustering
* Gaussians and linear discriminants
* Single- and multi-layer networks

Relevant QAA Computing Curriculum Sections: Data Structures and Algorithms, Artificial Intelligence
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Students MUST have passed: ( Informatics 1 - Computation and Logic (INFR08012) AND Informatics 1 - Functional Programming (INFR08013)) OR Informatics 1 - Introduction to Computation (INFR08025)
Students MUST have passed: Informatics 1 - Object-Oriented Programming (INFR08014) AND Introduction to Linear Algebra (MATH08057)
Prohibited Combinations Other requirements A background in calculus(differentiation of simple functions) is also required.

INF1-Introduction to Computation (INFR08025) replaces INF1-Computation and Logic (INFR08012) and INF1-Functional Programming (INFR08013) from 2018/19.
Information for Visiting Students
High Demand Course? Yes
Course Delivery Information
Not being delivered
Learning Outcomes
On completion of this course, the student will be able to:
  1. Demonstrate the ability to analyse the complexity of algorithms using asymptotic notation, to write programs to create and manipulate array-structured and dynamically-structured data, and to construct and analyse search tree data structures
  2. Demonstrate knowledge of sorting and graph algorithms and their run-time complexity
  3. Demonstrate understanding of statistical pattern recognition and Bayes theorem, and the ability to manipulate and describe multidimensional data using summary statistics
  4. Demonstrate the ability to model discrete multidimensional data using Naive Bayes, and the ability to classify multidimensional data using Gaussians and single-layer networks
  5. Demonstrate understanding of the concept of discriminant functions, and the ability to model data using nearest-neighbour and clustering approaches
Reading List
* [***] S. Russell, P. Norvig. AI: A Modern Approach. Prentice Hall, 2003. 2nd Edition
* [**] T. H. Cormen, C. E. Leiserson, R. L. Rivest. Introduction to Algorithms, MIT Press, 1990.
* [**] A. V. Aho, J. D. Ullman. Foundations of Computer Science with C. Computer Science Press, 1995.
* [**] M. T. Goodrich and R. Tamassia. Data Structures and Algorithms in Java. John Wiley, 2003. (3rd edition)
* [**] I. H. Witten and E. Frank. Data Mining. Morgan Kaufmann. 2005. (2nd edition)
Programme Collective Intelligence, Toby Segaran, O'Reilly 2007
Additional Information
Course URL
Graduate Attributes and Skills Not entered
KeywordsNot entered
Course organiserDr Kyriakos Kalorkoti
Tel: (0131 6)50 5149
Course secretaryMs Kendal Reid
Tel: (0131 6)51 3249
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information