Nane Kratzke


Programming II

Published: 15 Apr 2020
Short: Prog II
Semester: SS 2020
Study: Computer Science

The course Programming II continues Programming I by introducing more sophisticated programming concepts for second-semester students. JAVA is used as a teaching language. (The C programming language is covered in a parallel thread of this course. However, this is not covered by this post.) Nevertheless, the principles apply to every (class-based) object-oriented programming language.

The course is given for students of the Computer Science/Software Engineering study programme at the L├╝beck University of Applied Sciences and will cover the following aspects:

  • Object oriented concepts and programming techniques
  • Testing of software including introduction to contracts, unit testing and code coverage
  • Generics introducing concepts like generic classes and methods as well as concepts like type erasure, bounds
  • Introduction to OOAD (object-oriented analysis and design) by the example of Tic Tac Toe
  • Graphical user interfaces (GUI) using Swing introducing MVC (model view controller) paradigma
  • Concurrent programming using threads introducing accompanying thread safeness problems like race conditions, producer-consumer problem, deadlocks.

Due to the Corona crisis, this course is given as a complete online course.


  • Unit 6: Introduction to object oriented programming (Self study due to Corona lockdown)
  • Unit 7: Further aspects of object oriented programming (Regular self study unit)
  • Unit 8: Testing (Self study due to Corona lockdown)
  • Unit 9: Generics (Self study due to Corona lockdown)
  • Unit 10: OOAD by example of Tic Tac Toe (Self study due to Corona lockdown)
  • Unit 11: GUI and MVC (Self study due to Corona lockdown)
  • Unit 12: Concurrent programming (Self study due to Corona lockdown)
  • Catalogue of exercises: (Executable in Moodle using the Virtual Programming Laboratory (VPL))