Syllabus

Title
1670 Algorithmic Thinking and Programming (Python)
Instructors
Nicolas Ferranti, M.Sc.
Contact details
Type
VUE
Weekly hours
2
Language of instruction
Englisch
Registration
09/04/24 to 09/28/24
Registration via LPIS
Notes to the course
Dates
Day Date Time Room
Tuesday 12/03/24 12:00 PM - 04:30 PM TC.3.01
Tuesday 12/10/24 12:00 PM - 04:30 PM TC.3.01
Tuesday 12/17/24 12:00 PM - 04:30 PM TC.3.01
Tuesday 01/07/25 12:00 PM - 04:30 PM TC.3.21
Tuesday 01/14/25 12:00 PM - 04:30 PM TC.5.15
Tuesday 01/21/25 12:00 PM - 04:30 PM TC.3.21
Monday 01/27/25 11:00 AM - 01: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
  • Attendance at the course is compulsory and will be monitored (attendance list). The minimum attendance for an assessment is 70% of the units. Any absence must be reported in a timely manner and a reason for absence must be provided.
  • Attendance at the first and main examination dates is mandatory for students and is exempt from the above-mentioned exception to compulsory attendance.
  • An unjustified and excused absence in the first unit may result in loss of place.
  • The possibility of taking a substitute exam at a later date only exists if the main exam was missed for a reason and with an excuse.
  • It is recommended that everyone participate in the course as fully as possible in order to achieve the learning objectives.
Teaching/learning method(s)

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

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:

will be announced soon

Assessment

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

Compulsory Subject:

  • 4 in class quizzes: 40 points (10 + 10 + 10 + 10)
  • Final exam: 60 points

Gradings:

90 - 1001
76 - 892
63 - 753
50 - 624
0 - 495

 

Elective Subject:

  • 5 in class quizzes: 40 points (10 + 10 + 10 + 10)
  • 1 project: 20 points
  • Final exam: 60 points

Gradings:

108 - 1201
92 - 1072
76 - 913
60 - 754
0 - 595

 

The final examination (compulsory subject, elective subject) can be repeated once (see WU examination regulations) if the overall assessment is negative and at least 10% of the maximum number of points for the final examination has been awarded. In order to be able to take this retake, students must actively register for it in good time before the respective course review date by email to adp@ai.wu.ac.at . By repeating the final examination, a maximum of a satisfactory (3) overall assessment can be achieved.

Students that achieve a passing grade in the exam and quizzes are potentially eligible for bonus points of up to 10% of the total points achievable across all partial achievements. Bonus points can be awarded for demonstrably independently completed self-study units and/or practice examples within the framework of the teaching tutorials. However, there is no entitlement to this.

Prerequisites for participation and waiting lists

Registration procedure:

  • Initially, 20 students can register for the course within the registration period; the rest will be placed on a waiting list in the order in which they register.
  • After the official registration period has ended, the Study and Examination Office will move 20 additional students from the waiting list based on their individual study progress and include them in the course.
  • If you remain on the waiting list, this does not mean that someone else will not drop out before the first appointment, either from those registered or from the waiting list.
  • Accordingly, it is important
    • that you deregister in time - if possible within the registration/deregistration period - if you do not attend the course;
    • to be there at the first appointment , because those who are not present will be deregistered and new participants will be registered from the waiting list.
Readings

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 readinglists@wu.ac.at.

Other

This course is held in English using Python as the programming language.

Last edited: 2024-09-04



Back