All course material can be found in A+ at https://plus.cs.aalto.fi/ai/2024spring/ (Warning: There seems to be an hour or two delay from the first attempt to log in A+ to access being granted!)
The course offers a broad introduction to main areas of Artificial Intelligence of importance to CS and IT , including
- search and problem-solving
- constraint solving, deduction, logic, and automated reasoning
- probabilistic inference and reasoning about uncertainty
- semantic technologies
- sequential decision-making, decision-making under uncertainty
- game-theoretic and adversarial decision-making
- adaptation and learning, especially reinforcement learning
The methods covered in the course are the basis of AI's most
important industrial applications, in control and management of complex
systems, information technology, and autonomous systems and robotics.
They also form much of the new advanced software
methodology that will revolutionize parts of information
technologies in the next decades.
The course will give an introduction to the main forms of advanced
software tools for solving hard combinatorial problems that are
increasing in importance both in A.I. and construction of intelligent
systems as well as in the advanced automation in CS
and IT more generally. The question answered by the course is: what
kind of advanced technologies are needed to get beyond current SW
technologies, in important applications in IT and other industries?
Prerequisites of the course are: basic math, programming skills at
the level of a 2nd/3rd year CS student, knowledge of basic data
structures and algorithms. The programming exercises will be in Python, so basic knowledge of Python
would be useful.
Registration deadline: January 15, 2024
This course consists of weekly lectures on Thursdays, with course material delivered as
lecture presentations (slides), material in traditional textbook
format, as well as programming and other exercises to be completed every
week. The exercise deadlines are every week on Wednesday
evenings at 21:00 (generally 13 days after the exercise assignments have
been handed out.)
The course is lectured by Prof. Jussi Rintanen.
The course starts on Thursday January 11, 2024. Lectures are given in hall A of the Otakaari 1 building on Thursdays at 12:15-14:00.
The course examination is on Thursday April 18, 2024 at 17:00-20:00. The second opportunity to do the exam is on Wednesday June 5, 2024 at 13:00-16:00. Registration is obligatory for all exams of the course, and must be done one week before the exam, at the latest. (Do not ask for registration by email!)
Some of the course's exercises involve
programming in
Python, or using tools written in
Python. All exercises have been first developed and tested under
Linux, but it is possible to get them working also under
macOS and
Windows. If you have difficulties with the lalter OSs, you can use
Linux in Aalto's computing facilities through
vdi.aalto.fi or by logging in to
kosh.aalto.fi by using
SSH (For instructions for creating the required ssh-keys see
https://scicomp.aalto.fi/scicomp/ssh/.)
Some small parts of the course that were covered in the lecture will not be part of the exams:
- Diagnosis
- 2 Watched Literal scheme for unit propagation
- Montague semantics (but basics of lambda calculus may be asked about)
- pseudocode
for algorithms like alpha-beta, MCS, MCTS, UCB1 (but the general ideas
and properties of these algorithms may be asked about)
- Bayesian network reasoning by Weighted Model-Counting
- MDP solution by Linear Programming
The grading of the course is based on the points
collected from the exercises and the exam, with a ratio 50:50.
Additional points are given from weekly feedback and from the
end-of-course questionnaire and feedback. See the course overview presentation PDF for details.
Tentative schedule:
- Jan 11: Introduction & preliminaries
- Jan 11: Introduction & preliminaries
- Jan 18: Search and problem-solving
- Jan 25: Search and problem-solving
- Feb 1: Logic: Propositional logic, constraint solving, predicate logic
- Feb 8: Logic: Predicate logic, natural language, semantic technologies
- Feb 15: Reasoning under uncertainty
- Feb 29: Decision-making under uncertainty, Reinforcement Learning
- Mar 7: Game-tree search, game-playing
- Mar 14: Decision-making under partial observability, Multi-agent decision-making
- Mar 21: Game theory, A.I. applications & Future
Exercise sessions will take place on Tuesday at 14:15-16:00 in hall T1 (T2 starting on February 13) and at 16:15-18:00 in hall T2.
Teaching assistants will answer questions and provide help with
completing the weekly exercises. Deadline for weekly exercises is
Wednesday at 21:00, about two weeks after the exercise has been
published (ignoring the exam/evaluation week in late February.) An
exception to this is the first part of the introductory exercises given
out on January 11, which are due on January 17.
Before asking help in Zulip the first time, read the instructions available in Zulip.
Zulip support hours
day |
hours |
Monday |
12-21 |
Tuesday |
18-20 |
Wednesday |
12-21 |
TA schedule
|
Monday |
Tuesday |
Wednesday |
12 |
HN
|
PS |
NV
|
13 |
HN
|
PS |
NV
|
14 |
TT
|
|
TT, PS
|
15 |
TT
|
|
TT, PS
|
16 |
ES, RS
|
|
RS, VK
|
17 |
ES, RS
|
|
RS, VK, AK
|
18 |
AK, VK
|
NV, HN
|
ES, PS, AK
|
19 |
AK, VK, LA
|
NV, HN
|
ES, PS, LA
|
20 |
LA |
|
LA |