Category Archives: teaching

Planning an e-mail-based course for Emacs Lisp

I’ve been working on an Emacs Lisp beginner’s course, something focused on helping people become more comfortable configuring Emacs. The web-based guide is taking shape quite nicely, but it’s still a lot of scrolling, and it can still feel overwhelming for newbies. I think it might make sense to offer it as an e-mail course. That way, I can spread the lessons out, help people with their questions, and improve things based on people’s feedback.

2014-05-12 How can I take Learn How to Read Emacs Lisp to the next level #emacs #packaging #writing #teaching

2014-05-12 How can I take Learn How to Read Emacs Lisp to the next level #emacs #packaging #writing #teaching

I can improve the guide by adding more structure, examples, exercises, and so on. I’ve requested several books on e-learning and course design, and I’m looking forward to learning more over the years. And I can also improve it by testing it with people… =)

2014-05-14 Planning an e-mail-based course for Emacs Lisp #emacs #teaching

2014-05-14 Planning an e-mail-based course for Emacs Lisp #emacs #teaching

I floated the idea on Twitter and lots of people e-mailed me to join. Instead of setting up an autoresponder, I decided that I would do things by hand as much as I could. That way, I can personalize the messages based on people’s interests and configuration, and I can enjoy more of the back-and-forth conversation.

After getting annoyed with the SSL hassles of setting up Gnus on Windows, I decided to just use my Linux-based virtual machine for handling mail. That was pretty straightforward, although for some reason, my IMAP view of Gmail doesn’t have all of the messages under a label. It just means that I have to manually re-check the messages to make sure nothing slips through the cracks.

I used an Org file to keep notes on each person, including TODOs under each of them. I sent everyone a checklist to see which section we should start with. A few people are starting at the beginning, and others will get the e-mails once I’ve updated those sections. Text registers (C-x r s) were really helpful since I was pasting different things into different e-mails. I’m still figuring out the workflow for this, and I’m sure I’ll automate pieces of it as more people move through the course.

I’ve sent the first section to some people already, including the Org version in the e-mail body and as an attachment, and linking to the web-based version. The Org version is a little more cluttered than the text export, but the text export uses box quotes, so I figured the Org version was the best to start with.

2014-05-16 A plan for delivering the Emacs Lisp course #emacs #teaching

2014-05-16 A plan for delivering the Emacs Lisp course #emacs #teaching

Want to be part of this? E-mail me at [email protected]

What you’re really there to learn in computer science

You know that feeling of struggling to learn something that everyone else seems to have an easy time with? The one that makes you think, “Maybe this isn’t a good fit for me.” Or worse, “Maybe I’m not smart enough.”

That one.

Embrace it. Learn how to deal with it. This is the real hard work in a degree in computer science or IT or whatever. The rest is just implementation.

You see, there will always be more to learn. There will always be challenges to pick apart and overcome. If you’re not running into them, you’re not pushing yourself enough. There will always be those moments when you think, “How on earth do I even begin to learn how to solve this?”

You aren’t learning a computer language or a platform or a system of abstract concepts. You are learning a way of thinking. You are learning how to break down a big challenge into smaller pieces. You are learning how to try different approaches to understand and solve each small part. You are learning to set aside your worries and fears so that you can focus. You are learning how to adapt, even as changes come quicker and quicker. You are learning how to organize your thoughts. It just so happens that you’re organizing them in a way a computer can understand.

What can help you build your confidence? Start by building a small base of things you know well. Celebrate that. Expand through practice and curiosity. Ask for the help you need. If you don’t get it, fight on anyway. All learning feels weird in the beginning. It only becomes natural through repetition.

If you’re taking a course, learn what you have to learn, but leave yourself room to learn what you want to learn at your own pace. You don’t have to learn everything the first time around. If you know it takes you several tries to understand something, start before you take something up in class. That way, you’ll have better questions. Continue afterwards, too. Computer science lessons build on each other, like the way mathematics lessons do. They assume you understand the previous material. Practice and questions pay off.

