The lecture Programming II continues Programming I by introducing
more sophistacted programming aspects
for freshman students (second semester).
JAVA is used as teaching language. Nevertheless, the principles are applicable to every (class based) object oriented programming language.
The lecture is given for students of the [Computer Science/Software Engineering][infswt] study programme
at Lübeck University of Applied Sciences and will cover 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 methodes as well as concepts like type erasure, bounds
- Introduction to OOAD (object oriented analysis and design) by example of Tic Tac Toe
- Graphical user interfaces (GUI) using Swing introducing MVC (model view controler) paradigma
- Concurrent programming using threads introducing accompanying thread safeness problems like race conditions, producer-consumer problem, deadlocks.