Back in late last year I set out to learn Python, the open source programming language. I was greatly inspired by my very good friend about the power of the language so I took the plunge. As I sojourn in my quest to master the Python language, the following 5 resources have helped a great deal in introducing me to the science of computer programming/engineering.
This Google site has a number of tutorials freely available for beginners. Languages covered include Python, Java, C++ among others. It also features video tutorials and a discussion forum.
The Massachusetts Institute of Technology’s open courseware has extensive lectures on the subject of computer science and programming in a wide array of formats: audio, video, pdf etc.
Professor David J. Malan of Harvard University really does a great job with the CS50 program. “More than just teach you how to program, this course teaches you how to think more methodically and how to solve problems more effectively. As such, its lessons are applicable well beyond the boundaries of computer science itself.” Very much worth your time.
This book, authored by Allen B. Downey is an easy to understand introduction to software design using the Python language is a reference framework. It is available for free download in PDF or purchase in hardcopy from Amazon.
The Stanford University Engineering Department has an introduction to computer science program designed to introduce readers to “the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. “
So there you have them all. These are the five resources that are helping me a great deal in navigating the complex world of computer programming/engineering on my own. If you are a beginner, then you definitely need to give these courses a try.