5 ms·
Exploratory computing with Python
- danso 11y agoI love the title and spirit of this book and completely agree with this sentiment: > Lots of books are written on scientific computing, but very few deal with the much more common exploratory computing (a term coined by Fernando Perez), which represents daily tasks of many scientists and engineers that try to solve problems but are not computer scientists. This set of Notebooks is written for scientists and engineers who want to use Python programming for exploratory computing, scripting, data analysis, and visualization. Python makes many of these programming tasks quick and easy and, probably most importantly, fun. It's been awhile since I've worked as an applications developer, but I love spending 30min a day just trying things out, even if the code is trivial. The other day I mirrored NASA's astronauts page and started writing some code to parse its "yearbook" of astronauts because I thought it'd be interesting to analyze their professional paths, e.g. civilian vs. military, engineering degree versus...well, actually almost all of them have some kind of engineering degree. Today I spent most of the early morning and noon writing R scripts to visualize the USGS earthquake data...I initially wanted to look at the surge of recent earthquakes in Oklahoma (the causes of which have more or less been isolated to increased fracking activity), but spent a lot of time looking at other anomalies...mostly, other spikes of earthquake activity that I had forgotten about. Admittedly, about 80% of my time has been struggling with R, but even that has led to some nice side roads...I finally opened up Hadley Wickham's book ggplot2, which I had avoided in favor of "cookbook" type references...but reading his book has been a joy...learning about the theory and "grammar" of visualization has helped me a lot in terms of how to think in general as a programmer...nevermind learning how to use ggplot2 effectively. I think the fundamentals of computer science are absolutely necessary to teach...I just wonder why so many of the exercises have to be about moving a pixelated robot around or rewriting hypothetical tic-tac-toe scenarios when there's so many accessible, real-world things to explore computationally. Edit: though as a criticism, unless the book is meant to have an epic sweep of content...I don't think it needs to cover object-oriented programming. Don't get me wrong, OOP is a great mindset in the right software engineering situation...but nothing kills the momentum of exploring with code than, "Time to design some classes and interfaces!" I have folders of dead code written in efforts to model legislative activity as OOP hierarchy...maybe it helped increase the sophistication in which I approach data problems...but these days, I get so much more done writing functional...or at least working code, and putting off design considerations until much later in a project.
- deleted 11y ago[deleted]