General information
This 10 credit course is taught by Prof. Stefan Güttel.Intended learning outcomes and an overview of the syllabus can be found here.
Teaching in weeks 1–9 of the semester will proceed as follows:
- Self-study materials provided below on a weekly basis
- One-hour online review session on Monday (weeks 1–9, 2pm Crawford House TH1)
- Two-hour programming in the labs (weeks 1–9, see your timetable)
Assessment
Mini tests: There will be two mini tests during the semester, each worth 15% of the total mark, and a final coursework project worth 70% of the mark. The tests take place during weeks 4 and 8 of the semester (deadlines 1pm on Oct 21 and Nov 18, respectively).Course materials
Below you find the core material delivered as an interactive [VIDEO] lecture. The lecture notes are also available in [HTML] and [PDF] format (for reading with adjustable font size and printing). The video lectures are hosted on YouTube. If YouTube is inaccessible for you, use the alternative video links [alt].Week 1: Introduction
- Course introduction: [VIDEO] [HTML] [PDF] [alt]
- Fix Anaconda (needed to update Spyder): [VIDEO] [PDF]
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Exercise: Download and run the guessing game
Week 2: Loops and conditionals
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Exercises (to be completed before lab): [HTML] [ZIP Solutions]
- Lab class: [HTML] [1-page guide] [ZIP Solutions]
Week 3: Functions
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Exercises (to be completed before lab): [HTML] [ZIP Solutions]
- Lab class: [HTML] [1-page guide] [ZIP Solutions]
Week 4: Lists
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Exercises (to be completed before lab): [HTML] [ZIP Solutions]
- Lab class: [HTML] [1-page guide] [ZIP Solutions]
Week 5: Strings
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Exercises (to be completed before lab): [HTML] [ZIP Solutions]
- Lab class: [HTML] [1-page guide] [ZIP Solutions]
Week 6: Reading week
- No lectures/tutorials
Week 7: Control flow
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Exercises (to be completed before lab): [HTML] [ZIP Solutions]
- Lab class: [HTML] [ZIP Solutions]
Week 8: File I/O
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Exercises (to be completed before lab): [HTML] [ZIP Solutions]
- Lab class: [HTML] [ZIP Solutions]
Week 9: Modules
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Exercises (to be completed before lab): [HTML] [ZIP Solutions]
- Lab class: [HTML] [ZIP Solutions]
- Coursework: [PDF] [TEMPLATE] [REVIEW]
Week 10: Data analysis (optional)
- Core material: No review session!
This material is completely optional and you can review it whenever convenient.
[HTML] [PDF] - Exercises: [HTML]
- Lab class: No lab class!
Further material
- Download Anaconda, the integrated development environment we will be using
- repl.it - an online Python interpreter which you can use instead of Spyder
- A (Free) Primer on Scientific Programming with Python
- A YouTube tutorial on writing a simple Guess a Number game
- Why you should learn programming: TEDxSMU talk
- Python for Everybody: interesting 14-hour Python course
- Leslie Lamport on the difference between programming and coding (and importance of documentation!)