This course will expose students to the theory and concepts of knowledge-based systems. The course is organized to focus on knowledge-based system architecture and how to develop a knowledge-based system, using tools e.g CLIPS and JESS. The student will gain experience in building knowledge-based systems application. Further discussion will focus on knowledge acquisition and knowledge representation. This course also discusses case-based reasoning and inexact reasoning. Later, this course will look at how to apply natural language interface for a knowledge-based system and discuss on hybrid systems application.