Professional Courses in Informatics at The University of Edinburgh
Artificial Intelligence Programming in Java
|Java is a modern computer programming language that provides system designers and implementors with easy access to current best practice in computer system development. Barely ten years after its first release, Java is in widespread use due mainly to its key features: first, a program written in Java which is developed on any one of the current major computing platforms (Microsoft Windows, Sun Solaris, Linux, etc.) can then be deployed immediately on all the major platforms; and, second, Java provides immediate support for the technologies of the World-Wide Web, making it the language of choice for implementing Web-based systems. Due to the richness of its standard libraries and the power of its storage manager, Java is also one of the few languages which appears well suited to tackling problems involving Artificial Intelligence techniques, such as resource or activity planning and scheduling. Use of the established AI languages, Lisp dating from 1960 and Prolog dating from 1970, is considered generally to be very expensive, requiring highly skilled and specialised practioners. This has greatly hindered their use outside academia, and has resulted in a consequent impact on organisations' ability to use AI techniques effectively. Java provides a relatively inexpensive, general purpose path to deploying AI-based solutions without requiring companies to invest in specialist tools, systems and staff.
Course OutlineThis course provides an introduction to Java and object-oriented programming. It covers the basics of the Java 2 Platform by taking as a case study the Java implementation of a tool designed to use Genetic Algorithms to solve timetabling problems, looking at its design and implementation, and opening up the source code to students.
Course ScheduleThis course runs over 5 days, either at AIAI or, exceptionally, at the offices of a host organisation.
Contact InformationKen Baird,
AIAI/Centre for Intelligent Systems and their Applications,
Division of Informatics, The University of Edinburgh,
80 South Bridge, Edinburgh EH1 1HN, UK
Tel: +44 131 650 2732; Fax: +44 131 650 6513; Email: K.J.Baird@ed.ac.uk
AudienceThe course is intended for analysts, engineers, programmers, managers and teachers who would like to become familiar with Java and its use in solving complex problems.
ObjectivesHaving completed the course, a student should be able to:
PrerequisitesThe course is intended for practising analysts, engineers, managers and teachers who are probably already familiar with a programming language such as C or Basic. No previous knowledge of either Java or object-oriented programming will be assumed. Although attendance on the related Genetic Algorithms and Genetic Programming course or other previous knowledge of these techniques would be informative for this course, this is not in any way essential. However, we do assume some familiarity with the basic concepts of computing, such as "variable", "identifier" and "array".
Related CoursesThis course may be combined usefully with a sister course on Genetic Algorithms and Genetic Programming which explains the principles behind the Genetic Algorithms and Genetic Programming techniques. The tool used as a case study by the Java course is used as an experimental test bed by the Genetic Algorithms and Genetic Programming course.
Page maintained by R.Rae@ed.ac.uk, Last updated: Thu Aug 1 11:41:15 2002