Hi, As promised, I'll report on teaching some "advanced numpy" material, which was a first for me. The workshop organizer said the participants would be grad students experienced with Matlab but new to Python.
I tried rushing through the basics of Python, which still took about 1h15: I condensed an older version of http://swcarpentry.github.io/python-novice-inflammation/03-lists.html to introduce lists and be able to touch on indexing, writing for loops, defining functions (showing the syntax along the way, plus showing strings, which can also be sequenced but are immutable). I got the feeling (while in the classroom) that this crash intro to Python worked for more than half of the audience but definitely not for all (some were actually novice programmers, despite what the host had to say). We would go through the challenges relatively fast. Then, for the other ~1h45 (iirc), I covered 1., 2., 3. from http://paris-swc.github.io/advanced-numpy-lesson/ I feel I didn't go fast at all, I could feel it was my first time doing this material. I skipped the first "View or copy" challenge from http://paris-swc.github.io/advanced-numpy-lesson/02-indexing.html because nothing would happen... (? numpy==1.11.0) and focused on the second "View or copy?" challenge, to highlight that applying a boolean mask amounts to fancy (advanced) indexing, in the sense that a copy is created. Co-instructor was Tom Wright, who followed with a parallel computing lesson inspired by http://swcarpentry.github.io/python-intermediate-mosquitoes/04-multiprocessing.html. According to the feedback the organizers gave us, the material was very well received and proved useful (students were participating in a hackathon meanwhile). At this point, I'm not sure and I didn't follow closely, since the overall context for this workshop was far from ideal (as I reported during the June 14th 8pm EST debrief session). One last thing, I confess that I asked students to work in a virtualenv, which obviously added to the cognitive load and the usual setup issues (I emailed instructions in advance, of course). Luckily, Tricia Campbell was there to help. I motivated the good practice and tried exposing these proprietary-leaning research people to some open source and industry-style approaches of software development. It was painful sometimes, but we're on the right track (after all, they're switching from Matlab to Python). Best, Marianne On Mon, May 23, 2016 at 11:21 PM, Marianne Corvellec <[email protected]> wrote: > Hi Marcel, > > Thanks for sharing. > > We've been asked to cover some intermediate and advanced Python at an > upcoming workshop (http://mkcor.github.io/2016-06-01-mcgill/), so I'll > definitely draw from the materials that you and Bartosz are pointing > to. I knew of the stuff Juan, Gaël, and others had put together, but > it's super helpful and convenient to have an *up-to-date* {list, > reference, aggregation} the way you are sharing it. I'll give you > folks some feedback afterwards. > > Thanks again, > Marianne > > On Mon, May 23, 2016 at 11:46 AM, Marcel Stimberg > <[email protected]> wrote: >> Dear all, >> >> following up on Bartosz's recent email about his "advanced numpy" >> material[1], here is some additional material from the same "SWC-inspired" >> advanced Python workshop[2]: I had the pleasure to present a lesson on >> "testing, debugging, profiling"[3], rendered here to HTML with the standard >> SWC template[4]. >> >> As for Bartosz, the workshop was the first and so far only time that I >> presented this content. In about 2h45 I covered most of it, but was running >> out of time in the end so that the participants unfortunately did not have >> the time to do the exercises for the profiling part. The general feedback >> for the lesson was positive and the content considered useful -- comments, >> pull requests, etc. are more than welcome! >> >> The first part on testing is heavily based on Katy Huff's "python-testing" >> lesson[5] (using pytest instead of nose and numpy arrays instead of lists), >> although considerably shorter and therefore not covering as many >> testing-related topics. The sections on debugging and profiling drew >> inspiration from the corresponding sections in the scipy lecture notes[6], >> written by Gaël Varoquaux. >> >> Best, >> Marcel >> >> >> [1] >> http://lists.software-carpentry.org/pipermail/discuss/2016-May/004441.html >> [2] http://telecom-python.telenczuk.pl/ >> [3] https://github.com/paris-swc/python-testing-debugging-profiling >> [4] http://paris-swc.github.io/python-testing-debugging-profiling/ >> [5] http://katyhuff.github.io/python-testing/ >> [6] http://www.scipy-lectures.org >> >> _______________________________________________ >> Discuss mailing list >> [email protected] >> http://lists.software-carpentry.org/listinfo/discuss _______________________________________________ Discuss mailing list [email protected] http://lists.software-carpentry.org/listinfo/discuss
