Expert system and symbolic machine learning are a special form of artificial intelligence that uses deductive methods to simulate the decision making process of humans. They are designed to solve problems which are too difficult to solve using traditional computer programs or methods. An expert system is a computer program that contains a modifiable knowledge base (rules and facts), an interface to users, and an inference engine which makes logic-base decisions. An expert system applies rules to the facts to draw conclusions or make decisions. During this process, machine learning program may deduce more facts, called asserted values, because the machine learning system asserts them rather than getting them from outside world. The trained program is able to deduce the answer and explain its reasoning by forward chaining or backward chaining. Forward chaining looks at the facts, applies the rules, produces more facts, applies more rules, etc. until final decision is made. Backward chaining starts with a conclusion and test the rules which could have caused that conclusion to be reached, finds the facts that caused those rules to be applied, asserts a new *conclusion*, find the rules and facts which produced it, etc. until the symbolic machine learning is able to explain (in terms of applied rules and facts) why the final conclusion was reached. Clearly, rules are the basic form of knowledge used in an expert system. One of the main problems in applying expert systems is so called knowledge acquisition bottleneck. This problem is summarized by the following question: where do the rules come from? In classical knowledge acquistion, rules were acquired from the experts using specialized acquistion techniques. These techniques are often time-consuming, expensive, and unreliable. Symbolic machine learning addresses the knowledge acquisition bottleneck through the development of programs that learn rules from examples. Machine learning tackles a number of tasks, of which classification is the main one. In a classification task, the learning system is given a training set, consisting of examples. Each example in the training set is labelled with the class to which it belongs. The learning program induces, from this training set, general rules for assigning class membership to examples that have not been seen during training. Rules obtained by a machine learning system can ten be used in a classifier-type expert system that tackles a classification task. An expert system shell or development system is a tool designed to help build an expert system. Using a shell often requires learning a kind of high level programming language. The developer of an expert system can be almost anyone; a programmer, a knowledgable engineer, someone with very little computer experience, or even the expert whose knowledge will be made available and put into the expert system. The end user may be also almost anyone: an operator, an executive, a professional or developer himself. A good expert expert system shell will accommodate all kinds of people who develop and use the system. Machine learning systems are even simpler to use. They do not require any programming, and no knowledge of programming or programming language is assumed. The user has to provide labelled examples, and the machine learning system will induce the classification rules. In the recent years, user-friendly systems for PC have become available.