Welcome to e-Learning. You can’t use the Internet.

It’s the first day of my e-Learning course and a student from another school board sent me an apologetic email.

The student was sorry to inform me that their board has blocked student access to all of the web services we use to communicate.


This isn’t just inconvenient; it’s preventing the student from joining the community of learners that we’re developing.

When will the fear of failing their students outweigh their fear of the Internet?


Learn-practise-perform cycle limits learning in CS

Like many courses, the beginning of my current computer science e-Learning class looked like this:

  • Teach small skill
  • Teach small skill
  • Give feedback on practice work
  • Teach small skill
  • Teach small skill
  • Give feedback on practice work
  • Evaluate performance task

This separation of learning from graded performance is intended to give students time to practise before we assign a numerical grade. This sounds like a good move on the surface. It’s certainly well-intentioned.

But this process is broken. It limits learning significantly.

If the performance task is complex enough to be meaningful, it requires a synthesis of skills and understandings that the students haven’t had time to practise. In this case I’m evaluating each student’s ability to accomplish something truly useful when they’ve only had the opportunity to practise small skills.

If instead the performance task has many small components which aren’t interdependent, students never develop the deeper understanding or the relationships between concepts. In this case I’m evaluating each student’s small skills without evaluating their ability to accomplish something truly useful, which isn’t acceptable either.

And there isn’t time to do both. I can’t offer them the time to complete a large, meaningful practise task and then evaluate another large, meaningful performance task.

The barrier here is the evaluation of performance. It requires a high level of independence on the part of the student so that I can accurately assign a numerical grade.

So I’m trying something different.

Instead of these tiny, “real-world” examples (that I make up) to develop tiny, discrete skills, I started teaching through large, student-driven projects. I got rid of the little lessons building up to the performance task, and I stopped worrying about whether they had practised everything in advance.

The process looks more like this:

  • Develop project ideas with students and provide focus
  • Support students as they design
  • Provide feedback through periodic check-ins
  • Teach mini-lessons as needed for incidental learning (design, skills, etc.)
  • Summarize learning with students to consolidate

I couldn’t design a sequence of learning tasks that would be as effective as my students’ current projects are. They’re working hard to accomplish goals they chose, and they’re solving hundreds of small and large problems along the way.

They couldn’t appreciate the small, discrete lessons I was teaching with the small, artificial stories. They didn’t have the context to fit the ideas into. It was only when the project was large and meaningful that my students truly began to grasp the big concepts which the small skills support.

And now I don’t have a practise/perform cycle. It’s all practice, and it’s all performance. It’s more like real life, less like school, and it’s dramatically more effective. It’s much richer, much faster learning than the old “complete activity 2.4” approach.

Evaluation is very difficult, though.

Late deadlines make for sleepy students

I set 11:30pm deadlines for assignments in my e-Learning course because I want to respect that students work on their courses at times outside of the instructional day. Some students take online courses specifically because of the flexibility of learning anytime, anywhere.

But most students behave like temporal gases: they will fill whatever container of time you put them in. So a side effect of that graciously long submission window is that students who could finish their assignment during the school day don’t, and they all try to cram it into their evening instead. Then they stay up far too late, which is bad for a ton of reasons.

Photo "Library visitor" by umjanedoan via Flickr (CC-BY-2.0)

Photo “Library visitor” by umjanedoan via Flickr (CC-BY-2.0)

So setting an 11:30pm deadline might have been a mistake. In the future I might set it for 3:00pm and simply expect that some folks will be a little late. At least the punctual kids will get to bed on time.

Key Learnings from our e-Learning Collaborative Inquiry

I learned a lot over the past couple of days. My board brought in Donna Fry (@fryed) and Tim Robinson (@timrobinsonj) to guide our group’s learning, and several folks from the board’s central program team were helping out as well. Check out #elADSB for a bunch of new Twitterers, too.

Here are some prompts that we were asked to respond to, and here are my (rather brief) thoughts.

1. ​​What questions, wonderings do you have ​with respect to our problem of practice?

How do we encourage collaboration that isn’t false collaboration? How do we ensure that the collaboration is meaningful and valuable? I don’t want to force collaboration among students when it doesn’t make sense.

What does a rich task look like in a course which has a lot of technical, procedural learning? Is it enough that there is inquiry in the task, or does it need to be “authentic” and relevant? I’m concerned about fauxthenticity: forcing an unrealistic application out of a concept just so that we can say it’s “real-world”.

