.. include:: SS2022 ====== .. contents:: :local: Block 1: Linux, and Working With Remote/Embedded Devices -------------------------------------------------------- .. list-table:: :align: left :widths: auto :header-rows: 1 * * VO * KU G1 * KU G2 * #Units * Topics * * 2022-03-08 * * * 3 * * :doc:`ss2022-log/2022-03-08` * OS concepts * * 2022-03-10 * * * 3 * * :doc:`ss2022-log/2022-03-10` * OS concepts (cont'd) * Basic file system commands * :doc:`/trainings/material/soup/linux/basics/intro/wsl` * :doc:`ss2022-log/2022-03-10-homework` * * 2022-03-21 * * * 3 * * :doc:`ss2022-log/2022-03-21` * SSH (``ssh``, keys, ``scp``, ``sshfs``) * UNIX permissions * * * 2022-03-22 * 2022-03-24 * 3 * :doc:`ss2022-log/2022-03-22,24` * * * 2022-03-25 * 2022-03-24 * 3 * **Test** * :doc:`/trainings/material/soup/linux/basics/exercises/FH-SS2022-EXAM-01-G1` * :doc:`/trainings/material/soup/linux/basics/exercises/FH-SS2022-EXAM-01-G2` Block 2: C on Linux: Local and *Cross* Development -------------------------------------------------- .. list-table:: :align: left :widths: auto :header-rows: 1 * * VO * KU G1 * KU G2 * #Units * Topics * * 2022-03-28 * * * 3 * * :doc:`ss2022-log/2022-03-28` * Toolchain basics * Static libraries * * 2022-04-01 * * * 3 * * :doc:`ss2022-log/2022-04-01` * Cross-toolchain basics * Linux: environment variables (e.g. ``PATH``) * Linux: Shell config (``~/.bashrc`` et al.) * Homework: native and cross Makefiles * * * 2022-04-28 * 2022-04-28 * 3 * **Get cross build running, Homework** * :doc:`/trainings/material/soup/linux/toolchain/raspberry-pi/group` * :doc:`/trainings/material/soup/linux/toolchain/exercises/raspberry-toolchain` * :doc:`/trainings/material/soup/linux/toolchain/exercises/native-build` * :doc:`/trainings/material/soup/linux/toolchain/exercises/cross-build` **Get CMake running** * :doc:`/trainings/material/soup/linux/toolchain/cmake/local` * :doc:`/trainings/material/soup/linux/toolchain/cmake/cross` * * 2022-05-09 * * * 3 * **File I/O** Motivation: :doc:`/trainings/material/soup/linux/hardware/w1/topic` *Shell: I/O Redirection, Pipes* * :doc:`/trainings/material/soup/linux/basics/io-redirection-pipes/io-redirection` * :doc:`/trainings/material/soup/linux/basics/io-redirection-pipes/pipes` *Systems Programming: File I/O* * :doc:`/trainings/material/soup/linux/sysprog/basics/group` * :doc:`/trainings/material/soup/linux/sysprog/file-io/basics` * :doc:`/trainings/material/soup/linux/sysprog/file-io/duplicate` * * * 2022-06-02 * 2022-06-02 * 3 * * Go over past homework * :doc:`/trainings/material/soup/linux/toolchain/exercises/raspberry-toolchain` (2P) * :doc:`/trainings/material/soup/linux/toolchain/exercises/native-build` (3P) * :doc:`/trainings/material/soup/linux/toolchain/exercises/cross-build` (5P) * :doc:`/trainings/material/soup/linux/sysprog/file-io/basics-exercise-copy` * Test Block 3: C++ ------------ * `Github repository `__ .. list-table:: :align: left :widths: auto :header-rows: 1 * * VO * KU G1 * KU G2 * #Units * Topics * * 2022-06-03 * * * 3 * **Memory Errors, And Pointers** * Based upon :doc:`/trainings/material/soup/linux/sysprog/process/commandline`, explain * strings * :doc:`arrays ` * :doc:`/trainings/material/soup/c/090-program-sanity/080-valgrind/topic` * `strace `__ |longrightarrow| Yay, C++ **Unit Testing**. One of ... * `googletest `__ * * * 2022-06-07 * 2022-06-08 * 3 * * :doc:`/trainings/material/soup/cxx-exercises/fh-sensor-oo-first-try/exercise-FH-sensor-oo` * :doc:`/trainings/material/soup/cxx-exercises/fh-sensor-oo-first-try/exercise-FH-sensor-oo-loop-function` * :doc:`/trainings/material/soup/cxx-exercises/fh-sensor-oo-first-try/exercise-FH-sensor-oo-no-polymorphism` * * 2022-06-09 * * * 3 * **More about C++: Classes and Objects** * :doc:`/trainings/material/soup/cxx03/001-introduction/topic` * :doc:`/trainings/material/soup/cxx03/020-data-encapsulation/c` * :doc:`/trainings/material/soup/cxx03/020-data-encapsulation/cpp-introduction` * * * 2022-06-09 * 2022-06-10 * 3 * :doc:`/trainings/material/soup/cxx-exercises/fh-sensor-oo-first-try/exercise-FH-sensor-oo-random-sensor` * * 2022-06-21 * * * 3 * **More C++** from :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/group` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/010-overloading/topic` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/020-methods/topic` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/030-const/topic` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/040-this/topic` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/050-references/topic` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/060-static/topic` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/070-operators/topic` **Live-hacked material on Github** * `Tests: point-suite.cpp `__ * `Implementation: point.h `__ * * * 2022-06-27 * 2022-06-27 * 3 * **Exercises** * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/exercises-fh/class-point` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/exercises-fh/class-rectangle` * * * 2022-06-28 * 2022-06-28 * 3 * * :doc:`/trainings/material/soup/cxx03/020-data-encapsulation/ctor-custom` * :doc:`/trainings/material/soup/cxx03/020-data-encapsulation/ctor-default` * :doc:`/trainings/material/soup/cxx03/020-data-encapsulation/copy-basics` Demo on `Github `__ * `copy-good-suite.cpp `__ * `copy-good.h `__ * :doc:`/trainings/material/soup/cxx03/020-data-encapsulation/ctor-dtor` * :doc:`/trainings/material/soup/cxx03/020-data-encapsulation/object-copy` Demo on `Github `__ * `my-string-suite.cpp `__ * `mystring.h `__ * * 2022-06-29 * * * 3 * * * * 2022-06-30 * 2022-06-30 * 3 * * * * 2022-07-01 * 2022-07-01 * 3 * **Test** * :doc:`/trainings/material/soup/cxx03/020-data-encapsulation/c` * :doc:`/trainings/material/soup/cxx03/020-data-encapsulation/cpp-introduction` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/010-overloading/topic` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/020-methods/topic` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/030-const/topic` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/040-this/topic` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/050-references/topic` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/060-static/topic` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/070-operators/topic` Exercises: * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/exercises-fh/class-point3d` * :doc:`/trainings/material/soup/cxx03/030-functions-and-methods/exercises-fh/class-cuboid`