Embedded Computing 1 (English) ============================== .. contents:: :local: Course Content -------------- * Linux: (Bourne Again) Shell – Bash * Linux: System Concepts, Diagnosing * Processes and address spaces * The File system * Permissions * Networking * Hardware and Devices * Realtime * C/C++ Development * Cross Development * C++ Basics: classes, constructor and destructor, smart pointers, container templates * Python * Basics: variables, data types, control flow * Modularization: functions, modules, packages * Excerpts from the Python Standard Library * Exercises: embedded development in Linux Learning Outcome ---------------- Graduates * understand Linux as a development platform * understand Linux as target platform, by learning about its concepts * are familiar with the commandline (shell) on a Linux system * know how to do cross development * know how to talk to hardware on Linux * know about the basic features of C++ * know how to write nontrivial programs in Python Recommended or Required Reading and Other Learning Resources / Tools -------------------------------------------------------------------- * Michael Kerrisk: The Linux Programming Interface: A Linux and UNIX System Programming Handbook * Jonathan Corbet, Allessandro Rubini, Greg Kroah-Hartman: Linux Device Drivers * W.Richard Stevens, Stephen A Rago: Advanced Programming in the UNIX Environment * David M. Beazley, Brian K. Jones: Python Cookbook: Recipes for Mastering Python 3 * Mark Lutz: Learning Python: Powerful Object-Oriented Programming * Luciano Ramalho: Fluent Python: Clear, Concise, and Effective Programming Mode of delivery ---------------- Integrated course, exercises 50% Prerequisites and Co-Requisites ------------------------------- * Computer Science and Programming 1 * Computer Science and Programming 2 * Embedded Systems Assessment Methods and Criteria ------------------------------- * Written exam copvering the theoretical part * Exercises