Timetable information in the Course Catalogue may be subject to change.

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

Undergraduate Course: Randomized Algorithms (INFR11201)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 11 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryThis course is about randomness as a resource in algorithms and computation. The course introduces basic mathematical models and techniques and applies them to the design and analysis of various randomized algorithms. We will also cover a variety of applications of probabilistic ideas and randomization in several areas of computer science.
Course description 1) Introduction, review of discrete probability, and elementary examples including randomized algorithms for checking identities, matrix multiplication verification, minimum cut in graphs.

2) Discrete Random Variables, Moments, Deviations and Tail Inequalities; applications, including the coupon collector problem.

3) Chernoff bounds and applications: random sampling and estimation of discrete distributions. The birthday paradox and applications.

4) The Probabilistic Method: random graphs and threshold phenomena. Max-cut approximation. Lovasz Local Lemma and application to boolean satisfiability.

5) Random Walks and Markov Chains: hitting and cover times; stationary distributions, random walks on undirected graphs.

6) The Monte Carlo Method; applications including sampling and approximate counting, the markov chain monte carlo method, the Metropolis algorithm.

7) Coupling of Markov Chains, mixing time, and applications, including card shuffling and sampling of graph colourings and independent sets.
Entry Requirements (not applicable to Visiting Students)
Pre-requisites It is RECOMMENDED that students have passed Algorithms and Data Structures (INFR10052)
Prohibited Combinations Other requirements This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser.

A mathematical course with no programming.

Basic knowledge of (1) discrete probability and (2) algorithms is required. In particular, the students should have a good understanding of the following concepts:
(1) probability spaces and events, conditional probability and independence, random variables, expectations and moments, conditional expectation.
(2) asymptotic notation, basic sorting algorithms (Quick-sort, Merge-sort), basic graph algorithms (BFS, DFS, Dijkstra).

Some mathematical maturity is required, and concretely some basic background in the following:
- Linear Algebra
- Discrete Mathematics
- Probability

Secondly, some background in algorithms is required, roughly at the level of Informatics 2- Introduction to Algorithms and Data Structures (INFR08026), and preferably at the level of the 3rd year course, Algorithms and Data Structures (INFR10052). Some exposure to computational complexity theory (NP - completeness, etc.) would be desirable but is not required.
Information for Visiting Students
Pre-requisitesAs above.
High Demand Course? Yes
Course Delivery Information
Academic year 2023/24, Available to all students (SV1) Quota:  None
Course Start Semester 1
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 100 ( Programme Level Learning and Teaching Hours 2, Directed Learning and Independent Learning Hours 98 )
Assessment (Further Info) Written Exam 80 %, Coursework 20 %, Practical Exam 0 %
Additional Information (Assessment) Exam 80%
Coursework 20%

You should expect to spend approximately 30 hours on the coursework for this course.
Feedback Not entered
Exam Information
Exam Diet Paper Name Hours & Minutes
Main Exam Diet S1 (December)Randomized Algorithms (INFR11201)2:00
Learning Outcomes
On completion of this course, the student will be able to:
  1. understand and apply fundamental tools in discrete probability (e.g. expectation, concentration inequalities, the probabilistic method, random walks) toward the design and analysis of randomized algorithms
  2. understand randomized algorithms for selected combinatorial and graph problems
  3. analyze expected running time and error probabilities of randomized algorithms
  4. understand the fundamentals of Markov chains and their algorithmic applications
  5. apply Monte Carlo methods such as MCMC to some discrete algorithmic problems
Reading List
Probability and Computing: Randomized Algorithms and Probabilistic Analysis, by Michael Mitzenmacher and Eli Upfal. (Required)

Randomized Algorithms, by Rajeev Motwani and Prabhakar Raghavan. (Useful)
Additional Information
Graduate Attributes and Skills Not entered
KeywordsNot entered
Course organiserDr Raul Garcia-Patron Sanchez
Tel: (0131 6)50 2692
Course secretaryMiss Yesica Marco Azorin
Tel: (0131 6)505113
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