I've taught programming, both design and implementation, for almost 20 years now, in a variety of languages. At the moment I work mainly in Python, using it to implement Object Oriented designs in UML. I've collected a number of useful files and links over the years and have placed some of them on the site. Hopefully they will be of use to somebody! I'll be adding to this page as time goes on, including some Systems Architecture and CISCO networking stuff.
Start by going to the Packt Publishing page, and make yourself an account (this is free). You'll be able to download a free e-book every day. in the past they've had Python, C++, Java and R books as well as DevOps, Linux and Windows Powershell. The print versions of these books are often very expensive so it is worth putting in a wee bit of effort and waiting until the one you want comes round.
For free courses, I've done quite a few now with Futurelearn, including OOP with Python, Computer-generated Art using Processing, and lots and lots of forensics and cyber security stuff. Most of the courses are free, and you only have to pay if you want unlimited access and a certificate at the end. Certificates are nicely printed out, and can also be viewed electronically.
You'll also get lots of free tutorials at Tutorials Point, which I actually use for teaching low-level assembler. You can type up your own source code and enter it into their online compiler window, which will run it for you without your having to download or install anything. I like this because it deals with older languages as well as current ones - you may still come across a bit of Pascal or COBOL when dealing with legacy systems. This site will quickly get you up to speed. It also hosts excellent UML materials which you will find useful if you are working in any kind of Object Oriented environment.