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.
- 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).
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).