Lecturer(s)
|
-
Koua Ladislav, Ing.
-
Sitta Pavel, Ing. Ph.D.
-
Volprecht Patrik, Ing. Ph.D.
-
Rogozov Markéta, Ing. Ph.D.
-
Hruška Pavel, Ing.
-
Brezina Antonín, Ing.
|
Course content
|
Python language - syntax, basic data data structures, literals, integers, decimal numbers, complex numbers, characters, strings, n-tuples, lists, dictionaries, exception mechanism, flow control statements. Basics of object principles in Python, class, constructors, methods, packages, testing, file processing (JSON) Microcontroller architecture, basic types supported by MicroPython, programming procedures. Application architectures in the field of embedded development. Basics of application development for microcontrollers. Use of high-level languages for abstraction from a specific type of hardware. Python on the microcontroller platform. Differences from standard modules. Special MicroPython modules. MicroPython low-level modules - interrupts, watchdog timer, pin control, communication interface of microcontrollers - A/D converters, serial interface. MicroPython low-level modules - communication interface - real-time module, SPI, I2C. Working with flash memory, file system. Peripheral programming (Arduino shields, special modules). Bus communication programming - RS485, MODBUS, CANBUS. Network communication, low-level and high-level - ethernet, Wi-Fi, Bluetooth, sockets. IoT principle, basic protocols, use of microcontrollers. Neural network accelerators on the microcontroller platform. Machine learning and data recognition applications. The principle of edge computing. Analysis of sensors data. Fundamentals of Machine Learning (TensorFlow Lite for Microcontrollers, Keras)
|
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
|
-
Micropython.
-
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.
-
Rumpe Bernhard. Agile Modeling with UML. 2017. ISBN 9783319588612.
-
Rumpe Bernhard. Software Engineering and Formal Methods. Springer Berlin Heidelberg, 2016. ISBN 9783662492239.
|