Data Structures and Algorithms

2019-2020

Course Objective

Upon successful completion of this course, the students are expected to
• be able to analyse algorithms' resource usage by using asymptotic
analysis and asymptotic notations,
• identify the algorithm design technique used by a given algorithm such
as divide-and-conquer, dynamic programming, greedy, etc.),
• use these algorithm design techniques to develop new algorithms for
simple computational problems,
• be aware of some common computational problems and some known
algorithms for these problems.

Course Content

Algorithms lie at the heart of computing. An algorithm is a well-defined
computational procedure that takes a value (or a set of values) as input
and produces a value (or set of values) as output, as a solution to a
computational problem. Algorithms usually rely on a set of data
structures that allow them to manipulate the data efficiently. No matter
which programming language you program in, learning about data
structures and algorithms is essential to build scalable systems.
This course is an introduction to data structures, algorithmic design
and complexity. We will start with an introduction to algorithms,
covering sorting algorithms, the divide-and-conquer paradigm, greedy
algorithms, and dynamic programming. We will analyze the efficiency of
such algorithms, using big-Oh notation and worst-case time complexity.
We will continue by covering the basics of data structures, including
linear data structures, tree-like data structures, and hash tables.

Teaching Methods

The course will have the following structure, and attendance is
mandatory.
- 2 lectures (2 x 1hr 45mins)
- 1 tutorial (1hr 45mins)
- 1 computer practical (1hr 45mins)

Method of Assessment

4 assignments (40%) and a written exam (60%).

Literature

Textbook (mandatory):
Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. (2009).
Introduction to Algorithms (3rd edition; ISBN 978-0-262-03384-8). MIT
Press 2009.

General Information

Course Code E_EOR2_DSA
Credits 6 EC
Period P1
Course Level 200
Language of Tuition English
Faculty School of Business and Economics
Course Coordinator dr. A. Okbay
Examiner dr. A. Okbay
Teaching Staff dr. A. Okbay

Practical Information

You need to register for this course yourself

Last-minute registration is available for this course.

Teaching Methods Computer lab, Lecture, Study Group
Target audiences

This course is also available as: