Nane Kratzke


Programming II

Published: 21 Feb 2019 (latest update: 07 Mar 2019)
Short: Prog II
Semester: SS 2019
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.