Abstract
Theoretical skills imparted during university education in Embedded Systems often surpass their practical counterpart. The contribution of this paper is a defined set of practical skills which bridge the gap between a sound theoretical education in embedded systems and the skillset acquired by experienced practitioners in the field. The presentation of each skill is accompanied by common solution patterns, state-of-practice technologies, and a set of exercises to provide practical uptake of each skill. The proposed skillset is based on consistent observations over the years, of graduating students performing "hands-on" projects; the proposed approach for imparting the skillset is motivated by experiences with Embedded Systems education at The Royal Institute of Technology (KTH) in Sweden.
- Abstract Syntax Notation One ASN.1. http://www.etsi.org/technologies-clusters/technologies/protocol-specification/asn-1.Google Scholar
- Arduino - Open Source Electronic Platform. http://arduino.cc.Google Scholar
- BeagleBone Black. http://beagleboard.org/black.Google Scholar
- BerkeleyDB. http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html.Google Scholar
- Boost Log v2. http://www.boost.org/doc/libs/1\_55\_0b1/libs/log/doc/html/index.html.Google Scholar
- Boost Serialization library. http://www.boost.org/doc/libs/1\_55\_0/libs/serialization/doc/index.html.Google Scholar
- BSON - Binary JSON. http://bsonspec.org.Google Scholar
- CMake - Cross Platform Make. http://cmake.org.Google Scholar
- CONFIG_PREEMPT_RT patch to make Linux kernel fully preemptible. https://rt.wiki.kernel.org.Google Scholar
- Continuous Integration. http://martinfowler.com/articles/continuousIntegration.html.Google Scholar
- CORBA - Common Object Request Broker Architecture. http://www.corba.org.Google Scholar
- CyPhERS project deliverable D5.2: CPS: Significance, Challenges and Opportunities. http://www.cyphers.eu/sites/default/files/D5.2.pdf.Google Scholar
- Debian Multistrap - Bootstrap a Debian system. https://wiki.debian.org/Multistrap.Google Scholar
- dSPACE Systems. https://www.dspace.com.Google Scholar
- Eclipse IDE. http://eclipse.org.Google Scholar
- ECMA-404 the JSON Data Interchange Standard. http://json.org.Google Scholar
- Engineering education in embedded systems. ICES workshop summary, August 26, 2014. http://www.ices.kth.se/events.aspx?pid=3&evtKeyId=295145e8aefa46dfa0277baeb820e439.Google Scholar
- ERIKA Enterprise - Certified OSEK/VDX Open Source RTOS. http://erika.tuxfamily.org/drupal.Google Scholar
- FreeRTOS. http://www.freertos.org.Google Scholar
- GCC, the GNU Compiler Collection. http://gcc.gnu.org.Google Scholar
- The GNU Build system. http://www.gnu.org/software/automake.Google Scholar
- GNU Make. http://www.gnu.org/software/make.Google Scholar
- Gnuplot. http://www.gnuplot.info.Google Scholar
- Google Protocol Buffers. https://code.google.com/p/protobuf.Google Scholar
- HDF5 Data Format. http://www.hdfgroup.org/HDF5.Google Scholar
- Jenkins - an extendable open source continuous integration server. http://jenkins-ci.org.Google Scholar
- MathWorks Embedded Coder. http://www.mathworks.se/products/embedded-coder.Google Scholar
- MATLAB. http://www.mathworks.se/products/matlab.Google Scholar
- matplotlib: Python plotting. http://matplotlib.org.Google Scholar
- mongoDB. http://www.mongodb.info.Google Scholar
- Network Common Data Form (NetCDF). http://www.unidata.ucar.edu/software/netcdf.Google Scholar
- NumPy scientific computing with Python. http://www.numpy.org.Google Scholar
- Opensplice DDS. http://www.prismtech.com/opensplice.Google Scholar
- OROCOS - open robot control software. http://orocos.org.Google Scholar
- qmake manual. http://qt-project.org/doc/qt-5/qmake-manual.html.Google Scholar
- QtiPlot - Data Analysis and Scientific Visualisation. http://www.qtiplot.com.Google Scholar
- Raspberry Pi. http://www.raspberrypi.org.Google Scholar
- RFC1392 - Internet Users' Glossary. http://tools.ietf.org/html/rfc1392.Google Scholar
- Scicos: Block diagram modeler/simulator. http://scicos.org.Google Scholar
- Simulink. http://www.mathworks.se/products/simulink.Google Scholar
- Simulink Real-Time. http://www.mathworks.se/products/simulink-real-time.Google Scholar
- SQLite. http://sqlite.org.Google Scholar
- The CDIO initiative. http://www.cdio.org.Google Scholar
- The OMG Data Distribution Service for Real-Time Systems (DDS). http://portals.omg.org/dds.Google Scholar
- XDR: External Data Representation Standard. http://tools.ietf.org/html/rfc4506.Google Scholar
- Xenomai: Real-Time Framework for Linux. https://xenomai.org.Google Scholar
- XML encoding rules (XER) for ASN.1. http://www.itu.int/en/ITU-T/asn1/Pages/xer.aspx.Google Scholar
- Yocto Project: Open Source embedded Linux build system. https://www.yoctoproject.org.Google Scholar
- ZeroC Internet Communications Engine. http://www.zeroc.com.Google Scholar
- ZeroMQ. http://zeromq.org.Google Scholar
- M. Grimheden and M. Törngren. What is embedded systems and how should it be taught?---results from a didactic analysis. ACM Trans. Embed. Comput. Syst., 4(3):633--651, Aug. 2005. Google ScholarDigital Library
- J. Mårtensson, A. Alam, and S. Behere. The Development of a Cooperative Heavy-Duty Vehicle for the GCDC 2011: Team Scoop. IEEE Transactions on Intelligent Transportation Systems, 13(3):1033--1049, Sept. 2012. Google ScholarDigital Library
- F. Salewski and S. Kowalewski. Hardware platform design decisions in embedded systems: A systematic teaching approach. SIGBED Rev., 4(1):27--35, Jan. 2007. Google ScholarDigital Library
- M. Törngren, M. Grimheden, and N. Adamsson. Experiences from large embedded systems development projects in education, involving industry and research. SIGBED Rev., 4(1):55--63, Jan. 2007. Google ScholarDigital Library
Index Terms
- Educating embedded systems hackers: a practitioner's perspective
Recommendations
Educating Embedded Systems Hackers: A practitioner's perspective
WESE'14: Proceedings of the WESE'14: Workshop on Embedded and Cyber-Physical Systems EducationThis paper presents some practical skills which bridge the gap between a sound theoretical education in embedded systems and the skillset acquired by experienced practitioners in the field. The presentation of each skill is accompanied by common ...
Educating the Reflective Educator: Design Processes and Digital Fabrication for the Classroom
FabLearn '16: Proceedings of the 6th Annual Conference on Creativity and Fabrication in EducationDesign thinking and digital technologies are increasingly introduced in education to develop children's design literacy. This shift demands a change in teachers' mindsets, capabilities and approaches to design and technology as well as new teaching ...
Educating Experienced IT Professionals by Addressing Industry's Needs
Academia and industry disagree about what students should learn in school and what they should learn on the job. In IT, constantly changing technologies and the increasing emphasis on information as a strategic asset complicate the issue. Chief ...
Comments