Topic outline

  • All course material is available on the A+ page: CS-E4800 in A+

    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: passed.

    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.)

    Course material: course's A+ page is now open!

    The course is lectured by Prof. Jussi Rintanen.

    The course starts on Thursday January 12, 2023. 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 20, 2023 at 17:00-20:00. The second opportunity to do the exam is on Wednesday June 7, 2023 at 13:00-16:00. Registration is obligatory for all exams of the course.

    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.


    Tentative schedule:

    1. Jan 12: Introduction & preliminaries (video lecture)
    2. Jan 12: Introduction & preliminaries (video lecture)
    3. Jan 19: Search and problem-solving  (lectures in Hall A at Otakaari 1 at 12:15-14:00)
    4. Jan 26: Search and problem-solving
    5. Feb 2: Logic: Propositional logic, constraint solving, predicate logic
    6. Feb 9: Logic: Predicate logic, natural language, semantic technologies
    7. Feb 16: Reasoning under uncertainty
    8. Mar 2: Decision-making under uncertainty, Reinforcement Learning
    9. Mar 9: Game-tree search, game-playing
    10. Mar 16: Decision-making under partial observability, Multi-agent decision-making
    11. Mar 23: Game theory, A.I. applications & Future

    Exercise sessions will take place on Tuesday at 14:15-16:00 in hall T1 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 12, which are due on January 18.

    Support for  weekly exercises is available also on the course's Zulip channels from Mondays to Wednesday: https://cs-e4800.zulip.aalto.fi.
    Before asking help in Zulip the first time, read the instructions available in Zulip first.

    Zulip support hours
    day hours
    Monday 12-20
    Tuesday 19-21
    Wednesday 12-20

    TA schedule

    Monday Tuesday Wednesday
    10
    12 HN MD
    13 HN MD
    14 MD BN, VS
    15 MD BN, VS
    16 AA, HP
    BN, HP, TH
    17 AA, HP
    BN, HP, TH
    18 JM, TH
    AA, HN, JM
    19 JM, TH
    VS AA, HN, JM
    20 VS