TEACH AI2.PROJECT Aaron Sloman, November 1995 CONTENTS -- Introduction -- Choosing a topic -- Proposals -- -- Short proposal -- -- More complete proposal -- Project Reports -- -- Instructions for running your program. -- Formatted printing -- How the project will be assessed -- Possible project topics -- Submission deadlines -- -- Proposals -- -- Report -- Introduction ------------------------------------------------------- The SEM2A3 course is assessed by a mini project. The format required is that described in TEACH * REPORTS, though if necessary you can vary it to suit the nature of the project. The length of the main report should be between 2000 and 3000 words, excluding any appendices, which may contain program listings, example trace output, instructions for use of the program. The code and documentation for the project must be in an unprotected subdirectory which is clearly identifiable, with a name like sem2a3, or sem2a3.project. (Instructions for creating subdirectories can be found in HELP SHELL and HELP UNIX.COMMANDS) -- Choosing a topic --------------------------------------------------- A list of example topics is given below. However, students may propose other topics. Students should propose a project topic related to a significant subset of the AI techniques and ideas in the lectures or teach files this term. Not all students will be able to cope with all of these, so if you feel you can manage only a subset of techniques, choose a less ambitious project. These are the concepts and techniques that the course covers: - manipulating lists and other data-structures E.g. TEACH SETS, TEACH SETS2, the Pop-11 PRIMER - recursion and other control structures TEACH RECURSION, TEACH SETS, TEACH SETS2 - using lists and the pattern matcher to store and manipulate information about some problem domain, e.g. TEACH * SEARCHING TEACH * RULEBASE (revision: TEACH RIVER2) TEACH * PRBRIVER - using a search strategy to permit the computer to find a solution to a problem by exploring combinations of alternatives E.g. TEACH * SEARCHING, TEACH * PRBRIVER, TEACH * ROUTE (revision: TEACH * TOWER) - designing a simple expert system of some kind E.g. TEACH * RULEBASE TEACH * PRBWINE, TEACH *PRBGROCERIES TEACH * PRBRIVER TEACH * SEARCHING, - using object oriented techniques based on classes, methods, and inheritance, using Objectclass. You could design an adventure game involving intelligent agents. TEACH * OOP, TEACH * OBJECTCLASS_EXAMPLE * ADVENT_OBJECTCLASS, - Modelling interacting agents HELP * SIM_AGENT, TEACH * ARMYSIM.P This combines the techniques of objectclass and those of Poprulebase in a framework for exploring various agent architectures and simulating a world of interacting objects. - for some students, learning to use the graphical facilities in POP11 e.g. TEACH * GSTART, * RC_GRAPHIC HELP * RC_GRAPHIC - for some students, learning to use the control-panel and menu facilities in POP-11 E.g. HELP * POPUPTOOL, TEACH * VED_MENU, * MENU_DEMO.P - If you are interested in constraint propagation and `waltz filtering' try TEACH * WALTZ It isn't necessary for every student to address all these techniques. You may focus on a subset that interests you. (People who have not been doing the work specified during the course of the term now will have a lot of catching up to do.) -- Proposals ---------------------------------------------------------- -- -- Short proposal A first draft short proposal should be ready by the first deadline given below. everyone by 5pm Friday 17th November. It should be in a file called `proposal' in your sem2a3 directory (which must be readable by world). The proposal should take between 5 and 30 lines and should describe a domain within which you intend to work, and list the main AI programming techniques that you think will be relevant. You can choose one of the topics listed below. Collaborative projects are possible, as long as not more than three students are involved, and as long as all agree on who will take on which portions of the task. Please email me as soon as you have a draft ready. -- -- More complete proposal In the meantime, carry on developing a more complete proposal, which should both guide your development work, and provide a framework for your final report. The proposal should include 1. A brief description of the topic area and the main objective within that area. 2. A summary of the ontology of the domain 3. A hypothetical scenario describing an example of the desired behaviour of the program. 4. An outline design of the program: The main representations to be used The main strategy to be used by the program for producing the desired behaviour The top level control mechanism to be used. Description of main problems to be overcome A rough timetable for completion. A brief account of how the program will be tested, including some examples of test inputs for the program. A list of relevant books, articles, teach files. (For more suggestions see TEACH * PROPOSALS) Read TEACH * REPORTS for a summary of what is to go into the final report. This will help you decide on the contents of the proposal. The more complete proposal should be ready not later than Friday 8th December, but preferably earlier. Make sure it is in your subdirectory directory (sem2a3) and that it has the name proposal.long. When it is ready, send me a brief message by email giving the full pathname, e.g. ~xxx/sem2a3/proposal.long DO NOT EMAIL THE FULL PROPOSAL TO ME. -- Project Reports ---------------------------------------------------- The format of the report, to be submitted in January, should be based on TEACH * REPORTS. The main text of the report should not be longer than about 3000 words, excluding appendices with program listings, example trace runs etc. You may also find TEACH PSTYLE useful for more ambitious projects. -- -- Instructions for running your program. The report MUST include a section (or appendix) giving full instructions for someone who is not logged in as you to try out your program. (This means that you have to be careful about filenames if one program loads others. E.g. don't just use "~" to refer to your top level directory.) Those instructions must also be in a file called Readme.project, starting with an upper case "R". -- Formatted printing ------------------------------------------------- HELP RNO explains how you can do formatted printing from VED using the unix "nroff" package. If you know how to use a more sophisticated formatter that's fine. -- How the project will be assessed ----------------------------------- Some of the criteria to be used for marking projects are listed in TEACH * AI1PROJECT.CHECKLIST -- Possible project topics -------------------------------------------- If you look at TEACH POP11_PROJECT you will see some examples of possible project topics set for first year students. Some of them are fairly easy. You should not choose one of those. However some of those topics may give you ideas for more sophisticated possible projects. A more advanced set of possible topics will be listed in TEACH * AI2.PROJECT.TOPICS This will grow as new ideas turn up. -- Submission deadlines ------------------------------------------------ -- -- Proposals 1. The first short proposal must be ready by Friday 17th November. 2. The main proposal should be ready by Friday 8th December. -- -- Report 3. The final project report for SEM2A3 is due to be submitted by the end of term, i.e. 15th December. Because we expect printer and computer bottlenecks at that time, we have extended the deadline to 5pm on Thursday 21st December. The project report must be properly `packaged'. You will need to get a project cover sheet from the trays in the corridor on the lower ground floor. Make sure that the cover sheet includes the following information. Your name and registration number The name of the degree you are taking, e.g. AI and CS, Psychology & AI, Maths & AI. The course-code and name of this course: SEM2A3, Advanced AI Programming An approximate count of the number of words in the main report, excluding appendices. The report MUST be stapled or bound together so that it can be read by turning pages easily. It must not be made of lots of loose sheets tied together or slipped into a plastic envelope. It must not consist of fan-folded paper. If you use such paper, trim the sprocet holes off, separate and number the pages and staple or otherwise bind them together. It must not be hand written, though diagrams may be hand-drawn. NOTE: Project reports must NOT be sent by ordinary post, and excuses for lateness due to postal delays or losses in the post will not be accepted. You should deliver the report yourself by the deadline and post it into the box with the label SEM2A3 in the submission boxes next door to the Computer Science School office. --- $poplocal/local/teach/ai2.project --- The University of Birmingham 1995. --------------------------------