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
TDA548 - Introductory software development  
Grundläggande programvaruutveckling
Syllabus adopted 2021-02-26 by Head of Programme (or corresponding)
Owner: TKITE
7,5 Credits
Grading: TH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Education cycle: First-cycle
Main field of study: Software Engineering

Teaching language: Swedish
Application code: 52114
Open for exchange students: No
Only students with the course round in the programme plan

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0116 Laboratory 3,0 c Grading: UG   3,0 c    
0216 Examination 4,5 c Grading: TH   4,5 c   27 Oct 2021 pm J,  05 Jan 2022 am J   17 Aug 2022 am J

In programs



Niklas Broberg

  Go to Course Homepage


General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

The same as for the programme that owns the course.
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.


This course is an introduction to imperative programming and software development. The course aims to provide basic skills in programmatic problem solving using imperative methods, and give a first look at the craft of programming.

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

The student should be able to complete programming tasks on a fairly basic level. This means the student should be able to explain and use:

  • A modern development environment (editor, compiler, debugger)
  • Data as primitive variables and reference variables/objects.
  • Basic algorithms.
  • Functional decomposition and testing.
  • References: Be able to visualize reference semantics, variables, values, references, and objects.
  • Types: primitive and reference types (arrays, class, and interface types), implicit and explicit type conversions, enumeration types, wrapper types and boxing. Super and sub types.
  • Standard libraries for classes/objects and collections.
  • Own classes and implementations and interface inheritance.
  • Polymorphism
  • An object oriented model of some problem domain.


The course uses the Java language. The following will be addressed:

  • In and output using streams
  • Literals, types, variables, declarations, initialization, operators, expressions and statements, casts, scope
  • Control statements: if, while, for, break, switch.
  • One and two dimensional arrays
  • Methods, parameters, return types, method calls, local variables, overloaded and overridden methods.
  • Primitive types vs reference types, value and reference semantics. Equality.
  • Classes, objects, interfaces, constructors and access. Inteface and implementation inheritance.
  • Graphical and event driven programs (JavaFX)
  • Exceptions and exception handling
  • Overview of file handling
  • Overview of generic classes and methods.
  • Texthandling, strings (String, StringBuilder, Character).
  • Java Collections
  • Instance and class variables/methods.


Teaching is given in the form of computer exercises and labs and lectures. During exercises/labs you will be able to get help. 


Information on current literature will be published on the course homepage.

Examination including compulsory elements

A written exam and a number of compulsory programming assignments.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.

Page manager Published: Thu 03 Nov 2022.