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.
Lecture is given for computer science students at Lübeck University of Applied Sciences.
Lecture will cover 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
Course Material (german only)
- Lecture Unit 1: Core concepts of programming
- Lecture Unit 2: Fundamentals of imperative programming
- Lecture Unit 3: Reference data types and collections
- Lecture Unit 4: I/O programming, serialization
- Lecture Unit 5: Recursive and functional programming
- Lecture Unit 6: OO and UML
- Exercises: Catalogue of excercises
- Youtube Playlist: Excercises of WS2015/16 explained (thanks to Marco Torge Gabrecht for providing this tremendous work)