19307701
Lecture
SoSe 19: ProInformatik III: Object-oriented Programming
Benjamin Güldenring
Additional information / Pre-requisites
Organizational stuff:
- You can only enrole to this course online: Onlineanmeldung
- Besides the lectures (every day from 9 to 11:45 am) also tutorials (1 - 3:30 pm) and times for questions (starting 3:30 pm) are part of the course.
- The attendence of the tutorials is obligatory.
- Exam dates: August 8th (Python) and 22nd (Java), at 9 am.
- The final mark consists of the results of both exams (each 50%).
- The programming project in week five offers you the possibility to improve your mark.
Comments
In this lecture the students learn object-oriented concepts via the programming languges Python and Java. You are welcome without any background knowledge in programming. In the last week a programming project will be conducted.
Topics:
- Introduction in imperative programming with Python (data type, operator, expression, variable, assignment, branching, loops, procedures, recursion, input and output, error handling)
- Basic algorithms (sorting, geometry) and types of algorithms (divide and conquer, backtracking)
- Runtime analysis of small programs and proofs of correctness with the Hoare-Calculus
- Modelling the concept of computability as a register machine
- Object-oriented programming concepts (classes, objects, references, methods, inheritance, polymorph type systems, abstract classes, interfaces, template classes, encapsulation)
- Simple data structures (simple and double linked lists, heap) and their implementation, abstract data types (stack, queue)
- Object-oriented modelling techniques and basic design patterns (iterator, observer pattern, model-view-controller etc.)
- Application of programming skills in a project
25 Class schedule
Regular appointments
Mon, 2019-08-19 08:00 - 12:00
Tue, 2019-08-20 08:00 - 12:00
Wed, 2019-08-21 08:00 - 12:00
Thu, 2019-08-22 08:00 - 12:00
Fri, 2019-08-23 08:00 - 12:00
Mon, 2019-08-26 08:00 - 12:00
Tue, 2019-08-27 08:00 - 12:00
Wed, 2019-08-28 08:00 - 12:00
Thu, 2019-08-29 08:00 - 12:00
Fri, 2019-08-30 08:00 - 12:00
Mon, 2019-09-02 08:00 - 12:00
Tue, 2019-09-03 08:00 - 12:00
Wed, 2019-09-04 08:00 - 12:00
Thu, 2019-09-05 08:00 - 12:00
Fri, 2019-09-06 08:00 - 12:00
Mon, 2019-09-09 08:00 - 12:00
Tue, 2019-09-10 08:00 - 12:00
Wed, 2019-09-11 08:00 - 12:00
Thu, 2019-09-12 08:00 - 12:00
Fri, 2019-09-13 08:00 - 12:00
Mon, 2019-09-16 08:00 - 12:00
Tue, 2019-09-17 08:00 - 12:00
Wed, 2019-09-18 08:00 - 12:00
Thu, 2019-09-19 08:00 - 12:00
Fri, 2019-09-20 08:00 - 12:00