Module summary
Module name:
Internal number:
Coordinator:
Extent:
Semester:
Pre-requisites with regard to content: none
Pre-requisites according to the examination regulations:
none
Competencies:

The courses of this module teach the students fundamental programming and algorithmic skills. The students should be enabled to analyze small problems, find solutions to these problems, and develope them in the Java programming language.

Assessment:
Written Exam 120 Min. (graded)
Course: Computer Science 1
Internal number: MINB1114.a Type/mode: Lecture
Lecturer:
Prof. Dr. Ulrich Bröckl
Language of instruction:
German
Credits (ECTS): 5 Contact hours: 4
Workload: 60 hours (30 hours presence, 30 hours self-contained work) Assessment: Module exam
Content:

With weekly exercises the students deepen the practical contents of the lecture on the computer.

They use an integrated Java development environment to create, test and modify programs.

In the following exercises the students program simple calculations with Java using variables, expressions and control structures.

This also includes graphical data processing tasks.

Later, the students develop object-oriented programs on the computer. In the end, they solve recursive problems and implement solution strategies with the help of backtracking.

Recommended reading:

Selected exercises with solutions, slides in PDF format, Java programs and their documentation as Javadoc. Supplementary Java exercises with solutions to deepen the programming skills.

Comments:

Lecture participation. Solving simple exercises in the lecture with teacher support.

Course: Computer Science 1 Exercise
Internal number: MINB1124 Type/mode: Exercise
Lecturer:
Prof. Dr. Ulrich Bröckl
Language of instruction:
German
Credits (ECTS): 3 Contact hours: 4
Workload: 90 hours (30 hours presence, 60 hours self-contained work) Assessment: Exercise 1 Semester (not graded)
Content:

With weekly exercises the students deepen the practical contents of the lecture on the computer.

They use an integrated Java development environment to create, test, and modify programs. In the following exercises the students program simple calculations with Java using variables, expressions and control structures. This also includes graphical data tasks. Later, the students develop object-oriented programs on the computer. In the end, they solve recursive problems and implement solution strategies with the help of backtracking.

Recommended reading:
Comments:

Practical assignment in a computer laboratory.

Course: Theoretical Computer Science
Internal number: MINB1114.b Type/mode: Lecture
Lecturer:
Prof. Dr. Heiko Körner
Language of instruction:
German
Credits (ECTS): 4 Contact hours: 4
Workload: 120 hours (60 hours presence, 60 hours self-contained work) Assessment: Module exam
Content:

This course gives an introduction to the theory of formal languages. The Chomsky hierarchy will serve as a model to classify these languages by their computational complexity. Modern computers are represented by finite state automatons, showing theier principal limits. The students also learn how to apply several proof techniques.

The lecture include the following areas of theoretical computer science: mathematical logic, formal languages, proof techniques, the O-calculus, finite automata, regular languages and expressions, the Chomsky hierarchy, the pumping lemma for regular and context-free languages and the minimization of finite automata by the theorem of Myhill-Nerode. Furthermore, the course covers pushdown automata, the CYK algorithm and closure properties of regular and context-free languages.

Recommended reading:

The substance of the lecture will be discussed at the blackboard. Lecture notes containing the complete material are also available. Furthermore, there are sample solutions to all exercises.

Literature: D. W. Hoffmann: Theoretische Informatik, 3. Auflage. Hanser, 2015.

M. Sipser: Introduction to the Theory of Computation, 3rd edition. Cengage Learning, Inc., 2012.

Comments:

This course will take place as a pure lecture. Numerous exercises deepen selected areas and will be discussed in tutorials.