Informatik 1 - Programmieren
GOALS:
The lecture aims at two overarching learning outcomes: the students know basic terms and concepts in computer science, and they acquire the practical skill of programming a computer in an imperative programming language.
The participants know variables, functions, the usual control structures of imperative programming languages, classes and objects, as well as atomic and composite data types. As a theoretical foundation they know about loop invariants, runtime analysis, algorithms for search and sorting, and boolean algebra.
They understand the data structures list, AVL tree and hash table, and they can describe and analyze these data structures with a focus on runtime analysis. The students are able to apply this knowledge in new contexts for problem solving by means of writing own programs. To this end they design suitable data structures and simple algorithms.
Furthermore, they are able to analyze simple programs for correctness and runtime efficiency.
CONTENT:
The lecture uses the programming language TScript ("teaching-script") for a smooth and motivating learning experience. It covers the following programming topics:
-
statements
-
variables
-
control structures
-
functions, lambda functions
-
recursion
-
debugging
-
error handling
-
simple GUI programming
-
object-oriented programming
At the same time the lecture teaches general concepts:
-
algorithms and programs, correctness, runtime
-
formal syntax of programming languages
-
modeling problems with data, program state
-
modeling problems with algorithms
-
basics of object-oriented design
-
loop invariants and simple correctness proofs
-
search and sorting
-
two's complement and floating point numbers
-
logic gates and normal forms of logical formulas
-
lists, ring buffers, AVL trees, and hash tables
The lecture closes with a transition to the Python programming language.
EXAMINATION:
written (150 min), Enrolment: FlexNow
Lecturers
![]() Prof. Dr. Tobias GlasmachersLecturer |
(+49) 234-32-25558 tobias.glasmachers@ini.rub.de NB 3/27 |
Details
- Course type
- Lectures
- Credits
- 8 bzw. 9
- Term
- Winter Term 2023/2024
- E-Learning
- moodle course available
Dates
- Lecture
-
Takes place
every week on Wednesday from 08:15 to 09:45 in room HZO 30.
First appointment is on 11.10.2023
Last appointment is on 31.01.2024 - Lecture
-
Takes place
every week on Friday from 12:15 to 13:45 in room HID + HZO 40.
First appointment is on 13.10.2023
Last appointment is on 02.02.2024 - Exercise
-
Takes place
every week on Monday from 14:15 to 16:45 in room ID 03/121 +139 (CIP-Pool 1 + 2).
First appointment is on 09.10.2023
Last appointment is on 29.01.2024 - Exercise
-
Takes place
every week on Tuesday from 08:15 to 09:45 in room ID 03/121 +139 (CIP-Pool 1 + 2).
First appointment is on 10.10.2023
Last appointment is on 30.01.2024 - Exercise
-
Takes place
every week on Tuesday from 12:15 to 13:45 in room ID 03/121 +139 (CIP-Pool 1 + 2).
First appointment is on 10.10.2023
Last appointment is on 30.01.2024 - Exercise
-
Takes place
every week on Wednesday from 10:15 to 11:45 in room ID 03/121 +139 (CIP-Pool 1 + 2).
First appointment is on 11.10.2023
Last appointment is on 31.01.2024 - Exercise
-
Takes place
every week on Thursday from 08:15 to 09:45 in room ID 03/121 +139 (CIP-Pool 1 + 2).
First appointment is on 12.10.2023
Last appointment is on 01.02.2024 - Exercise
-
Takes place
every week on Friday from 08:15 to 09:45 in room ID 03/121 +139 (CIP-Pool 1 + 2).
First appointment is on 13.10.2023
Last appointment is on 02.02.2024
Requirements
none
For the exercises students are divided into small groups by the lecturer.
The Institut für Neuroinformatik (INI) is a central research unit of the Ruhr-Universität Bochum. We aim to understand the fundamental principles through which organisms generate behavior and cognition while linked to their environments through sensory systems and while acting in those environments through effector systems. Inspired by our insights into such natural cognitive systems, we seek new solutions to problems of information processing in artificial cognitive systems. We draw from a variety of disciplines that include experimental approaches from psychology and neurophysiology as well as theoretical approaches from physics, mathematics, electrical engineering and applied computer science, in particular machine learning, artificial intelligence, and computer vision.
Universitätsstr. 150, Building NB, Room 3/32
D-44801 Bochum, Germany
Tel: (+49) 234 32-28967
Fax: (+49) 234 32-14210