An overview of common neural networks, especially deep learning. Practical computer programming exercises, mainly in Python, provide training in how to implement neural networks to solve real-world problems. Students will be able to implement practical neural network solutions and evaluate their suitability as models of the brain and cognition.