Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.


Syllabus for

Academic year
DAT171 - Object-oriented programming in Python  
Objektorienterad programmeringsteknik i Python
Syllabus adopted 2019-02-21 by Head of Programme (or corresponding)
Owner: TKMAS
7,5 Credits
Grading: TH - Five, Four, Three, Fail
Education cycle: First-cycle
Major subject: Automation and Mechatronics Engineering, Computer Science and Engineering, Electrical Engineering

Teaching language: English
Application code: 55142
Open for exchange students: No
Block schedule: C+
Only students with the course round in the programme plan

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0114 Written and oral assignments 3,0c Grading: UG   3,0c    
0214 Examination 4,5c Grading: TH   4,5c   17 Mar 2020 am SB_DATA   09 Jun 2020 am J_DATA,  18 Aug 2020 am J_DATA

In programs



Thomas Svedberg

  Go to Course Homepage


DAT170   Object oriented programming


In order to be eligible for a first cycle course the applicant needs to fulfil the general and specific entry requirements of the programme(s) that has the course included in the study programme.

Course specific prerequisites

Good knowledge of basic programming structures such as variables, conditions, loops, and functions
in any programming language.


The aim of the course is to provide the students with good opportunities to develop a fundamental understanding of object-oriented programming, particular in Python and how to use standard libraries for development of  graphical user interfaces,   numerical computations and plotting.

Learning outcomes (after completion of the course the student should be able to)

After successfully passing the course, the student should
  • be able to independently from a problem formulation  write objectoriented software using Python
  • be able to  read and use reference literature for the Python programming language as well as
  • be able to use the SciPy/NumPy package for numerical computations and PyQt for writing graphical user interfaces.


  • Basic building blocks of a Python program (variables, conditional statements, loops, libraries, catching errors).
  • Data structures (trees, dictionaries, queues, tuples)
  • Object Oriented programming (classes, objects, inheritance, polymorphism, abstract classes).
  • PyQt for creating graphical user interfaces
  • NumPy (Matrices, vectors, linear algebra)
  • SciPy (Package for numerical computations)
  • Matplotlib (Plotting)
  • Interactive Python (ipython)


The course is give in the form of lectures and tutored handins.


To be announced 2 weeks prior to course start.

Examination including compulsory elements

Three compulsory handins and a mandatory exam (at computer) with grades pass to 5.

Published: Wed 26 Feb 2020.