Difference between revisions of "DA 4002 2016"

From CERES
Jump to: navigation, search
Line 109: Line 109:
 
|-
 
|-
  
 +
|  Lecture 4: Complexity Analysis and Sorting
 +
 +
October 3, 10:15
 +
||
 +
[[media:DA4002_L4_2016.pdf| Slides]]
 +
||
 +
[[media:DA4002_L4_GA_2016.pdf| Group Activity]]
 +
|-
  
 
|}
 
|}

Revision as of 13:55, 7 October 2016

Algorithms, Data Structures, and Problem Solving

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]

Schedule

Schedule on Timeedit


Objectives

On completion of the course students will be able to

  • explain how to estimate the execution time of programs
  • recognize techniques for algorithm design such as divide and conquer, recursion, dynamic programming
  • recognize 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.
  • By the end of the course, a project is carried out in teams in order to emphasize reusable software development in a larger context.

The description of the lab exercises and project are available at http://ssavas.com/courses/da4002/2016-2/.


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

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


Slides and Handouts

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

August 29, 10:15

Slides

[K+R]: 2.1-10, 3.1-5, 3.7, 5.1, 5. 3, 5. 4, 7.1-2

Guest Lecture 1: NP-Complete Problems (part 1)

September 5, 10:15

Slides (guest lecture)

A Clip about the Halting Problem

Lecture 2: Vectors and Lists

and

Guest Lecture 2: NP-Complete Problems (part 2)

September 12, 10:15

Slides

Slides (guest lecture)

Guest Lecture 3: NP-Complete Problems (part 3)

September 19, 10:15

Slides (guest lecture)

Slides includes the final version of the three parts of the guest lectures.

Lecture 3: Searching, Trees, and Heaps

September 26, 10:15

Slides

Lecture 4: Complexity Analysis and Sorting

October 3, 10:15

Slides

Group Activity


Acknowledgement

This course is based on the earlier editions of the course in 2013-2015 and the material provided by Roland Philippsen has been essential in the set up the course.

Back to Home