The neural networks course examines models of computation that learn tasks from examples of desired input and output behavior for various applications. Topics include basic concepts behind neural network models, biological neuron model, neural network architectures, feed-forward, feed-back, Hopefield models, adaptation and learning in neural networks including perceptron, iterative learning, multilayer network with hidden layers, back-propagation, convergence and speeding up algorithms, supervised Hebbian learning, Widrow-Hoff learning, associative learning, competitive learning, self-organizing neural networks, neural network training and testing techniques including setting of training parameters, preparing training data, training the network, and testing of the network, neural network applications to speech, robotics, face and pattern recognition, implementation process using electronics and optical.