Nane Kratzke


Programming I

Published: 16 Sep 2015 (latest update: 19 Nov 2015)
Short: Prog I
Semester: WS 2015/16
Study: Computer Science

The lecture Programming I is about fundamentals of programming for freshman students.

The lecture covers aspects like primitive and reference data types, operators, expressions, control flow, routine (method) definitions, I/O programming, recursive and object oriented programming. JAVA is used as teaching language, nevertheless the principles are applicable to every (imperative or class based object oriented) programming language.

The lecture is given for computer science students at L├╝beck University of Applied Sciences and covers the following aspects:

  • Fundamental concepts of programming including programming paradigms and runtime models
  • Variables, data types, operators and expressions
  • Control flow and routines (functions, procedures, methods)
  • Reference data types and collections
  • (Stream based) I/O programming and serialization of objects
  • Recursive programming and recursive datastructures
  • Functional programming using lambda functions
  • Exception handling
  • Introduction to object oriented programming and UML introducing fundamental concepts like abstraction, encapsulation, polymorphism


  • Unit 1: Core concepts of programming
  • Unit 2: Fundamentals of imperative programming
  • Unit 3: Reference data types and collections
  • Unit 4: I/O programming, serialization
  • Unit 5: Recursive and functional programming
  • Unit 6: OO and UML
  • Exercises
  • Youtube playlist: Excercises of WS2015/16 explained (Thanks to Marco Torge Gabrecht for providing this tremendous work.)