700.841 (24S) Algorithms and Data Structures

Sommersemester 2024

Registration deadline has expired.

First course session
07.03.2024 17:00 - 18:30 S.1.42 On Campus
Next session:
16.05.2024 17:00 - 18:30 S.1.42 On Campus

Overview

Lecturer
Course title german Algorithms and Data Structures
Type Practical class (continuous assessment course )
Course model Attendance-based course
Hours per Week 2.0
ECTS credits 4.0
Registrations 16
Organisational unit
Language of instruction English
Course begins on 07.03.2024

Time and place

List of events is loading...

Course Information

Intended learning outcomes

Building on the knowledge of the "Introduction to Structured and Object-Oriented Programming" (ISOP), the handling of data structures and algorithms of greater structural complexity is to be trained. 

Students gain knowledge of cost estimation, complexity measures, basics of advanced data structures, search and sorting methods, and basic graph and optimization algorithms. This will enable them to design or select algorithms and suitable data structures for given problems and to evaluate the performance behavior.

Based on the material explained in the lecture (VO), the exercises (UE) deepen the lecture material and should help to perform the construction and analysis of algorithms. Some of the presented data structures or algorithms are to be implemented exemplarily in Java, and handed-in on the department's server. In addition to this basic goal of the course, selected implementation examples serve to consolidate the programming knowledge acquired in ISOP. 

Teaching methodology

Discussion of the exercise tasks, presentation including discussion of solutions by the students.

Exchange & peer walk-through of programming solutions.

Course content

  • Introduction: Algorithm and their performance
  • Searching in linear data structures
  • Sorting
  • Some algorithm design paradigms: Divide & Conquer, Dynamic Programming, Greedy Algorithms
  • Graphs and trees
  • Hashing
  • Text processing: Pattern matching
  • Compression, error detection & correction, encryption
  • Outlook: Classes P & NP, Turing Machines

Prior knowledge expected

Programming at ISOP level

Literature

Any textbook on Algorithms & Data Structures, e.g.,

  • T.H. Cormen, C.E. Leiserson, C. Stein, R.L. Rivest: Introduction to Algorithms, MIT Press, 3rd ed. (2009) or 4th ed. (2022).

  • S. Dasgupta, C. Papadimitrou, U. Vazirani: Algorithms, McGraw-Hill (2008).

  • R. Sedgewick, K. Wayne: Algorithms, Addison-Wesley, 4th ed. (2011).

  • M.T. Goodrich, R. Tamassia, M.H. Goldwasser: Data Structures and Algorithms in Java, Wiley, 6th ed. (2014). 

Examination information

Im Fall von online durchgeführten Prüfungen sind die Standards zu beachten, die die technischen Geräte der Studierenden erfüllen müssen, um an diesen Prüfungen teilnehmen zu können.

Examination methodology

Examination-immanent course.

Bonus points:

  • 40 % "Crossing lists" – 40 points max.:  (# "crossed points" of prepared tasks) / (# "crossing points" of all tasks) × 40
  • 60 % Presentation of solutions, competitions, peer walk-throughs etc. – 60 points max.: (# points earned) / (# points of 25 % quantile of all students) × 60

Malus points:

  • Unexcused absence: 3 % (first absence is "free")
  • Not / incorrectly solved exercise items: "Crossing points" of the respective item are cancelled and deducted.  If it turns out that the student has not at all understood the solution (➝ plagiarism!), the points of the whole exercise sheet are voided. 

Examination topic(s)

  • Handed-in solution of exercise tasks
  • Presentation of solutions of exercise tasks
  • Part-taking in competitions
  • Ad-hoc contributions

Assessment criteria / Standards of assessment for examinations

  • Handed-in solutions of exercise tasks must be genuine work (no copy & paste) 
  • Handed-in solutions of exercise tasks must be grosso modo correct
  • Presentation of solutions must be understandable by audience

Grading key:

Grade

  from

5
0 %
4
50 %
3
63 %
2
76 %
1
89 %

Grading scheme

Grade / Grade grading scheme

Position in the curriculum

  • Bachelor's degree programme Robotics and Artificial Intelligence (SKZ: 295, Version: 22W.1)
    • Subject: Computer Science and Softwaredevelopment (Compulsory subject)
      • 3.3 Algorithms and Data Structures ( 2.0h UE / 4.0 ECTS)
        • 700.841 Algorithms and Data Structures (2.0h UE / 4.0 ECTS)

Equivalent courses for counting the examination attempts

Sommersemester 2024
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 700.842 UE Algorithms and Data Structures (2.0h / 4.0ECTS)
  • 700.843 UE Algorithms and Data Structures (2.0h / 4.0ECTS)
Sommersemester 2023
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 700.841 UE Algorithms and Data Structures (2.0h / 4.0ECTS)
  • 700.842 UE Algorithms and Data Structures (2.0h / 4.0ECTS)
Sommersemester 2022
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2021
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2020
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2019
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2018
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2017
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.255 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2016
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.255 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2015
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2014
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2013
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2012
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2011
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.255 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2010
  • 620.251 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.252 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (2.0h / 4.0ECTS)
Sommersemester 2009
  • 620.252 UE Algorithmen und Datenstrukturen (1.0h / 2.0ECTS)
  • 620.253 UE Algorithmen und Datenstrukturen (1.0h / 2.0ECTS)
  • 620.254 UE Algorithmen und Datenstrukturen (1.0h / 2.0ECTS)
  • 620.255 UE Algorithmen und Datenstrukturen (1.0h / 2.0ECTS)
  • 620.256 UE Algorithmen und Datenstrukturen (Ergänzende Übung) (1.0h / 2.0ECTS)