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

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:

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