Munch Lab

Applied programming 2013

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 me (Kasper Munch). You can contact me on email:
kaspermunch@birc.au.dk.

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 (das@birc.au.dk). 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.

About these pages

All teaching material will appear as posts on this website. All posts are linked to from the weekly schedules you can find links to below. Python code in posts is annotated with line numbers like this:

print "hello world"

print "hi again"

These numbers are not supposed to be line numbers in a file, but only serve to let us identify particular lines of code when we talk about them in class.

Course outline

In the first of the double lectures I will introduce new material. 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 TA 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.

I will adjust the course plan as we go along, but it will likely resemble the plan from last year below. I will change in the during of the course, so you can check back later.

Week Double lecture Single Lecture Exercise
1 Introduction, Expressions, If statements Installation, IDLE, Expressions, If statements
2 Control flow Functions, Scope Control flow and Simple functions
3 Strings, Lists Objects, Methods 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 TBA Assembling genomic sequence from sequencing reads
7 Programming techniques, data structures TBA Working with trees
8 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 Week schedules Assignment solutions Slides Tues. Slides Thurs. Code snippets
1 Schedule None None Slides None
2 Schedule Solutions Slides Slides None
3 Schedule Solutions Slides Slides None
4 Schedule Solutions Slides Slides None
5 Schedule Solutions Slides Slides None
6 Schedule Solutions Slides None
7 Schedule None Slides Slides
8 Schedule None Slides

Leave a Reply

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

WordPress.com Logo

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

Google+ photo

You are commenting using your Google+ 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 )

Connecting to %s

%d bloggers like this: