t.BA.IT.PROG2.19HS (Programming 2) 
Module: Programming 2
This information was generated on: 20 April 2021
No.
t.BA.IT.PROG2.19HS
Title
Programming 2
Organised by
T InIT
Credits
4

Description

Version: 2.0 start 01 August 2019
 

Short description

In this module, the extended concepts of object-oriented programming are taught based on the programming language Java and the associated Java Standard Edition environment.
Objective is to create high-quality, comprehensible and easy to maintain program code using advanced methods, techniques and tools.

Module coordinator

Marti Christof (mach)

Learning objectives (competencies)

Objectives Competences Taxonomy levels
Students understand the concepts of concurrency and can correctly control and synchronize parallel tasks. You are able to identify and avoid problems. F, M K2, K3, K4
Students understand the extended functional language concepts of Java (lambda, streams) and can use them in a systematic and efficient way. F, M K2, K3
Students can design and build applications with a simple graphical user interface. F, M K3
Students understand the principle of Isolated Testing and can implement it with the use of mock tests. F, M K2, K3

Module contents

Extended Java concepts
  • Error- and Exception-Handling
  • Inner Classes & Anonymous Inner Classes
  • Lambda Expressions (Functional Interfaces)
  • Method References, Functions as arguments and return values
  • Functional Streams 
Concurrency
  • The Thread lifecycle
  • Thread safety, Atomic Types
  • Thread Synchronisation
  • Synchronized Queues 
  • Extended Monitor Concept, Lock & Conditions
  • Avoiding Deadlocks
  • Advanced Thread-Handling
Simple Graphical User Interfaces (GUIs)
  • GUI-Principles, -Architecture, -Components and -Layouts 
  • Graphical output (Graphics) and building custom components
  • Model-View-Controller, Event handling, Observer-Pattern
  • Use of complex components
Input and Output of data – Java IO
  • Handling files and directories
  • Reading and writing files
  • Java-Serialization, data encoding, character sets
Mock-Testing
  • Isolated Testing, Behaviour- vs. State-Testing
  • Stubbing and Behaviour-Verification
  • Writing Mock-Tests 

Laboratories
In the hands-on laboratories, students solve exercises tailored to the topic of the lecture.

Teaching materials

Materials will be issued as part of the lecture.

Supplementary literature

Java - The Complete Reference, 11th Edition, from Herbert Schild, McGrawHill, ISBN 978-1-26-044023-2
Java lernen mit BlueJ, 6. Ausgabe, David J. Barnes und Michael Kölling, ISBN: 978-3-8689-4907-0
Clean Code. A Handbook of Agile Software Craftsmanship from Robert C. Martin, Prentice Hall, ISBN 978-0-13-235088-4.

Prerequisites

Knowledge taught in PROG1

Teaching language

(X) German ( ) English

Part of International Profile

( ) Yes (X) No

Module structure

Type 3b
  For more details please click on this link: T_CL_Modulauspraegungen_SM2025

Exams

Description Type Form Scope Grade Weighting
Graded assignments during teaching semester Learning control questions and programming exercises written Per topic block Points 20%
End-of-semester exam Written Exam written 90 minutes Points 80%

Remarks

 

Legal basis

The module description is part of the legal basis in addition to the general academic regulations. It is binding. During the first week of the semester a written and communicated supplement can specify the module description in more detail.
Course: Programmieren 2 - Praktikum
No.
t.BA.IT.PROG2.19HS.P
Title
Programmieren 2 - Praktikum

Note

  • No module description is available in the system for the cut-off date of 01 August 2099.
Course: Programmieren 2 - Vorlesung
No.
t.BA.IT.PROG2.19HS.V
Title
Programmieren 2 - Vorlesung

Note

  • No module description is available in the system for the cut-off date of 01 August 2099.