Nane Kratzke

Lecture:

Programming II

Published: 01 Apr 2025 (latest update: 01 Jun 2025)
Short: Prog II
Semester: SS 2025
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 as well. 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:

  • Recursive programming
  • Lambda programming
  • Generics introducing concepts like generic classes and methods as well as concepts like type erasure
  • Graphical user interfaces (GUI) using Swing introducing MVC (model view controller) paradigma

Material

  • Unit 1: Introduction to recursive programming
  • Unit 2: Sequence-based recursion
  • Unit 3: Recursive data structures
  • Unit 4: Introduction to functional programming (with Java)
  • Unit 5: Functional programming with streams
  • Unit 6: Thinking in Filter → Map → Reduce
  • Unit 7: Introduction to generic data types
  • Unit 8: Bounded Types
  • Unit 9: Introduction to Java Swing
  • Unit 10+11: Model - View - Controller
  • Catalogue of exercises: (Executable in Moodle using the Virtual Programming Laboratory (VPL))

Screencasts