# Syllabus

Title
2189 Algorithmic Thinking and Programming
Instructors
Nicolas Ferranti, M.Sc.
Contact details
Type
VUE
Weekly hours
2
Language of instruction
Englisch
Registration
09/01/22 to 10/02/22
Registration via LPIS
Notes to the course
Subject(s) Bachelor Programs
Dates
Day Date Time Room
Tuesday 11/29/22 01:00 PM - 05:00 PM D2.0.038
Tuesday 12/06/22 01:00 PM - 05:00 PM D4.0.133
Tuesday 12/13/22 01:00 PM - 05:00 PM D2.0.038
Tuesday 12/20/22 01:00 PM - 05:00 PM D2.0.038
Tuesday 01/10/23 01:00 PM - 05:00 PM D2.0.038
Tuesday 01/17/23 01:00 PM - 05:00 PM D2.0.038
Monday 01/23/23 10:00 AM - 12:00 PM D2.-1.019 Workstation-Raum

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.

Assessment

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

• 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 + duties: 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

1 Author: Robert Sedgewick, Kevin Wayne
 Title: Algorithms