Fundamentals of Artificial Neural Networks