Revision 6386a147e384d3298a12098f9a87b830bef0a78b (click the page title to view the current version)

Front Page

Changes from 6386a147e384d3298a12098f9a87b830bef0a78b to current

---
title: Artificial Intelligence
categories: Module
---

**NB** This is a living document and will be updated, augmented, and improved
during the semester.

+ See [Lecture Notes](Overview) for learning materials
+ See [Blackboard](https://ntnu.blackboard.com/) for announcements and 
  discussion boards.
+ [Learning Outcomes]()
+ [Reading List]()
+ [Actions2023]() i.e. changes to be made next year


# Practical Information

1.  It is your responsibility to do the exercises you need to do to understand
    the subject and gain experience.
2.  There are some compulsory assignments, but they do not cover the complete
    material that you will need to study.
3.  Attendance is compulsory for most (read all) sessions in the second half
    of the semester (exact date TBA).
    See under compulsory assignments.
4.  Feedback is provided *in class* upon demonstration of own work
    and solutions.  This includes approval of coursework.
5.  The module emphasises a broad and relational understanding, consolidating
    theory, practice (programming), and philosophy (incl. ethics)
6.  We try to employ an agile approach to learning and module design.
    To this end we use 
    [JIRA](https://jira.iir.ntnu.no/secure/RapidBoard.jspa?rapidView=10085&projectKey=TIA#)
    and [Confluence](https://confluence.iir.ntnu.no/display/TIA/AI-Module).
    Please contact me if you have not go access already.


## How to work with the module

1.  Read the theory.
2.  Do practical exercises to *test your theoretical understanding*
3.  Evaluate your own solutions and reflect upon
    - what have you learnt from the exercise?
    - what do you yet not know?
3.  Engage in the philosophical questions.  Discuss with your classmates.
4.  Don't try to do a lot of exercises quickly.
    It is better to make sure that you comprehend a few exercises fully,
    and can justify and validate your own reasoning.
5.  Ask Questions.  
    I will generally not repeat material unsolicited, 
    but I am very happy to discuss any question you may have.
4.  Keep a diary.
    Make sure you can refer back to previous ideas and reuse previous solutions.

##  Compulsory Assignments

There will be two compulsory assignments
There will be two compulsory assignments.
The first one focuses on the practical challenges of modelling, solving,
and programming solutions for various coding games, as we work on for
the first six weeks.
The second one focuses on philosophical questions including ethics and requires
attendance.

### Programming and Problem Solving 

For the first five weeks, we will work mainly on search and optimisation
algorithms, including problem solving through programming.
At the end of these weeks, you will have to submit

1. an action-reflection note, where you discuss what you have learnt from 
   each program submitted and why the problem/solution is interesting
   in view of the syllabus.
   This should be about ½-1 page.
2. solutions to two selected problems on CodinGame (at least medium
   difficulty) or from [pai-exercises](https://github.com/hgeorgsch/pai-exercises).  

Make sure to put the reflection note *first* in the document, so that it is
easy to find and read.
After submission, you have to show the program working and discuss the
code with me face to face.
The goal of of this compulsory exercise is that you seek feedback on
some of your solutions to practical problems.  You should do this
at least twice during the first six weeks of the semester, and we
use the Confluence wiki to collect and give feedback on the material.

**Deadline** 26 February 11:59pm
Each time you should

If you submit early, please also ask for feedback early.  I shall also
be happy to give feedback twice, but preferably then on different problems.
The purpose of the exercise is to establish an opportunity to discuss
your work, not to fail anyone.
1.  Choose one of the problems from CodinGame or
    from [pai-exercises](https://github.com/hgeorgsch/pai-exercises).  
2. create a confluence page where you 
    + model the problem abstractly
    + solve the abstract problem  
    + code the solution for CodinGame (or similar
3. get feedback from other students and similarly give feedback to others
4. edit the confluence page (or add a subpage) discussing how you can
   use the feedback received 
5. add an action-reflection note, where you discuss what you have learnt from 
   each program submitted and why the problem/solution is interesting
   in view of the syllabus.  This should be about ½-1 page.

The material must be submitted in BlackBoard and demonstrated in person
one-to-one with the teacher, usually during the first session after the deadline.
Formative feedback and approval is given face to face.
(In case of absence under mitigating circumstances, it is possible to do
this in a later session.)
**Deadline** The very last deadline is 26 February 11:59pm.  It is
recommended that you do one problem ASAP, and one before the midterm break.

**Learning Outcomes** Programming skills.
**Learning Outcomes** Programming skills.  Modelling skills.
Knowledge of Fundamental Algorithms.
Problem Solving Competency.

### Literature, Presentation, and Debate 

**Deadline** Declare group and topic by midnight end of Sunday 5 March.
**Deadline** Declare topic by 26 February 11:59pm

The second compulsory assignment is a verbal debate.
I prepare a list of [Questions]() or topics, with associated reading
lists.

1.  You select a topic.  You are not limited to the published list.
    If you have an idea on your own, please discuss it with me.
2.  Read some literature and prepare an introduction to the topic.
3.  Present the topic to class, and engage in discussion.
4.  You may work individually or in pairs, but if you work in pairs,
    please present opposing positions and arguments.
2.  Enter your topic and *date* into the Confluence Wiki.
3.  Read some literature and prepare an introduction to the topic.
4.  Present the topic to class, aiming to initate a dicussion.

Panel debates is a good format for this exercise, where two students 
prepare opposing positions on some controversial question. 
Both technical and philosophical papers and topics may occur, but there
will be an emphasis on philosophical questions.

**Compulsory Attendance** not only for you own presentation, but also
when others present.  One absence over the six or seven weeks we have
this exercise is permitted.

**Learning Outcomes**  Ability to read and interpret research papers.
Verbal presentation skills.  Ability to engage in peer discussions within
the discipline.  Awareness of the ethical concerns within AI.


## How does the exam work

1.  Oral Exam.
2.  You get seven minutes to demonstrate the highlights of your
    understanding of the subject.
    *Make a case for the grade you think you deserve.*
3.  The examiner will use the rest of the time for questions to clarify
    and to demonstrate expected breadth and depth.
4.  Note that there are both theoretical, practical, and philosophical
    learning outcomes,
    and the module emphasises the relation between these three.

+ Capacity: 30 candidates
+ [Assessment Guide]() 
 
# Syllabus

The core syllabus consists of

1.  The lectures and taught sessions.
2.  All learning material provided.
3.  TBC Core reading (session numbers may change)
    - Sessions 1-6: Russel & Norvig, Chapters 1-4 + 6
    - Sessions 7-9: Haupt & Haupt, Chapter 1-4
    - Session 10: Russel & Norvig Chapter 19 TBC
    - Sessions 11-13: Russel & Norvig Chapters 16 and 23
    - Session 14: Russel & Norvig Chapters 28-29

Note that the propositional knowledge that you can find well-defined
in the textbooks only forms a part of this module.  We will also 
study the tacit skills of problem solving and the ethical and
philosophical dilemmas of intelligence, artificial or otherwise.
This requires broader reading and more thinking on your part.
A [Reading List]() is provided and will be developed as we go along.