Introduction to Programming

This course teaches basic knowledge and skills in programming with Python. The focus is on program development, algorithmic thinking, and systematic problem-solving.

Starting with basic programming concepts, the course gradually covers control structures, functions, data structures, and algorithms. Students apply and reinforce the material through practical exercises. In the process, they also learn how to test programs, systematically analyze errors, and evaluate the efficiency of algorithms.

The course is particularly aimed at students with little or no programming experience. No prior programming knowledge is required.

To participate, you can enroll in the Moodle course.

The module teaches the basics of programming with Python and covers, in particular, the following core topics:

  • Input and output, strings, arithmetic operations, and data types;
  • Control structures such as conditionals and loops;
  • Functions and recursion;
  • Data structures such as lists and dictionaries, as well as the representation of matrices, trees, and graphs;
  • Sorting and searching algorithms;
  • File operations and the processing of text and CSV files;
  • Error handling, debugging, and assertions;
  • Runtime and complexity analysis of algorithms.

The programming concepts are taught, applied, and deepened in consecutive lectures and exercises. In the lectures, the concepts are explained using presentation slides and illustrated through examples. In the exercises, programming tasks are completed in Jupyter Notebooks. Additionally, students work on Jupyter Notebooks in groups as homework to further deepen the content.

The examination consists of a final exam in the E-Assessment Center, which is conducted in the form of a Jupyter Notebook. The prerequisite for participating in the exam is achieving at least 50% of the total possible points from the homework assignments given during the semester.

Organization

Course InstructorChristian A. Hans
ScheduleTBD
First SessionTBD
LocationRoom 0641
Wilhelmshöher Allee 73
34121 Kassel
For more information on how to get there, see the “Directions” section.
Credits6 ECTS
Degree Programs
  • Bachelor’s degree programs in which the module is designated as a required or elective module
  • Other bachelor’s students interested in the fundamentals of programming
LanguageGerman