Introduction to Artificial Intelligence — LP4, VT 2018
This is the course-PM for the course TIN175/DIT411 Introduction to Artificial Intelligence, 7.5 credits, spring 2018, at Chalmers and University of Gothenburg.
Note: if you’re looking for…
- a reading list: see the written exam
- lecture slides: see the schedule
- exercises: see the reading list
News
- 12 March
- Don’t forget that Friday is also the deadline for your individual evaluation. See the instructions at the deadlines page.
- 11 March
- The deadline for the essay is Friday 16th March, not any other non-existing date that I might have written earlier (but which in that case is now corrected).
- 7 March
- Here’s a clarification about the oral examination: There will be a projector, so you can prepare some slides or show runtime examples or some graphs if you want, during your 10-minute presentation. There will also be whiteboard pens.
- 7 March
- All groups should have got their essay reviews today. Please write your final version, taking the reviews into account, and upload it to EasyChair by Friday 16th March. Take note of the following text (copied from the essay page):
- You have to revise your essay according to the reviews you received. Note that you do not have to follow every advice that the reviewers gave, only those that make sense to you and that you believe will make your essay better.
- The final essay should not be anonymised, so add your names below the title.
- Important: Together with your final essay, you have to write a short text describing which of the reviewers’ issues you have addressed (and in which way) and what you have decided not to care about. Add this description as an extra page at the end of your essay (as an appendix, after the references).
- 6 March
- Next week is the oral examination. It works like this (copied from the deadlines page):
- The oral examination works similar to the supervision sessions, but there will be two teachers present. The exam is 30 minutes and starts with you showing your project, describing the functionality, and giving a short explanation of how the extensions work. This should take c:a 10 minutes. Then we will ask you detailed questions about the project.
- Important: Everyone in the group must be prepared to answer the questions, so make sure that everyone understands how the code works!
- 20 Feb
- The list of possible Shrdlite extensions has been extended
- 15 Feb
- Tuesday’s exam is now online among the old exams.
There will be exam reviews during the following dropin supervision times:
- Tuesday 20 February, 13:15-16:00, in room 2514
- Monday 26 February, 13:15-16:00, in room 2514
- 13 Feb
- Thanks to everyone who participated today!
I apologise for the incorrect question 1: none of the suggestions were in fact the correct answer. The grade limits of the exam have been lowered to 6 points (and similarly for higher grades).
I will look through all corrections during this week, and you will have your grades reported by next week.
- 12 Feb
- Everyone of you has to create an EasyChair account. Please do that at the latest Monday 19 February, by following this URL:
https://easychair.org/conferences/?conf=aigot18
When you have done that, every group should send a mail to Claes with information about (1) the EasyChair accounts (i.e., the email address you used) for every group member, and (2) the preliminary title of your essay.
- 8 Feb
- (A pre-print of) the repetition lecture 8 is available in the schedule.
- 5 Feb
- There are now more exercise suggestions for chapters 4, 5 and 7, in the reading list.
- 5 Feb
- One of you noted that
test-interpreter.ts
sometimes reports an error when it shouldn’t. This is because the test file compares interpretations in a very stupid way, so the literals in the “correct” interpretations must occur in the same order as the ones returned by the interpreter. If you encounter this problem, the easiest solution is to just change the order between the literals inInterpreterTestCases.ts
. (The best solution is of course to fixtest-interpreter.ts
, and if you prefer that please ask your supervisor, or Peter) - 1 Feb
- Lecture 6 (and a pre-print of lecture 7) is available in the schedule.
- 31 Jan
- There are suggested exercises for the CSP chapter, in the reading list.
- 29 Jan
- You can now book a 30 minutes essay supervision slot, during 14–16 February: https://doodle.com/poll/ybngckgakg39vsqd
- 28 Jan
- (A pre-print of) next lecture 5 is available in the schedule.
- 26 Jan
- The Github template has been updated!
- The files
InterpreterTestCases.ts
andtest-interpreter.ts
are slightly modified: a test case is now astring[]
instead ofstring[][]
, and you write your test cases more intuitively. - 26 Jan
- Lecture 4 (and all previous ones) are available in the schedule.
- 22 Jan
- Now there are some suggested exercises for chapters 2–3 (from the course book and the previous exams), in the reading list.
- 22 Jan
- (A pre-print of) next lecture 3 is available in the schedule. (Lectures 1 and 2 are already there).
- 19 Jan
- The groups are decided, and their supervision times. You should have got an email with this information. If not, please contact me as soon as possible.
- 4 Jan
- The webpages are (mostly) updated for the 2018 course instance.
People
Examiner and course responsible
- Peter Ljunglöf: room 6125, email peter.ljunglof@cse.gu.se
Course assistants/supervisors
Student representatives
- Joel Sanderöd Roxell (MPSOF)
- Ken Bäcklund (GU)
- Lisanu Tebikew Yallew (MPCSN)
- Naichen Wang (MPALG)
- Philip Tibom (GU)
- Ryan Damarputra Widjaja (MPALG)
Content
The course consists of three main subcourses, of which two are done in groups of preferrably 4 students. The groups are selected during the first days of the course.
- Programming project, 3.5 credits
- Writing an essay, 1.5 credits
- Written examination, 2.5 credits
This is a joint Chalmers/GU course. It has two different course codes and two different course plans, but in reality it is exactly the same course:
Note that this is an advanced course: we assume academic maturity, a willingness to explore independently, and good programming skills.
You should be a good programmer and have enough experience in programming to do a sizeable project. The project must be implemented in TypeScript. You don’t need to know TypeScript before taking the course, but you should be able to teach yourself the language and discover any tools, libraries, environments, etc. which you may need. In general we will not be able to help you with your coding problems – your programs will be discussed at an abstract, pseudo-code level.
Literature
The main course book is a standard textbook in AI, we will mainly use the first 7 chapters:
- Stuart Russell and Peter Norvig (2002, 2010, 2014). Artificial Intelligence: A Modern Approach. Pearson.
It’s quite expensive and we will only use 1/4 of the chapters, but it’s a classic and very useful if you want to continue studying (or working with) AI. Alternatively, you can read it online at Chalmers library. (If the link doesn’t work, just go to Chalmers library and search for the book).
Assessment
You have to pass all three subcourses to pass the course. More information about passing the subcourses and their grading criteria can be found on the pages Written examination, Project, and Essay. But in summary, to pass the course you need to pass the following course moments:
- Attend and be active at the supervision sessions
- Complete the Shrdlite programming project, in group
- Write an essay about an AI topic, in group
- Write an individual review of an essay
- Pass the written examination
- Submit the final self- and peer-evaluation
Grading
All subcourses are graded (U/345 resp. U/G/VG), and the final grade is decided like this:
-
GU: To get final grade VG, you need a VG grade on at least two subcourses.
-
Chalmers: The final grade is the average of the subcourse grades, weighted by the size of the subcourse, rounded like this:
Weighted average Final grade < 3.65 3 3.65–4.50 4 > 4.50 5
Note that the final grades on all subcourses are individual! This means that you can get a higher or lower grade than what your other group members will get, depending on your personal contributions to the group work. To know this, we look at the following things:
- Your activity and knowledge during the supervision sessions
- The self-/peer-evaluation that you and your group members have submitted
- We might also look at the commit history of the programming project
For older students (DIT410, TIN172–TIN174)
Previously, there was only two subcourses: the written exam and the group work. The group work consisted of both the essay and the programming project.
- If you haven’t passed the exam yet, you can write any of the normal written exams. You are encouraged to follow the lectures.
- If you haven’t passed the group work yet, you have to redo both the essay and the programming project in a group. You cannot count any old project work or any essay from before.
For grading criteria, please ask the course responsible (see above for email).
Changes since 2017
The course only had minor changes since 2017.
Changes to the course structure and grading
- The previous big project subcourse is now divided into two subcourses.
- The grading calculation has been simplified.
- The written exam is now graded (i.e., the final grade depends on all subcourses).
Changes to the theoretical content
- I have dropped some content about non-classical and adversarial search, and CSP problem structure.
Changes to the Shrdlite project
- The template code is improved, and the interpreter has a better skeleton.
- There is a third intermediate submission, of the planner and the completed project.
Changes to the essay
- The main essay work will be in the week directly after the written examination.
- The essay reviews are now individual (i.e., every essay will get more reviews).