Search programme

​Use the search function to search amongst programmes at Chalmers. The programme overview and the programme syllabus relating to your studies are generally from the academic year you began your studies.


Syllabus for

Academic year
TDA545 - Object-oriented programming
Syllabus adopted 2015-02-12 by Head of Programme (or corresponding)
Owner: TKITE
7,5 Credits
Grading: TH - Five, Four, Three, Not passed
Education cycle: First-cycle
Major subject: Information Technology

Teaching language: Swedish

Course module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0104 Examination 4,5 c Grading: TH   4,5 c   29 Oct 2015 pm H,  04 Jan 2016 am H,  24 Aug 2016 am M
0204 Laboratory 3,0 c Grading: UG   3,0 c    

In programs



Docent  Magnus Myreen


TDA375   Fundamental object-oriented software development

  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


This is an introduction to programming that teaches object-orientated programming. Object-oriented programs consists of components, called objects, that together form programs. Objects encapsulate data and provide methods for reading and updating the encapsulated data. Objects are defined by classes. The purpose of this course is to teach basic programming skills, principles of the object-oriented paradigm, and how one constructs object-oriented programs.

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

- be able to complete simple programming tasks.

This means that one should know how to

  • approach a programming task
  • break the top-level task into smaller more manageable tasks
  • complete the top-level task by completing all the smaller tasks
  • write simple tests that help find a solution and validate the final solution

- explain and use basic concepts of object-oriented programming

This means e.g. that one should be able to explain and use

  • the difference between primitive and reference types, and illustrate this with sketches of memory cells with values and references
  • how one and multidimentional arrays are declared, created and used
  • the difference between static methods/variables and instance methods/variables
  • the difference between a methos that returns a value and a method that has result type void
  • how parameter passing happens at method calls
  • the difference between a class and an object
  • the concept of subclass and describe how such are declared
  • the concept of abstract class
  • what an interface is and what it means that a klass implements an interface
  • concepts dynamic binding, data encapsulation, information hiding
  • how different relations are implemented using interfaces, inheritance and references
- construct methods that make use of the programming language's datatypes and control structures

This means that one should know how to 

  • define static and instance meothds, using appropriate parameter and result types
  • use control structures such as for-, while- and if-statements in a structured manner
  • handle both one and multidimensional arrays
  • use standard classes for construction of lists
  • read input that has been supplied by the user
  • present output for the user and make simple modifications to the output
  • use exceptions to signal and deal with potential errors
  • solve simple problems using recursion
- independently construct object-oriented programs that use both library classes and programmer-defined classes.

This means that one should know how to:

  • define classes that describe concrete and abstract concepts such as dice, bank accounts, points, rectangles, counters, etc.
  • define classes that implement a given interface
  • define subclasses for given classes in order to configure or modify their behaviour by redefining some method
  • write programs that use standard classes such as Integer, Double, Scanner, String, StringBuffer, Arrays, Color, System, ArrayList etc.
  • document the program using JavaDoc, coding standards, naming and commenting
  • test programs 

- write simple event-driven programs with a graphical user interface.
This means that one should know how to:
  • define classes that are subclasses of standard classes and that describe windows and parts of windows
  • define and register listeners for different events


The Java programming language is used. The following items are discussed: 

  • variables, expressions and statements, priorities, meothds, parameter passing, recursion
  • arrays and reading of input form the user
  • simple types and reference types, type conversions
  • basic object-oriented concepts such as classes, objects, methods and instance variables
  • relations and briefly about UML
  • different equality tests
  • inheritance, polymorphism and dynamic binding
  • abstract classes and interfaces
  • standard classes for graphical user interface
  • how to construct your own graphic components 
  • events and listeners
  • error handling using so called exceptions 
  • search for documentation of standard classes on the Internet
  • some of the classes in Javas API


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.


A written exam and a number of programming assignments.

Page manager Published: Thu 03 Nov 2022.