Up, not North

Course report: belated wrap-up

March 20th, 2010 § 0

Wow! This post is really, really overdue. Still, better late than never!

I’m very happy with how the course ended up. At the suggestion of the students we did something different for the last class, and attempted to put together what we’d learned to make a simple project: a Gmail notification light. The whole session was much looser than what we’d done in the past (and also much smaller, owing to a conflict with an Olympic hockey game — a deal-breaker here in Canada). We got at least one up and running and, more importantly, I think we all had a good time doing it.

I still intend to produce and post course materials at some point, but it probably won’t be until I’ve had a bit more experience and can make the materials a little more useful. I have many projects in the works right now, including helping to start Site 3, a new collaborative arts and technology space here in Toronto, where I hope to do a lot of teaching in the future. The next one up will almost certainly be an all-ages learn-to-solder/kit-building workshop, and I’ll post all about it here and on the Site 3 site when it happens.

I want to give my sincerest thanks to all of my students, who bravely joined me in trying out this experiment, and to all of my Hacklab colleagues who so graciously let me use the space and in many cases helped out with the course. I can’t wait to do this again!

Course report: week three

February 4th, 2010 § 0

I’m totally amazed by how much material we covered in this week’s class! We kicked off with a pretty detailed review of what we did last week, particularly how to hook up the LEDs to make them light up, and how to get our blinking LED programs connected again. We had a few burnt-out LEDs, but that’s an important part of the learning process. Once we had the LEDs connected again we learned about how to make our program behave differently depending on whether or not certain conditions are met; i.e., we learned conditional statements. In particular, we learned the if statement, which only executes a set of instructions if a given condition is true, and the while statement, which continues executing a set of instructions over and over again while a given condition is true.

We used these new conditions to modify our blinking LED a little bit, and then we took a vote and decided to move on to analogue output — making our LEDs dimmer, rather than just “on” or “off. First we learned a little bit about what the difference is between “analogue” and “digital,” and then we saw that we could make our LED look dimmer by turning it off and on really quickly. We then learned that the Arduino could do this for us using the analogWrite command (which unfortunately uses the U.S. spelling of analogue). Finally, we learned about another type of loop — the for loop. This is a little more complicated than the while or the if, but it’s also a little clearer in certain circumstances. We used the for loop to make our LEDs fade in and out smoothly. » Read the rest of this entry «

Course report: weeks one and two

January 29th, 2010 § 0

After weeks of planning and giddy anticipation, my course is underway! Here’s my recap of the first two weeks of the course. I plan on making the course materials available eventually, but I want to tidy them up and clarify them before I do. If you’re interested, please check back or subscribe to the site feed.

Week 1

The plan for the first week was to cover the fundamentals of electric circuits that we’ll need for the course: a definition of electricity, how to use a breadboard to test circuits, how to use a multimeter, and some basic electrical theory (for those of you more technically inclined, Ohm’s Law and Kirchoff’s Laws, but the latter just descriptively and not mathematically).

The plan was a little ambitious, and I was not nearly as eloquent a teacher as I had imagined myself being; there were some pretty fundamental ideas that I just didn’t explain well enough, and as a result there was much more confusion than I would have liked.

That said, there was more than a little silver lining: first of all, my students are bright and enthusiastic enough that they pulled through, undeterred, in spite of any pedagogical missteps on my part. Furthermore, I learned some very important lessons about how to teach this material, and I’ve already adjusted my course plans and notes to reflect that. I’m also reconsidering the place of this material within the course. Even more good news is, this was, in my opinion, the most difficult part of the course, so everything should be better from here!

Week 2

Yesterday night’s class went much better. I’d like to think that part of this was because I learned some lessons, but in all likelihood it’s because this material is easier. Regardless, it was a great class for me, and I think everyone else enjoyed it, too.

In this session we moved away from the nitty gritty of how electricity works, and actually started making things! We started by extending last week’s lesson to make some LEDs light up. That out of the way, we moved on to some actual programming!

After talking about what makes a “computer” in general, we discussed how microprocessors are computers that can interact with electric circuits. We learned about functions, and used them to write our first program: a blinking LED! We then added variables to the mix, and used them to make our blinking a little more complicated. Finally, we learned about digital input, saw what happens if you leave an input floating, and how to avoid that problem. Using digital input we had our microprocessor respond to a button being pressed, and we set the stage for exciting developments next week!

I can’t express how proud I am of my class, and how thrilled I am with the enthusiasm and energy the group has together — and I’m not just saying that because they are probably a large fraction of my readership! I can’t wait until next week, when we’ll start making some really interesting things happen!

New course: programming and electronics for everyone!

January 18th, 2010 § 0

I’m very interested in teaching math, science, and engineering, especially to people who consider themselves “non-technical.” I think people with different mindsets bring different perspectives, and so in teaching, I end up learning a lot from the students. Philosophically, I believe that programming and engineering are like cooking: at the very least, everyone should know their way around the kitchen and a few basic recipes. Finally, stereotypical and cheesy though it may be, I think these topics are fun just plain cool, and I love sharing them with others, particularly those who might not do so otherwise.

I have many ideas about how these topics should be taught, and now, thanks to Hacklab.to in Toronto, I have the opportunity to try them out! Here at the basic ideas:

  • Programming is more fun when you can make something happen in the real world, rather than just on screen. So, the course will be about physical computing, and in particular will be based around the Arduino
  • Since we’re doing physical computing, we’ll cover introductory electronics as well as introductory programming
  • The course will teach the theory behind what we’re doing, without getting too bogged down in details; a key concept is trying to develop intuition
  • Even though there will be theory, the course will be very hands on. The process will be teach a little bit, play with the ideas a little bit, and then learn the significance of what we just played with (and repeat)

I’ve gathered together a great group of enthusiastic people for the test run of the course, with the plan being to figure out what works and what doesn’t and to produce materials and a curriculum for future courses (which will all be made publicly available). Right now we’re planning to meet for two hours once a week, for six weeks, and we’ll see how it goes. I plan on blogging about the course throughout, so check back here for more information as it progresses.

This initial run-through of the course is already full, but if all goes well I hope to offer some version of this class in the future, so if you’re interested, please get in touch! All I need now is a catchy title…

Category Index

You are currently browsing the Courses category.

Subscribe to the feed for this category.