Exam

Look here for information about the exam.

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.

Lectures

Lectures are in Danish. Web resources are in English for the benefit of our foreign students. Your lecturer is Kasper Munch. You can contact him on email (kaspermunch@birc.au.dk) or on phone (89423132).

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

Computer exercises

Each week you can meet with your TA to go through the computer exercises presented to you. Your teaching assistant (TA) will be Andreas Sand Pedersen (asand@cs.au.dk), Yu Qian (qianyuxx@gmail.com) and vikas gupta (vikas0633@gmail.com). After each TA session the solutions to the exercises will be available at the end each page with exercises.

Day Time Place Weeks
Monday 12 - 15 Stibitz-123, Åbogade 45-51
Friday 8 - 11 Stibitz-123, Åbogade 44-50

Weekly assignments

Each week you will be assigned a mandatory assignment that you should hand in to your TA. You should hand it in by Wednesday at 10 the week after it is assigned and he/she will correct it and give you feedback at the TA session the following Friday.

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

Reading material

The reading material for this course will mainly be notes put up on these pages as part of the weekly schedule. I will point you to online resources for additional reading along the way. You will be just fine with that, but if you absolutely need a real book on Python you can buy Dive Into Python - available at the GAD bookstore (but also, as you can see, online). Unless you are already familiar with programming - just not Python programming - we do not recommend that you read the chapters from Dive Into Python as the primary literature as it can be a very concise description of lots of new concepts, but after you feel that you understand the main points of a week's exercises it is a good source for getting details we do not cover in the lectures or exercises.

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

In the first of the double lectures I will introduce new material, and in the second we will try and tackle this together. In the single lecture I will often go through last weeks hand in or treat topics that turn out to require more of our attention. The complexity of the exercises you will do with your TAs will reflect the programming techniques you have been introduced to. We progress quickly from simple to more complex exercises so make sure to practice enough to keep on top of what you learn - even when it seems simple.

Week Double lecture Single Lecture Exercise
1 Introduction, Expressions, If statements Installation, IDLE, Expressions, If statements
2 Control flow, Functions Functions, Modules Control flow and Simple functions
3 Strings, Lists Scope Comparing HIV sequences
4 Dictionaries, Files Aliasing Base composition if HIV sequences, Reading and writing files
5 Breaking down problems List comprehensions Finding open reading frames in Streptococcus bacteria
6 Classes and objects Debugging Calculating codon bias, Trouble shooting
7 Programming techniques, data structures TBA TBA
8 Wrap up, Exam, Bachelor projects, 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: I have added week schedules for the entire course and you are wellcome 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 Week schedules Assignment solutions Slides Tues. Slides Thurs. Code snippets
1 Schedule None None Slides
2 Schedule Solution Slides
3 Schedule Solution Slides
4 Schedule Slides Snippets
5 Schedule Slides
6 Schedule Slides Snippet1 Snippet2
7 Schedule Slides sorting.py recursion.py
8 Schedule Slides

Index

Contact info

Office address:
Bioinformatics Research Centre (BiRC)
Aarhus University
C.F. Møllers Allé 8
DK-8000 Aarhus C
Denmark
Office phone:
+45 8715 5569
Mobile phone:
3013 8342
Email:
kaspermunch@birc.au.dk