Sunday, September 29, 2013

Gearing Up for Grace Hopper Next Week

For me, today is all about getting ready for the Grace Hopper Celebration of Women in Computing next week.  As usual, I'm involved with the conference in many different ways, from presenting a poster and talk to being a member of the Communities Committee.  Plus, I'm organizing a group of five other Carleton students who are attending for their first time!


I was thinking about all the different posts I've made about GHC over the years, and realized that I probably have a few that would be useful to attendees this year, too.  So here's a round-up of my most useful posts as we all gear up for next week:

Saturday, September 21, 2013

A Preview of My GHC13 Gram's House Poster

It's not finalized, but here's a preview of the poster I made about Gram's House, a research project I started a few years ago, for the Grace Hopper Celebration of Women in Computing.  Gram's House is a game designed to encourage girls to consider computer science through a story about making a difference for a loved one and through computer science concept puzzles.


As usual, my poster is fairly minimal in terms of text content.  I use my posters as props to talk about the project during the poster presentation, or as teasers to entice viewers to get more information.  If you'd like to know more, visit me during the conference poster session, or check out my research page about the project where you can also look at the PDF of the poster.

Friday, September 13, 2013

Early Experiences with Poll Everywhere and Peer Instruction

I've now survived the first three lectures in both my classes.  Both are introductory computing classes for non-majors: one is heavier on concepts but includes Python programming, while the other is heavier on programming in Processing.  Both are also quite large: 440 and 280 students respectively!

I have always been a strong believer in active learning, even in huge lectures.  One of the main ways I'm incorporating active learning this term is through peer instruction and Poll Everywhere (an all-software version of clickers).  Carleton has a paid account for Poll Everywhere that all professors are able to use, and the service is totally free to students.

So far, even though not all my questions have been perfect, I am quite happy with the results.  It seems that students are engaged with the questions at hand, based on my walkabouts and seeing much arm waving toward the screen as students discuss the answers.  In most cases, I see a marked improvement in how many are selecting the correct response.

Here's a good example.  In my Processing class, I asked the following question after we learned about variables:


At first, the answers were pretty evenly split between red (52), blue ( 46), and neither (42).  After students had a chance to discuss with their friends ("convince someone who answered differently than you why you are right"), the responses were mostly red (77), still some blue (24), and fewer neither (15).

Even better, after the voting, I ran the code so we could see that the answer was indeed red, and I said "I guess you want to know why, right?" There were students who audibly agreed with that sentiment. ;) So I did an explanation on the black board using our variables-as-boxes analogy.  It was wonderful.

I have only done five "real" polls between these two classes so far, but I must say that I am already a strong believer.  It will be interesting to see what students think of it when I ask for informal, anonymous mid-term feedback in a few weeks.

Thursday, September 5, 2013

Pictures of My New Office

I moved into my new office on Tuesday, and finally decorated a little bit.  Here are some photos of my new home!


My teaching and office hours are now posted on the little sign outside my door.  Why, yes, I did use scrapbooking supplies to decorate my schedule!



This is the view when you walk in.  The setup is actually quite comfy, with a proper adjustable keyboard tray and all.  I brought a lot of stuff from my desk in our research lab; that's the only reason the shelves look at all full.



There is a little table and chairs to the right of the door.  I don't think most profs have this - it was just left over from the previous administrative occupant.  I also finally found a home for some photos we had framed for our photo club exhibits.



This is a close up of some of the shelves.  I've got mugs and thank-you cards from various outreach events and invited talks, a family photo, and of course Computer Engineering Barbie.  The teddy bear came from a student in one of my mini-courses.

Friday, August 30, 2013

Designing an Intro to CS for Non-Majors: From Objectives to Problems

When working on my introductory computer science class for non-majors, I started with the objectives.  From there, I thought about the types of assignments and tutorials I wanted, but mostly moved on to figuring out the actual lecture content.  I like to organize my courses by specific problems in a way that is loosely related to inquiry-based learning.

With this approach, I think about the kinds of things that my audience might find useful or interesting.  The earlier problems tend to be more on the interesting side, but by the end the problems should be more relevant to the students' fields.  During lectures, I will introduce the problem by showing the completed software, then go step by step in showing how that software is built.  In the process, new concepts need to be introduced.  For example, when we start to get bored of repeating certain values all the time (and start to run into errors when changing these values), I'll introduce variables.

The best part about having my learning objectives done first is that I can use them to make sure I've hit all the main points within these problems.  As I write out my step-by-step outline, I highlight key words that are colour coded to the objective they relate to.  I imagine this will also help tremendously as I move on to writing the code and creating the lecture slides and peer instruction questions.

Here's an example of the second problem's design for this course:

Another nice feature of the problem-based organization is that I have a natural way to organize the content (such as slides, code, and other resources) in our online learning management system.  I haven't tried this before, so I don't know how well students will like it compared to, say, a week-by-week organization.  I should mention that I am also including tables of resources according to topic (e.g. variables, functions, good programming concepts, etc) as well as by problem, so hopefully this will help.


With all of this laid out, it will be much easier to fill in the details.  That's the most fun part!