Python is an interpreted, object-oriented, high-level programming language. It has many features, which you can read about at https://www.python.org/, if you’re interested. Python is taught as an entry level programming language used in an MIT Open CourseWare class available online. It is called Introduction to Computer Science and Programming – 6.00SC. MIT offers material from 2340 courses and claims over 200 million site visitors.
The reason for taking this class has to do with my fascination with programming and interest in computer science. Although I have worked in the field of technology and have been involved with computers for over twenty years, I am not, by any stretch of the imagination a computer scientist. But, just because I am not a computer scientist doesn’t mean I can’t learn to think a little like a computer scientist. This is exactly what Introduction to Computer Science and Programming is designed to do.
You can do this entire course for free. One of the text books for this course is, Think Python: How to Think Like a Computer Scientist by Allen B. Downey, Professor of Computer Science at the Franklin W. Olin College of Engineering. He states in chapter one, “The goal of this book is to teach you to think like a computer scientist.” He further says, “The single most important skill for a computer scientist is problem solving. Problem solving means the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem-solving skills.” This page is dedicated to that venture.
Everything included below is free and/or open source.
Introduction to Computer Science
- MIT 6.00SC – Introduction to Computer Science and Programming. MIT’s Open CourseWare is for use by anyone.
- CS50 at Harvard – Possibly the most popular course at Harvard with highly entertaining lectures. You can audit the course and use Python IDLE (see below) for the code. You can also take this course on edX. Exceptionally amusing and interesting lectures.
- CS101 at Saylor Academy – Saylor is a 501(c)(3) nonprofit organization working since 2008 to offer free and open online courses to all who want to learn.
- Khan Academy Honorable mention to this reasonably extensive course that uses JavaScrip to teach algorithms.
- Think Python: How to Think Like a Computer Scientist – Free online book by by Allen B. Downey that is the main accompanying text to MIT 6.00SC.
- Learn Python the Hard Way. – This simple book is meant to get you started in programming. The title says it’s the hard way to learn to write code but it’s actually not.
- How to Think Like a Computer Scientist: Interactive Edition – A slightly different, more interactive version of the book on http://runestoneinteractive.org/library.html. The site has several other interactive, online programming books.
- A Byte of Python – by C H Swaroop. Free book, in several formats, on programming using the Python language that serves as a tutorial and guide for a beginner audience.
- https://www.python.org/downloads/ – Check the course you are taking for which version is recommended. MIT 6.00SC uses Python 2.5.4. Needless to say; Python.org has a plethora of useful Python resources.
- Skulpt – An entirely in-browser, client side implementation of Python. No preprocessing, plugins, or server-side support required, just write Python and reload.
- Trinket – Designed for teachers, Trinket allows you run and write code in any browser, on any device. Easily share or embed the code with your changes when you’re done. The Python Trinket is embedded below. You can write and run your own code or paste and run code examples.
- Turtle Graphics – The Python drawing canvas is called Turtle graphics. It is often used as a way to introduce programming to kids, but adults love it too.
- A Simple Tutorial for Python Turtle – Hosted on the developer’s code sharing site, GitHub this little tutorial by Al Sweigart has some simple programs to play with.