Course syllabus

Course-PM

DIT821 Software Engineering for AI Systems, Summer course 2020 (7,5 hp).

Course is offered by the department of Computer Science and Engineering

Contact details

 

Course evaluation Questionnaire

Now that your course is over we would really appreciate if you could fill in the course evaluation that was sent to your gus-email.

Your feedback is very important. Please do your part by filling out evaluations for all your courses in a constructive, helpful spirit.

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
w26 Mon 6/22/2020 15:15-17:00 Lecture 1 0 Intro, 1 Linear regression
w26 Tue 6/23/2020 15:15-17:00 Lab 1 intro to linear algebra, jupyter, python
w26 Wed 6/24/2020 15:15-17:00 Lecture 2 2 Multiple linear regression
w26 Thu 6/25/2020 15:15-17:00 Lecture 3 3 Linear descent criteria, Polynomial regression
w26 Fri 6/26/2020 15:15-17:00 Lab 2 Linear regression, multiple linear regression
w27 Mon 6/29/2020 15:15-17:00 Lab 3 Polynomial regression
w27 Tue 6/30/2020 15:15-17:00 Lecture 4 4 Classification, Logistic regression, One-vs-all
w27 Wed 7/1/2020 15:15-17:00 Lab 4 Classification, Logistic regression, One-vs-all
w27 Thu 7/2/2020 15:15-17:00 Lecture 5 5 Unsupervised learning
w27 Fri 7/3/2020 15:15-17:00 Lab 5 Unsupervised learning
w28 Mon 7/6/2020 15:15-17:00 Lecture 6 6 Neural network, deep learning
w28 Tue 7/7/2020 15:15-17:00 Lab 6 Neural network, deep learning
w28 Wed 7/8/2020 15:15-17:00 Lecture 7 7 Reinforcement Learning
w28 Thu 7/9/2020 15:15-17:00 Lecture 8 8 Reinforcement Learning
w28 Fri 7/10/2020 15:15-17:00 Lab 7,8 Reinforcement  learning
w30 Fri 7/27/2020 15:15-17:00 Lab consultation
w30 Fri 7/24/2020 15:15-17:00 Lab consultation
w31 Fri 7/31/2020 15:15-17:00 Lab consultations
w32 Mon 8/3/2020 15:15-17:00 Lecture 9 9  ML engineering
w32 Tue 8/4/2020 15:15-17:00 Lab 9 Feature engineering
w32 Wed 8/5/2020 15:15-17:00 Lecture 10 10 Data management
w32 Thu 8/6/2020 15:15-17:00 Lab 10 Data Management
w33 Mon 8/10/2020 15:15-17:00 Lecture 11 11 Ethics and AI
w33 Wed 8/12/2020 15:15-17:00 Lecture12 12  Advances in ML and DL
w33 Thu 8/13/2020 15:15-17:00 Lab Preparation for the exam
w34 Mon 8/17/2020 12.30-17:30 Exam  (Note: start time is individually scheduled)
w36 Mon 8/31/2020 9:00-114:00 Re-exam  (Note: start time is individually scheduled)

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