There will always be people who have learned what you want to learn, or who will pick up things faster than you can. Most of these people are awesome. They know that your questions can help them learn even more, and they’re happy to pay it forward because people helped them too. Pay them back by writing about what you’ve learned and sharing that with them and others. Other people who are also learning will find your questions and answers useful, too. This is true whether you’re learning in class or on the Internet, so go ahead and share your journey.

There will always be some people who haven’t quite figured out their own insecurities – people who want to establish their position by putting you down. You can learn how to recognize what they’re doing. That makes it easier to ignore them. Don’t mind them if they try to make you feel bad for asking stupid questions. It just means they’re missing out on opportunities to learn how to ask and learn how to learn. Don’t partner with them. Look for people who help others up, not tear them down.

It is not easy to wrap your mind around new topics or break down a complex unknown. If you can get good enough at it, you may come to enjoy that excitement when a problem looks like it’s solvable. You’ll learn how to tell if you’re going in roughly the right direction. You’ll be able to celebrate even the tiniest progress. If you can do that, you’ll do fine.

Besides, the real world is little like the classroom. Even if you never get the hang of the artificial projects you do for education, you may find that you like working with technology. Don’t count yourself out just yet!

Sometimes I hear from students who find computer science intimidating. I hope this makes the big picture a little easier to see.

Google Helpouts Update: People like it, so how do we scale this up?

It turns out that the newly-launched Google Helpouts platform is a great way to offer quick, focused help to people. 15 minutes is just enough time to ask a few questions to understand where people are coming from and share some tips and resources that can help them try out something new.

My note-taking Helpout is fully booked for the rest of the slots I opened in November. I’m keeping it to 15-minute slots for two hours a day or every other day so that I don’t get overwhelmed. My two other listings (Emacs geekery and introvert hacking) just went live. I added a few slots for those so that I can test the idea out. You can find all three at sach.ac/help… but they’re probably going to be fully booked by the time most people check it out.

Requests for more slots are piling up in my inbox, and I haven’t quite figured out what I’m going to do about them. I really really want to connect! People have all these fascinating questions, and I’ve gotten great conversations and drawing prompts out of these Google Helpouts. But I can’t let it take over my work or my life, so I need to find a better way to scale up that don’t involve just adding more hours.

2013-11-07 Google Helpouts - sold out

One way to increase my impact without increasing my hours is to reduce the no-show rate. I think charging for a Helpout (even if I refund it on attendance) will drastically reduce my sign-up rate because people will need to set up a Google Wallet. I’m reluctant to introduce that kind of friction and effort when many of the people reaching out to me are blog readers (hi folks!) or students. I could be wrong about this assumption, so I should test it. Maybe charging will still result in sign-ups, in which case I may set the fee to a token amount (a cup of hot chocolate?) and inch it up until the slots reach equilibrium.2013-11-08 Wha twould make me feel comfortable with charging for a Helpout

I want to make sure that I’m overdelivering value and that I can still encourage people to contact me for free. I’ve started a discussion in the Helpouts community to find out whether my idea of directing people to free resources (Hangout on Air? Blog and mailing list?) that are outside the Helpouts platform is compatible with Google’s Terms of Service. Google doesn’t want Helpout providers to channel people off the platform and into non-Google-hosted paid services… Would they mind if I nudged people towards free resources if I’m out of scheduled slots? We’ll see.

If I go this way, I also want a significant non-Google-Helpouts-marketplace way of encouraging people to sign up. That’s because most people browsing it will probably focus on the free offers (I would too!), and I want to make sure that people who really want to talk to me can still find me. I could update the page about what I can help people with so that it lists different topics and options in a visually engaging way.

Anyway, assuming that charging fills the time 100% with people who show up prepared to ask questions and pick my brain, then that effectively doubles my impact. It’s still about 1:1 interaction, though, and it’s still going to be limited by hours. Another way for me to scale up the help I can provide is to collect the answers together. For example, here are some sketches that grew out of people’s questions over the past week:

