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
TDA540 - Object-oriented programming  
Objektorienterad programmering
Syllabus adopted 2018-02-15 by Head of Programme (or corresponding)
Owner: TKAUT
7,5 Credits
Grading: TH - Five, Four, Three, Fail
Education cycle: First-cycle
Major subject: Automation and Mechatronics Engineering

Teaching language: English
Open for exchange students: No

Course module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0104 Examination 4,5c Grading: TH   2,0c 2,5c   19 Jan 2019 pm M   26 Apr 2019 pm SB_MU   29 Aug 2019 pm SB_MU  
0204 Laboratory 3,0c Grading: UG   1,5c 1,5c    

In programs



Krasimir Angelov

  Go to Course Homepage


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

Basic eligibility.


Today the object-oriented view has a very strong position in the area of program development. Programs that are constructed according to this view, object-oriented programs, consist of a number of co-operating parts called objects. The objects encapsulate data and offer methods to read and update the data. The objects are described by so called classes. The aim of the course is to teach the principles of the object-oriented view and how object-oriented programs are constructed.

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

- Understand basic imperative constructions. - Explain how the object-oriented approach is applied to software development. - Given a design, can implement a small object-oriented program based on current principles and techniques. Small limitations: the size of the program (3-5 own classes in addition to given or existing standard classes), the algorithmic complexity (simple selections, iterations, basic search and sorting) and simple data structures (lists). - Explain how event-driven programs work. - Explain error management, streams and files. - Ready for inheritance and abstract classes.


The Java programming language is used. The following topics are discussed: - Basic imperative programming concepts: Types, values, operators, variables, assignment, sequence, selection and iteration. - Basic object-oriented concepts such as classes, objects, methods and instance vairables. - Inheritance, polymorphism and dynamic binding. - A number of standard classes, e.g. String and classes for collections. - Event-driven programs: Java Swing, principles and a smaller selection of components. - Introduction to error handling,
Introduction to streams and files,
Introduction to advanced concepts: inheritance and abstract classes.


Teaching is in the form of lectures, group exercises and supervision of work with programming assignments.


Information on current literature will be published on the course homepage before start of the course.

Examination including compulsory elements

Written exam.

Page manager Published: Thu 04 Feb 2021.