Modern Programming Techniques: A Beginner’s Guide