Algorithms, Data Structures, and Problem Solving

From CERES
Revision as of 10:24, 24 August 2016 by Ceres (Talk | contribs)

Jump to: navigation, search

Contact

Lecturer

Masoumeh Taromirad

  • Office: E 308
  • Telephone 035 16 71 87
  • Email: [m.taromiradi@hh.se]

Lab Instructor

Süleyman Savaş

  • Office: E 321
  • Email: [suleyman.savas@hh.se]


Objectives

On completion of the course students will be able to

  • explain how to estimate the execution time of programs
  • recognise techniques for algorithm design such as divide and conquer, recursion, dynamic programming
  • recognise data structures and algorithms for search and sorting, such as quick sort, binary search trees, hash tables
  • identify the need and use data structures as modules to solve larger problems
  • use techniques for algorithm design in solving larger problems
  • judge how suitable a program is given its execution time
  • choose adequate implementations of data structures from program libraries


Practicals and Project

Computer based exercises with supervision, complementing the lectures, are provided to the students during the lab sessions. During the course, two projects are carried out in teams in order to emphasise reusable software development in a larger context.

The description of the exercises and projects are available at Süleyman Savaş.

Examination

Examination consists of two elements: written examination of the theory, and project results presented as distributable source archives and with a written report.


Course Material and Resources

Textbooks

  • Loudon, Kyle. Mastering Algorithms with C. O’Reilly & Associates, 1999.
  • Sedgewick, Robert. Algorithms in C, Parts 14: Fundamentals, Data Structures, Sorting, Searching. AddisonWesley Professional, 1997.
  • Kernighan, Brian W., Ritchie, Dennis M. The C Programming Language. Prentice Hall, 1989.


Slides and Handouts

Lecture Handouts / Slides Other Material
Lecture 1: Introduction and C Tutorial

August 29, 10:15

Slides


Acknowledgement

This course is based on the earlier editions of the course given by Amin Farjudian (2015) and Roland Philippsen (2013-2014).

Back to Home