Munch Lab

Applied Programming 2014

This course introduces basic Python programming to students with little or no experience with programming. After the course, participants will know the basic principles behind programming and will have sufficient experience with practical programming to tackle simple programming tasks.

Important exam information

  1. The exam date is 24/1. The official information is available here under “Datalogi”.
  2. At the end of the exam you will upload you assignment to AULA. So make sure you are registered on the course page in AULA.
  3. Solving the exam assignment requires an input file that you must download BEFORE the exam. You must download a zipped folder called “AP2014exam”, which contains a lot of files with boy names. Unzip the folder but do not open any of the files as you may then accidentally change them. Only at the exam you will learn which of these files is part of the exam assignment. It is your own responsibility to have this folder on you computer at the exam.
  4. As internet access is not allowed at the exam you can download the Book we used for the course as well as the Python documentation here. Make sure you uncompress the zipped folder on your machine: It is possible to view the contents of a zip archive without unpacking it – but then it will  be horribly slow.


Lectures are in Danish. Web resources are in English for the benefit of our
foreign students. Your lecturer is me (Kasper Munch). You can contact me on email:

Day Time Place Weeks
Tuesday 9 – 11 Auditorium G2 (building 1532 room 122) 45-51
Thursday 10 – 11 Auditorium G2 (building 1532 room 122) 44-50

Computer exercises

Each week you will complete a set of programming exercises. You should try to complete as much the the exercises you can before each TA session. Your teaching assistant (TA) is Dan Søndergaard ( By the time all classes have had their TA session the solutions will be available at the end each page with exercises.

Group Day Time Place Weeks
MM3 Monday 12 – 15 Lokale 5794-127 45-51
MM1 Wednesday 12 – 15 IT-huset, lokale 131(5523-131) 45-51
MM2 Friday 8 – 11 IT-huset, lokale 112(5520-112) 44-50

Weekly assignments

Each week you will be assigned a mandatory assignment that you should hand in to your TA (Dan). If you have your computer exercises Friday or Monday you must hand it in by Wednesday at 10 the week after it is assigned and he will correct it and give you feedback at the following TA session. If you have your computer exercises on Wednesday the deadline for handing in is Friday at 10.

All the weekly assignments must be handed in – and accepted by the TA – for you to qualify for the exam.

AULA mailing list

I will mainly communicate with using this website, but you need to sign up on the course page on AULA to be able to receive emails about the course.

Reading material

The reading material for this course will mainly be How to think like a computer scientist – interactive edition. The link points to a version of the book made for this course. This will allow you to log in to the book so you can save notes and code snippets along the way. It also allows me to see how the class as a whole is doing and what we need to spend more time on. So be sure to use the link above instead of just googling the book.  I may also write some additional notes myself and link to them from the weekly schedules (see below).

Learning outcomes

At the end of the cource you should be able to:

  • Describe sufficient and unambiguous procedures for solution of problems
  • Apply the Python programming language to solve simple programming problems.
  • Read Python code written by others and adapt it to your own needs.
  • Outline programming tasks to a professional programmer.

Course outline

We will follow the book quite closely. I may apply minor changes to the plan along the way but here is how it looks in outline:

Week Reading Single Lecture Exercise Double lecture
1 General introduction, Simple Python data, debugging interlude, Turtle graphics Introductory lecture Install Python and the Sublime Text editor. How python works, Python data, objects, assignment, expressions,  For loops, Iteration
2 Modules, Functions, Selection, More about iteration, Strings Modules, Functions Turtle graphics competition Selection, More about iteration, Strings
3 Lists, Dictionaries Lists Comparing HIV sequences Lists, Aliasing, Dictionaries
4 Files, Recursion Recursion Base composition of HIV sequences Files, Breaking down problems
5 Classes and objects – the basics, Classes and objects – digging a little deeper Classes and objects Finding open reading frame in Streptococcus bacteria Running python programs outside an editor, More Classes and objects
6 None Next weeks exercise Codon bias in Streptoccocus Trouble shooting, Biopython
7  None  Biopython  Assembling genomic sequence from sequencing reads Perspectives, Bachelor projects, Exam, Evaluation

Python online documentation

When you want to learn more about something or just look up the use of some method use the
Python documentation website or more specifically the Python standard library

Weekly schedules

The detailed schedule for each week will be available about a week ahead of time. The table below will also contain links to slides and solutions to assignments. NB: At some point you will see week schedules for the entire course and you are welcome to sneak a peak, but I refer the right to change the program up to a week before material becomes relevant. So make sure you check for any last minute (or last week) changes as we go along.

Week Note Single lecture Double lecture Code snippets Assignment solutions Exercise solutions
1  Note  Slides  Slides  None  None  None
2  Note  Slides  Slides None  Solution None
3  Note  Slides  Slides  None  Solution Solution
4  Note  Slides  Slides  None  Solution  Solution
5  Note  Slides  Slides,,,  Solution  Solution
6  Note  Slides  Canceled  None  Solution  Solution
7  Note  None  None  Solution

One thought on “Applied Programming 2014”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: