Official name up to and including SS 2021: Algorithms and Programming for (Engineering) Computer Scientists.

Lecturer:

Prof. Dr.-Ing. Günter Schäfer Department of Telematics/Computer Networks Ilmenau University of Technology Room Z 3042 Tel.: 03677 69 4576 Email: guenter.schaefer[at]tu-ilmenau.de Homepage: http: //www.tu-ilmenau.de/telematik/mitarbeiter/prof-guenter-schaefer

Content:

This lecture gives a basic introduction to algorithms and programming with the Java programming language. It is intended for students of computer science and engineering informatics in the first semester (Bachelor).

Moodle course:

Please also register in our Moodle course and select your exercise group there. There you will also find more information about the submission of the exercise assignments and receive further announcements during the semester.

Dates and location:

Lectures (first date on 12/10/2022):

  • Wednesdays, 11:00 a.m., K-Hs 2

  • Thursdays (odd weeks), 17:00, LdV-Hs 2

 

Exercises (first date on 10/10/2022):

  • Mondays, 1:00 p.m. in Sr Oec 2007.

  • Tuesdays, 11:00 a.m. in Sr Oec 2007

  • Wednesdays, 13:00 in Sr HU 012

  • Fridays, 09:00 a.m. in Sr H 1518

Online Consultation Hour (first appointment on 05/11/2022):

  • Mondays, 17:00 - More information in the Moodle course.
 
Please note that all binding information is primarily located in the respective Moodle course.

Lecture slides:

PDF fileContent
01 - IntroductionIntroduction
02 - Basic conceptsBasic Algorithmic Concepts
03 - JavaIntroductionIntroduction to Java
04 - ParadigmsAlgorithm paradigms
05 - AlgorithmsModelsFormal Algorithm Models
06 - AlgorithmsPropertiesProperties of algorithms
07 - AlgorithmsExamplesSelected Algorithms
08 - ADTAbstract data types
09 - Object orientationObject orientation
10 - Data structuresBasic data structures
When using the provided documents for exam preparation, please note that in principle the spoken word in the course is binding for the exam. Video recordings of the courses can be found in the Moodle course.
 

Preparatory Exams:

There will be two preparatory exams during the semester. At least one of them must be passed for admission to the module examination (written exam during the examination period). If both are passed, there is also the possibility to collect bonus points on the main exam.

Dates of the preparatory exams, registration deadlines can be found in the Moodle course.

If you have already acquired the admission for the main exam in a previous semester (it does not expire) and still want to participate in the preparatory exams, please register via the Moodle course.

The course credit "Programming and Algorithms" is considered passed if at least one of the two preparatory exams has been passed.

Exercise sheets:

Please address questions or comments on the exercise sheets to michael-jan.stoyke[at]tu-ilmenau.de.

  • Before the exercise date, you have to work on the assignments independently and hand in your solutions in the Moodle course by the mentioned date.
  • On the exercise date you will receive your corrected solution back. The solutions will also be discussed in the exercise lesson.
  • By solving the exercises, bonus points can be earned on the two preparatory exams. The number of bonus points depends on the total score (in percent) achieved in the exercise sheets before the respective preparatory exam (or between the two preparatory exams).
 

Translation of points into bonus points:

The following table shows a mapping of achieved points and resulting bonus points (the way of conversion is the same each time):

  • Points from the exercises before the first preparatory exam to bonus points for the first preparatory exam.
  • points from the exercises between the first and second preparatory exams to bonus points for the second preparatory exam
  • Sum of points from both preparatory exams to bonus points for the main exam (only if both preparatory exams were passed)
50 - 54,99%1.0 BP
55 - 59,99%1.5 BP
60 - 64,99%2.0 BP
65 - 69,99%2.5 BP
70 - 74,99%3.0 BP
75 - 79,99%3.5 BP
80 - 84,99%4.0 BP
85 - 89,99%4.5 BP
90 - 100%5.0 BP
 

The exercise sheets will be made available in a timely manner (here and in the Moodle course).

A template for creating your solutions in Latex can be found here.

FileSubmission
Java introductionnone
Exercise sheet 010/16/22, 11:59 PM
 

Java package

The Java package presented in the lecture can be found here (prerequisite: Java 11 or newer).

 

Literature:

The following books provide general introductions to the field and are recommended as companion reading.

[Saa06]
G. Saake, K. U. Sattler. Algorithms and Data Structures - An Introduction with Java. dpunkt.verlag, 3rd edition, 2006. (44.- €)The textbook on which this lecture is based.
[CLRS10]
T. H. Cormen, C. E. Leiserson, R. Rivest, C. Stein. Algorithms - An introduction. Oldenbourg Wissenschaftsverlag, 2010. (80.- €).
[Ull11]
C. Ullenboom. Java is also an island. Galileo Computing, 10th edition, 2011. (50.- €)Available online here.
[OtWi12]
T. Ottmann, P. Widmayer. Algorithms and data structures. Spektrum Akademischer Verlag, 5th edition, 2012. (50.- €).