#Learning To Code How to Learn the Fundamentals of Software Engineering – in a More Interesting and Less Painful Way