AI Programming A

Welcome

Welcome to AI Programming webpage for Autumn Term 2008.

This webpage contains a schedule detailing lectures, exercises and deadlines, some details about the course structure, and advice for getting help should you need it.

Our thanks goes to Dr David Brooks who produced the majority of the content displayed on this site.

NEW! Check out the HOWTO on installing Poplog on Windows Vista.

For formal details of this module's aims, objectives and assessment see its Module Description Page and Syllabus Page

Schedule

Week Lecture Code Exercise Templates Deadline
1 1st Oct Variables and expressions (none) Getting started with Pop-11
Variables and expressions
Template 2.1
Template 2.2
17:00 Monday 13th Oct
2 8th Oct Procedures, the Pop-11 stack and debugging (none) Procedures and the stack Template 3 17:00 Monday 20th Oct
3 15th Oct No Lecture (none)
4 22th Oct Conditionals, basic list manipulation and pattern matching here Conditionals, basic list manipulation and pattern matching Template 3 17:00 Monday 27th Oct
5 29th Oct Iteration (none) Iteration Template 5 17:00 Monday 3rd Nov
6 5th Nov Advanced lists and pattern matching: the database Self-test lecture code Pattern matching and the database

Template 6 17:00 Monday 10th Nov
7 12th Nov Program design here NONE 17:00 Monday 17th Nov
8 19st Nov Debugging larger programs NONE NONE NONE NONE
9 26th Nov Mini-projects Example Project Report Mini Project (mini-project) Plan: 17:00 Monday 1st Dec

Project: 17:00 Tuesday 13th Jan
10 3rd Dec Recursion To Appear (mini-project) (mini-project) (mini-project)
11 10th Dec OBJECTCLASS and RCLIB Bunch of demos (mini-project) (mini-project) (mini-project)

Course structure

Lectures

The lectures for this course will be given by Richard Price. There will be a lecture each week at 12noon on Wednesdays in LG34 (in the Learning Centre opposite the School of Computer Science). A more complete description of the lecture schedule is given in the schedule.

Note that the semester schedule outlined above is provisional and is subject to revision. Depending on how the module progresses, we may spend more or less time on some topics. We will let you know of any changes as soon as we can.

Lecture Code

During lectures, Pop-11 code examples will often be discussed. Wherever such code is presented, it will be available to download from the corresponding lecture on the schedule. You are encouraged to download the code and try it for yourself, and also to experiment with the code.

Lab Sessions

In weeks 1 to 11, there will be a two lab sessions in UG04 in the Computer Science building.

Every Monday from 15:00-17:00 and every Friday from 14:00-16:00.

There will be atleast one demonstrator present during these times to provide assistance with the practical work, which will be assigned each week and may be assessed or unassessed. (See next two subsections.)

Non-Assessed Work

During the first few weeks of the course some non-assessed work will be assigned. It will generally involve programming, although there will also be some problem-solving and analysis involved. The skills gained during unassessed exercises are essential to successful completion of the assessed exercises.

Assessed Work

You will be set three pieces of assessed coursework during the term. These are fairly substantial programming and experimentation exercises. There will be set exercises for each of weeks 2-8, which taken together will account for 50% of your mark for the course this semester. The remaining 50% will be assessed by mini-project, which will start in week 9.

All coursework must be submitted using the BOSS submission system. Please ensure you have the capacity to submit work well in advance of deadlines. Details of how to use BOSS can be found here, and additional information can be found from the First Year Workshop site.

The weekly exercises will be assessed and returned on the Friday following submission. Late submissions will be allowed until 10:00 on the following Wednesday, but a penalty of 50% of the available mark will be applied (for all submissions after the deadline and before Wednesday 10:00). Submissions after this time will be awarded zero marks.

The mini-project will comprise a program and accompaying report, which should all be submitted using BOSS. In addition, the mini-project report only must be handed in to the School office in hard-copy, with a coursework submission form for which you will get a receipt.

The mini-project submission is subject to different rules: a penalty of 5% per working day (defined as a day when the School Office is open) will be applied for submissions that are up to a week late, after which submissions will no longer be accepted. See the welfare section of the student handbook if you think you may have mitigating circumstances.

Need extra help?

Your first line of support, particularly with Pop-11 programming issues, is provided by the demonstrated lab session between 14:00 and 18:00 on Fridays.

For additional queries, Richard Price has an "office hour" at 14:00 every Monday in room 117 (School of Computer Science). During this time you are welcome to come and discuss any problems you are having with the module. If you feel you may be getting left behind, please come to the office hour and discuss the matter.

If you cannot make the office hour, email R.M.Price@cs.bham.ac.uk to arrange a meeting. You should only do this if you cannot attend the office hour.

Additional reading

As with all courses, lecture notes are only intended to provide part of your learning resources. You are actively encouraged to read around the subject of each lecture, and to experiment with the ideas presented. Pop-11 has a large amount of resources available through the help facility in XVed. Important teach files you may wish to look at are:

  • teach lists - Introduction to lists and matching.
  • teach define - Introduction to defining procedures in Pop-11.
  • teach matches - Tutorial introduction to matching in Pop-11.
  • teach database - Introduction to the database in Pop-11.
  • teach percent - Tutorial on building lists.
  • teach teachfiles - A listing of all teach files.
  • teach tower - A tutorial on different methods of soving the tower problem, to be discussed in Week 7.

If you cannot remember how to use the "teach" help facility, see the Getting started with Pop-11 exercise notes.

If you have programmed before or you just want a complete reference of pop-11 then look at the Pop-11 Primer (also available as a Pop-11 teach file: teach primer). The primer is quite long so don't try and print it out otherwise you will use all of your printer quota.

A local copy of this module's recommended textbook ("Artificial Intelligence through Search" by C. Thornton & B. du Boulay) can be found at /bham/common/com/packages/poplog/local/books/ai-through-search/index.html (In the lab you can copy-paste this location into your browser's location bar.)