The course aims to provide the students with essential theoretical methods and practical skills which are needed to develop, assess and deploy intelligent functionalities in smart electronics and embedded systems. In particular, dependability and sustainability are considered in the course.
Course memo Spring 2022
Course presentation
Headings denoted with an asterisk ( * ) is retrieved from the course syllabus version Autumn 2021
Content and learning outcomes
Course contents
- Selected intelligent methods for realizing relevant functionalities (e.g. anomaly detection, forecasting, feature exaction and clustering, etc.) desired in embedded systems.
- Application and evaluation of the selected intelligent methods in the emerging cloud-computing paradigm.
- Challenges such as dependability, sustainability, security etc. and opportunities of deploying intelligent functions in cyber-physical systems.
Intended learning outcomes
After passing the course, the student shall be able to
- identify the need of applying intelligent methods to realize smart embedded systems
- explain and apply selected intelligent methods to address real-life problems in embedded systems
- design and implement exemplary intelligent methods for practical problems in the edge-cloud computing paradigm
- conduct systematic evaluations (functional versus non-functional, quantitative versus qualitative) of deploying intelligent functions in cyber-physical systems
in order to gain basic knowledge, skills, understanding and insights which are needed to build smart electronics and embedded systems.
Learning activities
The course starts from introducing the programming language Python and related machine learning libraries, then presents basic time-series forecasting methods using statistical learning and deep learning, and finally discusses basic time-series clustering algorithms using statistical and competitive learning.
The course content is structured as 10 lectures, 3 labs, 2 seminars, 1 project and 1 workshop.
Detailed plan
Learning activities | Content | Preparations |
---|---|---|
Lecture 1. Course Introduction and Practicalities | The first lecture gives an overview of the course content, structure, and examination. It also give a brief introduction to the programming language Python and related libraries to be used in the course, such as numpy, scipy, matplotlib, scikit-learn, pandas, statsmodels etc. . |
Visit the course room in Canvas, and get familiar with the materials there. Review Lecture 1 slides. Read the online Python tutorial |
Lecture 2. Time-Series Analysis Basics: Part I | Lecture 2 introduces the basic concepts about time series analysis and data visualization. |
Review Lecture 2 slides.
|
Lecture 3. Time-Series Analysis Basics: Part II | Lecture 3 introduces feature extraction for time-series data including statistical, time-domain, and frequency-domain features etc. | Review Lecture 3 slides. |
Lab 1. Time Series Visualization and Feature Extraction | Visualize time series data in various forms and extract features |
Try to complete the lab tasks as much as possible before the lab session. Use the lab time for Q & A with the lab assistant, and get your lab approved by the lab assistant. |
Seminar 1. Time-Series Data Mining |
Paper presentation and discussion in groups.
|
Group work: reading a paper, make slides and orally present the paper. |
Lecture 4. Statistical Time-Series Forecasting: Part I |
Lecture 4 introduces classical statistical time-series models, specifically, the AR, MA, and ARIMA models. |
Read Lecture 4 slides. |
Lecture 5. Statistical Time-Series Forecasting: Part II |
Lecture 5 introduces the Box-Jenkins time-series modeling methodology. |
Read Lecture 5 slides. |
Project work 1 |
Introduce the project work on anomaly detection, and conduct the project work. |
Read the project description and prepare questions, if any. |
Lecture 6. Neural Networks Based Time-Series Forecasting: Part I |
Lecture 6 discusses basic artificial neural networks and their application to time-series prediction. |
Read Lecture 6 slides. |
Lecture 7. Neural Networks Based Time-Series Forecasting: Part II |
Lecture 7 introduces recurrent neural networks and their application to time-series prediction. |
Read Lecture 7 slides. |
Lab 2. ARIMA Model and Prediction |
AR, MA and ARIMA models, and time-series forecasting using the Box-Jenkins methodology. |
Try to complete the lab tasks as much as possible before the lab session. Use the lab time for Q & A with the lab assistant, and get your lab approved by the lab assistant. |
Seminar 2. Anomaly Detection and AI Challenges in Embedded Systems |
Paper presentation and discussion in groups.
|
Group work: reading a paper, make slides and orally present the paper. |
Lecture 8. Statistical Time-Series Clustering |
Lecture 8 introduces un-supervised learning for time-series clustering algorithm, for example, the K-means algorithm. |
Read Lecture 8 slides. |
Lecture 9. Neural Network Based Time-Series Clustering |
Lecture 9 discusses competitive learning based clustering algorithm, in particular, Self Organizing Map. |
Read Lecture 9 slides. |
Lecture 10. Outlook and Course Summary |
Lecture 10 discusses some open challenges such as dependability, sustainability, security in deploying AI in embedded systems from the perspectives of IoT, CPS, and edge-cloud computing paradigm. It then summarizes the course and gives a holistic picture of the course content. |
Read Lecture 10 slides. |
Lab 3. Time-Series Clustering |
Implement, evaluate, and application of the clustering algorithms such as K-means and SOM etc. for time-series clustering. |
Try to complete the lab tasks as much as possible before the lab session. Use the lab time for Q & A with the lab assistant, and get your lab approved by the lab assistant. |
Project work 2 |
Conduct project work, and have Q & A with lab assistants. |
Try to complete the project tasks as much as possible before the project work session. Use the project work time for Q & A with the lab assistant, and get your project results validated by the lab assistant. |
Workshop |
Present project work per group in the workshop. |
Group work: Make slides and present your project. Each group member shall contribute to and present part of the presentation slides. |
Preparations before course start
Specific preparations
- Get you familiar with the programming language Python (online Python tutorial https://docs.python.org/3/tutorial/ ).
- Install Python and related libraries such as numpy, scipy, matplotlib, statsmodels etc. For installation, suggestion is to use the package manager Anaconda, which installs all dependencies. https://www.anaconda.com/distribution/
Literature
The recommended course literature (books and papers) is updated and can be found at the Canvas course room
Software
Programming environment with Python, C/C++.
Support for students with disabilities
Students at KTH with a permanent disability can get support during studies from Funka:
Examination and completion
Grading scale
P, F
Examination
- LAB1 - Lab assignments, 2.5 credits, Grading scale: P, F
- PRO1 - Project assignments, 3.5 credits, Grading scale: P, F
- SEM1 - Seminars, 1.5 credits, Grading scale: P, F
Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.
The examiner may apply another examination format when re-examining individual students.
The section below is not retrieved from the course syllabus:
Lab assignments ( LAB1 )
Project assignments ( PRO1 )
Seminars ( SEM1 )
Ethical approach
- All members of a group are responsible for the group's work.
- In any assessment, every student shall honestly disclose any help received and sources used.
- In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
Further information
No information inserted
Contacts
Round Facts
Start date
Missing mandatory information
Course offering
- TEBSM Spring 2022-60139
Language Of Instruction
English