Hacker News new | past | comments | ask | show | jobs | submit login
Problem Solving with Algorithms and Data Structures using Python (2015) (interactivepython.org)
456 points by sonabinu on March 12, 2017 | hide | past | favorite | 35 comments



If you enjoyed this, I highly recommend also giving this a try: 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.


Thank you! This is amazing material!


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!


Not a question, more like a feature request. Really wish this had answers to the exercises to verify correctness of a student's solution.


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?


I also would suggest working through the entire book. It was written by Brad Miller (one of the founding members of NetPerceptions and professor of computer science at Luther College) and David Ranum (currently a researcher for IBM Watson), so they know what they're talking about and what is relevant.

P.S. If you're keen in solidifying your academic understanding of algorithms be sure to pay attention to the section on big-O notation.


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


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!).


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


This is awesome link which will guide everyone who is hunger


As a Luther student, this is awesome.


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

https://github.com/RunestoneInteractive


Thank you for releasing https://github.com/RunestoneInteractive/RunestoneServer under a permissive, MIT license.

Any reason to keep https://github.com/RunestoneInteractive/RunestoneComponents GPL?


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


Is RuneStoneInteractive (RSI) secretly implying that we should think twice about becoming too good at programming through their educational materials?


Very cool! I'll see if I can contribute in the future :)


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.


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.


It's more than a book.

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


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?


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.


Well yes you guessed it, you are supposed to learn data structures, but I agree that the domain name interactive python really does signal something different.


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

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.


Hey my class (CS61A) uses that!


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.


It's Skulpt[0] -- JavaScript implementation of Python.

[0]https://github.com/skulpt/skulpt


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


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


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


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



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



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


Is there a java version of this?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: