Undergraduate Course: Informatics 2B - Algorithms, Data Structures, Learning (INFR08009)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 8 (Year 2 Undergraduate) |
Availability | Available to all students |
SCQF Credits | 20 |
ECTS Credits | 10 |
Summary | This 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
Learning:
* 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
|
Information for Visiting Students
Pre-requisites | None |
High Demand Course? |
Yes |
Course Delivery Information
Not being delivered |
Learning Outcomes
On completion of this course, the student will be able to:
- 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
- Demonstrate knowledge of sorting and graph algorithms and their run-time complexity
- Demonstrate understanding of statistical pattern recognition and Bayes theorem, and the ability to manipulate and describe multidimensional data using summary statistics
- Demonstrate the ability to model discrete multidimensional data using Naive Bayes, and the ability to classify multidimensional data using Gaussians and single-layer networks
- 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 |
Contacts
Course organiser | Dr Kyriakos Kalorkoti
Tel: (0131 6)50 5149
Email: |
Course secretary | Ms Kendal Reid
Tel: (0131 6)51 3249
Email: |
|
|