Photo: Veikko Somerpuro
Introduction to AI
Welcome to the Introduction to AI! This the Fall 2017 edition of the course at the Department of Computer Science, University of Helsinki. The course is an intermediate level 5 credit course, which is organized by the Data Science MSc programme. We also welcome students in the Computer Science BSc programme as well as all other students as a part of your minor subject studies.
The calculated workload of a 5 cu course is 18 hours per week, so please be prepared to spend time and effort in learning. The course will require hard work. You have been warned.
Prerequisites: What you should know before starting
Prerequisites are good programming skills, and basic data structures and algorithms, and some university level mathematics.
|Data Structures||stack, priority queue, tree traversal, heuristic search, A* algorithm; for example Data Structures and Algorithms (Tietorakenteet ja algoritmit)|
|Programming||good programming skills in one or more languages (Java or python recommended)|
|Mathematics||elements of discrete mathematics and linear algebra (set operations, graphs, vectors), probability calculus – multivariate probability is helpful but not required; for example Probability calculus I (Todennäköisyyslaskenta I)|
|Theme||Objectives (after the course, you ...)|
|Philosophy and history of AI||
|Games and search||
|Reasoning under uncertainty||
|Natural language processing||
|Digital Signal Processing and Robotics||
The course includes lectures (2 x 2h per week) and exercise sessions (2h per week). The exercise sessions are meant for discussing the problems after you have completed them by yourself.
The lectures are not compulsory but they are meant to be useful.
Exercise points are marked in the exercise sessions; see Grading below.
You must register in one of the exercise groups on the registration system. If all the groups are full, please register in the overflow group and contact the lecturer or the TAs for instructions.
In case you have an unexpected constraint and can't make it to your own exercise session, the following options are (prioritized): (a) ask for permission to go to another group; or (b) submit your solutions by email before your own group session AND explain the unexpected situation (NB: being busy at work is not a valid excuse). You can only use the option b two (2) times during the course to gain points.
There is no course textbook. The course material consists of lecture slides and other material collected here. You can find the lecture slides and other useful information on the course homepage. The lecture slides are found under Material.
But please continue reading this page first.
Questions and answers are most easily discussed on the discussion forum which you can access by clicking 'Chat' in the title bar. The lecturer and the TAs will do their best to answer questions but other students are also encouraged to engage in the discussion – often the best explanation is provided by a fellow student rather than a professor!
Please maintain a positive and supporting attitude in all discussions. There are no stupid questions, and making a mistake is often an excellent opportunity to learn – also for others.
Grading on a scale 1–5. Grading depends on the completed exercises (about 33% of the grade) and the course exam (about 67% of the grade). You get full exercise points for completing 80% of the exercises.
Accounts and tools
Creating a user account
You'll need a user account to the Test My Code (TMC) system that will be used to automatically assess some parts of the programming exercises. You should also log in to the course material with the same account.
NOTE: your username needs to be your student number. This helps us to associate your submissions to you.
Account can be created here: https://tmc.mooc.fi/user/new.
Installing the programming environment
We recommend that you use the Netbeans IDE with the TMC plugin. The plugin makes it easy to return the exercises. These tools are installed in computer labs B221 and BK107 under the name 'TMCBeans'.
If you're doing the course on your own computer you'll need to install the Java JDK 8 and and the NetBeans with TMC-environment.
- Installing Java (* linux, check below!): install JDK (Java SE Development Kit 8u144) from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.
- Installing NetBeans with TMC: Go to http://update.testmycode.net/installers/tmc-netbeans_hy/. Choose the right installer for your operating system (eg. for windows .exe, for linux .sh and for macOS .tgz) Once you have downloaded the installer, install the program.
(*) If you're on linux installing openjdk is probably easier. If you're on Ubuntu you can install it with:
sudo apt install openjdk-8-jdk
If you want to do the exercises in Python instead you can download project templates with tmc-cli. You can also download the templates straight from TMC. TMC also gives you an option to submit full completed exercise folders as a zip files. Note: the Python versions of the exercises contain no tests and are mostly just empty projects.
Next select the right course in the programming environment.
Selecting the right course in the programming environment
Open the tmc settings and make sure that the server address is:
https://tmc.mooc.fi/org/hy. Then log in and select
hy-intro-to-ai-17 as your course.
If you're using Python and tmc-cli, select
hy-intro-to-ai-17-python as your course.
Click 'Part 1' in the navigation bar at the top of this page.