Inhaltsbeschreibung/Content Description

deutsch: Die Lehrveranstaltung gibt eine systematische Einführung in die Programmierung mit einer ingenieurwissenschaftlichen Orientierung. In der Vorlesung wird die algorithmische Methodik eingeführt und deren prozedurale Umsetzung in MatLab vorgestellt (MatLab ist ein in den Ingenieurwissenschaften weit verbreitetes Werkzeug mit einer eigenen Programmiersprache eng an C/C++ angelehnt). Die Technik eines modularen und strukturierten Programmaufbaus wird an ausgewählten Beispielen demonstriert und in Übungen und Tutorien eingeübt.
Inhaltsübersicht:
- Allgemeine Einführung, EVA-Prinzip, prinzipielle Architektur von Hardware und Software.
- Überblick MatLab, vordefinierte Operatoren und Funktionen.
- Algorithmen, Variable, Elementarschritte, Anweisungen, Kontrollfluss, Verschachtelung, Top-Down-, Bottom-Up-Vorgehensweise.
- Selbst definierte MatLab-Funktionen, MatLab-Skripte und -Toolboxen.
- Boolesche Algebra, logische Variable, logische Ausdrücke, Verzweigungen im Kontrollfluss.
- Schleifen und Vektorisierung.
- Visualisierung/Grafik, 2D-Plots.
- Vektoren, Polynome, Matrizen, grundlegende Polynom-, Vektor- und Matrixoperationen.
- Berechnung einfacherer Folgen, Reihen, Nullstellen, Differenzenquotienten, Trapezformeln.
- Zahlenkodierungen, Overflow, Underflow, Maschinengenauigkeit, Datentypen.
- Felder, Zeichenketten, Strukturen, Tabellen, Zell-Felder.
- Lesen und Schreiben von Dateien.
- Einführung in die Bildverarbeitung über das RGB-Farbmodell.
- Zeit- und Speicherplatzaufwand, einfache Such- und Sortierverfahren.
- Einführung in die GUI-Programmierung (optional, abhängig von Anzahl Vorlesungswochen im Semester).

english: The course provides a systematic introduction into programming with an engineering orientation. In the lecture the algorithmic method is introduced and a procedural implementation based on MatLab is given (MatLab is a widely-used tool in engineering and includes a programming language closely related to C/C++). The technique of modular and structured program construction is shown and practiced in exercise and tutorials given elected examples.
Topics:
- General introduction, IPO model, principal architecture of hardware and software.
- Overview of MatLab, predefined operators and functions.
- Algorithms, variables, elementary steps, statements, control flow, nesting, top-down-, bottom-up-strategy.
- Self-defined MatLab functions, scripts and toolboxes.
- Boolean Algebra, logical variables, logical expressions, branching in control flow.
- Loops and vectorisation.
- Visualisation/graphics, 2D plots.
- Vectors, polynoms, matrices, basic polynom, vector and matrix operations.
- Computing straightforward sequences, series, roots of functions, differential quotients, trapezoidal rules.
- Number codings, overflow, underflow, machine epsilon, data types.
- Arrays, strings, structures, tables, cell arrays.
- Reading and writing of files.
- Introduction into image processing based on the RGB colour model.
- Time and memory consumption, simple searching and sorting methods.
- Introduction into GUI programming (optional, depending on number of lecture weeks in semester).

Turnus/Cycle

deutsch: jeweils im Sommersemester; Beginn im Sommersemester 2022 am Montag, 04. April 2022, 16:15 Uhr, Raum LX 1205 (Audimax).
english: in each summer semester; start in summer semester 2022 on Monday, April 04th, 2022, 16:15 o'clock, room LX 1205 (main lecture hall).

Material zur Vorlesung und Übung/Material for the Lecture and Exercises

deutsch: Sie finden das gesamte Material in Moodle (der Zugangsschlüssel zum aktuellen Kurs wird in der Vorlesung und Übung bekannt gegeben, nicht per E-Mail oder Telefon).
english: The complete material is offered within Moodle (the enrolment key to the current course will be announced in the lecture and exercises, not by e-mail or phone).