Course syllabus
DAT457: Introduction to programming in Python.
LP3-4 VT26
The course is offered by the department of Computer Science and Engineering
Contact details
- Lecturer and course responsible: Inari Listenmaa (inari@chalmers.se), +46 31 772 29 19
- Examiner: Jean-Philippe Bernardy (jean-philippe.bernardy@gu.se)
- Teaching assistants:
| Adina Aniculaesei | adinaan@chalmers.se |
| Alex Ionescu | ionescua@chalmers.se |
| Ali Rahimi | ali.rahimi@chalmers.se |
| Antonina Skurka | skurka@chalmers.se |
| Mengyuan Wang | mengyuan@chalmers.se |
| Wincent Stålbert Holm | wincenth@student.chalmers.se |
Schedule
The teaching consists of lectures, exercises, as well as supervision in connection to the exercises.
This course is run remotely, between week 4 and week 24. The course schedule is available on TimeEdit.
Weekly* remote learning
- One lecture on Tuesday 6pm–7pm.
- Two consultation sessions:
- Tuesday 7pm–8pm (right after lecture)
- Thursday 6pm–7pm
(*) No lectures during public holidays or Chalmers exam weeks. On exam weeks, there may be consultations even when there is no lecture. Check the course calendar to make sure.
Obligatory online checkpoints with a TA
- Three occasions, during the time reserved for consultation sessions.
- See labs on Canvas:
- Checkpoint 1: Variables, Functions, Conditions & Loops (Due: 26 Feb)
- Checkpoint 2: Numbers, Lists & Strings (Due: 16 April)
- Checkpoint 3: Dictionaries, Files & Generators (Due: 28 May)
Obligatory on-campus meeting
- A final exam, on June 11, 2026 (8:30 to 12:30)
The lecture topics, slides, etc. will appear as modules as the course progresses.
Examination form
To pass the course it is necessary to do:
- attend the monthly online checkpoints
- obligatory lab which must be submitted before the deadline (May 8) and approved by a supervisor. The grading can involve automatic testing, but supervisors also manually inspect the submissions for clarity, correctness and general quality.
- A digital exam. Permitted aids: one handwritten A4 sheet.
Course literature
John M. Zelle, Python Programming: An Introduction to Computer Science. Franklin, Beedle, & Associates.
In this course we support both the 3rd and 4th edition of the book.
https://mcsp.wartburg.edu/zelle/python
The book is also available as e-book.
Content
The course is a first introduction to programming by using the general-purpose programming language Python. It gives a comprehensive knowledge of the language, enabling the student to write code for a wide variety of tasks and to read and reuse code written by other programmers.
- Literals, types, variables, declarations, initialization, operators, expressions and statements, scope.
- Control statements: if, while, for, break, continue, return try, raise.
- Exceptions and exception handling.
- functions, parameters, arguments, method calls, local variables.
- Simple data structures (list, dictionary, set, stack).
- One- and two-dimensional lists.
- Input and output.
- Overview of file handling.
- Text handling, strings.
Learning outcomes
Knowledge and understanding
- Grasp the relation between source code, the interpreter, and the machine.
- Choose appropriate data types and data structures for different kinds of data, depending on their performance characteristics.
- Design algorithms to solve simple programming problems.
Competence and skill
- Structure small programs by the use of concepts such as iterations, functions, modules, classes, and methods.
- Form readable, descriptive and well-documented program code.
- Use programming for basic data analysis involving large textual or numeric files.
- Express mathematical formulas as programming language expressions and algorithms.
- Test programs, for instance using unit testing.
- Use programming tools such as text editor, command line interface, and IDE (integrated development environment).
- Use standard libraries and follow best programming practices.
Judgement and approach
- Assess the difficulty and resources needed for typical programming tasks.
Course summary:
| Date | Details | Due |
|---|---|---|