Course: Application development for industrial systems

« Back
Course title Application development for industrial systems
Course code KEP/VAP
Organizational form of instruction Lecture + Tutorial
Level of course unspecified
Year of study not specified
Semester Summer
Number of ECTS credits 4
Language of instruction Czech, English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
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. .


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester