This text provides basic concepts, algorithms and analysis of important neural network models, with emphasis on importance of knowledge in intelligent systems design. It bridges the gap between artificial intelligence and neural networks. The work offers a unified perspective for integrating intelligence technologies and stresses the importance of combining symbolic intelligence techniques and neural networks in intelligence system design. The text is written from the algorithmic viewpoint so that students can learn how to design and program each neural network model simply by following instructions. Problems are also included to enhance student understanding of both theory and application.