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

Deadlines can be found on the website of the examination office of Fakultät für Informatik

Lecturers

Details

Course type
Lectures
Credits
8 bzw. 9
Term
Winter Term 2024/2025
E-Learning
moodle course available

Dates

Lecture
Takes place every week on Wednesday from 08:15 to 09:45 in room HZO 20.
First appointment is on 09.10.2024
Last appointment is on 29.01.2025
Lecture
Takes place every week on Friday from 12:15 to 13:45 in room HZO 40 + 60.
First appointment is on 11.10.2024
Last appointment is on 31.01.2025
Exercise
Takes place every week on Tuesday from 10:15 to 11:45 in room GAFO 04/402 + 403.
First appointment is on 15.10.2024
Last appointment is on 28.01.2025
Exercise
Takes place every week on Wednesday from 12:15 to 13:45 in room GAFO 04/402 + 403.
First appointment is on 16.10.2024
Last appointment is on 29.01.2025

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