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.
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 - Data and Analysis (INFR08015) AND Informatics 1 - Functional Programming (INFR08013) AND 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.
Information for Visiting Students
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%

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:
  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