If my goal for doing these Helpouts is to collect interesting questions that I can use to share what I’m learning and fill in the navigational gaps, then it’s in my interest to ask questions beforehand, share some quick resources, and cancel Helpouts if people aren’t responsive or if those resources answer the question so that other people can take the slot. (Be firm, Sacha!) The Helpouts interface doesn’t make it easy to keep track of the age of messages, but maybe using Google Mail with Boomerang will do the trick. Most likely, people who are engaged will then have follow-up questions, so we can fill in the next gap along the trail.

2013-11-08 How would I scale up helping people learn more effectively

People don’t need more information. They need to figure out where to start. For me, the value I provide in the Helpout is in the back-and-forth of a quick conversation that clarifies what people need. That way, I can either point them to the right resources or give them some tips in case there are no such resources handy. (And then I can build those!) It’s a little difficult to do with a group session, although maybe if I get better at Q&A, I might be able to pull that off.

So maybe what I need to do is:

  • Update the help page on my site and add different help options to it.
  • Set up a mailing list for Hangout On Air, new Helpout availability, and new resources for different topics.
  • Schedule a Hangout On Air experimental Q&A.
  • Test conversion through my own page. Keep the session free.
  • Package free resources.
  • Be firmer about session preparation. Maybe give guidelines: three questions?
  • Switch to a token fee with a cancellation policy, especially if I can update the listing or autorespond with include alternatives when fully booked.

Any suggestions?

Experience report/invitation: Pick my brain through Google Helpouts

Quick note: You can book free help sessions with me through sach.ac/help. There’s a listing focused on note-taking/visual thinking, and I have two other listings focused on Emacs and introversion going through the review process. Feel free to talk to me about other topics, too!)

UPDATE 2013/11/07: More notes at the end!

I’ve been looking for ways to make it easier to help people online. ScheduleOnce + Skype/Google Hangout was great, but scheduling was a bit cumbersome, and sometimes one-hour chats felt a little awkward. When Google announced their new Helpouts service, I signed up to be one of the early providers. I started with note-taking and visual thinking because those are useful skills that a lot of people need help with, compared to digital sketchnoting workflows which would be a tiny tiny niche.

2013-10-24 Google Helpout

Although Google Helpouts lets you charge for your sessions, I decided to focus on giving help for free instead. I wanted to see what it was like and what I could help people with, and I didn’t want people to worry about the cost. I also didn’t want to worry about expectations! So I set up my Helpout listing, practised with a few people, and set aside some available slots in my calendar.

My first few Helpouts were surprisingly fun. I talked to a number of people who were either Helpout providers or people who had received invitation codes to try it out. One session turned into an awesome Emacs geeking around thing, which I need to post at some point. =)

2013-11-02 Google Helpouts Experience Report

And then it was the official launch day. Google Helpouts was open! I woke up to more than a dozen sign-ups, and my phone kept buzzing with notifications throughout the day. It was exciting and scary at the same time.

Many of the other Helpout providers said they were seeing a lot of no-shows. I didn’t mind because that meant I could get a bit of a breather in between the 15-minute sessions. I had some time to e-mail people and ask them some questions before starting, which really helped.

2013-11-05 Additional Helpout observations

I talked to students about study skills, teachers about teaching, and professionals about mindmaps and other thinking tools. I was nervous going in, but I was delighted to find that the conversations flowed well. I could think of questions for people to clarify what they needed and I shared tips that they could try. Afterwards, I felt a little buzzy, but not as much as I do from presentations (very very buzzed!) or hour-long chats.

Since the service has just launched and I’m offering a free Helpout, many people who signed up probably won’t make it to the sessions. Coding is terrible when it comes to interruptions, but drawing seems to be just fine.

2013-11-05 How does Google Helpout fit in with my goals

I really like the way answering people’s quick questions helps me validate that people want and need what I can share, and it gives me a better sense of who’s out there.

