19307701 Lecture

SoSe 20: ProInformatik III: Object-oriented Programming

Victor Brekenfeld

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: September 11th (interim exam) and 25nd (final exam), 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.
close

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
close

Suggested reading

Literatur

  • Concepts of Programming Languages, Robert Sebesta, Pearson Education , 10th Edition, 2012, ISBN: 0131395319
  • Data Structures & Problem Solving Using Java, Mark Allen Weiss, Addison Wesley, 4. Auflage, 2010, ISBN: 0-321-54140-5
  • Cormen, Leiserson, Rivest: Introduction to Algorithms, 3. Auflage 2009,
  • Bundle of algorithms in java, third edition, parts 1-5. Sedgewick Robert und Michael Schidlowsky. Addison-Wesley Longman, Amsterdam. 2003.
close

25 Class schedule

Regular appointments

Mon, 2020-09-07 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Tue, 2020-09-08 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Wed, 2020-09-09 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Thu, 2020-09-10 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Fri, 2020-09-11 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Mon, 2020-09-14 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Tue, 2020-09-15 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Wed, 2020-09-16 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Thu, 2020-09-17 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Fri, 2020-09-18 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Mon, 2020-09-21 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Tue, 2020-09-22 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Wed, 2020-09-23 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Thu, 2020-09-24 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Fri, 2020-09-25 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Mon, 2020-09-28 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Tue, 2020-09-29 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Wed, 2020-09-30 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Thu, 2020-10-01 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Fri, 2020-10-02 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Mon, 2020-10-05 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Tue, 2020-10-06 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Wed, 2020-10-07 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Thu, 2020-10-08 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Fri, 2020-10-09 09:00 - 12:00

Lecturers:
Victor Brekenfeld

Subjects A - Z