2. What key learnings have you had over yesterday and today?

I need to provide more structure for self-monitoring and self-reflection for my students, and then ensure that they follow through on that self-assessment. They’re still kids, and they need a firmer hand with organization and checking on their learning, or they may neglect important stuff (or even delude themselves into thinking they understand concepts that they don’t).

I need to consider including more face time in my course – maybe having “Math Chat With Mr. G” or something on certain afternoons… Even if some students can’t get me live, I shouldn’t prevent it for those who can.

3. Moving forward, as a result of your learning, how do you envision your courses/practice changing?

I need to be more careful about connecting students with each other instead of encouraging them to rely on me.

I need to set up a fast, reliable, easy-for-me-to-check-in-on self-monitoring system for my students.

I will set up Adobe Connect or Google Hangout time periodically.

I’m going to work on figuring out when requiring collaboration makes sense, when students should be working independently, and when they just have a choice (most often?).

I’m going to make some plans and then ask someone else to give me suggestions about them before I implement them. :)

LaTeX Math for e-Learning in D2L

I am teaching MCF3M online this semester, so I need to be able to include math notation in my online content, quizzes, etc. I know how to write math notation using LaTeX from my days at the University of Waterloo, and I find it a lot faster than using a graphical equation editor. I’ve tried Microsoft Word’s editor, which accepts LaTeX-like input as well as graphical input, but I still find it frustrating to use.
I’m teaching in the Desire2Learn/BrightSpace learning environment, so I need to ensure my content works well in there. Last semester I taught Computer Science/Programming and used PDF files that I created in Word Online, and I considered doing the same thing again.

But D2L has an equation editor as part of its HTML editor for webpages, discussion posts, etc. Could it be all I need?

I’ve taken it for a spin before. Here’s the workflow:

Create a new page and type into the HTML editor.


Expand the toolbar so that the Equation tools are available.


Choose \∑ LaTeX equation.


Type in the LaTeX expression, using \( and \) as delimiters for inline mode (otherwise it defaults to block mode).



Looks good.


But look at the source HTML code:


Uh-oh… that’s MathML (Math Markup Language), not LaTeX. What if I want to change something in my original LaTeX?

Well, you can see at the bottom that my LaTeX code is still there, but it’s not being used. I could remove all the MathML, cut out my LaTeX, modify it, and re-insert it using the LaTeX equation editor.


I thought that MathJax, the rendering engine that D2L uses for math notation, could only handle MathML (since notation from both LaTeX and graphical editors are converted to MathML), but it turns out that’s not true. MathJax can do LaTeX.

So I tried putting LaTeX directly into the WYSIWYG editor:


No dice.


The trouble is that D2L has parameters on its JavaScript call to MathJax:


That config=MML_HTMLorMML bit is saying that only MathML is acceptable input (and HTML or MathML can be output).

So I added another call directly to MathJax in my own source code:


I set the parameter to be config=TeX-AMS_HTML, which will accept my LaTeX input and render in HTML/JavaScript.



But this is kind of a pain.

I can use D2L’s editor to insert math, but I get MathML (which I find hard to edit).

I can write in LaTeX and have it be preserved, but I need to add a script call to the start of the HTML source code (a hassle, but not too serious, I suppose).

Or I can write in some other (offline) development environment, include my script call all the time, and just upload my completed HTML files to my course. This has the advantages of being independent of D2L, available without internet access, and very shareable.

So that’s what I’ve decided to do, at least for now. So I’ve learned a little CSS to make my pages less vanilla/more functional, and I’ll try to improve the look and feel as the semester progresses.

Wish me luck.

My Unresponsive Course

You have me thinking again, Mr. Peterson. Today it’s with your post, “You Need to Be Responsive“.

My own blogs are responsive and so they display well on multiple device types.

My blog on a computer browser.

My blog on a computer browser.

My blog on a phone browser.

My blog on a phone browser.

Students tell me they like the theme (The Suits Theme) on my class blog; they say it looks professional.

The class blog in a computer browser.

The class blog in a computer browser.

The class blog on a phone browser.

The class blog on a phone browser.

However my e-learning course is less responsive. There is a mobile interface which becomes active when you use mobile device, but there are a couple of components on my course homepage which only appear using the desktop interface (custom widgets with links to the Padlet and the YouTube playlist for the course). Some course tools aren’t available in this view (e.g. the Checklist Tool).