Over the next few weeks, I’m going to experiment with how this fits into my flow. Where do I want to put it in my schedule, and how does it interact with the other work I want to do? Because Helpouts can break my time into lots of little segments, I want to make sure I still have blocks of focused time for deep work. I also want to avoid introvert overwhelm, and I want to focus on proactive content instead of letting Helpouts swing me too much towards being reactive. That’s why I’ve been setting aside blocks of 1-2 hours for Helpout scheduling instead of letting it take over my day. Now that we’re off Daylight Savings Time, the sun sets pretty early too, so I’m experimenting with another change to my consulting schedule. I want to make sure that I do right by my consulting client, too, and I don’t want to drop my personal projects.

Hardware-wise, I like my current setup. I handled all the calls from my newly-re-set-up desk downstairs, with a webcam, lights, and external monitor. I don’t want the sessions to interfere with W-‘s concentration, though. If he’s at home instead of at the gym, I can work in the kitchen with my extended battery. I’ll keep an Ethernet cable there as well. The kitchen isn’t as well-lit, but it will do.

So it looks like this month’s experiment will be connecting through Google Helpouts – reaching out and helping random(ish) strangers. I’m making surprisingly good progress towards my goals of modulating my pace. I’m getting better at matching people. I’m also working on articulating my thoughts without repeating words or phrases, since a stutter tends to shows up when I’m excited. If I can get the hang of harvesting questions from these Helpouts and turning them into blog posts, that would be even better. =)

UPDATE 2013/11/07:

This is working out really well! Most people respond to my intro messages, so I have a sense of what they’re interested in before we start. I’ve talked to lots of people in school who want to improve their study skills, and I’m pleasantly surprised to find that I can offer tips that they hadn’t considered. Enthusiasm carries across well in video chats too – it’s great to be able to bounce ideas or cheer people on. Best of all, I’ve been able to connect with people who read my blog or chat with me on Twitter – it’s just like jumping into the middle of a good conversation. I’m turning the tips into more drawings, which I’ll post on my blog. (Hmm, I should set up a mailing list…) I’ve set up AutoHotkey shortcuts for my welcome message and various URLs I find myself often sharing. There are occasional no-shows, but I don’t mind because I draw and reflect during the gaps. I just leave the Helpout window open in the background as I draw on paper. In fact, sometimes I wish people will miss their appointment so that I can keep on going. And the gradual accumulation of positive reviews is ego-gratifying – it means the stuff I learned along the way is useful, and I’m glad I can share it. =)

All of my slots are booked at the moment, which is a little mind-boggling. I’ll probably open up more after December, or maybe even during December once I figure out what my schedule is going to be like. I’m not going to open up a ton more for this month because 1-2 hours a day of intense talking to people is probably a good limit. Some days have slightly more because I got carried away with setting up my availability in the beginning, and I didn’t want to cancel any. =) Maybe I’ll settle down to ~1-2 hours every other day, and possibly have a mailing list for tips and new availability. It’s an awesome feeling helping other people out, although I also want to make sure I keep making progress on my other (quieter) projects! <laugh>

—-

Want to give Helpouts a try? You can schedule a session with me at sach.ac/help or browse through the other sessions at helpouts.google.com. I think you can sign up there to offer your own, too. Have fun!

Planning a Quantified Self workshop on time tracking

image

The other Quantified Self Toronto organizers and I have been thinking about following up on the “slow data” workshop idea from the QS Conference in Europe this year, which Eric Boyd is really keen on. The idea is that self-tracking takes time to plan, to get data, to get back into collecting data after you’ve fallen out of the habit, to analyze data, to revise your experiment based on what you learned… so although 15-minute bursts of inspiration are great for showing people what people are working on, wouldn’t it be nice to go through an extended workshop with support at just the right moments? Based on our survey results, people might even be willing to pay for monthly or semi-monthly workshops.

I’m interested in tracking time much more than I’m interested in health or other popular self-tracking topics, so I’d love to experiment with building resources and workshops for people who are interested in tracking time as well. The payoff? I’d love to be able to compare questions, data, and conclusions.

Here’s what that workshop might look like:

