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  
Syllabus adopted 2015-02-15 by Head of Programme (or corresponding)
Owner: TKMAS
7,5 Credits
Grading: TH - Five, Four, Three, Not passed
Education cycle: First-cycle
Major subject: Automation and Mechatronics Engineering, Computer Science and Engineering, Electrical Engineering
Department: 42 - APPLIED MECHANICS

Teaching language: English
Block schedule: C

Course 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   15 Mar 2016 am M,  07 Apr 2016 am M,  16 Aug 2016 am SB_DATA  

In programs



Forskare  Thomas Svedberg
Doktor  Mikael Öhman


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 write objectoriented software using Python. Furthermore, the student should be able to read reference literature for the Python programming language as well as being 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.


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

Page manager Published: Thu 04 Feb 2021.