My course homepage on a computer browser.

My course homepage on a computer browser.

Course homepage in the mobile view.

Course homepage in the mobile view.

Tools in the mobile view.

Tools in the mobile view.

What’s more, I have created quite a few PDF files for the programming concepts in the course. These files, because they are paginated, are not responsive.

PDF in a mobile browser

PDF in a mobile browser – portrait

PDF in a mobile browser - landscape

PDF in a mobile browser – landscape

Honestly, I don’t remember considering that issue when finally deciding to use PDFs. Since students are coding on computers anyway perhaps it doesn’t matter that much. And other stuff, like news and discussions, are mobile-friendly.

But I’ve unintentionally made it difficult for them to use small, mobile devices to keep up with the “text” part of the course (i.e. when they’re not actively programming). I do have a lot of video on there, which is (I think) fairly accessible.

I’ll have to think about whether it’s worth fixing the responsiveness of those PDFs.

Why I’m happy with the design of my first e-Learning course

I’m teaching ICS3C/3U (Computer Programming/Computer Science) online this semester. I was the e-Learning Contact for my board for several years, but this is my first time teaching online in “real life” (i.e. not a professional learning session).

Overall I’m fairly happy with how I approached the design of my course, and I’ve also learned a few things that I’ll improve upon.

I work in Ontario using the Desire2Learn/Brightspace platform. The Ministry of Education here has provided a “starter course” for each of my classes. I’ve discussed the problems with the format of that course before (see here), and thoughts I had about improving on it. I mostly followed my own advice.

In the end, there were significant differences between the provided course materials and the approach I wanted to take with the course, so I ventured out on my own.


I use the News area to share interesting links, reminders, and extra details. Notice I don’t post a news item every day; I’ve decided that’s too much without a real payoff.

A screen capture of a news feed.



I post a lot of “instructional videos” in the course. The videos show me coding applications live, so students can hear my thinking while I work, see the errors I make and how I correct them, and see how the development environment works visually.

A screen capture of a link to a YouTube playlist.

Of course, playing videos successfully in the online learning environment is a bit device-dependent, so I also post every video to YouTube. I maintain them in a playlist (here) and I post a link in a widget on the course homepage. The YouTube videos also have the advantage of sometimes being faster to download, and users can change the resolution on the fly (not very helpful for code, I suppose).

And most importantly, those videos are available for anyone on the Internet to use. That makes me feel good in my heart.

Other Resources

In an out-of-the-way place on the course homepage I maintain a Padlet. I use this to post related-but-not-necessary links.

A screen capture of a Padlet.


I don’t use the Calendar directly, but I do use due dates for Content items so they show up in the Upcoming Events list. More on that later.


A screen capture of a calendar and upcoming events list.


Units, Activities, Modules

I divide up a Unit into Activities, and I number everything:


A screen capture showing the activities of a unit.


Within each Activity I also “letter” my items sequentially (3.1A, 3.1B, etc.):


A screen capture showing activities organized into modules.

Due Dates

I used to only put due dates on the items that needed to be submitted/completed, like Dropboxes and Discussions. After helping an e-Learning student in the library here with her English class, I realized that students were using the Upcoming Events list in the Content area. I had never explored it before, but it was a sparse list in my course.

Now I add due dates to Content items which I want students to consume as well; for example, I put a due date on 3.2E, which is a video I want them to watch by the end of today. They don’t have to submit anything, but I’m hoping the due date helps to keep them on track.

(Note: This is not an “end date”, which would make the item unavailable after the date has passed.)

A screen capture showing upcoming events.

 Content in PDF

I have tried to use HTML, Word documents, and PDF files to post CS content, but I’m happiest posting a PDF that I generate in Word. I get excellent control over the look and feel of the text/images, but the links I put in there still work. It’s also universally-readable.

HTML takes too long to format correctly/beautifully, and Word documents are rendered as images by D2L (disabling any links).

In the end I think the videos are more valuable for the students, especially later in the course. I have several students now requesting videos explaining a certain aspect of the course, but not a lot of PDF requests.

A screenshot showing a PDF file from the course

Still Thinking

I have a lot more to learn, but I’m pretty happy with the workflow I’ve developed now. Suggestions are very welcome!