Module Handbook

  • Dynamischer Default-Fachbereich geändert auf INF

Module INF-82-54ITI-M-2

Algorithms and Data Structures (M, 12.0 LP)

Module Identification

Module Number Module Name CP (Effort)
INF-82-54ITI-M-2 Algorithms and Data Structures 12.0 CP (360 h)

Basedata

CP, Effort 12.0 CP = 360 h
Position of the semester 1 Sem. in SuSe
Level [2] Bachelor (Fundamentals)
Language [DE] German
Module Manager
Lecturers
Area of study [INF-LA] Teacher Education
Reference course of study [INF-47.C59-SG] B.Ed. LaBBS Computer Science (Informationstechnik/Informatik)
Livecycle-State [NORM] Active

Courses

Type/SWS Course Number Title Choice in
Module-Part
Presence-Time /
Self-Study
SL SL is
required for exa.
PL CP Sem.
4V+2U INF-02-06-K-2
Algorithms and Data Structures
P 84 h 156 h
U-Schein
ja PL1 8.0 SuSe
2L INF-02-21-K-2
Programming Lab
P 28 h 92 h
L-Schein
- no 4.0 SuSe
  • About [INF-02-06-K-2]: Title: "Algorithms and Data Structures"; Presence-Time: 84 h; Self-Study: 156 h
  • About [INF-02-06-K-2]: The study achievement "[U-Schein] proof of successful participation in the exercise classes (ungraded)" must be obtained.
    • It is a prerequisite for the examination for PL1.
  • About [INF-02-21-K-2]: Title: "Programming Lab"; Presence-Time: 28 h; Self-Study: 92 h
  • About [INF-02-21-K-2]: The study achievement "[L-Schein] proof of successful participation in the practical course / lab" must be obtained.

Examination achievement PL1

  • Form of examination: written exam (Klausur) (120-150 Min.)
  • Examination Frequency: each summer semester

Evaluation of grades

The grade of the module examination is also the module grade.


Contents

  • Basic data structures, abstract data types and their realization with data structures (lists, trees) and advanced data structures (balanced trees, hash tables)
  • Basic algorithms (e.g. search and sort, graph algorithms)
  • Algorithmic principles (divide and conquer, systematic search)
  • Design of simple algorithms
  • Distributed algorithms, concurrent processes
  • efficiency analysis of algorithms
  • Time and space complexity of algorithms
  • Asymptotic growth of complexity
  • NP-completion and reduction
  • Specification, test and verification
  • Architectural schemes and design patterns
  • special algorithms (e.g. for geometry, coding, communication and optimisation problems, cryptographic algorithms)

Competencies / intended learning achievements

The students
  • know basic data structures, algorithms and basic modeling concepts;
  • develop an understanding of the interaction between algorithm and data structure;
  • can model, design and implement software modules and evaluate the quality of the results;
  • use mathematical methods for correctness proofing and efficiency analysis and can assess the quality of algorithms.

Literature

  • Cormen, Leiserson, Rivest, Stein: Algorithmen - Eine Einführung. Oldenbourg Verlag, 2013.
  • Mehlhorn, Kurt, and Peter Sanders. Algorithms and data structures: The basic toolbox. Springer Science & Business Media, 2008.
  • Nebel: Entwurf und Analyse von Algorithmen. Springer-Verlag, 2012.
  • Ottmann, Widmayer: Algorithmen und Datenstrukturen. Springer-Verlag, 2012.
  • Bloch, Joshua.  Effective java . Pearson Education India, 2016.
  • A. Hunt und D. Thomas,The Pragmatic Programmer: From Journeyman to Master , 1 edition. Reading, Mass: Addison-Wesley Professional, 1999.
  • R. C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship , 1. Aufl. Upper Saddle River, NJ: Prentice Hall, 2008.
  • S. McConnell, Code Complete: A Practical Handbook of Software Construction, Second Edition , 2nd edition. Redmond, Wash: Microsoft Press, 2004.
  • Naftalin, Maurice, and Philip Wadler.  Java generics and collections . " O'Reilly Media, Inc.", 2007.
  • R. Sedgewick, K. Wayne, Algorithms, Addison-Wesley Professional; 4th edition, 2011
  • Sestoft, Peter. Java precisely. Mit Press, 2016.

Requirements for attendance of the module (informal)

Programming skills.

Requirements for attendance of the module (formal)

None

References to Module / Module Number [INF-82-54ITI-M-2]

Course of Study Section Choice/Obligation
[INF-47.C59-SG] B.Ed. LaBBS Computer Science (Informationstechnik/Informatik) [Compulsory Modules] Further modules [P] Compulsory
[INF-B5.C59-SG] ZEP LaBBS Computer Science (Informationstechnik/Informatik) [Compulsory Modules] Certificate course of studies [P] Compulsory