Chad -- I've been looking for Python training materials online for some time, and have not found anything very good. The (very large) LinkedIn Python group has repeatedly discussed online resources, and also come away unsatisfied, to the point where a whole bunch of folks offered to help write a good tutorial and reference. Unfortunately, that died out when the person who initiated the project went silent... The verdict of the LinkedIn Python folks was that the various online books each have some quirk that renders them not truly Pythonic, or include ways of doing things that folks considered incorrect. I or my students have sampled the online Python courses, and found them boring or buggy or incomplete or intended to teach generic programming, not Python. For instance, normally, I like Udacity a lot, but the Udacity cs100 course spends *five segments* on string quoting and syntax. IMO that should take five *seconds* -- one sentence, and done. One of my young students tried out the CodeAcademy Python course, and said the interactive tutorial UI didn't work correctly. He showed me what they were having him do, and it too looked boring. So we dropped that and instead I had him write a "guess the randomly-selected number within a range" game -- let him pick the features and how it should interact with the player. With no CS training (other than 8 weeks of Scratch programming we'd just finished), when I asked, how should the player choose their guesses to get to the right number in the fewest guesses, he spontaneously came up with binary search!
I would like to recommend Nick Parlante's video tutorials, but it looks like the version that's been released publicly is the one for relatively inexperienced programmers, so it might be too elementary: https://developers.google.com/edu/python/ There was a shorter version aimed at C++/Java devs that was trialed inside Google, but one could just go through the above material more quickly. It doesn't intend to teach more than the basics though -- people were expected to pick up whatever else they needed on their own. * Introduction to Python (for experienced developers) > * Reading and writing technical data (HDF, NetCDF, MATLAB) > * NumPy > * SciPy with focus on signal processing > You may also want Pandas: http://pandas.pydata.org/ The author of Pandas has a well-regarded book: http://shop.oreilly.com/product/0636920023784.do which is available online via Seattle Public Library, IIRC. Since I'm only just starting to do data analysis with Python, I'm not an appropriate instructor candidate -- I'd only be learning just ahead of the students... * Interfacing with C and Fortran > * Data visualizations (matplotlib and beyond) > -- Pat
