Course syllabus
Course-PM
DIT821 H20 Software engineering for AI-system (7,5 hp).
Course is offered by the department of Computer Science and Engineering
Contact details
- Examiner: Ivica Crnkovic, ivica.crnkovic@chalmers.se
- Lecturers
- Ivica Crnkovic, ivica.crnkovic@chalmers.se
- Lucy Lwakatare, llucy@chalmers.se
- Piergiuseppe Mallozzi, mallozzi@chalmers.se
- Guest lecturers - several AI and SE experts from academia and industry
- Gordana Dodig-Crnkovic (Links to an external site.), Chalmers, AI Ethics, Lecture and Workshop
- Peltarion industrial advanced example of AI development
- Supervisors
- Lucy Lwakatare, lucy.lwakatare@chalmers.se
- Piergiuseppe Mallozzi, mallozzi@chalmers.se
- Peter Samoaa samoaa@chalmers.se
- Student representatives
Course Evaluation Results
The results from the course evaluation questionnaire and final course evaluation meeting is now published here in Canvas.
Protocol: https://canvas.gu.se/courses/36868/files/folder/Course%20Evaluation?preview=3730081
Results: https://canvas.gu.se/courses/36868/files/folder/Course%20Evaluation?preview=3730080
Course Evaluation Questionnaire
Now that your course DIT821 Software Engineering for AI Systems is over we would really appreciate if you could fill in a course evaluation below
https://sunet.artologik.net/gu/Survey/10285
Your feedback is very important. Please do your part by filling out evaluations for all your courses in a constructive, helpful spirit.
Thank you,
Course Lectures
The lecture and scheduled labs are running using Zoom. Information about Zoom is available here
Lecture overviews and presentation are available on Pages
Course purpose
The purpose of the course ins to give to students insights in basics of AI, its use, basics of software engineering of AI-based systems.
The course addresses issues relevant for software engineering for systems that use artificial intelligence (AI) techniques such as machine learning or large-scale parallel data processing. The course gives a) an introduction of basic principles of AI, with emphasis on the principles and techniques used in machine learning (ML) and Deep Learning (DL) including supervised learning, unsupervised learning, enforcement learning , and b) insights to support needed for successful implementation of AI systems.
The course addresses the life cycle of AI systems: It includes data preparation (i.e. collecting data, data processing, storage, analysis), and building AI models by training and validation. It also discusses use of data, such as implications of using different data sets for the same goal, or using the same data set for different goals. Finally, the ethical considerations in using data and providing automatically-created solutions are discussed
SCHEDULE (please note the table below has the latest and valid information)
Week | Day | Date | Time | Type | Topic |
w36 | Mon | 2020-08-31 | 15:15-17:00 | Lecture 1 | 0 Intro, 1 Linear regression |
w36 | Wed | 2020-09-02 | 15:15-17:00 | Lab 1 | intro to linear algebra, jupyter |
w36 | Thu | 2020-09-03 | 15:15-17:00 | Lecture 2 | 2 Multiple linear regression |
w37 | Mon | 2020-09-07 | 15:15-17:00 | Lecture 3 | 3 Linear descent criteria, Polynomial regression |
w37 | Wed | 2020-09-09 | 15:15-17:00 | Lab 2 | Linear regression, multiple linear regression |
w37 | Thu | 2020-09-10 | 15:15-17:00 | Lecture 4 | 4 Classification, Logistic regression, One-vs-all |
w38 | Mon | 2020-09-14 | 15:15-17:00 | Lab 3 | Polynomial regression |
w38 | Wed | 2020-09-16 | 15:15-17:00 | Lab 4 | Classification, Logistic regression |
w38 | Thu | 2020-09-17 | 15:15-17:00 | Lecture 5 | 5 Unsupervised learning |
w39 | Mon | 2020-09-21 | 15:15-17:00 | Lab 5 | Unsupervised learning |
w39 | Wed | 2020-09-23 | 15:15-17:00 | Lecture 6 | 6 Neural networks, Deep Learning |
w39 | Thu | 2020-09-24 | 15:15-17:00 | Lab 6 | Neural network |
w40 | Mon | 2020-09-28 | 15:15-17:00 | Lecture 7 | 7 Reinforcement Learning |
w40 | Wed | 2020-09-30 | 15:15-17:00 | Lecture 8 | 8 Reinforcement Learning |
w40 | Thu | 2020-10-01 | 15:15-17:00 | Lab 7,8 | Reinforcement Learning |
w41 | Mon | 2020-10-05 | 15:15-17:00 | Lab | consultation |
w41 | Wed | 2020-10-07 | 15:15-17:00 | Lecture 9 | 9 ML engineering |
w41 | Thu | 2020-10-08 | 15:15-17:00 | Lab 9 | Feature engineering |
w42 | Mon | 2020-10-12 | 15:15-17:00 | Lecture 10 | 10 Data management |
w42 | Wed | 2020-10-14 | 15:15-17:00 | lab 10 | Data Management |
w42 | Thu | 2020-10-15 | 15:15-17:00 | lab | Preparation for the exam |
w43 | Mon | 2020-10-19 | 15:15-17:00 | Lecture 11 | 11 Ethics and AI - OBLIGATORY* |
w43 | Wed | 2020-10-21 | 15:15-17:00 | Lecture 12 | 12 Advances in ML and DL -- OBLIGATORY* |
w43 | Thu | 2020-10-22 | 15:15-17:00 | lab ex | instructions to exam |
w44 | Wed | 2020-10-28 | 14:00-18:00 | exam | |
w01 | Tue | 2021-01-05 | 8:30-12:30 | re-exam |
*if a student misses the obligatory lectures 13 and 14 week w43, he/she will get an assignment related to the missing lecture.
Course literature
There is a plenty literature in AI, Machine Learning and Deep Learning, available both as on-line literature, and as books.
Useful links:
- Elements of AI (Links to an external site.) - very basic intro to AI
- Andrew Ng: Machine Learning MOOC (Links to an external site.) at Coursera
Course design
The course consists of lectures and labs, as well as supervision in connection to the labs. The lectures will show the main principles, approaches and techniques with small, illustrative examples.
The labs will exemplify the theories and principles given on the lectures. A lab will includes hands-on tasks that state specific problems, and that will be solved using programming tools. Some of the exercises will require written reports.
Learning outcomes and syllabus
Course syllabus in PDF format
On successful completion of the course the student will be able to:
Knowledge and understanding
- explain the lifecycle of data-intensive systems, starting from data creation, to validation, processing, presentation, storage, and archiving
- explain the issues related to the integration of AI techniques in software systems, e.g., machine learning, data analysis, computer vision, or autonomous decision making
- name and describe different common AI techniques and to which problems they are applicable
- explain the impact of different data analysis goals on the required format, content, and quality of the data and the applicability of different AI techniques
Competence and skills
- use common artificial intelligence techniques to solve pre-defined problems
- apply techniques to validate and deploy data-intensive AI systems in the operational context
Judgement and approach
- discuss the advantages and disadvantages of different patterns and architectures for data-intensive systems
- discuss the principles of learning from potentially partial or low-quality data and the impact on the quality of the system
- analyze and discuss the impact of design choices about the different steps in the data lifecycle on ethical issues related to the privacy and security, as well as the ethical use of data
Examination form
The examination includes two parts:
- Exam (Tentamen), 4.5 credits
Grading scale: Pass with Distinction (VG), Pass (G) and Fail (U) - Assignments (Inlämningsuppgifter), 3 credits
Grading scale: Pass (G) and Fail (U)
The exam is realized through a combination of an individual written and oral exam. The written and oral exam will be arranged over Zoom. The students will get an individual programming task , have time to do it, and then present and discuss the solution, and discuss other topics with the examiner during 30 minutes. During the Zoom sessions the students will have setup the camera, and will show their ID for the identification. During the written part the students will have possibility to use any material, but are not allowed to communicate with anyone except the examiners/teachers.
The assignments includes 10 assignments that have to be done by the students as a homework. Up to two students can work together. Upon approval of all assignments each students will have a discussion with a teacher and should be able to explain the assignments. A student that will not be able to explain his/her work will not get labs approved.
If a student, who has failed the same examined component twice, wishes to change examiner before the next examination, a written application shall be sent to the department responsible for the course and shall be granted unless there are special reasons to the contrary (Chapter 6, Section 22 of Higher Education Ordinance).
In cases where a course has been discontinued or has undergone major changes, the student shall normally be guaranteed at least three examination occasions (including the ordinary examination) during a period of at least one year from the last time the course was given.
Course summary:
Date | Details | Due |
---|---|---|