Search Close
Course syllabus

Advanced Object Oriented Programming, 7.5 credits

Avancerad objektorienterad programmering, 7,5 hp

Course code: DT4014

School of Information Technology

Level: First cycle

Select course syllabus

Version
2025-01-20 - Until further notice

Finalized by: Forsknings- och utbildningsnämnden, 2024-09-18 and is valid for students admitted for spring semester 2025.

Main field of study with advanced study

Computer Science and Engineering, First cycle, has less than 60 credits in first-cycle course/s as entry requirements. (G1F)

Entry requirements

Programming 7.5 credits and Algorithms and Data Structures 7.5 credits. English 6.

Placement in the Academic System

The course is included in the Computer Science and Engineering Programme 300 credits and in the Computer Engineer Programme 180 credits. The course is given also as a single subject course.

Objectives

Design of software components that are easy to modify and easy to re-use requires deep knowledge about programming language constructs and advanced programming techniques.


The aim of the course is for students to acquire extended knowledge about object oriented programming techniques as well as the skills and abilities needed to understand and exploit modern object oriented libraries. Another purpose is that the students, through teamwork during project work and an agile development process, should apply advanced object-oriented programming techniques to develop Java applications.


Following successful completion of the course the student should be able to:


Knowledge and understanding

  • explain and apply inheritance, polymorphism and unit testing
  • explain the concept of model-based application design and development with the help of a suitable modelling language or formalism


Skills and ability

  • given a problem specification, design and implement a Java application with re-usable abstract types and data structures
  • use a distributed version control system
  • identify and apply design patterns discussed in the course to specific problems
  • use reflection and Java annotations to make programs and libraries "self-aware"
  • present the results of her work both in writing and orally


Judgement and approach

  • assess and participate in the development of re-usable program libraries
  • evaluate the results of her work and propose improvements

Content

Design patterns including case studies, polymorphism and inheritance, method overloading, abstract types and data structures, code re-use in frameworks, programming relative to abstract interfaces, Unified Modelling Language (UML) diagrams, Java reflection, Java annotations, and unit testing. Distributed version control. Use of professional tools for software development in Java.

The course design provides practical experience in managing a small-scale project, thus offering an introduction to agile software development methodologies for larger projects and organizations.

Language of Instruction

Teaching is conducted in English.

Teaching Formats

A series of lectures introduces concepts and techniques. The lectures are followed by supervised exercises where the student is given the opportunity to put these into practice. The course includes mandatory project work, where the student can practice independently within a team to solve a larger programming problem using introduced methods and techniques.

Supervision and consultation is provided for project work.

Grading scale

Four-grade scale, digits (TH): Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)

Examination formats

The examination consists of laboratory work in groups, written and oral presentation of project work in groups and individual written examination.

The course grade is given by the integer part of the average of the grades on the project and the written examination.

2501: Labs, 1.5 credits
Two-grade scale (UG): Fail (U), Pass (G)

2502: Project, 3 credits
Four-grade scale, digits (TH): Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)

2503: Written Examination, 3 credits
Four-grade scale, digits (TH): Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)

Exceptions from the specified examination format

If there are special reasons, the examiner may make exceptions from the specified examination format and allow a student to be examined in another way. Special reasons can e.g. be study support for students with disabilities.

Course evaluation

Course evaluation is part of the course. This evaluation offers guidance in the future development and planning of the course. Course evaluations is documented and made available to the students.

Course literature and other materials

Select literature list
2025-01-20 – Until further notice

Literature list 2025-01-20Until further notice

*Horstmann, Cay. Object Oriented Design & Patterns. 3d edition. Wiley


Lecture material is available at the course web page.


* Electronic version available from the course teacher.