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.

no-learning

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.

latex01

Expand the toolbar so that the Equation tools are available.

latex02

Choose \∑ LaTeX equation.

latex03

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

latex04

latex05

Looks good.

latex12

But look at the source HTML code:

latex07

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.

Ugh.

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:

latex10

No dice.

latex11

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

latex08

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:

latex09

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

latex12

Magic.

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.

News

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.

 

YouTube

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.

Calendar

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!

 

 

 

 

 

 

 

Screencasts for teaching Computer Science online

I’m teaching ICS3C/ICS3U online using the Java programming language to 24 students whom I never see, ever. ICS has a lot of technical components, and computer programming can be finicky. In a face-to-face class you can help a student debug (troubleshoot) their code while looking over their shoulder.

Online isn’t like this. It’s not exactly a disadvantage, though – students are solving their own problems more often because they don’t want to take the time to write an email or because I take too long to respond (i.e. more than 15 minutes – jokes!).

So, how do I teach students the mechanics of coding in Java without making them read a book?

I take a screencast of myself coding and talking about it. I use Screencast-O-Matic because it’s very, very reliable and awesome (on my own laptop I install the application so I’m not using Java in the browser).

an image showing a program being written in the NetBeans IDE

Are your videos excellent?

No, I don’t believe the videos are compelling in the way that a Hollywood film is, but they’re at least useful. Students can see the order in which I solve a problem, hear my thinking as I work, and see the mistakes I make.

Mistakes?!?

Yup, I make mistakes when I code. I get error messages. Java throws Exceptions. Flashing red lights, irritating Microsoft “dings”, and all that.

They’re not on purpose (I’m not trying to make mistakes), but they’re beautiful opportunities for incidental learning. Students will make the same mistakes too, so I think this will help them to recognize these types of errors and be able to correct them.

What do you do with them?

I post the videos in two places:

First I post them into my e-Learning course in the Content area, mixed in with text explanations, assignments, discussions, and so on. I’ll usually also post the code that I write in these screencast sessions.

an image showing content items in an e-Learning course

Second I post them to YouTube and add them to a playlist I’ve been maintaining for this course. This is so that other people can use them if they want (including parents), and so that students can possibly download them more quickly or on different devices. I think it’s worth the extra time to cross-post.

An image showing a YouTube playing for ICS3C/ICS3UDo they use the videos?

They certainly do. I surveyed my students early in the course and most wanted the videos as well as PDF files with code examples and screenshots. Most students access the videos in the online learning environment, which probably makes sense since there’s more structure there. The number of views on YouTube isn’t very high, but it’s not zero :)

Hasn’t someone done this already? YouTube is FULL of stuff like this!

I know. There is a lot already out there, and a lot of that is “better” than what I’m making.

But there are some distinct advantages to doing this myself:

  • I run into the snags that students would run into, and I fix them
  • They can hear my voice and get to know me a bit, hopefully making other communication easier
  • I use the same IDE they do, so it’s up-to-date, not version 6.8 or whatever
  • I can focus my videos on the course concepts and not other stuff (like some tough math)

Are you going to keep doing this?

For this semester I will. In the future offerings of this course I hope to be able to reuse at least some of these videos, although I know they will become obsolete in some ways. And if I get a chance to teach ICS4C/4U I’ll get to work on a whole new round of concepts, which is kind of fun for a geek like me.

#CS teachers: I need help developing an inquiry task

I am trying to develop a task for my online ICS3C/3U Computer Programming/Science class, and I need the students to be deeply “engaged”.

I return again to my latest, favouritest definition for student engagement: “A student is engaged in learning when they feel a compulsion to pursue the learning apart from external motivations.” That is, not just for marks, and not just because Mr. G said they have to. I want them to want to learn.

So I want the students to pursue their own interests as much as possible. I believe giving students the freedom to choose will be a lot more likely to kindle that compulsion I want to see in them, and will result in deeper learning and, rather importantly, more fun for all of us.

My challenge is figuring out how to frame that task so that I give them

  • enough latitude to pursue whatever interests them (knowing that I can’t predict these things!)
  • enough guidance to help them formulate their plans (so they can learn from the experience)
  • enough restrictions to ensure that they are learning for this course (since I have to assess and evaluate them).

So I’m a little stuck. I’ve created an openly-editable Google Doc with their learning goals and my initial thoughts. I would be very, very pleased if you would take a look and add comments, ideas, criticisms… anything that can help me move forward with this. I’m trying to plan very carefully to minimize the chance that this wastes my students’ time and effort, and to minimize any unnecessary frustrations they experience.

Here’s the document; please share widely: Learning Computer Science Through Inquiry

Much thanks in advance, from me and from my students!

Upcoming #OTRK12 Session Highlights – Part 3

Another chance to hear about the great opportunities at On The Rise K-12: Enhancing Digital Learning on April 1 and 2, 2014 in Mississauga, Ontario. You can read all the details at http://otrk12.ca. If you want to attend, you can register there (the cost is $100 per person per day).

The awesomeness continues

I’m sure you’ve already read through Part 1 and Part 2 of this series. Here are a few more beautiful learning opportunities.

Note: If you have already registered and wish to change your session choices, just send me an email with the new session code(s).

Tuesday

Session Block 1

D1S08: Leaping into Literacy Test Preparation with D2L

This session will look at the TVDSB OSSLT preparation strategy using D2L. We will demonstrate what the course actually looks like, the data that can be collected when utilized with students (individual/group, skill/competency) and how it is being put to use in a variety of different ways in our schools to suit their unique needs.
Intended Audience: Secondary Teachers, eLCs/DeLCs, Administration
Experience Level: Intermediate-Advanced
Presenter(s): Shereen Miller and Carrie Huffman

Session Block 3

D1S22: Blended Learning Meets Science & Technology (Elementary Focus)

Join us for a look at Ministry provided Blended Learning resources specifically for K-8 Science & Technology, including the provincial Virtual Learning Environment (vLE). Did you know that Ontario teachers have access to blended Science and Technology packages, carousels of OERB objects, as well as tools such as ePortfolio, News, and Calendar? Did you know that Blended Learning provides flexible and engaging ways to help students demonstrate their learning and focus on activities that highlight communication, collaboration and differentiation? Come and find out more about how you can make Blended Learning part of your students’ learning experience.
Intended Audience: Elementary Teachers, eLCS/DeLCS, Administration
Experience Level: Any Level
Presenter(s): Sharon Korpan

Wednesday

Session Block 1

D2S08: Building a diverse, digital learning ecosystem

Just as a carpenter wouldn’t get very far with just a hammer in his toolbox, so to the e-teacher wouldn’t get very far using only a single digital tool. This presentation will look into various online tools for replacing classroom techniques as well as unique digital tools that offer opportunities that can’t be found in a f2f learning environment.
Intended Audience: All teachers
Experience Level: Beginner-Intermediate
Presenter(s): Tim King

Session Block 2

D2S13: Inspiring Technology Training

This session will cover lessons from voluntary and incentivized tech training. Examples include lunch and learns, after school professional learning “tech” groups, and earn a laptop type session. The session format will be a short overview of what other boards have done, followed by discussions and questions by attendees on how to encourage this type of learning in their own boards. Attendees are encouraged to share their own stories and questions regarding how to expand PD opportunities in their own boards.
Intended Audience: eLCs/DeLCs, Administration
Experience Level: Any Level
Presenter(s): Gino Russo, Corrine Pritoula