News

Re-exam inspection and future courses

Written on 10.10.24 by Sven Rahmann

There is an opportunity to inspect your re-exam results on Tuesday, 15.10., berween 14:00 and 15:30 in E2.1, 1.06.

Unfortunately, only 4 out of 17 passed this time. This is a very low number, especially concerning the fact that the exam only checks elementary Python and the course does not even… Read more

There is an opportunity to inspect your re-exam results on Tuesday, 15.10., berween 14:00 and 15:30 in E2.1, 1.06.

Unfortunately, only 4 out of 17 passed this time. This is a very low number, especially concerning the fact that the exam only checks elementary Python and the course does not even touch complex topics like concurrency, asynchronous functions, metaclasses, static type verification, etc. This will change in future editions of the course: The study regulations are in the process of being changed to make the programming course a graded 8 CP course. When they will go into effect is not known. Perhaps the next programming course is already under the new regulations, perhaps not; this depends on the speed of the lawyers and administrators.

If you have passed the programming course, it is recommended to stay in the old regulations (you are protected as long as you are studying within regular time limits).
If you have not passed the programming course when the regulations change, you must switch because the old course is not offered anymore then. The good news is, the extended course is a different module and comes with new attempts.

However, I also want to say that if you find the programming course very stressful and/or difficult, the Master program in Bioinformatics here may not be the right thing for you, and we made a mistake during admissions. Typically, the selection commitee is careful to check for existing programming experience. But this is only on a paper transcript and we cannot see actual skills. This programming course is (1) a refresher, (2) an opportunity to learn another language, and (3) a way to get some practical experience during the project(s). The exam mainly tests code understanding (because programming on paper is hard), which is a key professional skill and was practiced with the quizzes during the semester.

Re-exam TODAY in the GHH

Written on 08.10.24 by Johanna Schmitz

The Python re-exam takes place today at 15:00 - 18:00 in E2.2 (Günther Hotz lecture hall). It is recommended to arrive 5-10 min in advance to find a seat and get installed.

 

Re-exam registration

Written on 24.09.24 by Sven Rahmann

Please remember that the registration for the Python course re-exam is only possible up to 1 week before the exam. This means registration ends on Tuesday 01.10., which is in one week from today. No late admissions will be possible. If you intend to participate, please register now in LSF. Note that… Read more

Please remember that the registration for the Python course re-exam is only possible up to 1 week before the exam. This means registration ends on Tuesday 01.10., which is in one week from today. No late admissions will be possible. If you intend to participate, please register now in LSF. Note that the exam number is 10085.

Exam inspection and Re-Exam

Written on 12.08.24 by Sven Rahmann

Due to popular demand, the re-exam has been moved to the afternoon (15-18) on the same day 08.10.

The re-exam will thus take place: Tuesday 08. October, 15-18, in room 0.01 (in E2.1).

You may inspect the results of your first exam next Monday 19.08. between 10 and 12 in E2.1, 1.06. Note that… Read more

Due to popular demand, the re-exam has been moved to the afternoon (15-18) on the same day 08.10.

The re-exam will thus take place: Tuesday 08. October, 15-18, in room 0.01 (in E2.1).

You may inspect the results of your first exam next Monday 19.08. between 10 and 12 in E2.1, 1.06. Note that grade changes from not passed to passed are extemely unlikely, as we have carefully looked at all edge cases.

Exam Results

Written on 31.07.24 by Johanna Schmitz

Dear all,

your points and passing status is now entered to your personal status page. We will let you know soon when the exam review will take place.

Kind regards,
Johanna

Exam Time and Place

Written on 29.07.24 by Sven Rahmann

