- Teaching Materials
Go to Teaching Materials
This 10-credit elective was taught five times between 2000 and 2005 to final-year undergraduates on the main B.Sc. computing degrees in UCC's Computer Science Department.
The workload is 6 hours per week for the whole year, and is divided roughly as follows:
- Lectures: 2 lectures per week, each lasting 1 hour.
- Private study: At least 4 hours of private study per week.
There are no formal prerequisites. However, students will be expected to have a knowledge of the following:
- Essential: sets; graphs; propositional logic
- Very helpful: functions; relations; algorithm complexity; predicate logic; Java programming
- Mildly useful: probability; calculus
- Written exam: A three-hour paper in the Summer term.
- Year's work: There will be exercises to be tackled, and these will be essential if students are to master the skills needed for the written exam. However, they will not count towards the overall mark.
The course will introduce students to the design and construction of intelligent software agents.
The approach will be to start with the simplest reactive agents, and show how to add ever more functionality.
The topics to be covered will include: production systems; genetic algorithms; fuzzy logic; neural nets; artificial life; AI search (graph search and local search); case-based reasoning; logics for knowledge representation & reasoning; AI planning; knowledge engineering; automated proof; rule-based and case-based expert systems; rule induction; multi-agent systems; and natural language processing.
Some of the ideas will be exemplified by programs written in Java.
- Students should obtain a broad overview of modern AI (including a sense of its successes & failures; a sense of what is easy to do & difficult to do; a sense of its theory & its applications; and a sense of where it is heading).
- They should obtain an in-depth knowledge of core AI techniques, sufficient to enable them to implement their own simple AI systems and sufficient to enable them to critically judge systems they come across that purport to use AI techniques.