Session 1: The Whys and Hows of Tracking Time

  • Discuss objectives and motivations for tracking time. Plan possible questions you want to ask of the data (which influences which tools to try and how to collect data). Recommend a set of tools based on people’s interests and context (paper? iPhone? Android? Google Calendar?).
  • Resources: Presentations on time-tracking, recommendations for tools, more detail on structuring data (categories, fields); possible e-mail campaign for reminders
    Output: Planning worksheet for participants to help people remember their motivations and structure their data collection; habit triggers for focused, small-scale data collection, buddying up for people who prefer social accountability

Session 2: Staying on the Wagon + Preliminary Analysis

  • Checking in to see if people are tracking time the way they want to. Online and/or one-on-one check-ins before the workshop date, plus a group session on identifying and dealing with obstacles (because it helps to know that other people struggle and overcome these things). Preliminary analysis of small-scale data.
  • Resources: Frequently-encountered challenges and how to deal with them; resources on habit design; tool alternatives
  • Output: Things to try in order to support habit change; larger-scale data collection for people who are doing well

Session 3: Analyzing your data

  • Massaging your data to fit a common format; simple analyses and interpretation
  • Resources: Common analysis format and some sample charts/instructions; maybe even a web service?
  • Output: Yay, charts!

Session 4: More ways you can slice and dice your data

  • Bring other questions you’d like to ask, and we’ll show you how to extract that out of your data (if possible – and if not, what else you’ll probably need to collect going forward). Also, understanding and using basic statistics
  • Resources: Basic statistics, uncommon charts
  • Output: More analyses!

Session 5: Making data part of the way you live

  • Building a personal dashboard, integrating your time data into your decisions
  • Outcome: Be able to make day-to-day decisions using your time data; become comfortable doing ad-hoc queries to find out more

Session 6: Designing your own experiments

  • Designing experiments and measuring interventions (A/B/A, how to do a blind study on yourself)
  • Outcome: A plan for changing one thing and measuring the impact on time

Session 7: Recap, Show & Tell

  • Participants probably have half a year of data and a personal experiment or two – hooray! Share thoughts and stories, inspire each other, and figure out what the next steps look like.
  • Outcome: Collection of presentations

Does that progression make sense?

Eric thinks this would work out as a local workshop here in Toronto. I’m curious about what it would be like as a virtual workshop, too. We might even be able to experiment with both. Is this something you might be interested in? If you’re a QS organizer, would you like to give it a try in your own meetup?

I’d love to hear from you! Leave a comment below, or sign up with your e-mail address so that we can talk about it in e-mail. =)

[contact-form subject=’Quantified Time Workshop’][contact-field label=’Your e-mail’ type=’email’ required=’1’/][contact-field label=’Where would you like the workshop?’ type=’radio’ options=’Toronto-based,Online’/][contact-field label=’Is there anything else you%26#039;d like to learn about in terms of time tracking?’ type=’textarea’/][/contact-form]

Back to school, back to study groups

We started our first study group session on Friday with a quick review of multiplication. J- and V- warmed up by reciting the multiples of 6 to 9. Good retention from last year, and we’ll see how practice helps them improve. After the warm-up, we went over a shuffled deck of multiplication flashcards.

The teachers had given them a quiz in school, so we covered some of the topics they found confusing. W- and I explained the difference between convex and concave shapes using angles and lines. I drew different figures and quizzed them on the classifications. J- and V- drew their own figures, and they classified them together.

Squares and square roots were another point of confusion. We started off with a graphical review of what squaring means, and what a square root is. I used a tip from John Mighton’s “The Myth of Ability”: I tweaked my exercise to vary in scale without varying in difficulty. (What’s the square root of 31337 x 31337?) After J- and V- understood the relationship between squares and square roots, we covered approximation and factorization as ways of finding the square root. J- and V- practised finding the square root of numbers like 225 and 144.

We’ve encouraged them to take notes so that it’s easier to review lessons. The extra study group time will definitely help, too. Grade 8 will help students learn how to solve real-life problems, so we’ll be sure to show more of the calculations of everyday life. Here we go!