
The Summer term component will focus on use of AI packages. See also the full course description at http://www.sussex.ac.uk/informatics/syllabus/current/31224.html
Week 1
Lecture 1 - Introduction to the field pr sl
Lecture 2 - Route finding pr sl
Week 2
Lecture 3 - Route finding in Java pr sl
Lecture 4 - Problem solving pr sl
Week 3
Lecture 5 - Problem solving in Java pr sl
Lecture 6 - Heuristic search pr sl
Week 4
Lecture 7 - Heuristic search in Java pr sl
Lecture 8 - Game playing pr sl
Week 5
Lecture 9 - Game playing in Java pr sl
Lecture 10 - Catch up
Week 6
Lecture 11 - Reasoning pr sl
Lecture 12 - Knowledge representation pr sl
Week 7
Lecture 13 - Bayesian reasoning pr sl
Lecture 14 - Bayesian networks pr sl
Week 8
Lecture 15 - Machine Learning pr sl
Lecture 16 - Machine Learning in Java pr sl
Week 9
Demo/assessment/revision sessions
Remember that the expected standard of work is higher in the second year than it is in the first. You will need to raise your game in order to achieve the same results you achieved last year.
The programming assignment for the Spring term component is due Thursday of week 8 (normally 2pm). The task is to construct a draughts (checkers) game game in Java. The program's GUI should present an interactive draughts board that allows pieces to be moved around as per the rules of the game. (See http://www.indepthinfo.com/checkers/play.shtml if you're unsure what these are.) It should be able to produce legal gameplay at different levels of difficulty, making use of minimax and alpha-beta pruning, as explained in the lecture on `game playing'.
You can start work on this assignment as soon as you like but the lecture on relevant methods (minimax and alpha-beta pruning) takes place at the end of week 4. Normally it will make sense to commence work around that time. This gives you three weeks to complete the assignment. The sequence thus looks like this.
Week 4: Lecture on game playing/minimax; commence work on the task.
Weeks 5-8: Work in progress; I'll use lab sessions to give feedback on your work.
Week 8: Submit your work to the department office as a paper document. The report should explain and illustrate (using figures where needed) what you have achieved with regard to each of the assessment criteria below. That means it should have one section (of approx. two paragraphs) for each criterion. The code should be included as an appendix. Normal rules on plagiarism apply.
Week 9 and 10: all lecture and lab sessions will be used for demos, peer assessment and revision groups. At one of these sessions you will have to give your peer assessors a short demo of your implementation so as to enable them to evaluate it on the first six of the 10 criteria below. This will involve showing some code samples as well as demoing the program. You'll also need to attend and peer-mark demos by your assessees.
To summarise, you present your submission as a paper document to the office at the end of week 8. All sessions from then on (lectures and labs) run as labs. At some time during one of these, you'll give the demo of your work to your group of peer assessors. You'll also use this time to see the demos of those students that you are a peer assessor for.
Each peer-assessment group will contain four people. That means you'll have four people in your assessment group and you'll be part of the assessment groups for four other students. As far as possible, arrangements will be made so that students do not end up assessing other students in their own assessment group.
Peer assessors should score submissions on the first six criteria below. Give marks out of 10 for each criterion. I'll make paper forms available during the session. When you assess your own work (in the report), give yourself a mark and comments for the the first nine criteria (i.e., everything except `Quality of marking').
The 10 Assessment criteria:
If you want further clarification of the marks you received, please come to my special feedback session between 11 and 1 on the first monday of the Summer term. Bring along the paper copy of your submission and the marks awarded and be prepared to re-do your demo.
Demos will take place in the lab session in week 9. It is your responsibility to make sure that (a) your demo is seen by all your peer markers and (b) that you get to see the demos of all students you are peer marking.
I will print out copies of the peer assessment sheet for people to fill in during the sessions. After you've filled these in, you can either give them to the student directly or leave them with me to pass on.
I will be at the demo sessions and will oversee the process. However, I will not be watching demos myself. The mark that I award for your submission will be based on my evaluation of your paper submission, so make sure that you provide all the evidence needed for me to evaluate your work on the 10 criteria. My marks are not affected by the peer marks you get for your demo. These are just for your information.
Demo marking sessions for ARAIP 2010
- Session 1 at 10 minutes past
Peer group for Jamey-Holden
Chris-Franklin
Andrew-Friend
James-Ongley
David-Callender
Peer group for Chris-Skilton
Zack-Bleach
Alexander-Hosford
Mauro-Melo
Daniel-Worrall
Peer group for Nathan-Clarke
Jack-Pady
James-Maxwell
Jonathan-Baker
Peter-Amor
Peer group for Steven-Cambers
Barbara-Franca
Miles-Bilham-Ware
Nyaradzo-Muzira
Christopher-Dykes
- Session 1 at 20 minutes past
Peer group for David-Callender
Jamey-Holden
Chris-Skilton
Nathan-Clarke
Steven-Cambers
Peer group for Zack-Bleach
Andrei-Pop
Douglas-Hoyal-Cuthill
Mark-Jefferis
Steven-Muggeridge
Peer group for Alexander-Hosford
Miroslav-Batchkarov
Jack-Pay
Caroline-Wilgar
Matti-Lyra
Peer group for Mauro-Melo
Ben-Campion
Chris-Franklin
Andrew-Friend
James-Ongley
- Session 1 at 30 minutes past
Peer group for Chris-Franklin
David-Callender
Zack-Bleach
Alexander-Hosford
Mauro-Melo
Peer group for Andrew-Friend
Daniel-Worrall
Jack-Pady
James-Maxwell
Jonathan-Baker
Peer group for James-Ongley
Peter-Amor
Barbara-Franca
Miles-Bilham-Ware
Nyaradzo-Muzira
Peer group for Andrei-Pop
Christopher-Dykes
Jamey-Holden
Chris-Skilton
Nathan-Clarke
- Session 1 at 40 minutes past
Peer group for Daniel-Worrall
Steven-Cambers
Andrei-Pop
Douglas-Hoyal-Cuthill
Mark-Jefferis
Peer group for Jack-Pady
Steven-Muggeridge
Miroslav-Batchkarov
Jack-Pay
Caroline-Wilgar
Peer group for James-Maxwell
Matti-Lyra
Ben-Campion
Chris-Franklin
Andrew-Friend
Peer group for Jonathan-Baker
James-Ongley
David-Callender
Zack-Bleach
Alexander-Hosford
- Session 1 at 50 minutes past
Peer group for Mark-Jefferis
Mauro-Melo
Daniel-Worrall
Jack-Pady
James-Maxwell
Peer group for Steven-Muggeridge
Jonathan-Baker
Peter-Amor
Barbara-Franca
Miles-Bilham-Ware
Peer group for Miroslav-Batchkarov
Nyaradzo-Muzira
Christopher-Dykes
Jamey-Holden
Chris-Skilton
Peer group for Jack-Pay
Nathan-Clarke
Steven-Cambers
Andrei-Pop
Douglas-Hoyal-Cuthill
- Session 2 at 10 minutes past
Peer group for Peter-Amor
Mark-Jefferis
Steven-Muggeridge
Miroslav-Batchkarov
Jack-Pay
Peer group for Barbara-Franca
Caroline-Wilgar
Matti-Lyra
Ben-Campion
Chris-Franklin
Peer group for Miles-Bilham-Ware
Andrew-Friend
James-Ongley
David-Callender
Zack-Bleach
Peer group for Nyaradzo-Muzira
Alexander-Hosford
Mauro-Melo
Daniel-Worrall
Jack-Pady
- Session 2 at 20 minutes past
Peer group for Caroline-Wilgar
James-Maxwell
Jonathan-Baker
Peter-Amor
Barbara-Franca
Peer group for Matti-Lyra
Miles-Bilham-Ware
Nyaradzo-Muzira
Christopher-Dykes
Jamey-Holden
Peer group for Ben-Campion
Chris-Skilton
Nathan-Clarke
Steven-Cambers
Andrei-Pop
- Session 2 at 30 minutes past
Peer group for Christopher-Dykes
Jack-Pay
Caroline-Wilgar
Matti-Lyra
Ben-Campion
Russell and Norvig, `Artificial Intelligence: A Modern Approach.' (as used by Foundations of AI. There are many copies in the main library and one in the COGS library.)
Also of interest is this AI-in-Java text:
Bigus and Bigus, `Constructing Intelligent Agents in Java.' (6 copies in the library including one in reserve section. I also hope to arrange for the COGS library to buy a copy.)
For something a little lighter, try
`Hal's Legacy' edited by David G. Stork. This provides a light-hearted overview of the state-of-the-art in AI.
In doing your programming, I don't require that you follow any particular genre or style (it doesn't have to be pure `OOP'). However, you do need to be consistent and you need to follow the general principles of good programming.
I take the general requirements to be: