Course syllabus


SSY236 SSY236 Decision-making for autonomous systems lp2 HT21 (7.5 hp)

This course is offered by the Department of Electrical Engineering


The purpose is to introduce the students to Artificial Intelligence methods to enable high-level decision making in robotic systems. The topics of designing a learning system and explainable AI are chosen to enhance the knowledge of students towards the new trends in robotics. This will allow students to have a better understanding of more demanding material to solve real-life problems.


SSY165 Discrete event systems or similar
ESS101 Modeling and Simulation or similar

Programming skills (we will use C++)


Karinne Ramirez-Amaro,


Karinne Ramirez-Amaro,


Teaching Assistants

Maximilian Diehl,

Student Representatives:

MPSYS      Gustav Olsson                                    
MPSYS      Johannes Persson                              

Read more about your role as a student representative, here:


Course purpose

This course covers the following topics:
* Introduction to embodied intelligence, as part of a Cognitive system.
* Tree-based learning approaches such as Decision trees.
* Explanation-based learning methods, commonly known as Explainable-AI (XAI). This will include an introduction to knowledge representation and reasoning methods.
* High-level robot programming. This will include the design and implementation of different modules such as perception, learning, and decision-making for an autonomous system. Most of the implementation will be done in C++, therefore basic knowledge is required.



Course literature

The following list provides suggested literature for this course. This literature is not mandatory. It is intended to provide additional support for the course. Participants may use it to acquire more detailed information about the topics covered in this course.

Machine Learning. T. M. Mitchell, McGraw-Hill.
Artificial Intelligence: A Modern Approach, S. Jonathan Russell, P. Norvig, Pearson.
Additional material will be provided via Canvas for the course.


Canvas will be used as our main communication means between students and teachers. Note, that students can also use the discussion forums to interact with other students.

Changes made since the last occasion

  • The course code changed from SSY235 to SSY236 due to the new final evaluation criteria, which is a continuous evaluation that consists of individual assignments and a final project (in teams).
  • The home assignment structure changed as follows:
    • the number of assignments was reduced from five to four
    • the grading strategy of assignments was changed from team to individual assignments
    • the workload and content of the assignments were adjusted to cover more topics that will help the students to finish their final projects
    • now, to pass the laboratory, the students need to pass all four individual assignments
  • The exercise session has been revised and they will be better connected to the lecture topics.

Learning objectives and syllabus

After completion of the course, the student should be able to:

  • Understand the fundamental concepts for designing a learning method to tackle autonomous system problems such as reasoning, learning and prediction.
  • Analyze and apply advanced reasoning techniques. The emphasis will be on learning how to design and deploy reasoning approaches in robotic systems.
  • Understand different reasoning methods such as deductive, inductive and probabilistic. Explain their applications and limitations applied to real problems in autonomous systems.
  • Apply the learned concepts of the explainable Artificial Intelligence methods and assess their performance for complex situations.

Link to the syllabus on Studieportalen.

Study plan

Examination form

The final grade of this course will be awarded via continuous assessment in the form of 1) assignments and 2) a final project.

To pass this course, the students are required to pass 
    • four individual assignments
    • a team final project

In addition, the students are able to accumulate some extra points by actively participating in the lectures and tutorial sessions which will be evaluated via online (Canvas) quizzes.

Individual Assignments: To pass the laboratory assignments, you need to pass all four assignments
The goal of each assignment is to provide practical experience on implementations of the learned AI & reasoning algorithms applied in a robotic system. Each assignment will have a set of tasks, which in total can accumulate 6 points (per assignment). Each assignment will be considered as a "pass" when it completes at least 3 out of those 6 points. The assignments should be strictly delivered on time according to the course schedule. Any assignment submitted after the deadline will be considered as not delivered (it will be marked as failed). In total you will have four assignments, then the laboratory will be passed when the participant passes all four assignments.

For each assignment, you need to deliver original material in the form of code or a simulation file, depending on the assignment. The code must be accompanied by a short report (e.g. readMe file) that describes the delivered solution and how to run it (in the case the delivered material requires custom initialization). All submissions will be expected via canvas.

Final project:  An important part of the course is a final project that combines all the main topics covered in the lectures as well as the assignments and tutorials of this course. The final project will be performed in teams of 2-3 people. 

Note: even when you do the project work in teams, you will be examined individually. Every project member should be involved in all parts of the project and the final presentation. Failing to actively contribute to all parts of the project might result in a failed grade. 

For the final project, each member of the team can earn between 0-70 points. A passing grade for the project requires at least 40 points. Each team will present their obtained results for the final project, where each member of the team needs to present his/her contributions. Additionally, each team will deliver a final project presentation to demonstrate their obtained results.

Points via quizzes: Additionally to the final project points, the students can accumulate up to extra 6 points from their active participation in the lectures and tutorial sessions. The student's participation will be evaluated with online (Canvas) quizzes, as follows:
    • lectures (3 points)
    • tutorials (3 points)

Finally, your final grade is computed with the following formula:

Total grade= Assignment + Final project +  Quizzes

See the below table to convert the number of points to the final course grade.

Number of points Final grade
85 - 100 5
68 - 84.9 4
52 - 67.9 3
0 - 51.9 fail


The evaluation criteria for the final project includes:

  • The complexity of the project
  • The final presentation of the project
  • The code and documentation of the final implementation of the project
  • Group evaluation report

Important note about assignments and final project: Each assignment must deliver original material, similarly for the final project:

In the case of detected “copied” material, all the copies will be rejected (marked as not delivered).

If the material is based on external sources (i.e. code from the internet!), the original source must be properly acknowledged in the comments of the delivered code, indicating the URL and the main differences.

A brief report should be delivered with each assignment (brief solution description and mini-howTo instructions).

Individual Responsibilities

Every member of a project group should take a full part in every aspect of the project and be ready to answer any question. It is every group members responsibility to make sure that every group member fully participates in the project. In case a group has a member that does not contribute and follow the project, the group members should contact the teacher responsible for the group. Freeriders are not accepted and risk failing the project. Individual group evaluation at the end of the project. Members of the same group might get a different number of project points.

Academic work relies on respect for other people's knowledge and ideas. By representing someone else's work or ideas as your own you commit a serious offence and violate Chalmers rules. By violating the conditions stipulated in the document "Rules of Discipline" it is possible to be suspended or expelled from Chalmers. More information can be found in the documents below.

Every group has two project meetings. Attendance is mandatory. All students should be present in the final project presentation. In case you get sick you have to contact the examiner. 


Course summary:

Date Details Due