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.
Lecture is given for students of the Computer Science/Software Engineering 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.
Course Material (german only)
- Lecture Unit 6: Introduction to object oriented programming
- Self Study Unit 7: Further aspects of object oriented programming
- Lecture Unit 8: Testing
- Lecture Unit 9: Generics
- Lecture Unit 10: OOAD by example of Tic Tac Toe
- Lecture Unit 11: GUI and MVC
- Lecture Unit 12: Concurrent programming
- Exercises: Catalogue of exercises