The purpose of this course is to understand the basic theory and application of artificial neural network (ANN), ANN history, principles, types and structures of networks, learning methods for various networks (supervised and non-unsupervised learning), and optimal control method. In addition, it also contains examples of how to apply a neural network to solve various engineering problems. The course will also explain how to use the Matlab software toolbox to implement a neural network. Meanwhile, students can learn about the development of neural network through the study and discussion of journal paper. Finally, students will eventually be able to learn the theoretical foundation to prepare for learning artificial intelligence systems such as deep learning in the future.