Undergraduate Course: Informatics 2B - Algorithms, Data Structures, Learning (INFR08009)
|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
|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.
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
* 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
|High Demand Course?
Course Delivery Information
|Academic year 2015/16, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 30,
Seminar/Tutorial Hours 9,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 4,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||In order to pass the course you must satisfy all of the following requirements:
* achieve at least 35% in the examination;
* achieve a total of at least 25% in assessed coursework;
* obtain a combined total mark of at least 40%
Two assignments, one focusing on algorithms and data structure issues and one on learning issues.
You should expect to spend approximately 50 hours on the coursework for this course.
||Hours & Minutes
|Main Exam Diet S2 (April/May)||2:00|
|Resit Exam Diet (August)||2:00|
| 1 - Demonstrate the ability to analyse the complexity of algorithms using asymptotic notation.
2 - Demonstrate the ability to write programs to create and manipulate array-structured and dynamically-structured data.
3 - Demonstrate the ability to construct and analyse search tree data structures.
4 - Demonstrate knowledge of sorting algorithms and their run-time complexity
5 - Demonstrate knowledge of graph algorithms
6 - Demonstrate understanding of statistical pattern recognition and Bayes theorem
7 - Demonstrate the ability to manipulate and describe multidimensional data using summary statistics.
8 - Demonstrate the ability to model discrete multidimensional data using Naive Bayes
9 - Demonstrate the ability to classify multidimensional data using Gaussians and single-layer networks
10 - Demonstrate understanding of the concept of discriminant functions
11 - Demonstrate the ability to model data using nearest-neighbour and clustering approaches
|* [***] 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
|Course organiser||Dr Kyriakos Kalorkoti
Tel: (0131 6)50 5149
|Course secretary||Ms Kendal Reid
Tel: (0131 6)50 5194
© Copyright 2015 The University of Edinburgh - 18 January 2016 4:12 am