1. AN INTELLIGENT WEB AGENT TO ASSIST IN FINDING ACADEMIC PAPERS
This project seeks to develop a computer agent to assist users in finding academic papers that are stored on the web. Although existing search engines such as AltaVista attempt this task to some degree, it is done with no intelligence. The project will use techniques of Artificial Intelligence to develop a LISP program to do the task. Various modules to perform parts of the task are available to the student to use since LISP supports highly reusable code. Further details are available upon request by contacting Edmund Furse at efurse@glam.ac.uk.
2. AN INTELLIGENT TUTORING SYSTEM TO TEACH JAVA OVER THE WEB
This project seeks to develop an intelligent tutoring system to teach programming in Java using the web as the vehicle of communication. No attempt will be made to teach the full Java language. The tutoring system will be intelligent in that it will be able to mark user's solutions to problems and give feedback, and use a model of the student's performance/understanding to control their navigation through the teaching material. The system can be developed in (Java or LISP) and HTML.
3. AN INTELLIGENT TUTORING SYSTEM (ITS) TO TEACH MATHS USING MU
This project seeks to develop an intelligent tutoring system to teach a branch of mathematics using the Mathematics Understander (MU) system to automatically check students' solutions in real time. Likely suitable branches of mathematics would be calculus, trigonometry or algebra. The tutoring system will be intelligent in two senses. First it will have a model of the student's performance and understanding of mathematics. Second it will to some degree actually understand the subject it is teaching by use of the MU system. This will enable the ITS to check solutions to problems dynamically and give sensible feedback to students. The project will be developed in LISP. Further details are available upon request by contacting Edmund Furse at efurse@glam.ac.uk.
4. AI AND MUSIC
This project will work on the interaction between Artificial Intelligence and Music. Of particular interest is the modelling of how people perform sight reading of music. Thus the project would involve the development of a program which could to some degree perform the task of sight reading of music, and make suitable mistakes dependant upon its level of knowledge. A knowledge of music is essential for this project. In particular students should be able to read music. The program will be developed in LISP.
5. JAVA AND LISP COMPARISONS
This project does not involve the development of one large program, but of many small programs. The project will produce a detailed comparison of the programming languages JAVA and LISP by means of preparing programming solutions to a large number of suitable small scale problems. The project will compare object-oriented programming in JAVA and CLOS (Common Lisp Object System), and functional programming in LISP vs. object-oriented programming in either LISP or JAVA. Finally the project will compare web capabilities in both LISP and JAVA.
6. PROGRAM SYNTHESIS FROM INPUT-OUTPUT EXAMPLES
This project seeks to automate the programming process by development of a system capable of synthesising programs just from examples of input and output. This is a hard task in general, and in some sense even impossible! However, if restrictions are made upon the nature of the input-output examples it becomes a tractable and interesting project. The restriction will be that the problems will always require a recursive program solution, and the user will provide examples which are recursively related. For example, the system might be asked to synthesise a REVERSE function given the following input-output information:
(reverse '(a b c d)) returns (d c b a)
(reverse '(b c d)) returns (d c b)
Note that the two examples are recursively related, because:
(cdr '(a b c d)) = (b c d)
Needless to say the project will be done in LISP using functional programming.
For further details please contact efurse@glam.ac.uk