{'fraction_non_alphanumeric': 0.012836970474967908, 'fraction_numerical': 0.0, 'mean_word_length': 5.39344262295082, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Framework for embedded programming course

Embedded programs are controlling a number of devices we use daily. The software of an embedded device is usually tightly coupled with the device hardware, and therefore developing embedded programs is fundamentally different from programming general-purpose computers. In academic education both hardware and software aspects of embedded systems need to be covered. In this paper we provide some general guidelines that can serve as a starting point when designing embedded programming courses. These guidelines are based on our experiences and evaluation of two implementations of an embedded programming course that consists of hands-on assignments and lectures. Furthermore, we discuss about how to improve the course in the future.