General information
This 10 credit course is taught by Dr 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 at 3pm (weeks 1–9)
- Two-hour online programming tutorials on Thursday's (weeks 1–9)
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 7 of the semester (deadlines 1pm on Oct 30 and Nov 23, respectively).Coursework: The coursework project [PDF], worth 70% of the total mark, needs to be submitted via Blackboard by the end of week 11 (Friday 1pm on Dec 18).
Additional files for download: [supermarket.py] [stock.csv]
Basic testing code: [supermarket-test.py]
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]
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Review session: [VIDEO] [alt]
- Lab class: Download and run/discuss the guessing game [1-page guide]
Week 2: Loops and conditionals
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Review session: [VIDEO] [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]
- Review session: [VIDEO] [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]
- Review session: [VIDEO] [alt]
- Exercises (to be completed before lab): [HTML] [ZIP Solutions]
- Lab class: [HTML] [1-page guide] [ZIP Solutions]
Week 6: Control flow
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Review session: [VIDEO] [alt]
- Exercises (to be completed before lab): [HTML] [ZIP Solutions]
- Lab class: [HTML] [ZIP Solutions]
Week 7: File I/O
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Exercises (to be completed before lab): [HTML] [ZIP Solutions]
- Lab class: [HTML] [1-page guide] [ZIP Solutions]
Week 8: Modules
- Core material: [VIDEO] [HTML] [PDF] [alt]
- Review session: [VIDEO] [alt]
- Coursework: see above
- Exercises (to be completed before lab): [HTML] [ZIP Solutions]
- Lab class: [HTML] [1-page guide] [ZIP Solutions]
Week 9: Data analysis (optional)
Week 10: Consultation
- Lab class: Coursework consultation
Week 11: No lab classes/lectures
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!)