This page contains the seminar schedule, material, assignments, test information and learning outcomes for the programming qualification seminar (QSP), summer 2019 (see LearnIT).
If this is your first visit, please checkout the session 0, which gives you an overview of the course.
The first Monday (1/7) tea, coffee, and croissants will be served from 8:30 to 9:00 on the ground floor. We hope you'll join us to meet and greet each other!
Note: While the times are locked, the topics are subject to change.
Date | Lecture | Place | Workshop | Place | Topic |
---|---|---|---|---|---|
1/7/2019 | 09:00 - 12:00 | Aud 1 | 12:30 - 15:00 | 2A14-16 | 1: Meet your (other) computer! |
3/7/2019 | 9:00 - 12:00 | Aud 1 | 12:30 - 15:00 | 2A14-16 | 2: Learning Python |
5/7/2019 | 9:00 - 12:00 | Aud 1 | 12:30 - 15:00 | 2A14-16 | 3: Using Python |
8/7/2019 | 9:00 - 12:00 | Aud 1 | 12:30 - 15:00 | 2A14-16 | 4: Solving actual problems |
10/7/2019 | 9:00 - 12:00 | Aud 1 | 12:30 - 15:00 | 2A14-16 | 5: Python building blocks |
12/7/2019 | 9:00 - 12:00 | Aud 1 | 12:30 - 15:00 | 2A14-16 | 6: Working with files and objects |
15/7/2019 | 9:00 - 12:00 | Aud 1 | 12:30 - 15:00 | 2A14-16 | 7: Working with data |
17/7/2019 | 9:00 - 12:00 | Aud 1 | 12:30 - 15:00 | 2A14-16 | 8: Algorithms and runtimes |
19/7/2019 | 9:00 - 12:00 | Aud 1 | 12:30 - 15:00 | 2A14-16 | 9: Abstract data types |
22/7/2019 | 9:00 - 12:00 | Aud 1 | 12:30 - 15:00 | 2A14-16 | 10: Python in your future studies |
24/7/2019 | - | - | 9:00 - 16:00 | 2A14-16 | 11: Project 1/2 |
26/7/2019 | - | - | 9:00 - 16:00 | 2A14-16 | 12: Project 2/2 |
The three project sessions are meant for you to develop your own modern code project in Python, but also to familiarise yourself with Python and train for the coming test.
The following table maps the lectures to book contents. Note that we do not expect you to read all the chapters (read more in session 0) This is meant to be a reading guide for those who enjoy learning through reading.
Date | Topic | Automate the Boring Stuff | Python Crash Course | Problem Solving [...] using Python |
---|---|---|---|---|
1/7/2019 | Introduction | - | - | - |
3/7/2019 | Using Python | Chapter 1 and 2 | Chapter 1, 2 and 5 | - |
Please note that the assignments are not mandatory. However, working on them will drastically improve your programming skills and your chances of passing the test. The TAs will provide you with feedback on your hand ins, so exploit the opportunity to understand what you did well and what you need to work on.
Assignments are detailed in each session (see the seminar material link above), under the homework/
folder.
Hand-in should be done on LearnIT.
Hand in deadline | Topic |
---|---|
4/7 23:59 | 2: Working with code |
Lecture notes and materials will be published after each session here: https://github.com/itu-qsp/2019-summer
Video screencasts of the lectures will be available after each session here: https://app.vidgrid.com/content/I78Msf6kamGCzz
Material and screencasts from previous seminars are available for:
- Summer 2018: lecture material and screencasts
- Fall 2018: lecture material and screencasts.
We will try to add helpful tools, websites, and videos.
Codecademy uses Python2 but the main difference you will notice is that print
works differently. Skip the "Pro" part. And Codecademy is not in the same order as the QSP sessions so take that into account.
SoloLearn is a lovely learning tool. It's less verbose than Codecademy but it has an app! So you can practise while on public transport etc. Apple iOS app here and Android app here.
Socratica playlist 2 hour total running time playlist that covers strings, numbers, doc strings, booleans, conditionals, functions, sets, lists, dictionaries, tuples, logging, the random module, classes and objects, sorting, text files, unit tests, and exceptions. It mostly uses the command line but in a very simple way. It is a bit ridiculous and I hope you'll love it.
Topic | Codecademy | Websites | Videos |
---|---|---|---|
Introduction | Session 1, 2 | Python Tutorial / Shortcuts in Mu (especially CTRL K) | Motivation for why to learn code |
You will need to pass the test in order to fully enroll. But fear not: the goal is to get each and everyone one of you through this seminar.
The test will take place on the 2nd of August, and a second test will take place on the 16th of August. Further information will be announced later.
Please read this section carefully. It is the expected outcomes for the seminar that you will be tested for.
The student is able to
- Analyse a given, simple computation task such as manipulation of a text-based database or external hardware device to the extent of designing a programmatic solution and implementing it in a modern, text-based, domain-neutral programming language
- Test the correctness of a piece of code
- Write program documentation
- Reason about the computation complexity of an algorithm
- Express functionality in terms of abstract data type or application programming interface
- Use text-based tools of program development, including an editor, command-line tools, and a version control system
Teachers:
- Helge Pfeiffer
<ropf@itu.dk>
- Jens Egholm
<jegp@itu.dk>
TAs:
- Morten Keller Grøftehauge
<morg@itu.dk>
- Anna Reisz
<reis@itu.dk>
- Jana Schmurr
<jansc@itu.dk>
- Viktor Torp Thomsen
<vikt@itu.dk>