Embedded Computing 1 (English)¶
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