700.840 (23S) Algorithms and Data Structures

Sommersemester 2023

Registration deadline has expired.

First course session
08.03.2023 10:00 - 12:00 HS B On Campus
... no further dates known

Overview

Lecturer
Course title german Algorithms and Data Structures
Type Lecture
Course model Attendance-based course
Hours per Week 2.0
ECTS credits 2.0
Registrations 48
Organisational unit
Language of instruction English
possible language(s) of the assessment German , English
Course begins on 08.03.2023
eLearning Go to Moodle course
Seniorstudium Liberale Yes

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.

The accompanying exercises (UE) deepen the lecture material (VO) 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. In addition to this basic goal of the course, selected implementation examples serve to consolidate the programming knowledge acquired in ISOP. 

Teaching methodology

Lecture and discussion (live & via Moodle)

Course content

  • Introduction: Algorithm, (un)decidability, efficiency, complexity
  • Elementary data structures
  • Elementary algorithms
  • Divide & conquer
  • Sorting and searching
  • Hashing
  • Graphs and advanced trees
  • String matching
  • Data communication: Compression, error detection & correction, encryption
  • Outlook: Classes P & NP

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

Written exam with theoretical questions (mostly free text answers, possibly some MC questions) and programming tasks (paper & pencil, no IDE; possibly SPU or ROPE); if necessary, supplementary oral examination in borderline cases. If no more than 12 persons are registered for an exam, it may also be held completely orally.

Merit  points earned during the course can be redeemed the first time the exam is attempted

Examination topic(s)

See "Inhalt(e) / Contents" above.

Assessment criteria / Standards of assessment for examinations

The theory questions must be answered in such a way that it can be inferred from the answer that the topic from which the question is taken is sufficiently mastered.

The programming tasks must be solved essentially correctly, whereby "venial sins" in syntactic terms are tolerated.

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 VO / 2.0 ECTS)
        • 700.840 Algorithms and Data Structures (2.0h VO / 2.0 ECTS)

Equivalent courses for counting the examination attempts

Sommersemester 2024
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2023
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2022
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2021
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2020
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2019
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2018
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2017
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2016
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2015
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2014
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2013
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2012
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2011
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2010
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)
Sommersemester 2009
  • 620.250 VO Algorithmen und Datenstrukturen (2.0h / 2.0ECTS)