Syllabus

Title
5768 Algorithmic Thinking and Programming
Instructors
Nicolas Ferranti, M.Sc.
Contact details
Type
VUE
Weekly hours
2
Language of instruction
Englisch
Registration
02/01/24 to 03/05/24
Registration via LPIS
Notes to the course
Subject(s) Bachelor Programs
Dates
Day Date Time Room
Tuesday 05/14/24 12:00 PM - 04:30 PM D3.0.233
Tuesday 05/21/24 12:00 PM - 04:30 PM EA.6.032
Tuesday 05/28/24 01:00 PM - 05:30 PM TC.3.03
Tuesday 06/04/24 01:00 PM - 05:30 PM D4.0.022
Tuesday 06/11/24 01:00 PM - 05:30 PM D4.0.022
Tuesday 06/18/24 01:00 PM - 05:30 PM D4.0.022
Monday 06/24/24 10:00 AM - 12:00 PM TC.3.02
Friday 06/28/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 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 on the following dates:

 Wednesday, 15. May, 16:30 – 18:00 TC.3.02 Wednesday, 22. May, 16:30 – 18:00 D2.-1.019 Wednesday, 29. May, 16:30 – 18:00 TC.-1.61 Wednesday, 5. June, 16:30 – 18:00 TC.-1.61 Wednesday, 12. June, 16:30 – 18:00 TC.-1.61 Wednesday, 19. June, 16:30 – 18:00 TC.-1.61
Assessment

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

Mandatory:

• Final exam (written with oral debriefing): 60 points

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

Elective:

• Online activities: 40 points
• Final exam (written with oral debriefing): 80 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.