Programmeren voor bio-ingenieurs / Programming for Bioscience Engineers (2023–2024)

Vera van Noort · Associatie KU Leuven

Welkom op de Dodona-cursus van het opleidingsonderdeel Programmeren voor bio-ingenieurs (KU Leuven - Faculteit Bio-ingenieurswetenschappen). Deze cursus bevat Python programmeeroefeningen die voorzien zijn van automatische feedback. De oefeningen zijn per programmeertechniek ingedeeld in negen reeksen.

Onderstaand leerpad bevat een reeks opdrachten die je wekelijks dient af te werken. Voorbeeldoplossingen van de ISBN-oefeningen vind je op Toledo. Hou zelf je leerpad in de gaten om te zien voor welke opgelegde oefeningen je reeds een (correcte) oplossing hebt ingediend.

De punten voor het opleidingsonderdeel Programmeren voor bio-ingenieurs worden berekend op basis van twee programmeertoetsen.

De oefeningen dienen als voorbereiding op de toetsen. Op basis van de behandelde programmeertechnieken worden deze oefeningen onderverdeeld in 9 reeksen, waarbij elke reeks bestaat uit 6 opgelegde oefeningen. De eerste oefening van elke reeks is telkens een variant op het werken met ISBN-nummers. In een bijhorende instructievideo wordt uitgelegd hoe je tot een voorbeeldoplossing kan komen. Met deze ISBN-oefening leer je hoe de nieuw aangebrachte programmeertechniek van de oefeningenreeks in de praktijk kan gebracht worden. Daarna ga je in de oefenzitting onder begeleiding van de assistenten aan de slag om de programmeertechniek in de praktijk te brengen via het oplossen van de twee volgende opgelegde oefeningen uit de reeks. Het wordt aangeraden dat je je oplossing van de ISBN-oefening indient via het online leerplatform Dodona tegen voorafgaand aan de oefenzitting voor dat hoofdstuk. Er zijn deadlines verbonden aan de oefeningen van ieder hoofdstuk, zodat je weet of je op schema ligt en zodat je makkelijk kan opvolgen voor welke oefening je reeds een correcte oplossing hebt ingediend.

We organiseren twee evaluatiemomenten tijdens de semesters. Bij deze evaluaties krijg je studenten telkens twee uur de tijd om twee nieuwe programmeeroefeningen op te lossen. Hierbij kan je gebruikmaken van het online leerplatform Dodona om de correctheid van je oplossingen na te gaan. De ingediende oplossingen van deze evaluatie-oefeningen worden echter met de hand nagekeken door de lesgever en de begeleiders, en beoordeeld op correctheid, gebruikte programmeerstijl, keuzes gemaakt bij het gebruik van de verschillende programmeertechnieken en de kwaliteit van de oplossingsmethode.

Welcome to the Dodona course for programming for Bioscience Engineers. The course contains Python programming exercises that support automated feedback. The exercises are categorized into nine series according to programming technique.

The learning path below contains a sequence of tasks assigned to each week of the semester. These include the chapters in the course book that must be read in preparation of the lectures, additional assignments in preparation of solving the programming exercises, tips & tricks you can use when solving the exercises, and a list of exercises that must be submitted before the weekly deadlines on Tuesday evening 22:00. Please note that the ISBN exercises are also included in the mandatory exercises, and must be submitted as well before the weekly deadlines on Tuesday. Sample solutions for the ISBN exercises can be found on Ufora. Keep an eye on the overview to track mandatory exercises for which you have already submitted a (correct) solution.

In computing the examination mark we take into account both permanent evaluation (20%, 4/20) and periodic evaluation (80%, 16/20). The permanent evaluation has two components that both influence the score for the permanent evaluation.

For the first part of the permanent evaluation, the students have to work on a series of 60 mandatory exercises. Based on the covered programming techniques, these exercises are subdivided into 10 series of 6 mandatory exercises each. The first exercise of each series always is a variation on the manipulation of ISBN numbers. A sample solution of this exercise is available from Minerva, and in an accompanying instruction video we explain how we came to this sample solution. As such, the ISBN exercises explain how the new programming technique from the series can be brought into practice. After these preparatory steps, students are ready to apply the new programming technique themselves in solving the other five programming exercises from the series. Students must submit their solutions of the mandatory exercises in each series (including the ISBN exercise) through the online learning environment Dodona before a set deadline (deadlines always fall at 22:00 on the Tuesday that follows the hands-on session dedicated to the series of exercises). Dodona gives students a nice overview of the mandatory exercises in each series, the submission deadlines and the current status of each exercise.

