|
|
Module code: PIB-INF1 |
|
3V+1U (4 hours per week) |
5 |
Semester: 1 |
Mandatory course: yes |
Language of instruction:
German |
Assessment:
Written exam, Duration 120 min.
[updated 13.10.2024]
|
PIB-INF1 (P221-0024) Applied Informatics, Bachelor, ASPO 01.10.2022
, semester 1, mandatory course
|
60 class hours (= 45 clock hours) over a 15-week period. The total student study time is 150 hours (equivalent to 5 ECTS credits). There are therefore 105 hours available for class preparation and follow-up work and exam preparation.
|
Recommended prerequisites (modules):
None.
|
Recommended as prerequisite for:
PIB-DB Databases PIB-INF2 Informatics 2 PIB-IREP2 PIB-PA Project work PIB-PR2 Programming 2 PIB-PRA Work Experience Phase PIB-TI Theoretical Informatics PIB-WA Scientific Work PIB-WEB Principles of Web Development
[updated 29.07.2024]
|
Module coordinator:
Prof. Dr. Klaus Berberich |
Lecturer: Prof. Dr. Klaus Berberich
[updated 28.09.2016]
|
Learning outcomes:
After successfully completing this module, students will be able to formulate and analyze algorithms for solving simple problems. They will understand how numbers and characters are represented in a computer. They will be capable of converting between and computing in the underlying numeral systems. Students will be familiar with the basic concepts and rules of predictive logic and can apply them to determine the equivalence of two expressions. On the basis of the machine model Random Access Machine (RAM), students will learn the basic operations of a computer. They will be able to implement simple programs with the RAM commands, prove their correctness and determine their time and space complexity. Students will become familiar with basic algorithms (e. g. for searching and sorting) and will be able to combine them like building blocks to solve more complex problems. Based on these fundamental algorithms, students will be able to understand important solution strategies (e. g. divide and conquer algorithm, recursion and dynamic programming). Students will also learn about elementary data structures (e. g. linked lists, MinHeaps and binary search trees) and will be able to use them appropriately depending on the situation.
[updated 13.10.2024]
|
Module content:
1. Introduction 2. Mathematical principles 2.1 Number systems 2.2 Boolean algebra 3. RAM as a machine model 3.1 Components 3.2 Program correctness 3.3 Program runtime 4. Algorithms 4.1 Pseudocode from a high-level programming language 4.2 Searching 4.3 Sorting 5. Data structures 5.1 Dynamic arrays 5.2 Linked lists 5.3 Priority queues 5.4 Binary search trees 5.5 Hash tables
[updated 13.10.2024]
|
Teaching methods/Media:
Slides, RAMses as a tool for learning RAM commands, theoretical exercises.
[updated 13.10.2024]
|
Recommended or required reading:
Cormen Thomas H., Leiserson Charles E., Rivest Ronald L., Stein Clifford: Algorithmen - Eine Einführung, Oldenbourg , 2013 Gumm Hans-Peter, Sommer Manfred: Einführung in die Informatik, Oldenbourg Verlag, 2012 Saake Gunter, Sattler Kai-Uwe: Algorithmen und Datenstrukturen: Eine Einführung mit Java, dpunkt.verlag, 2020 Sedgewick Robert, Wayne Kevin: Algorithmen und Datenstrukturen, Pearson Studium, 2014
[updated 13.10.2024]
|
Module offered in:
WS 2024/25,
WS 2023/24,
WS 2022/23,
WS 2021/22,
WS 2020/21,
...
|