SoSe 23: ProInformatik III: Linear Algebra for CS
Semira Einsele
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
28 Class schedule
Additional appointments
Sat, 2023-10-07 11:00 - 17:00Regular appointments
Location:
T9/046 Seminarraum (Takustr. 9)
Location:
T9/046 Seminarraum (Takustr. 9)
Location:
T9/046 Seminarraum (Takustr. 9)