|
Lecturer(s)
|
-
Slobodník Karel, Ing. Ph.D.
-
Kropík Petr, Ing. Ph.D.
|
|
Course content
|
1. Software architecture for embedded systems. Specifics of software for devices with limited resources. Versioning systems and their role in development. 2. Application logic design, event-driven architecture, and state machines. 3. Modular design and abstraction, code structure, and a hardware abstraction layer. 4. Working with data in industrial systems. Design of data models and communication messages. 5. Persistent data storage, file systems. Time management and synchronization, real-time, and time stamps. 6. Abstraction of communication interfaces, implementation of drivers for local peripherals, and industrial protocols. 7. Network architectures in the electrical engineering industry. Higher industrial application protocols and clients in industrial distributed systems, with an emphasis on industrial safety. 8. Secure communication, design, and procedures. 9. Error handling, robust systems. System supervision. 10. Power management of end devices. 11. Edge Intelligence, AI/ML applications on resource-constrained devices. Inference engine integration. Practical applications. 12. Consulting, integration of individual modules within semester projects, code review, testing, final presentation, and defense.
|
|
Learning activities and teaching methods
|
Laboratory work, Lecture
- Contact hours
- 26 hours per semester
- Practical training (number of hours)
- 26 hours per semester
- Individual project (40)
- 20 hours per semester
- Preparation for comprehensive test (10-40)
- 30 hours per semester
- Preparation for formative assessments (2-20)
- 4 hours per semester
|
| prerequisite |
|---|
| Knowledge |
|---|
| to have knowledges in mathematics for bachelor degree |
| to have basics of any programming language |
| Skills |
|---|
| to have skills in mathematics on bachelor degree |
| to control commonly available computers |
| Competences |
|---|
| N/A |
| N/A |
| N/A |
| learning outcomes |
|---|
| Knowledge |
|---|
| define the basic principles of complex embedded applications architecture and its documentation |
| explain how to use high level languages in embedded applications in electrical engineering |
| explain basic algorithms and its implementation in the electrical engineering |
| explain application architectures in the embedded software development |
| Skills |
|---|
| apply acquired knowledge to create programs with focus to complex application in branch of electrical engineering |
| design and create an complex application architecture, develop and debug a complex application based on verbal description |
| Competences |
|---|
| N/A |
| N/A |
| N/A |
| teaching methods |
|---|
| Knowledge |
|---|
| Lecture supplemented with a discussion |
| Practicum |
| Multimedia supported teaching |
| Skills |
|---|
| Lecture with visual aids |
| Practicum |
| Discussion |
| Competences |
|---|
| Lecture supplemented with a discussion |
| Self-study of literature |
| Project-based instruction |
| assessment methods |
|---|
| Knowledge |
|---|
| Project |
| Test |
| Skills |
|---|
| Project |
| Test |
| Skills demonstration during practicum |
| Competences |
|---|
| Self-evaluation |
| Individual presentation at a seminar |
|
Recommended literature
|
-
Charles Bell. MicroPython for the Internet of Things. USA, 2017. ISBN 978-1484231227.
-
Chollet, François. Deep learning v jazyku Python : knihovny Keras, Tensorflow. První vydání. 2019. ISBN 978-80-247-3100-1.
-
Kolektiv autorů. Official MicroPython Documentation.
-
Nicholas Tollervey. Programming with MicroPython: Embedded Programming with Microcontrollers and Python. O'Reilly Media, 2017. ISBN 978-1-4919-7273-1.
-
Ovidiu Vermesan, Mario Diaz Nava. Intelligent Edge-Embedded Technologies for Digitising Industry. SINTEF, Norway, STMicroelectronics, France. 2022.
-
Pete Warden; Daniel Situnayake. TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers. First edition. O'Reilly Media, 2020. ISBN 978-1-4920-5204-3.
-
Rumpe Bernhard. Agile Modeling with UML. 2017. ISBN 9783319588612.
-
Rumpe Bernhard. Software Engineering and Formal Methods. Springer Berlin Heidelberg, 2016. ISBN 9783662492239.
-
White, Elecia. Making embedded systems. First edition. 2012. ISBN 978-1-4493-0214-6.
-
Xiaocong Fan. Real-Time Embedded Systems. .
|