Learning is a process by which a system gains knowledge from the outside world. A learning machine is a computer system that has the ability to ape the intelligence of problem solving in humans. A project, A Learning Program (ALPS), has been initiated by Dr. Kam-Hoi Cheng to develop a program capable of learning quantitative knowledge, and applying them to solve problems. It consists of a sequence of programs, each learning a small number of additional kinds of knowledge than the previous program. The ALPS project is based on a very simple "building block" idea. Basically, to learn a new concept, all knowledge that this new concept depends on must be understood first. In this thesis, we have developed a learning subsystem that learns new zero-dimensional data types such as fractions and complex numbers, their representations, their relationships with other existing data types and the rules for converting a data of one type to a data of another type. The learning subsystem, designed using the object-oriented paradigm, is implemented in the C++ programming language.