1888 Algorithmic Thinking and Programming
Nicolas Ferranti, M.Sc.
Contact details
Weekly hours
Language of instruction
09/01/23 to 09/25/23
Registration via LPIS
Notes to the course
Day Date Time Room
Tuesday 12/05/23 01:00 PM - 05:30 PM TC.2.02
Tuesday 12/12/23 01:30 PM - 06:00 PM TC.5.03
Tuesday 12/19/23 01:00 PM - 05:30 PM D3.0.233
Tuesday 01/09/24 01:00 PM - 05:30 PM TC.2.02
Tuesday 01/16/24 01:00 PM - 05:30 PM TC.4.05
Monday 01/22/24 11:00 AM - 01:00 PM TC.-1.61
Friday 01/26/24 09:30 AM - 06:00 PM Online-Einheit

Basics of programming:

  • Variables, Data types and Operators 
  • Control structures and loops 
  • Strings

Algorithmic basic concepts:

  • Notation and analysis of algorithms
  • Notation of Data Structures
  • Complexity Analysis

Search and Sort:

  • Selected algorithms
  • Analysis of search and sorting methods


  • Selected recursive algorithms
  • Recursive/ dynamic data types

Tree Structures:

  • Terms and concepts
  • Binary Trees
  • Selected algorithms (Traversal, Search, insertion, and Deletion)

Hash Procedures:

  • Basics and Procedures
  • Collisions
  • Analysis of Hash Procedures
Learning outcomes

Basic Theoretical Understanding:

  • Knowledge of the most important basic concepts of algorithms.
  • The implementation of these concepts in a concrete programming language.
  • Selected algorithms for solving fundamental problems in computer science (e.g. search and sorting methods) and their implementation in a programming language. 

Analyzing and understanding algorithms::

  • The ability to evaluate and critically compare algorithms in terms of their efficiency;
  • Collect, understand, and analyze programs created by third parties. 

Design of programs:

  • The ability to independently formulate basic algorithms for solving a specific problem, with the help of
    • Natural language,
    • Pseudocode,
    • or a programming language.
Attendance requirements

For studies according to the 2019 curriculum (VUE Algorithmic Thinking and Programming)

  • Participation in the course is mandatory and will be checked (attendance list). The minimum attendance for an assessment is 50% of the units. Every absence must be reported in good time and a reason for the absence must be provided.
  • Participation in the first date and the main date of the examination is mandatory for students and is exempt from the above-mentioned exception to compulsory attendance.
  • An unjustified and excused absence from the first session may result in the loss of a place.
  • The possibility of substitute performance for the examination at the follow-up date only exists if the main date was missed and excused.
  • Participation in the course as fully as possible is recommended in order to achieve the learning objectives.

For studies according to the 2012 curriculum (LVP Basics of Programming / Elective Course I - Basics of Programming and Modeling)

  • Participation in the Basics of Programming course is not compulsory and will not be controlled.
  • There is also no performance assessment for participation in this course. The performance assessment for the corresponding planning point is made through the corresponding course examination (LVP).
  • There will be an opportunity to collect up to 10% bonus points for the LVP exam. These only apply if you take the exam in the current semester.
  • Participation in the course is therefore not compulsory for students, but it is recommended.
Teaching/learning method(s)

The "Algorithmic Thinking and Programming" (ADP) course is divided into five content blocks::

  • Introduction: Basics of Programming
  • Search algorithms
  • Sorting algorithms and data structures
  • Recursion
  • Hash tables and hash functions


The first five blocks each consist of two modules (presence unit, programming laboratory). The programming lab is currently held in the form of online activities as group work. In addition, tutorials on handling the programming environment and programming language are offered.


The assignments are considered partial performances in addition to the final exam:


  • 4 assignments: 40 points (10 + 10 + 10 + 10)
  • Final exam (written with oral debriefing): 60 points


90 - 100 1
76 - 89 2
63 - 75 3
50 - 62 4
0 - 49 5



  • 5 assignments: 60 points (10 + 10 + 10 + 10 + 20)
  • Final exam (written with oral debriefing): 60 points


108 - 120 1
92 - 107 2
76 - 91 3
60 - 75 4
0 - 59 5


Prerequisites for participation and waiting lists

Allocation according to study progress from 30 to 45 course places.

Students who do not get a place in the course must register on the waiting list and attend the first lecture. If new places become available, priority will be given to students who (1) have registered on the waiting list and (2) have attended the first lecture.


Please log in with your WU account to use all functionalities of read!t. For off-campus access to our licensed electronic resources, remember to activate your VPN connection connection. In case you encounter any technical problems or have questions regarding read!t, please feel free to contact the library at

Last edited: 2023-11-27