700.840 (24S) Algorithms and Data Structures

Sommersemester 2024

Anmeldefrist abgelaufen.

Erster Termin der LV
04.03.2024 15:15 - 16:45 HS 6 On Campus
Nächster Termin:
06.05.2024 15:15 - 16:45 HS 4 On Campus

Überblick

Lehrende/r
LV-Titel englisch Algorithms and Data Structures
LV-Art Vorlesung
LV-Modell Präsenzlehrveranstaltung
Semesterstunde/n 2.0
ECTS-Anrechnungspunkte 2.0
Anmeldungen 85
Organisationseinheit
Unterrichtssprache Englisch
LV-Beginn 04.03.2024
eLearning zum Moodle-Kurs
Seniorstudium Liberale Ja

Zeit und Ort

Liste der Termine wird geladen...

LV-Beschreibung

Intendierte Lernergebnisse

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. 

Lehrmethodik

Lecture and discussion (live & via Moodle)

Inhalt/e

  • 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

Erwartete Vorkenntnisse

Programming at ISOP level

Literatur

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). 

Prüfungsinformationen

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.

Prüfungsmethode/n

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

Prüfungsinhalt/e

See "Inhalt(e) / Contents" above.

Beurteilungskriterien/-maßstäbe

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 %
 You must also score ≥ 50% on at least half of the questions.
3
62,5 %
2
75 %

1
87,5 %


Beurteilungsschema

Note Benotungsschema

Position im Curriculum

  • Bachelorstudium Robotics and Artificial Intelligence (SKZ: 295, Version: 22W.1)
    • Fach: Computer Science and Softwaredevelopment (Pflichtfach)
      • 3.3 Algorithms and Data Structures ( 2.0h VO / 2.0 ECTS)
        • 700.840 Algorithms and Data Structures (2.0h VO / 2.0 ECTS)

Gleichwertige Lehrveranstaltungen im Sinne der Prüfungsantrittszählung

Diese Lehrveranstaltung ist keiner Kette zugeordnet