This course is an introduction to algorithms and data structures. It will be taught in English and German with all written material in English. It will be taught using the Java programming language, but it is not about the language. Mastery of basic Java syntax as taught in Informatik I is assumed. We learned primitive data types, statements and rules, interfaces and classes in Informatik I. We will now be looking at more complex data structures and algorithms which work on these data structures.
In particular we will be concentrating on how to solve (small) problems using a programming language. At the end of the semester there will be an introduction to another Programming Language - e.g. Python - so that you get a feel for the language and learn something about differences in programming languages.
Have a look at how this breaks down on this (tentative) Schedule.
A Summer Term in a Closed University
Due to the regulations to avoid faster spread of the COVID-19 virus (see ) most of the summer term will probably held remote.
We will do this as a kind of remote flipped classroom: We will provide materials you need to prepare before the lecture and the lab. Lecture and Labs are mainly to ask and discuss questions. We will do that with various means, starting with a simple Moodle Chat.
Thus, class and lab schedule will remain unchanged. Although you are free to work on the material any time you want, it will be best if you do that at the same time as your group and the time we are available and will answer questions immediately.
The schedule might be adapted to accommodate distance learning due to the COVID-19 Situation.
The materials will be provided via Moodle. (there’s a direct link in the menu bar).
The class consists of 2x2h of lectures and 2h of lab. The Lab will be held by Linda Fernsel. Please refer to the LSF for time and location information (link above in the External Links menu).
There will be a tutorial held by Lotte Unckell. The Tutorial will be on Thursdays, 16.30 - 18.00.
Grades & Exam
For passing Info2, you need to pass two parts:
- the Lab (“Programmierübungen mit Rücksprache”)
- the Exam (“Klausur”)
Note that as both, Lab Reports and the Exam are parts of the “Modulprüfung”, cheating on any of them will result in a 5,0 (nicht bestanden) for the whole module and use up one of the three possible tries for this module.
There will be a 2-hour online examination. The exam will be an online exam with three parts: a multiple-choice part, an essay part, and a programming part.
The Grade is determined by the grade of your exam.
There is a penalty on the grade for late or missing lab reports, see below.
There’ll be 13 exercises and you’ll have to hand in a lab report for each. You will not be allowed to take the exam if more than one report is marked as “not ok” by July 6 or if you plagiarized. You may hand in late 2 out of 13 lab reports. There’s a penalty of 0.3 on the final grade for each if you hand in a third and forth report late (that is you get a grade of 1.3 instead of 1.0 and so on).
All info on the labs can be found on the Labs page.
Upload your personal Notes in Moodle to gain a maximum of additional 8% bonus.
Examinations for Students who already took Info2
If you already took an Info2 class (with Prof. Zhang or Prof. Weber-Wulff) and completed the lab reports/exercise part there, you can skip the lab reports.
To do so, you have to
- send an email to the other Professor asking them to send your lab grades to me
- send me an email asking to accept them (you can do both in one email).
You have to do that at the beginning of the term, within the first or second week. I will individually decide on the terms for grading (e.g., if the labs were graded and counting 50% to the grade I might decide to apply that grading scheme) and you will want to know this decision beforehand.
Whether you attend the lectures or not, is your own decision, but note that the content of Info2 might differ. It’s your responsibility to inform yourself about the topics covered.