For the second part of the permanent evaluation, we organise two evaluation sessions during the hands-on sessions that follow after five exercise series. During these evaluations, students have to solve two new programming exercises within the time frame of two hours. It is allowed to make use of the Dodona platform during the evaluations, so that students can check the correctness of their solutions at all times. The submitted solutions for the evaluation exercises are manually evaluated by the lecturer or the teaching assistants and scored based on correctness, programming style used, choice made between the use of different programming techniques and the overall quality of the solution. The level of difficulty of the evaluation exercises is lower than those of the exercises that need to be solved during the periodic evaluation (exam), as we mainly want to check at this time during the semester if the students master the basic programming skills. In addition, these evaluation sessions follow the same procedure that is also used during the periodic evaluations, so that students can use this experience to adjust their approach towards the exam.

The score for the permanent evaluation is determined using the formula s * c / a, where s is the score a student has obtains based on his submitted solutions for the evaluation exercises (expressed as a score out of 20), c is the number of mandatory exerices for which at least one correct solutions has been submitted before the weekly deadlines, and a is the total number of mandatory exercises (30 per evaluation series). A student that for example has obtained a score of 16/20 for his evaluation exercises and that has submitted correct solutions for all 30 mandatory exercises before the weekly deadlines, obtains a score of 16 * 30/30 = 16 out of 20 for the evaluation series. If that student still had obtained a score of 16/20 for his evaluation exercises, but only submitted 18/30 correct solutions for the mandatory exercises before the weekly deadlines, he sees his score for the evaluation series reduced to 16 * 18/30 = 9.6 out of 20.

Students will receive an email with their score for the evaluation series as soon as possible after each evaluation session. During the next hands-on session, students can collect their submitted solutions that will have been annotated with feedback that indicates where they can improve their code. They can use this feedback in solving other programming exercises.

It is not possible to retake the permanent evaluation during the second examination period.

To compute the examination mark we compute two scores. One score takes into account both the score for the permanent evaluation (weight 20%) and the periodic evaluation (weight 80%). The other score ignores the score obtained for the permanent evaluation and is only based on the score for the periodic evaluation. The final examination mark is the maximum of these two scores.

During the periodic evaluation (exam) students are given 3.5 hours to solve three programming exercises. It is allowed to make use of the Dodona platform during the periodic evaluation, so that students can check the correctness of their solutions at all times and receive immediate feedback on the correctness and the programming style of their submitted solutions. To determine the score for the periodic solution, the submitted solutions are manually evaluated by the lecturer or the teaching assistants and scored based on correctness, programming style used, choice made between the use of different programming techniques and the overall quality of the solution.

You are not a member of this course.

Register

Exercise series

01. variables, expressions and statements - variabelen, expressies en statements

02. conditional statements - voorwaardelijke opdrachten

  • Toledo: doorloop eerst leermodule hoofdstuk 3
  • bijkomende oefeningen over controlelussen
  • Python book: read chapters 2 and 3
  • additional exercises about control loops
  • specific tips & tricks for mandatory exercises (english, dutch)
Title Class progress Status
ISBN
Russian peasants
Payslip
Conan the Bacterium
Challenger or crack
Heat wave
  • Python book: read chapter 4
  • Toledo: doorloop leermodule hoofdstuk 4
  • additional information
  • additional exercises about strings
  • specific tips & tricks for mandatory exercises (english, dutch)
Title Class progress Status
ISBN
Scrambled images
Reading a pitch
Word evolutions
Mathemagical
Alchemical reduction
Title Class progress Status
ISBN
Noah's headache
Jupiter-C
Persistence
Mlecchita vikalpa
Tap code

06. lists and tuples - lijsten en tuples

  • Toledo: doorloop eerst leermodule hoofdstuk 6
  • bijkomende oefeningen over lijsten en tuples
Title Class progress Status
ISBN
Complementary sequences
Zipper method
Diffy
Energy crisis in New Zealand
Chromosomal crossover

07. more about functions and modules - meer over functies en modules

Title Class progress Status
ISBN
Beschrijvende statistiek
Baseball
Cool serial numbers
Lost professions
Self-inventorying arrays

08. sets and dictionaries - verzamelingen en dictionaries

Title Class progress Status
ISBN
Adding fruit
Hydrophobicity
Applied chemistry
Blood types
Sacred Cat of Burma

09. text files - tekstbestanden

  • Toledo: doorloop eerst leermodule hoofdstuk 9
  • bijkomende oefeningen over tekstbestanden
  • Python book read chapters 5, 10 and 14
  • sample solution of ISBN exercise
  • additional exercises about text files
Title Class progress Status
Rorschach test
Protein mass
Ocean Health Index
Molecular mass
Spectroscopy
None for all

10. Objectgericht programmeren - Object Oriented Programming

Title Class progress Status
ISBN
Traffic light
Hangman
Heating
Hexagon
Genetic code