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.
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
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.
25 Class schedule
Regular appointments
Mon, 2020-09-07 09:00 - 12:00
Tue, 2020-09-08 09:00 - 12:00
Wed, 2020-09-09 09:00 - 12:00
Thu, 2020-09-10 09:00 - 12:00
Fri, 2020-09-11 09:00 - 12:00
Mon, 2020-09-14 09:00 - 12:00
Tue, 2020-09-15 09:00 - 12:00
Wed, 2020-09-16 09:00 - 12:00
Thu, 2020-09-17 09:00 - 12:00
Fri, 2020-09-18 09:00 - 12:00
Mon, 2020-09-21 09:00 - 12:00
Tue, 2020-09-22 09:00 - 12:00
Wed, 2020-09-23 09:00 - 12:00
Thu, 2020-09-24 09:00 - 12:00
Fri, 2020-09-25 09:00 - 12:00
Mon, 2020-09-28 09:00 - 12:00
Tue, 2020-09-29 09:00 - 12:00
Wed, 2020-09-30 09:00 - 12:00
Thu, 2020-10-01 09:00 - 12:00
Fri, 2020-10-02 09:00 - 12:00
Mon, 2020-10-05 09:00 - 12:00
Tue, 2020-10-06 09:00 - 12:00
Wed, 2020-10-07 09:00 - 12:00
Thu, 2020-10-08 09:00 - 12:00
Fri, 2020-10-09 09:00 - 12:00