Coding a Neural Network: A Beginner's Guide (part 1)