TEACH OLDPROJECTS A.Sloman Feb 1984 OLD STUDENT PROJECT TOPICS ========================== This is an incomplete list of AI project topics chosen by students in the past. 1. Solving anagrams using a list of known words and a cross-word puzzle clue. 2. Many game-playing programs: Nim, mastermind, bidding in bridge, cribbage, parts of chess, noughts and crosses, etc. 3. Winograd-like blocks, world programs. Extensions of teach blocks and teach riverchat, with or without a grammar-driven parser. 4. Finding a route. Program is given a database of geographical information and selects a route from one place to another, subject to criteria e.g. best scenery, shortest route, only main roads, lots of pubs on the way etc. 5. A program to play hangman - trying to guess a word, by guessing which letters it contains. Intelligent selection of letters to try, using list of known words plus feed back from guesses so far. 6. Disambiguating ambiguous sentences using context. A variety of different databases can be set up representing different contexts. The analysis of ambiguous sentences typed in could be guided by reference to the database. 7. Replications of Colby's Parry and other 'classic' programs decribed in the literature. Student programs are necessarily much reduced in scope! 8. Variants of Evans analogy program (A is to B as C is to what?) using either pictures or a database to represent A, B, C and the alternatives. The program may either create its own answer or select the best one from a list of options. 9. Various "expert system" programs. E.g. take a motor-bike repair manual and turn the fault-diagnosis section into an expert system. A simple version of this could be an extension of TEACH DISCRIM. 1O. Various programs to teach children something: arithmetic, spelling, geometry, etc. 11. A program to solve jig-saw puzzles. The pieces have rectangular shapes and coloured edges, or some other simple patterns which constrain how they should fit together. 12. Implementing a subset of some other language in POP-11 - e.g. LISP, LOGO, PROLOG, STRIPS. 13. A program to understand English commands to draw turtle pictures. E.g. "Draw a big square above a triangle containing a small square". 14. A program to play Battleships. 15. Various translation programs - English to some other language or vice versa, for some restricted subset of the language. 16. A program to analyse a piece of music - e.g. working out where the bar lines should go, or finding the key signature. 17. A program to analyse the structure of a short myth or fairy tale - fitting stories to known scripts or schemas. 18. Dealing with family trees and answering questions about kin relationships. Proving theorems about kin relationships, e.g. The son of the grandmother of X is either the father or the uncle of X. 19. Various kinds of trial and error learning in game playing. E.g. a program which gets better at playing Nim, or noughts and crosses, by analysing games where it loses. 20. A program which finds the best way to fill a gap in a sentence e.g. "The old man liked drinking at the local X" given (a) previous information (b) a list of words to replace X e.g. [house, cat, pub, church]. 21. A program which draws pictures then answers questions about the picture e.g. how many lines are there? Why did you draw lines? How did you draw squares? Is line 2 inside square 2, etc. 22. A program to generate stories. There are many variants on this, and varying degrees of sophistication, depending on how good a grasp the program itself has of the plot, the goals of the characters, etc. 23. A program to solve crosswords - choosing words from a known list, subject to consistency with the crossword layout and the clues. 24. A program to simulate emotional/social interactions e.g. finding excuses when caught out. 25. A program to teach something by presenting exercises, analysing the student's answer, making criticisms and suggestions for improvement. 26. A program to find bugs in single POP-11 programs and suggest improvements. 27. Choose some task children can perform, observe how they do it, and write a program to do something similar. 28. Simulate a "conversational" vending machine, e.g. a drinks vending machine. **** This list will be extended from time to time **** See also TEACH * POP11_PROJECT --- $poplocal/local/teach/oldprojects --- Copyright University of Sussex 1988. All rights reserved. ----------