Informatik 1 - Programmieren

The lecture on the 11th of October takes place in HZO 60 and HIB due to a water damage in HZO 40.

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 research unit of the Faculty of Computer Science at the Ruhr-Universität Bochum. Its scientific goal is to understand the fundamental principles through which organisms generate behavior and cognition while linked to their environments through sensory and 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 psychology and neurophysiology as well as machine learning, neural artificial intelligence, computer vision, and robotics.

Universitätsstr. 150, Building NB, Room 3/32
D-44801 Bochum, Germany

Tel: (+49) 234 32-28967
Fax: (+49) 234 32-14210