# Syllabus

Title
6136 Algorithmic Thinking and Programming
Instructors
Assist.Prof. PD Dr. Sabrina Kirrane
Contact details
Type
VUE
Weekly hours
2
Language of instruction
Englisch
Registration
02/01/24 to 03/02/24
Registration via LPIS
Notes to the course
Subject(s) Bachelor Programs
Dates
Day Date Time Room
Tuesday 03/05/24 09:30 AM - 01:00 PM D5.0.002
Tuesday 03/12/24 09:30 AM - 01:00 PM D5.0.002
Tuesday 03/19/24 09:30 AM - 01:00 PM D5.0.002
Tuesday 04/09/24 09:30 AM - 01:00 PM D5.0.002
Tuesday 04/16/24 09:30 AM - 01:00 PM D5.0.002
Tuesday 04/23/24 09:30 AM - 01:00 PM D5.0.002
Tuesday 04/30/24 09:30 AM - 01:00 PM D5.0.002
Monday 05/06/24 10:00 AM - 12:00 PM TC.3.02
Friday 05/10/24 10:00 AM - 06:00 PM Online-Einheit

Contents

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

Recursion:

• 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 70% 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.

Tutorials

Each course unit is accompanied by a teaching tutorial in person on the WU campus. Participation is not mandatory, but strongly recommended. The teaching tutorial is aimed at those who are programming for the first time, but also at those who want to practically apply and deepen the topics of the course.

Tutorial dates:

Wed,    06.03.2024 15:30-17:00 TC.-1.61 PC Raum (50)

Wed,    13.03.2024 15:30-17:00 TC.-1.61 PC Raum (50)

Wed,    20.03.2024 15:30-17:00 TC.-1.61 PC Raum (50)

Wed,    10.04.2024 15:30-17:00 TC.-1.61 PC Raum (50)

Wed,    17.04.2024 15:30-17:00 TC.-1.61 PC Raum (50)

Wed,    24.04.2024 15:30-17:00 TC.-1.61 PC Raum (50)

Tue,    30.04.2024 15:30-17:00 TC.-1.61 PC Raum (50)

Assessment

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

Mandatory:

• 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

Elective:

• 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

Bonus points :

Max 10 points for submitting all self-study units.

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.

Availability of lecturer(s)

During the lecture and based on individual appointments. To request an appointment send an email to the lecturers with the subject “[Algorithmic Thinking and Programming]”.

Other

NOTE: The programming language used in this course is Java and the instruction is in English

Last edited: 2024-03-04

Back