Introduction to Computer Science and Programming

3/27/2017

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. I became intent on learning Python as a part of an MIT Open CourseWare class I am taking. It is Introduction to Computer Science and Programming - 6.00SC. MIT offers material from 2340 courses and claims over 200 million site visitors.

Python.org logo

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.
  • Stanford CS101 - The active course run for CS101 has ended, but the course is now available in a self paced mode and it is free. This one uses a scaled down version of JavaScript.
  • 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.

Online Textbooks

Get Python

Browser Python

  • 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.

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.

The Python trinket

Here is the embedded Python trinket from trinket.io. The site also has trinkets for HTML, Music, and one called Blocks that is similar to Scratch from MIT and Snap from UC Berkeley. Plenty of great teaching and learning tools, challenges and code on the site too!

Hint: Click the Menu icon and go Fullscreen. Click the run button to watch the preloaded code run. Choose the ? icon to see some other available code samples. You can modify the pre-written code or write some of your own. But be careful - highly addictive!

 My testing shows this trinket does not scale down well to a cell phone.



Categories

Technology  

The saddest aspect of life right now is that science gathers knowledge faster than society gathers wisdom.
~Isaac Asimov

Learn more »


Education  

Education must not simply teach work; it must teach Life.
~W. E. B. Du Bois

Learn more »


On the Web  

The Internet is the trailer park for the soul.
~Marilyn Manson

Learn more »


Christianity  

I gave in, and admitted that God was God.
~C. S. Lewis

Learn more »


Books  

So many books, so little time.
~Frank Zappa

Learn more »


Music  

Ah, Bach! I'm partial to the fugue.
~Walter Radar O'Reilly

Learn more »


Sports  

You can observe a lot by watching.
~Yogi Berra

Learn more »


Projects  

The best-laid schemes o' mice an' men Gang aft agley, An' lea'e us nought but grief an' pain, For promis'd joy!
~Robert Burns

Learn more »