
How to Think Like a Computer Scientist: Interactive Edition - ics
http://interactivepython.org/runestone/static/thinkcspy/index.html
======
primitivesuave
This online book is what inspired me to develop Pythonroom (pythonroom.com) -
I wanted shorter curriculum that my younger students could more easily digest,
and a cleaner interface for running code with the in-browser implementation of
Python. In case someone is interested, our introductory book is freely
available at
[https://pythonroom.com/book/learn](https://pythonroom.com/book/learn).

------
aclimatt
This was my first book on learning how to program (the original edition) and I
couldn't recommend a better resource for beginners. I tried for a long time to
learn how actual programming worked instead of just wiring together HTML
(before CSS was even a thing) and this really helped.

It taught me how /programming/ worked as told through Python, instead of how
Python worked. Even for new engineers looking to learn JavaScript or something
else first, I highly recommend starting here, because with this as your
foundation, you're set.

------
z4chj
I have found this resource to be extremely useful in going over data
structures and algorithms to prepare for interviews. Although the author
doesn't always conform to the standard implementations of certain data
structures and often is overly verbose in his code, it is a pretty robust
treatment of the basics

------
aq3cn
Is there a way to get this website for offline use?

I know it makes use of cloud computing to compile entered codes.

~~~
_ZeD_
umm, if you are offline isn't better to just run a vanilla python interpreter?

~~~
swsieber
It's more than just an interpreter accessible online, it's a curriculum.

------
zoom6628
Brilliant! This will be a huge help to aspiring programmers. The PDF link i
used to send to people and now i can point them to this. Oh and i might spend
a few hours doing some of it myself - old dog learning new tricks.

------
TulliusCicero
The click target for the arrows to go forward/back is much too small. Need to
add some padding so they're a good size. They could probably be positioned
better too, maybe centered vertically with the top frame with the written
content.

------
miobrien
Nice! This looks really cool. Anyone familiar with the other titles on the
site?

[http://runestoneinteractive.org/library.html](http://runestoneinteractive.org/library.html)

~~~
cycomachead
Yeah, they're mostly made by CS educators, but the content is generally well
put together. :)

------
draker
The "Codelens" feature for step-by-step program execution only works for the
pre-programmed examples. If you want the same visualization for your own
programs you can use pythontutor.com

------
mden
This is incredibly cool! I wonder how useful it really is for people not
familiar with the subject already. Anyone new to Python care to chime in?

~~~
tsumnia
I used to this site for the Intro to CS course I taught. Coupled with slides
and assignments, my students were perfectly capable of handling most of the
work I threw at them. I'm actually looking at how its user interface is laid
out to see if we can help build better course UIs (since they can be
atrocious).

------
infocollector
How is the python code running in the browser, does anyone know? Which version
of Python?

~~~
cycomachead
There is a mix of stuff, but the two interesting components are
OnlinePythonTutor[1], called "CodeLens" and Skulpt[2].

OPT actually sends data to a server and has a program inspecting a debugger
which sends data back.

The other exercises rely on Skulpt, which is a JS-based reimplementation of
Python.

1\.
[https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3...](https://github.com/pgbovine/OnlinePythonTutor/blob/master/v3/docs/developer-
overview.md) 2\. [http://www.skulpt.org](http://www.skulpt.org)

