Winter semester 2021/2022

The content on this page was translated automatically.

After a general overview of computer science, the course focuses on learning programming using the Java language as an example. It teaches practical skills in creating your own small Java programs as well as basic, language-independent concepts of program structuring and implementation. This includes, for example, expressions vs. statements, data types, methods with parameter passing mechanisms, compiler vs.  interpreter, memory spaces and recursion. Students also get a first look at the Java class library; object-oriented, functional, and parallel programming; and Python as another programming language.

Example programs implement well-known search and sorting procedures, among other things. Background information includes the design principle of divide-and-conquer and asymptotic runtime evaluation using O-notation. Furthermore, approaches to ensure the correctness of programs such as assertions and debugging are discussed. In the practical exercises, great emphasis is placed on developing a good programming style.

Course
Bachelor Computer Science

Scope
6 SWS (9 credits)

 

For more information, including lecture and exercise dates, see the course catalog  and the Moodle course. If you have any questions, Prof. Dr. Claudia Fohry and M.Sc. Lukas Reitz will be happy to answer them.

The course starts with an introduction to the subject, application areas and basic concepts of parallel computing. We cover design techniques for parallel algorithms (e.g., parallel divide-and-conquer) and general requirements for the design of efficient programs (e.g., cache optimization).

Using three exemplary programming systems, basic knowledge of parallel programming is then taught in the main part:

  • OpenMP for shared memory computers,
  • APGAS for Java" for computers with distributed or hybrid memory and
  • CUDA for GPUs.

Two practical sections are integrated into the course, in which the participants solve programming tasks in teams of two. The results are then presented in examination discussions and form the basis for the assessment of the course.

The course replaces the previous courses PV1 and PV2.

Course
Bachelor Computer Science

Scope
4 SWS (6 credits)

 

For more information, including lecture dates, see the course catalog and the Moodle course. If you have any questions, Prof. Dr. Claudia Fohry and M.Sc. Lukas Reitz will be happy to answer them.