System Identification 2020-2021

Lecturer: Lucian Busoniu, TAs: Zoltan Nagy, Matthias Rosynski

Navigation: [Versiunea romana|Evaluation rules|Schedule|Lectures|Labs|Lab tests|Project|Contact]          [Back to Lucian Busoniu's webpage]

About this course

The course introduces nonparametric methods for system identification, as well as parametric methods including prediction error and instrumental variables techniques. Input signals, online recursive methods, and model validation are also discussed. The material is described at an appropriate BSc level, and builds in a self-contained manner the required mathematical background. The course is based on the book System Identification by Soderstrom and Stoica.

This year, we will use a mix of online platforms to teach the course: Microsoft Teams for interacting with students, Matlab Grader for the labs, and ClassMarker to take the quizzes. As a unique ID for each student, please use an email address that is associated to a Mathworks and ClassMarker account. Microsoft Teams can be associated with the different, Didatec email address. Details on how we are using these platforms can be found under the specific type of activity below.

This course is part of the Bachelor program of the Automation Department, UTCluj (3rd year 1st semester). Prerequisites: linear dynamical systems and linear algebra. The lecturer is Lucian Busoniu. Zoltan Nagy and Matthias Rosynski teach the lab classes for the English line. Zoltan teaches the project classes.

Evaluation rules


The final grade will be a rounded, weighted average of all the evaluations per the percentages above, capped to 10. Note that each student can accumulate up to 110%x10 = 11 points; the extra point means that you can compensate across categories to a certain extent.

Eligibility conditions: Solutions to all labs except the first one; the two lab tests; and solutions to both parts of the project are all required before being admitted to the exam.

Note that while the lab solutions are not explicitly graded, they are required starting from lab 2; they are validated automatically by Matlab Grader. It is therefore not enough to be present at the lab in order to validate it; a complete, working, and original solution must be developed during the lab. At most two labs can be recovered at the end of the semester; hence, accumulating three or more missing labs means you can no longer become eligibile for the exam during the current year.

You can check your current status in the Google sheet table here, updated in near-real-time.


Lectures are Mondays from 12PM, labs and projects on Tuesdays and Thursdays. See the overall schedule on for details.

Due to interdependencies between lectures, labs, and project classes; as well as lab tests and project deadlines, the actual schedule is slightly different from the official one. The following main changes are performed:

Please look at the schedule below carefully to determine exactly when you should be in class.

Image with schedule table


The lecture slides are mandatory reading; they will be written down in detail to give a self-contained, complete picture of the topics. They are made available here in time for each lecture.

Lectures are taught online, using Microsoft Teams. Please make sure you have a valid Teams account, as you will be unable to access the course activities without it.

Throughout each lecture, short quizzes will be given at random intervals, from the material of that lecture, using the ClassMarker platform. These are graded! So, you should pay attention during the lectures. If you answer all the questions in every lecture correctly, you get 1 point in your grade; lower scores scale linearly to between 0 and 1 points in the grade.

In addition to the slides, followers may optionally consult the following books:


Logistics and platform

Labs will be taken in Matlab Grader: Brief instructions follow. PDF descriptions of the labs are given on this website. You will write your solution as a Matlab function in a browser window. For each lab except a few, you will get a datafile index, which must be set inside your function. Your function must produce certain outputs, which will automatically be validated by Grader. You can pretest these outputs, and once you are sure everything works correctly, you will submit your solution. Pretesting can be done as many times as you need, but each solution can only be submitted once. See also the full Grader documentation.

Half-group boundaries are strict, for example you cannot access the quiz to the lab unless you are present during the lab slot of your halfgroup; and you cannot submit your solution at the deadline of other half-groups.

Supervision, discussions with students, quiz handling etc. are done in Teams. You need to participate during your lab slot! Each half-group gets its own channel in Teams.

You need an email address associated to a Mathworks account to participate in Grader. A list of email addresses will be collected beforehand and you will be invited to Grader. You do NOT need to have a Matlab license to participate in Grader (only if you want to run your solution offline).

Very preferably, do not edit the "Code to call your function". It should be identical to the first, locked line of the function that you are supposed to create. Editing it runs the risk of breaking the solution tests.

Lab quiz

Each lab except the first starts with a 2-minute quiz containing 2 short questions, which tests you on the material relevant to that particular lab. If you answer everything correctly for all the labs, you get 1 point in your grade; lower scores scale linearly, as for the lecture quizzes. So, you should arrive prepared. Quizzes are taken in ClassMarker, for which you also need an account; please use the same email address as for the Mathworks account.


The deadline for submission is at the end of the second day following the day in which you took the lab. So, for instance, if your lab was on Tuesday, you must submit at the latest on Thursday at a quarter to midnight - 23:45 (not 23:59! due to limitations of the Grader platform).

Originality check

The solutions to each lab are run through an automated plagiarism check. Each suspicious case is examined by the TA, and if it becomes clear that the lab is copied, both the source and the destination lab are invalidated. In addition, we are also imposing this year a "two strikes - you're out" rule. Namely, the first lab copied is only invalidated, and you can recover it at the end. The second lab copied invalidates the full set of solutions, you forfeit the discipline and have to take it next year.

Lab descriptions

Lab tests

Details to be announced closer to the test.


Supervision and discussions with students are done in Teams. You need to participate during your project slot.

See the project description (PDF) for the topic, rules, and deadlines. Please read it carefully. A detailed description of the linear regression method needed in the first part of the project can be found in last year's lecture; we will talk about it in lecture 4.

Guidelines for writing your report and developing and giving your presentation are also available.


Comments, suggestions, questions etc. related to this course or website are welcome; please contact either the lecturer or the TA at the addresses below (given as images for spambot protection).
Image with email addresses