Michael D Stiber
Theory and application of expert systems: computer systems that capture and use human expertise. Applications include computer configuration, fault diagnosis, computer-aided instruction, data interpretation, planning and prediction, and process control. Prerequisite: CSS 343; may not be repeated.
CSS 482 will introduce you to a completely different way of programming, in which you specify rules of behavior, rather than algorithms. This is an especially powerful approach for problems that change often or where solutions involve application of human knowledge, rather than intricate calculations. Since their commercial introduction in the early 1980s, expert systems have undergone tremendous growth, representing the most successful application of artificial intelligence technology. Today, they are used in business, science, engineering, manufacturing, etc. Example applications include: computer configuration, fault diagnosis, computer-aided instruction, data interpretation, planning and prediction, and process control.
This course will have an additional focus on building expert systems applications as part of larger systems, including web-based and enterprise systems. Besides rule-based programming, expert systems operation, and knowledge engineering, topics will include aspects of Java that are useful for developing these systems, such as JavaBeans, serialization, applets, servlets, J2EE, JavaServer Pages, Tomcat, web services, and XML.
Student learning goals
General method of instruction
CSS 343. No prior Java experience is required, just a desire to learn about it. We will mostly be modifying example Java code; the bulk of the programming will be in JESS.
Class assignments and grading
Homeworks are small programming assignments or written problem solving.
One examination, towards the end of the quarter.
A substantial group or individual project.