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 |