Course syllabus for Introduction to object oriented programming

The course syllabus contains changes
See changes

Course syllabus adopted 2022-01-26 by Head of Programme (or corresponding).

Overview

  • Swedish nameIntroduktion till objektorienterad programmering
  • CodeDAT044
  • Credits7.5 Credits
  • OwnerTKDAT
  • Education cycleFirst-cycle
  • Main field of studyComputer Science and Engineering, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language Swedish
  • Application code 49118
  • Open for exchange studentsNo
  • Only students with the course round in the programme overview.

Credit distribution

0121 Examination 4.5 c
Grading: TH
4.5 c
  • 15 Jan 2025 pm J
  • 16 Apr 2025 pm J
  • 19 Aug 2025 am J
0221 Laboratory 3 c
Grading: UG
3 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

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.

Course specific prerequisites

 

Aim

The aim of the course is to give a solid foundation of imperative programming and an introduction to object oriented programming. The course teaches how to develop imperative programs using functional decomposition and testing and relevant techniques. The object oriented parts teach fundamental techniques for object orientation and how an object oriented program is constructed.

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.

Content

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.

Organisation

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

Literature

Information about recommended course literature is communicated via the course web site before course start.

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.

The course syllabus contains changes

  • Changes to course rounds:
    • 2024-08-19: Examinator Examinator changed from Jonas Almström Duregård (almstroj) to Johannes Åman Pohjola (pohjola) by Viceprefekt
      [Course round 1]