Hoppa till huvudinnehållet
Till KTH:s startsida Till KTH:s startsida

IL2233 Embedded Intelligence 7,5 hp

Course memo Spring 2022-60139

Version 1 – 01/07/2022, 12:48:46 AM

Course offering

TEBSM (Start date 21/03/2022, English)

Language Of Instruction

English

Offered By

EECS/Electrical Engineering

Course memo Spring 2022

Course presentation

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.

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 

https://docs.python.org/3/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

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++.

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

Round Facts

Start date

Missing mandatory information

Course offering

  • TEBSM Spring 2022-60139

Language Of Instruction

English

Offered By

EECS/Electrical Engineering

Contacts

Course Coordinator

Teachers

Examiner