Deze cursus is gearchiveerd · Deze cursus is nu afgesloten. Je kunt je niet meer registreren of nieuwe oplossingen indienen, maar je eerdere werk en resultaten blijven beschikbaar.

Programming and Algorithms (2016–2017)

Peter Dawyndt · Universiteit Gent

Welcome to the Dodona course for the UGent modules Computational Biosciences (Master of Science in Biology) and Programming and Algorithms (Master of Science in Statistical Data Analysis). The course contains a large number of Python programming exercises that support automated feedback. The exercises are categorized into ten series according to programming technique.

Below we list 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, and a list of mandatory 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 Minerva. Keep an eye on the overview to see for which mandatory exercises you have already submitted a (correct) solution.

In computing the final score for the Computational Biosciences course, we take into account both the permanent evaluations (20%, 4/20) and the 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 practive. After this 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 that 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 score for the second examination period, we compute two scores. One score takes into account the score for the permanent evaluations (with weight 20%, as was done during the first examination period). The other score ignores the score obtains for the permanent evaluations, and is only based on the score for the periodic evaluation. The final score for the second examination period 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.

Je bent niet geregistreerd voor deze cursus.

Leerpad

week 01: variables, expressions and statements

week 02: conditional statements

week 03: loops

  • Python book: read chapters 2 and 3
  • specific tips & tricks for mandatory exercises (english, dutch)
  • additional exercises about control loops
Status Type Titel Voortgang groep Status Acties
ISBN
Loonbrief
Conan the Bacterium
Hittegolf
Uitdager of crack
De drie wijzen

week 04: strings

Status Type Titel Voortgang groep Status Acties
ISBN
Vergiftigde wijn
Wandelende getallen
Mysterieuze slogan
Wow!-signaal
Het ontbrekende getal

week 05: functions

Status Type Titel Voortgang groep Status Acties
ISBN
Kopzorgen voor Noach
Opkijken
Ergonomie
Telefoonburen
Ierse Turken

week 06: evaluations

  • Friday November 4, 10:00-12:00 (BA biochemistry & biotechnology)
  • Friday November 4, 13:00-15:00 (MA biology + MA statistical data analysis)
  • Friday November 4, 15:30-17:30 (BA physics & astronomy + BA chemistry + BA geology)

week 07: evaluations

  • Wednesday November 9, 14:30-16:30 (BA geography)

week 08: lists and tuples

Status Type Titel Voortgang groep Status Acties
ISBN
Complementaire reeksen
Ritsen
Diffy
Een vierkante driehoek
Pozo Azul

week 09: advanced functions and modules

Status Type Titel Voortgang groep Status Acties
ISBN
Honkbal
Koprolkalender
De miljardjarige oorlog
Coole serienummers
Foutdetectie

week 10: sets and dictionaries

Status Type Titel Voortgang groep Status Acties
ISBN
Rijtjes en groepen
Geslachtsverandering
Heilige Birmaan
Wat zit er in de zak?
Pak me dan als je kan

week 11: text files

  • Python book: read chapters 5, 10 and 14
  • specific tips & tricks for mandatory exercises (english, dutch)
  • additional exercises about text files
Status Type Titel Voortgang groep Status Acties
ISBN
Zeg het met Adele
AC Meloen
Plutokiller
AWOL
Sestina

week 12: object-oriented programming

Status Type Titel Voortgang groep Status Acties
ISBN
Geheime boodschap in Scrabble
Geheimschreiber
Racetrack Playa
Datacompressie
Lemmings

week 13: evaluations

  • Friday 16 december 16:00-18:00
  • Mondag 19 december 13:30-15:30

first evaluation (group 1)

Status Type Titel Voortgang groep Status Acties
Apen en kokosnoten
Stopcodons

first evaluation (group 2)

Status Type Titel Voortgang groep Status Acties
Duitse tanks
Kurkentrekker

first evaluation (group 3)

Status Type Titel Voortgang groep Status Acties
Eerste verwittiging
De ouroborosdroom

first evaluation (group 4)

Status Type Titel Voortgang groep Status Acties
Andrianampoinimerina
Omkeringen

second evaluation (group 1)

Status Type Titel Voortgang groep Status Acties
Zigzag
Pokémon

second evaluation (group 2)

Status Type Titel Voortgang groep Status Acties
De schat van Beale
Glijbanen en ladders

second evaluation (group 3)

Status Type Titel Voortgang groep Status Acties
Perfecte zwaluwstaart
Donald "Donut" Knuth

second evaluation (group 4)

Status Type Titel Voortgang groep Status Acties
Leven en laten sterven
Toegepaste scheikunde

exam (group 1)

Status Type Titel Voortgang groep Status Acties
Penney Ante
Duizend bommen en granaten!
Nim

exam (group 2)

Status Type Titel Voortgang groep Status Acties
Sneeuwbalgetallen
Humble-Nishiyama gokspel
Sorteertrucje

exam (group 3)

Status Type Titel Voortgang groep Status Acties
Polka Dot
Levende voormalige presidenten
Driehoekige klok

exam (group 4)

Status Type Titel Voortgang groep Status Acties
Naburige getallen
Double Dutch
Mengenlehreuhr

exam (group 5)

Status Type Titel Voortgang groep Status Acties
Een patroondoorbrekend patroon
Huntington-Hill methode
Een schuldige sleutel

exam (group 6)

Status Type Titel Voortgang groep Status Acties
Telefoonboekverdeling
Baconversleuteling
Point Nemo