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 by introducing the programming language Python and related machine learning libraries, then presents basic concepts of time-series analysis, data visualization and feature extraction, modeling and forecasting methods using statistical learning and deep learning, and finally discusses basic clustering algorithms using statistical and competitive learning. We also look into anomaly detection and AI challenges in embedded systems.
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 introduces 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 of 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 and Anomaly Detection |
Paper presentation in groups and discussion.
|
Group work: reading a paper, making slides, and orally presenting the paper. |
Lecture 4. Statistical Time-Series Modeling and 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 Modeling and Forecasting: Part II |
Lecture 5 introduces the Box-Jenkins time-series modeling methodology and forecasting. |
Read Lecture 5 slides. |
Project work 1 |
Introduce the project work, and conduct the project work. |
Read the project description and prepare questions for discussions, if any. |
Lecture 6. Neural Networks Based Prediction: 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 Prediction: 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 in groups and discussion.
|
Group work: reading a paper, making slides, and orally presenting the paper. |
Lecture 8. Statistical Clustering |
Lecture 8 introduces un-supervised statistical learning for clustering, specifically, the K-means algorithm and hierarchical clustering. In addition, we introduce dynamic time warping (DTW). |
Read Lecture 8 slides. |
Lecture 9. Neural Network Based Clustering |
Lecture 9 discusses the competitive learning based clustering algorithm, in particular, Self Organizing Map (SOM). |
Read Lecture 9 slides. |
Lecture 10. Outlook, AI Dependability and Course Summary |
In Lecture, 10 we discuss some issues of deep learning in pattern recognition, AI dependability and explainability. We then review the key learning points (KLPs) of the course and give a holistic picture of the entire course. |
Read Lecture 10 slides. |
Lab 3. Clustering with K-means and SOM, Similarity with DTW |
Implement, evaluate, and application of the clustering algorithms such as K-means and SOM, etc. |
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. |
Use the project work time for Q & A with the lab assistant, and get your project results validated by the lab assistant. |
Workshop |
Present your project work in the workshop. |
Individual work: Make slides and present your project.
|
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
Course Coordinator
Teachers
Teacher Assistants
Examiner
Round Facts
Start date
21 Mar 2022
Course offering
- TEBSM Spring 2022-60139
Language Of Instruction
English