
Problem Solving with Algorithms and Data Structures using Python (2015) - sonabinu
http://interactivepython.org/runestone/static/pythonds/index.html
======
gspetr
If you enjoyed this, I _highly_ recommend also giving this a try:
[https://github.com/donnemartin/interactive-coding-
challenges](https://github.com/donnemartin/interactive-coding-challenges)

It's in the same spirit, has some things covered in even more detail and it
even has tests you can run on your solutions to verify correctness and
instantly receive feedback.

~~~
WinstonCompany
Thank you! This is amazing material!

------
riknos314
I'm one of the students of Brad Miller, creator of this platform, and worked
on developing it for a summer. Feel free to ask questions!

~~~
maxpupmax
Hey, this is a wonderful concept. I am a self-taught web dev who works mostly
in Python, and I've just begun to learn algorithms & data structures.

What chapters to you think I, or someone like me, would get the biggest kick
out of?

~~~
reachtarunhere
It is rather short and I would suggest going through all of it. It won't take
long. Plus don't forget the exercises.

~~~
maxpupmax
I will, thank you.

I asked more to hear the author's opinion about which of the concepts are most
directly applicable/related to web development so I can start with those (feel
free to answer if you know!).

~~~
xapata
Depends what you mean by web development. If you describe the tasks you work
on, I can make some suggestions.

Otherwise, the only reasonable answer is
[http://norvig.com/21-days.html](http://norvig.com/21-days.html)

~~~
_navaneethan
This is awesome link which will guide everyone who is hunger

------
riknos314
Also, Interactive python is open source! If you like it, help make it better!

[https://github.com/RunestoneInteractive](https://github.com/RunestoneInteractive)

~~~
git-pull
Thank you for releasing
[https://github.com/RunestoneInteractive/RunestoneServer](https://github.com/RunestoneInteractive/RunestoneServer)
under a permissive, MIT license.

Any reason to keep
[https://github.com/RunestoneInteractive/RunestoneComponents](https://github.com/RunestoneInteractive/RunestoneComponents)
GPL?

~~~
riknos314
I'm not sure. You could ask Brad Miller (@bnmnetp on twitter) to find out.
Runestone is his creation.

------
mattfrommars
I'm about to complete Introduction to Computer Science with Python on Edx
{about to begins it's Algorithm lecture week}, should I begin reading this
book after it or should I dive into other things?

Does the book constitute of "Data Structures I & II" and "Algorithms I & II"?

I have degree in non computer science field and want to become a software
developer.

~~~
xapata
Those class titles are somewhat arbitrary and mean different things to
different people. After you finish the Edx class you can skim the table of
contents here and decide what to read.

That said, reading the same topic from different authors is still valuable.

------
git-pull
It's more than a book.

If you click into a section, you can run the python code and get the output.

------
throwaway_374
I really appreciated this resource for learning Python for interviewing.

My only criticism is in some cases particularly with the more advanced
structures (graphs, trees) it approaches the matter as a literal translation
of "data structures with python", as opposed to "pythonic data structures". A
lazy example is probably Linked Lists which don't really serve any purpose in
Python. Presumably that was the intention?

~~~
riknos314
This book is used as the second course in the CS program at Luther College. At
this point in the program python is the only language that students are
assumed to be familiar with. The point of this book is to gain an
understanding of how these data structures behave rather than implementing
them in perfect python, so your critique is absolutely warranted. I'll suggest
a "Pythonic data structures" version of the book to Brad for those looking to
learn good python conventions.

------
bogomipz
I would like to add that the visual component of interactivepython.org seems
to be:

[http://www.pythontutor.com/](http://www.pythontutor.com/)

Which is great as a visual learning aid especially for things like recursion
as it allows you to step through your code a stack frame at a time.

~~~
QML
Hey my class (CS61A) uses that!

------
Avaclon
Anyone know what version of Python is this in? It's hard to tell since it's
not mentioned in the book. Try doing import sys on the example frames doesn't
work either. Trying to see if it aligns with the version some of us use at
work.

~~~
joeclef
I believe it is Python 2.7. But I could be wrong.

~~~
danso
Even if it is, it follows conventions compatible with 3.x, e.g. using
parentheses with print statements.

Also, in the "Review of Basic Python" chapter, it explicitly links to the
official Python 3 docs:
[http://interactivepython.org/runestone/static/pythonds/Intro...](http://interactivepython.org/runestone/static/pythonds/Introduction/ReviewofBasicPython.html)

------
knob_07
We used this for an introductory programming course in university. Very
informative.

------
sothym
I'm currently studying python so this is going to come in handy, awesome.

------
JMBarrett
I prefer [http://rosettacode.org/](http://rosettacode.org/)

------
sunilkumarc
Github version of this would be awesome! To fork this and keep. Is it
available?

~~~
riknos314
[https://github.com/RunestoneInteractive](https://github.com/RunestoneInteractive)

------
TheHeadMaster
I have used this. To prepare for my interviews and it definitely helped.
Kudos.

------
nurettin
Is there a java version of this?

