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 given elected examples. Topics:
- Introduction Computer Science, hardware and software.
- Overview of MatLab, predefined operators and functions.
- Algorithms, elementary steps, statements, control flow, nesting, top-down-, bottom-up-strategy.
- Self-defined MatLab functions, scripts and toolboxes.
- Boolean Algebra, logical expressions, branching in control flow.
- Loops and vectorisation.
- Vektors, polynoms, matrices, basic polynom, vector and matrix operations.
- Number codings and data types, scalars, arrays, strings, structures, tables, cell-arrays.
- Reading and writing of files.
- Time and memory consumption, simple search, sorting and numerical methods.
- Visualisation/graphics with 2D and 3D plots.
- Introduction into image processing based on the RGB colour model.
- Introduction into GUI programming.
The students know and understand the basic elements, concepts and methods of procedural programming. They have used themselves MatLab and are able to algorithmically analyse and solve smaller tasks, can implement their own algorithms within MatLab as well as visualise results in 2D graphics. They are able to teach themselves similar other procedural programming languages and tools (especially C, Python, Octave, Scilab, gnuplot).
Basic knowledge from analysis (sequences, series, functions, derivations, integrals) and linear algebra (vectors, matrices, polynoms).