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. |
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
|
Academic year 2017/18, Available to all students (SV1)
|
Quota: None |
Course Start |
Semester 2 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
200
(
Lecture Hours 30,
Seminar/Tutorial Hours 9,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 4,
Directed Learning and Independent Learning Hours
155 )
|
Assessment (Further Info) |
Written Exam
75 %,
Coursework
25 %,
Practical Exam
0 %
|
Additional Information (Assessment) |
In order to pass the course you must satisfy the following requirement:
* obtain a combined total mark of at least 40%
Assessment
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. |
Feedback |
Not entered |
Exam Information |
Exam Diet |
Paper Name |
Hours & Minutes |
|
Main Exam Diet S2 (April/May) | | 2:00 | | Resit Exam Diet (August) | | 2:00 | |
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: |
|
|