The Python exam takes place tomorrow at 09:00 - 12:00 in E2.1 (CBI) in room 0.01. It is recommended to arrive 5-10 min in advance to find a seat and get installed. Because the room wil be quite full, we may use different variants of the problems to make sure no copying from other students occurs (or… Read more

The Python exam takes place tomorrow at 09:00 - 12:00 in E2.1 (CBI) in room 0.01. It is recommended to arrive 5-10 min in advance to find a seat and get installed. Because the room wil be quite full, we may use different variants of the problems to make sure no copying from other students occurs (or would be immediately detected).

Python tutorials cancelled this week

Written on 23.07.24 by Sven Rahmann

Dear all,

due to illness, the Python tutorials must unfortunately be cancelled this week. The lecture will take place as usual and will be an opportunity to ask questions. Also, some usefull tools will be introduced.

Please remember that the (un)registration deadline for the exam next week is today.

Exam Registration (Deadline: Tuesday!, exam number 10085)

Written on 19.07.24 by Sven Rahmann

Dear all,

it is time to register for the Python final exam on Tuesday 30.07.2024. The exam number is 10085.

The registration deadline ends one week before the exam date! (No exceptions. Really! No exceptions.)

This means, you can register or unregister in LSF until Tuesday 23.07.

Because… Read more

Dear all,

it is time to register for the Python final exam on Tuesday 30.07.2024. The exam number is 10085.

The registration deadline ends one week before the exam date! (No exceptions. Really! No exceptions.)

This means, you can register or unregister in LSF until Tuesday 23.07.

Because the final project part 3 may not be completely graded by then (deadline was extended to Sunday), we recommend the following:

If you believe that you may qualify AND you want to take the exam, then please register now. In case that you fail the project, we will cancel your registration for you. You will not receive a fail grade if you do not qualify. Note that we cannot register you after the deadline; we can only cancel existing registrations.

And again, there is absolutely no way of registering late.

 

No lecture on July 16 + Project deadline extension to July 21.

Written on 09.07.24 by Sven Rahmann

There will be no Python course lecture on July 16. The next and last lecture will be on July 23.

Also, the project (part 3) deadline will be extended to Sunday July 21, 23:55.

Tutorials this week

Written on 08.07.24 by Johanna Schmitz

Dear all,

since I am on a conference, there will be no tutorials this week. The next tutroial is planned to be on Wednesday, 17.07, 14:00. 
If you have any questions regarding the project or the assignment, please ask in the forum.

Best,
Johanna

Points project part 2

Written on 05.07.24 by Johanna Schmitz

Dear all,

the points for the project part 2 are available and you can find the feedback as your submission for Project part 2 feedback.

The possible points are

  • 0 (part 2 failed)
  • 0.5 (minor mistakes, in most cases missing red crosses that should indicate which region was used to estimate… Read more

Dear all,

the points for the project part 2 are available and you can find the feedback as your submission for Project part 2 feedback.

The possible points are

  • 0 (part 2 failed)
  • 0.5 (minor mistakes, in most cases missing red crosses that should indicate which region was used to estimate the slope)
  • 1 (your slope estimate was correct for the 12 samples)

If you got 0.5 points you don't need to modify your code in estimate_afm.py, but the problem should be solved for part 3. In some submission the --show option did not work as expected, but since this does not effect part 3, it is not mandatory to fix this issue.

If you got 1 points, this means that your method worked on the provided samples. However, since the complete data is more complex and noisy, it might not work on all samples, in which case you also need to revisist your code.

Here are some more general remarks that are also important for part 3:

  • The slope estimation should be independent of the plotting part, in particular for computing the heatmap don't create/store all lineplots.
  • The estimate should be based on the lower part of the linear region, many of you used a sliding window approach to find the most linear region. This worked for the provided samples, but might not work on all samples, e.g., the sample given in the slides for part 3.

Regarding assignment 06, please use the most recent tests, since there was a mistake in the first version.

Project Part 3 now online

Written on 04.07.24 by Sven Rahmann

Dear all,

part 3 of the project is now online. For simplicity, you can download preprocessed measurement series as a pickled Python dict. A partial program (that loads the data) is also available. Please read the slides with the task. Writing the streamlit app (a basic version) should be simple, so… Read more

Dear all,

part 3 of the project is now online. For simplicity, you can download preprocessed measurement series as a pickled Python dict. A partial program (that loads the data) is also available. Please read the slides with the task. Writing the streamlit app (a basic version) should be simple, so please spend your time on robustifying your slope estimation. It should work at least for all 128 * 128  series-0 measurements. Good luck! (Deadline is in 2 weeks from today.)

Project Part 3 delayed

Written on 03.07.24 by Sven Rahmann

Unfortunately, part 3 of the project turned out to be more difficult than we anticipated, and until we have reduced its complexity, it will be delayed. We hope to publish. the task tomorrow (Thursday). You will have the full 2 weeks to work on it. We apologize and suggest you work on the other… Read more

Unfortunately, part 3 of the project turned out to be more difficult than we anticipated, and until we have reduced its complexity, it will be delayed. We hope to publish. the task tomorrow (Thursday). You will have the full 2 weeks to work on it. We apologize and suggest you work on the other assignments in the meantime.

Project Part 2

Written on 02.07.24 by Johanna Schmitz

Dear all,

the deadline for the project part 2 and assignment 05 is today.
Remember to submit the assignment in the CMS and the project in git. Remember to rename the file into estimate_afm.py and push it to the folder project-afm/

Best,
Johanna

Evaluation of the Course

Written on 26.06.24 by Sven Rahmann

We have added two evaluation links to the Materials page (on top). Please evaluate both the course and the tutorials. Deadline is 17.07. Your evaluations, especiall free text comments, help to improve future editions of this course. Thank you!

Results project part 1

Written on 20.06.24 by Johanna Schmitz

Dear all,

the results and feedback for project part 1 are now online in the CMS. The feedback is visible in the submission section (the message You did not submit in time. The submission is closed. is the same for everyone).

These are the possible points:

- 1 point: you passed part 1 and… Read more

Dear all,

the results and feedback for project part 1 are now online in the CMS. The feedback is visible in the submission section (the message You did not submit in time. The submission is closed. is the same for everyone).

These are the possible points:

- 1 point: you passed part 1 and everything was fine, except some minor things like plot titles, empty legends, etc.

- 0.5 points: you passed but there are major revisions required so that you will be able to pass part 2, e.g., some missing plots, etc.. Please solve these problems directly in the new file estimate_afm.py

- 0 points: you failed, because you either did not submit on time, the code did not work or you plagiarized

If you got zero points, this means that you failed the project and cannot qualify for the exam anymore.

We also ran plagiarism checks for the project and the old assignemnts and you can see on your personal status page if you passed the plagiarism tests or not.

Remeber that it is not allowed to copy solutions from other students, ChatGPT or other internet sources.

If you have any further questions, please come to the tutorials.

Important information

Written on 18.06.24 by Sven Rahmann

Hello everyone, here are a couple of important bits of information!

1. Please be sure to submit project parts ONLY via your git fork by commiting and pushing. We will automatically download and test your code on the sample.txt file. If it doesn't work (or we cannot get your code automatically), you… Read more

Hello everyone, here are a couple of important bits of information!

1. Please be sure to submit project parts ONLY via your git fork by commiting and pushing. We will automatically download and test your code on the sample.txt file. If it doesn't work (or we cannot get your code automatically), you have a problem. Please follow the instructions very carefully (and read the last news, too).

2. Today, part 2 of the project is released. Please continue from your old codebase and implement the new funcitonality. Please COPY the final part1 file into `estimate_afm.py` and ONLY work on that for part 2. Remember: We will auto-download `plotafm.py` to test it, so it should always be in working condition. Do not modify your part 1 solution further. 

3. One of you pointed out that numpy 2.0 was just released (after many years of development). Please DO NOT yet switch to numpy 2.0 but continue with the 1.26 branch. There may be some early bugs and incompatibilities, and we may run into problems when testing code (with our version 1.26) that was developmed for 2.0; so please do not update numpy.

4. As usual, there is also a new weekly quiz (on numba).

Happy coding!

Project submission

Written on 17.06.24 by Johanna Schmitz

Dear all,

the deadline for assignment 4 and project part 1 is tomorrow.

For the assignment, the submission is as usual in the CMS. The submission for the project is in your git repository.

Please follow the instructions in the project description and create in git a new folder project-afm/… Read more

Dear all,

the deadline for assignment 4 and project part 1 is tomorrow.

For the assignment, the submission is as usual in the CMS. The submission for the project is in your git repository.

Please follow the instructions in the project description and create in git a new folder project-afm/ and push the two files sample.txt and plotafm.py (with your changes) to this directory (and not project_01 with the partial file).

 

Error in Quiz 08

Written on 06.06.24 by Johanna Schmitz

The current quiz 08 has a mistake in question Q9 (there are several correct answers, but you can select only one). Please choose the FIRST correct answer.

Assignment and Programming Project

Written on 04.06.24 by Sven Rahmann

Tomorrow (Wednesday), a new assignment AND part 1 of the programming project will go online (at 6am). Please be sure to read both and submit both on time. The programming project will consist of several parts; in the end, the whole application must work and produce reasonable results. Part 1 is… Read more

Tomorrow (Wednesday), a new assignment AND part 1 of the programming project will go online (at 6am). Please be sure to read both and submit both on time. The programming project will consist of several parts; in the end, the whole application must work and produce reasonable results. Part 1 is relatively easy: parsing the actual data from a text file and plotting it. Data and a stub Python file are provided as well.

Exam Dates and Times

Written on 30.05.24 by Sven Rahmann

The written exam for the Python Course takes place on Tuesday 30.07.2024, 09:00 - 12:00.

This is an ungraded exam (pass/fail only), but since in the future, the course will be graded (new study regulation), you may optionally apply for a graded exam IF you plan to switch to the new… Read more

The written exam for the Python Course takes place on Tuesday 30.07.2024, 09:00 - 12:00.

This is an ungraded exam (pass/fail only), but since in the future, the course will be graded (new study regulation), you may optionally apply for a graded exam IF you plan to switch to the new regulations.

The re-exam takes place on Tuesday 08.10.2024, 09:00 - 12:00.

The rooms are yet to be determined, probably E2.1, 0.01.

Points Assignment 02

Written on 23.05.24 by Johanna Schmitz

Dear all, the points for assignment 02 are now entered in the CMS. Here are some general remarks for all assignments:

- Only submit your function implementations and do not include function calls. If you include function calls with local files we cannot run your code.

- Your submission must be… Read more

Dear all, the points for assignment 02 are now entered in the CMS. Here are some general remarks for all assignments:

- Only submit your function implementations and do not include function calls. If you include function calls with local files we cannot run your code.

- Your submission must be self-contained. All functions that you need must be implement in the file. For example, imports from old assignments do not work.

- If not stated otherwise, all tasks should be solvable in a few seconds with a naive approach. We therefore timeout the tests if your code takes very long (after around 30s per test).

For assignment 03, there was an update to one of the test, so please update your fork again.

Lectures move to E2.1, 0.01

Written on 21.05.24 by Sven Rahmann

Dear all, from now on, the Python course lectures will always take place in E2.1, seminar room 0.01. The tech problems in the GHH are just too annoying. Also, the attendance in class is small enough to move to a smaller room. Thank you for your understanding.

Recommendations

Written on 14.05.24 by Sven Rahmann

Good morning,

please make sure your code runs from the terminal. IDEs sometimes change your code or run it under conditions that aren't reproducible when do automated tests. Your code must run in the terminal with pytest and pass the tests. You can and should try it out. Also, if you have not read… Read more

Good morning,

please make sure your code runs from the terminal. IDEs sometimes change your code or run it under conditions that aren't reproducible when do automated tests. Your code must run in the terminal with pytest and pass the tests. You can and should try it out. Also, if you have not read the Missing Semester info or done the git/bash/shell tutorials, etc., you'll have problems in the future.

 

Points Assignment 01

Written on 13.05.24 by Johanna Schmitz

Dear all, the points for assignment 01 are now available in the CMS. If you have any questions please come to the tutorials this week, where we will also discuss the solution (Tuesday 15:15 or Wednesday 14:15).

Reminder Assignment 01

Written on 07.05.24 by Johanna Schmitz

Dear all,

just a quick reminder that the submission for assignment 01 is today, at 23:59 (in CMS).

Please also note that submitted files with syntax errors, indentation errors, etc., will results in zero points for all tasks.

Assignment 00 - Passsing Status

Written on 29.04.24 by Johanna Schmitz

Dear all,

we decided to change the passing status of assignment 00. You can find your passing status at your personal status page.

Now everyone passed who submitted a "reasonable" solution for task 2 in the CMS and correctly adjusted the README.  The assignment was supposed to be very easy with… Read more

Dear all,

we decided to change the passing status of assignment 00. You can find your passing status at your personal status page.

Now everyone passed who submitted a "reasonable" solution for task 2 in the CMS and correctly adjusted the README.  The assignment was supposed to be very easy with simple print statements, you shouldn't have added any additional spaces, tabs, typos or require user input in your code.

For the following assignments, we will only grade your assignments based on our automatic tests, so you will get no points if you do not conform with the specified format that you can test yourself with the provided example tests. 

Quiz 02 and assignment 01 available

Written on 24.04.24 by Johanna Schmitz

Dear all,

the second quiz and the next programming assignment is now available in the CMS. Due to some problems with the CMS, the quiz was not available this morning, so everyone who did the quiz before 11:50 has to redo the quiz.

For the programming assignment, we added a template file and… Read more

Dear all,

the second quiz and the next programming assignment is now available in the CMS. Due to some problems with the CMS, the quiz was not available this morning, so everyone who did the quiz before 11:50 has to redo the quiz.

For the programming assignment, we added a template file and tests to the git repository. For more information about testing in python, extra slides are now available in the tutorials section.

Quiz 01 and assignment 00 online

Written on 17.04.24 by Johanna Schmitz

Dear all,

you can start the doing the first quiz online at your personal status page, you have time to complete it until Friday, 19.04. 23:59. In addition, the mandatory assignment 00 is online, you can find it in the Materials section. Please note, that the final submission of the programming… Read more

Dear all,

you can start the doing the first quiz online at your personal status page, you have time to complete it until Friday, 19.04. 23:59. In addition, the mandatory assignment 00 is online, you can find it in the Materials section. Please note, that the final submission of the programming assignments (.py file only) is via the CMS, but you should still work on the assignment in your forked git repository. You will need the git repository mainly for the two programming projects.

We also added a link to the MIT missing semester if you are unfamiliar with git, shell or other basics that we highly recommend you work through this week.

Show all

Programming with Python

This course is the required programming course for first or second semester students in the Bioinformatics Master program.

Students of other programs may not take this course, as we have no resources to support them at this time. This means that we will remove students who are not registered for Bioinformatics after the beginning of the semester.

Future programming courses will take place in the summer semester and alternate between C++ and Python courses. We are in the process of changing the study regulations to upgrade the current ungraded 5 credits course to a graded 8 credits course in the future. This time, it is still an ungraded 5-credit course.

Schedule

Lecture: Tuesday 10:15 - 11:45 in E2.1, 0.01; first lecture: 16.04.2024 at 10:15.

Tutorials: The CIP pool is reserved for the course at certain times. If there are other students blocking seats, you have the right to ask them to leave. During 4h/week (see below), a tutor is available in the CIP pool to answer your questions. This is entirely optional and for your benefit. If you are already feeling proficient enough, you can work from home or somewhere else. However, we suggest that you benefit from the opportunity to ask questions and also learn from other students' questions.  All tutorials take place in the E2.1 CIP pool (next to the entrance), so make sure you have access to it before the semester starts.

  • Time slot 1: Tuesday 14-18 (tutor available 15-17)
  • Time slot 2: Wednesday 14-18 (tutor available 14-16)
  • Time slot 3: Thursday 14-18

Structure and Contents

The course will be structured into three parts.

  1. Basic Python syntax and semantics
  2. Important data structures and algorithms in Python
  3. scientific libraries for statistics, data analysis and visualization

There will be weekly quizzes and biweekly programming assignments to check your understanding of the material.

Exams

A written exam will take place shortly after the end of the lecture period. There will be theoretical questions and code examples, where you have to tell what this code does and/or what is wrong with this code. The quizzes will partially prepare you for the exam.

Requirements

  • Before the lecture period, or in the first week: Register here in the CMS to access the Materials section. Unregister if you drop the course. If you do not have an account yet on the CMS, be sure to get one early.
  • ONE WEEK BEFORE the exam (or earlier), register for the exam in LSF; this will be explained further in a News item when the time comes. This is a strict deadline, no exceptions for any reason. Do it as early as possible to see if it works (you can always unregister up to one week before the exam).

 

Ethics and Plagiarism Policy

You may ask for help, either the tutors or other students, or people on the internet, or even books. However, you may not use or copy their code directly. All implementations must be your own. In case you use other peoples' work beyond the Python standard library (e.g. numpy, scipy), this must be clearly stated up-from and properly cited. Violation of these rules will result in removal from the course and in reporting you to the examination office. If you get reported more than once during your academic career, you may have to leave the university.

Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators.