6 EC
Semester 1, period 1
5081COPS6Y
This course provides an introduction to algorithmic thinking and basic problem solving techniques in AI. Special emphasis is put on search algorithms and their implementation in the declarative programming language Prolog. The following topics are covered:
A core skill you will acquire in the first part of this course is how to program in Prolog. This includes secondary skills such as presenting your code in an orderly fashion and explaining your solutions to others. You will also acquire general problem-solving skills, learn to think in a structured manner, and practice to express yourself clearly and precisely.
U. Endriss. An Introduction to Prolog Programming. Lecture Notes, 1999–2024 (for first half of the course, free to download from Canvas or here)
I. Bratko. Prolog Programming for Artificial Intelligence, 4th edition, Addison Wesley Publishers, 2012. (for the second half of the course. page references will be given for the 4th edition)
Lectures
The lectures are the primary source of new information in the course and the key to making most of the course material (notes, slides, exercises and homework). We strongly recommend that you attend all lectures and regular tutorials and attend the extra tutorial if needed.
Lab Sessions
In the lab sessions you will work on assignments in class and discuss them. You will also get practice questions that are similar to what you will be asked in the exam. Lastly, you will have the opportunity to work on the homework with direct access to expert help from your TA. You can also use the lab sessions to ask about any of the material covered in lectures. This is also the time to approach your personal TA in case you have questions regarding your graded homework.
|
Activity |
Hours |
|
|
Hoorcollege |
24 |
|
|
Laptopcollege |
36 |
|
|
Tentamen |
4 |
|
|
Vragenuur |
2 |
|
|
Self study |
102 |
|
|
Total |
168 |
(6 EC x 28 uur) |
Programme's requirements concerning attendance (TER-B Article B-4.10):
Additional requirements for this course:
There is no formal requirement or rule about attendance for this course. We strongly recommend that you attend all lectures and all regular tutorials and attend the Q&A on Friday if you need extra help.
| Item and weight | Details |
|
Final grade | |
|
40% Homework | |
|
1 (17%) PSS Homework 1 | |
|
1 (17%) PSS Homework 2 | |
|
1 (17%) PSS Homework 3 | |
|
1 (17%) PSS Homework 4 | |
|
1 (17%) PSS Homework 5 | |
|
1 (17%) PSS Homework 6 | |
|
60% Exam grade | Must be ≥ 5.5, Mandatory |
|
1 (50%) Final exam | |
|
1 (50%) Midterm |
Summary
Homework (40%) and two written exams (2 x 30%).
The lowest of the homework grades does not count.
An average grade of at least 5.5, both overall and over the two exams alone, is required to pass the course.
Full requirements
To pass the course, besides obtaining a final grade of at least 5.5 (before rounding), you also need to score at least a 5.5 in the exam component alone (again, before rounding). Thus, compensation between the two exams is possible, but compensation between the exams and the homework is not. Should you fail to achieve an average of 5.5 in the exams, you can attempt the resit. If you take the resit, the grade you obtain will replace your grade for the whole exam component (whatever your original exam results may have been). Any missed homework assignment is graded with 0 points. The lowest of the homework grades does not count. There is no resit opportunity for the homework component.
Late submissions
Start submitting your homework long before the deadline! You can upload to CodeGrade as often as you want and only your newest submission will be graded. Submissions up to 24 or 48 hours late will get a 25% or 50% reduction, respectively. Submitting later than 48 hours is never possible.
Homework feedback will be given via CodeGrade.
Exam viewings will be possible in-person and announced in Canvas.
Reading assignments
These will usually be sections from the lecture notes or Bratko’s book. You should have a quick look at the beginning of the week and then read everything more carefully when you did not understand something in the lecture, and once more after you have submitted your weekly homework. For the exam it will be assumed that you have completed all reading assignments.
Assessed homework assignments
These will be assessed and need to be submitted by the deadline indicated (these are called the homework). We publish them at the beginning of the week and you should submit them by Saturday. Part of the homework is automatically graded using CodeGrade. You are allowed to submit as often as you want before the deadline. Only the last/newest submission will count for your grade.
Code of conduct
For the homework, you must submit your own solutions. It is always okay to talk to fellow students about the exercises (indeed, you should do this!), to read books, and to browse the Internet for information on Prolog — but it is not okay to copy-paste even a single line of code from others or to systematically search the Internet (or the literature) for solutions to the exercises. You are expected to be able to fully explain your solutions. This means that it is important to (briefly) explain how the programs you submit work (by using comments). It is critical that you use the exercises to actively practice your skills; otherwise you have no chance of passing the exams. So, use the help available during the lab sessions, but also make sure that you honestly assess your own level of ability every now and then and that you do not rely on others.
NOTE IF YOU ARE RETAKING THIS COURSE
For the homework, you may use and refer to parts of your own solutions from last year, and use them again, but you must mention this in your homework submission as a comment. Explain clearly that you are retaking the course, and say which parts of the file are reused and what you changed. If you resubmit anything without mentioning this, some or all points for this homework may be deducted. Never submit the exact same file as last year - you will get points deducted. Always use the new template file provided on Canvas and decide for each question whether you want to re-use your old answer.
The 'Regulations governing fraud and plagiarism for UvA students' applies to this course. This will be monitored carefully. Upon suspicion of fraud or plagiarism the Examinations Board of the programme will be informed. For the 'Regulations governing fraud and plagiarism for UvA students' see: www.student.uva.nl
See Canvas.
Not applicable.
The course will be managed through Canvas.
Language
Lectures and course material are in English, laptocolleges are mostly in Dutch.
You may use both Dutch and English when answering homework and exam questions.
Studieadviseur / Study Advisor
Als er gedurende dit vak bij jou bijzondere of persoonlijke omstandigheden ontstaan die invloed hebben op je vermogen om te studeren, meld dit dan direct bij de studieadviseur.
If during this course there are special or personal circumstances that limit your ability to study, please directly contact the study advisor to ask for help and advice.
The course is taught by Malvin Gattinger (he/him). The best way to contact him is in-person after the lectures.
The Senior TA for this course is Frank Wildenburg (he/him). You can contact Frank by e-mail at f.c.l.wildenburg@uva.nl.
There are several teaching assistants supporting the course. They run the lab sessions and grade the homework. You can find your own TA here on DataNose and find their contact details on Canvas. The best way to contact your TA is during the laptopcollege.
Your personal TA will grade the homework of everyone in your group and is the first person to contact for all questions regarding the course. Make sure you know who your TA is and introduce yourself to them in the first week of the course.