Pages

Thursday 14 January 2016

Intermediate level Python workshop - part 3

Coming up with workshops is damned hard. I would say that I'm a fairly experienced presenter, but I actually feel rather pressured by the idea of having to present a completely new workshop tomorrow. I feel like I'm going to be underprepared and I'm going to screw something up in a way I'm going to regret.

I'm going to make a list of all the ideas websites I encounter and that way I'll feel a lot better when I eventually pick some of them for my exercises for the workshop.



One thing I learned from doing National Novel Writing Month in 2011 is that if you focus on coming up with a perfect idea the first time, you'll never come up with anything because nothing is ever good enough. If you write down all the crappy ideas you have, at least you'll have a chance to turn them into good ideas.

Here's the actual quote from the NaNoWriMo website:

"Even if it’s hard at first, leave ugly prose and poorly written passages on the page to be cleaned up later. Your inner editor will be very grumpy about this, but your inner editor is a nitpicky jerk who foolishly believes that it is possible to write a brilliant first draft if you write it slowly enough."

Here we go! List of exceedingly crappy ideas, here we come.
- Revision: Python str count to calculate letter frequencies
- Basic web scraping: Python str count for word counting of a particular word
- Basic web scraping: using string.replace to perform basic editing of webpages
- Live (update/hour) air quality monitor Queensland (doesn't really change) (http://www.ehp.qld.gov.au/cgi-bin/air/xml.php?category=1&region=ALL) (http://www.ehp.qld.gov.au/air/data/search.php)
- Population country of birth (http://stat.abs.gov.au/Index.aspx?DataSetCode=ERP_COB)
- Population by state/territory, sex, age (http://stat.abs.gov.au/Index.aspx?QueryId=396)
- Population by Country of Birth, age, and sex (http://stat.abs.gov.au/Index.aspx?DataSetCode=ABS_ERP_COB_MAG_SEXRATIO)
- Airport service
- Earthquake live feed (http://earthquake.usgs.gov/earthquakes/feed/v1.0/)
- Australian government twitter (https://twitter.com/ausgov)
- Twitter search by place (https://dev.twitter.com/rest/public/search-by-place) to find the most popular discussions in your region. Maybe will have to discard the API for simple web search if OAuth is required.
- Weather feed http://rss.weather.com.au/nsw/sydney

I feel like I no longer have a right to criticize other people's ideas, now that I've come up with all the crap ideas above. Maybe I never did have a right to criticize other people's ideas. I can't imagine presenting the above exercises to anyone at all, never mind inexperienced high school students.

Like, I know I said I'd never get anywhere if I just didn't write down any of my crap ideas, but the above ideas are like beyond crap.

I think I might have to drop Web Scraping because of the lack of appropriate exercises. It could have been cool, but it's really not, and right now I feel like it's even worse than teaching unix filters. Ironically, web scraping actually needs regex as pre-requisite knowledge to do anything really effective, which is rather ironic given how much I condescended upon the regex topic in the prior workshop.

I think I might have to come up with some better data visualization exercises, drop most of web scraping, and do a bit of extra image generation and audio generation.

I have a decent data visualization idea. So if we add a social aspect to the workshop, we could get the students to start plotting data about the other students in the class! age, height, favourite colour, etc. We could get some interesting statistics about the class, and it would be intrinsically engaging since it concerns the students themselves.


... I can't do this. Someone help me...

Man, I don't even have someone to write code for me while I present and point to the projector. Feels really really crap. I'm completely on my own here.


I made a huge mistake spending so long planning this workshop. I definitely won't make the same mistake again.


I'll have to make a revised truncated lesson plan. It feels crap to discard all that work I did looking up things for web scraping, but we will have to make do. Something like this:

1. Revision: input, if statements, while loops
2. Lists
3. Data visualization using matplotlib. Graphing various details about the students: age, school grade, height,
4. Nested loops
5. Image generation using pillow. Mathematical patterns
6. Audio generation using wave

I'll be improvising practically the whole thing. Goddammit.


It's 3am and the workshop starts at 10am. God damn it. I'll keep the blog updated on how it goes.

No comments:

Post a Comment