You should be using Adobe Connect. No excuses.

If you work for a school board in Ontario providing central support (like I do), you should be using Adobe Connect. It lets you have virtual meetings.

This post is not to explain how to use the service. It’s just to tell you that you should.

I mean it

Have you ever driven to a distant school (in our board, some are nearly 5 hours distant) for a short meeting?

Have you ever traveled to another part of the province for a series of lectures and PowerPoint presentations?

Have you ever participated in a teleconference which would have benefited from visuals?

Have you ever left a distant meeting and noted to yourself that a memo would have been equally effective (that is, not at all)?

I want you to consider learning to use Adobe Connect yourself.

Save time

Stop driving everywhere. For real. If I drove to Wawa every time I needed to demonstrate something that I could do online, I’d spend five hours in the car I didn’t need to.

Save money

Stop driving everywhere. I know, I just said that. My trip to Wawa costs several hundred dollars, and I think that money is better spent elsewhere.

Do better

Teleconference is very confusing. There are no visuals, or people are trying to follow along with something they’re holding. You can’t talk while others are talking (chat pods are nice for this). Sharing web links is nearly impossible.

But I don’t have time to learn it!

Yes you do. You just spent 7 hours driving to and from Sudbury. Instead, take two hours to practice Adobe Connect with someone in another board and you’ll both be experts, for free, and you’ll have 5 extra hours to spend with your family and five hundred extra dollars to bus students to a special event.

But my participants don’t know how to use it!

They don’t want to drive all day either. Send them a link to this post.

A note about services

Adobe Connect is not the only service out there for this kind of online collaboration; it’s just licensed for use in publicly-funded Ontario schools. Google Hangouts are great, and there are a variety of other ways to connect online. Pick something, please.

A Sample Proof Using Mathematical Induction (playing with LaTeX)

It’s been a long time since I used LaTeX regularly, and I discovered that I don’t have any leftover files from my days as a math student in Waterloo. After looking at LaTeX in the context of D2L today, I dug out a unit plan I had written for MGA4U (extinct) in 2003 using the Ontario Curriculum Unit Planner (also extinct).

First it’s worth noting that I had no idea what good assessment looked like. It’s almost 11 years ago, but it feels like a lifetime when I look at the awful way I was planning to assess students. This was a unit I developed while practice teaching. I’m really, really glad my practice doesn’t look like that now.

Anyway, I found a page (“S2 Teacher Resource 1.pdf”) which I had typeset using LaTeX. I thought I’d try to reproduce the mathematical proof on the page to see if I could remember how. Here’s a picture of the page:

A photo of a sample proof on paper

I left off the trimmings and tried to write the middle. I can’t remember how to indent things the way I did before, so I’m settling for something different (feel free to educate me, though).

I used the JaxEdit LaTeX Editor at http://jaxedit.com/note/ to create the document:

\documentclass[letterpaper]{article}
\newtheorem{thm}{Theorem}
\newproof{proof}{Proof}
\begin{document}
\title{Sample Proof Using Mathematical Induction}
\author{Brandon Grasley}
\date{2014-01-21}

\titlepage
\begin{thm}
\\For any $n \in \mathbb{N}$, 
\[$\sum_{i=1}^{n}i=\frac{n\left ( n+1 \right )}{2}$\]
\end{thm}
\begin{proof}
\\Base case $n=1$: If $n=1$, the left side is 1 and the right side is $\frac{1\left ( 2\right )}{2}=1$.
So, the theorem holds when $n=1$.
Inductive hypothesis: Suppose the theorem holds for all values of $n$ up to some $k$, $k \geq 1$.
Inductive step: Let $n=k+1$. Then our left side is
\begin{align}
$\sum_{i=1}^{k+1}i&=\left (k+1\right )+\sum_{i=1}^{k}i\\
&=\left (k+1\right )+\frac{k\left ( k+1 \right )}{2}$\text{, by our inductive hypothesis}\\
$&=\frac{2\left (k+1 \right )}{2}+\frac{k\left (k+1 \right )}{2}\\
&=\frac{2\left (k+1 \right )+k\left (k+1 \right )}{2}\\
&=\frac{\left (k+1 \right )\left (k+2\right )}{2}$
\end{align}
which is our right side. So, the theorem holds for $n=k+1$. 
By the principle of mathematical induction, the theorem holds for all $n \in \mathbb{N}$.
\end{proof}

\end{document}

This generated a page like this:

An image of the proof rendered from LaTeX

 

I’m definitely surprised at how hard it is to find free, online LaTeX renderers. I ended up taking screen shots of that output in order to post it here. The others I found either require sign up or didn’t successfully render all of the math components.

Well, something to keep exploring. I wonder if I’ll start working in HTML with MathJax instead, using D2L as the authoring platform. We’ll see.

Thinking about course design in e-Learning and Blended Learning

I’m working with a few teachers to design e-Learning courses. In Ontario, many e-Learning courses have content provided by the Ministry of Education as a starting point for delivery. e-Learning teachers will often take that existing content and use, change, delete, and supplement it according to their needs and the needs of their students.

But the interface that’s being used in these courses seems to have some problems. It was designed “a long time ago” (that’s just a few years, in this realm), and the learning environment has changed in possibly significant ways. The existing structure for most (not all) courses is to have one module per unit of the course, and then a series of pages for each activity in that unit. An activity consists of an Overview page (which is visible to the student in the Table of Contents), an Expectations or Learning Goals page, a page or group of pages labelled Content, and a page labelled Assignment. Expectations/Learning Goals, Content, and Assignment are linked internally from the Overview page, rather than listed in the TOC, so students see only Activity 1, Activity 2, etc., instead of a long list of all of the pages involved.

CHC2D_eLO_2

Student view of an eLO-provided course

Problems come up for the teacher in trying to navigate and edit the pages they want to. If they click Overview and then the internal links to Content, the learning environment registers them as being in the Overview page still for editing purposes. The teacher has to instead click the TOC link to the Content page before editing, and there are a bazillion such pages all called “Content” or “Assignment” (since they’re all in the current unit). There are other issues as well, but this is the one I see a lot.

Teacher view of an eLO-provided course

Teacher view of an eLO-provided course

For students, navigating is something they get used to, but it’s not intuitive for them. They enter the activity and click on the Content page, engage with the lesson, go to the Assignment page, complete a task, return to the Content page to continue with the lesson, etc. The back-and-forth is irritating at the least, and it’s difficult for a teacher to maintain if there are any changes.

4-Page Structure

A student view of the 4-page structure of activities

Sometimes an Assignment will ask the students to participate in a Discussion. The Assignment page will give instructions, which are duplicated in the Discussion Topic area. Similar stuff happens with Dropboxes. This is a problem for maintenance as well: if you want to alter the instructions, you have to do it in more than one place.

So here’s what I think we should do.

  • Let’s have a module per unit, and a module per activity within that unit. Let’s make the Activity Overview and Learning Goals a single page, and the Lesson/Assignment a single page (I have to think of a good name for this; maybe it depends on the task).
  • The lesson materials and assignments are presented sequentially so that students are less likely to skip the “content” and just attempt the “assignments”.
  • Hiding/conditionally releasing a unit/an activity means acting upon a module instead of a group of pages.
  • Editing a page is always possible, since we’ll do away with those pesky internal links and rely on the TOC structure instead.
  • Instructions for Dropbox/Discussion tasks will be included in either the Content area or in that tool but not both, and will be applied consistently throughout the course.
  • Discussions, Dropboxes, Quizzes, etc. are not linked to in the Content pages but may be linked to in the TOC (there are lots of issues with changes in the way these tools are linked, so I don’t think the questionable advantage to an inline link is worth it). These items are also named really well, like “Unit 2 Activity 3.2 – For Loops” (including the course code, unit, activity and assignment details, along with an unambiguous title).
A sample of a revised course.

A sample of a revised course.

What do you think? What have you learned from your experiences (in Ontario or elsewhere, in K-12 or higher ed)?

Math rendering in Desire2Learn

I made a mistake (gasp!) in our eLC e-Community yesterday, saying that rendering math equations in D2L required a Java plug-in because browsers don’t support MathML. My information was out of date (I did check an existing course to confirm the browser’s behaviour, but the course was from 2011-2012; the new versions are updated).

Thankfully Tim Hasiuk posted this morning with some gentle corrections, so I figured I’d explain for the world what’s going on.

What I said in e-Community

“If I were to teach a math course using the learning environment I’d probably replace all of the equations with images using a service like CodeCogs.com’s Online LaTeX Equation Editor (http://www.codecogs.com/latex/eqneditor.php) and keep all of my source LaTeX equations. Here’s how CodeCogs renders f(x)=\frac{5}{2}cos(x-\pi)+\frac{1}{2}

CodeCogsEqn

I’d grab that image and insert it into the course – it’s browser and platform independent.”

Tim’s reply

Tim made the following points (portions removed, indicated by …):

“Problem with using images is that they degrade if resized, and the vLE doesn’t allow a lot of image options.

As a side note, MathML is what is used by the vLE embedded viewer to display the LaTeX equations created within the content area. So instead of copying an image, you could copy and paste the code from cogs into the LaTeX equation editor within the vLE content editor.”

Some investigation

So I looked at a newer course (MCV4U for next semester) and saw that Tim is right – the equations are rendered using MathJax (http://www.mathjax.org/), which is a Javascript project. The MathML in a course might look like

<math>
  <mrow>
    <mfrac>
      <mrow><mn>3</mn></mrow>
      <mrow><mi>x</mi><mo>-</mo><mn>3</mn></mrow>
    </mfrac>
  </mrow>
</math>

which renders in the browser, using MathJax, inline like this:

a MathML example

So that’s pretty nice.

Testing the different equation editors in the vLE

But if you’re trying to write new equations, what’s the best approach? I tried expressing the same function in each of the three D2L-provided equation editors: the Graphical Editor, the MathML Editor, and the LaTeX Editor.

The MathML code was

<math>
    <mrow>
        <mtext>f(x)</mtext>
        <mo>=</mo>
        <mfrac>
            <mrow>
                <mtext>2cos(x</mtext>
                <mo>-</mo>
                <mtext>π</mtext>
                <mtext>)</mtext>
            </mrow>
            <mrow>
                <mtext>π</mtext>
                <mo>+</mo>
                <mfrac>
                    <mn>1</mn>
                    <mn>2</mn>
                </mfrac>
            </mrow>
        </mfrac>
    </mrow>
</math>

The LaTeX code was

f(x)=\frac{2cos(x-\pi)}{\pi+\frac{1}{2}}

Here’s how a test page I made renders in each browser I have (you may need to click/tap each to see the full version):

Chrome 32

EquationEditors_Chrome

Firefox 26

EquationEditors_Firefox

Internet Explorer 11

EquationEditors_IE11

As you can see, the browsers were very similar in their handling of the code. In each case I left the default settings for MathJax, which users can choose on the fly (in the past, it was a D2L preferences setting to use a Java plugin or to render the MathML directly). Here are the choices:

EquationEditors_MathRenderer

In IE and Chrome it was best to leave as HTML-CSS; MathML was not rendered by the browser (as expected) and SVG was a bit wonky (inconsistent type size was the most noticeable issue).

Firefox provides native support for MathML, though, so here’s what it rendered:

EquationEditors_Firefox_MathML_Renderer

Looks familiar, eh? Firefox did a nice job, which makes sense.

So what’s the right approach?

Take a look at how things rendered above.

First, the Graphical Editor doesn’t do a nice job (or I’m using it incorrectly). This is really clear in the function notation on the left side of the equation. Kinda gross.

Second, the MathML was rendered nicely. It’s a bit small, but you can adjust the zoom as a user, so that’s not a really big deal. It’s also done inline with the text, which is nice.

Last, LaTeX is the most beautifully rendered (in my opinion), but it suffers here from being a separate, centered block (it’s not inline), which is arguably an issue that is a dealbreaker. Most interesting to me is that the LaTeX is actually converted to MathML for rendering. Has anyone found a way to get LaTeX’s prettiness while still being inline, without having to dive into the HTML? I’d like that to be something a math teacher (and a math student!) would feel comfortable with.

Semi-Final Conclusions

If I were teaching it, I’d be using the LaTeX editor because I’m comfortable with LaTeX as a language. If I didn’t know any LaTeX I’d probably go to an extension or website which uses a graphical editor to produce LaTeX live, like CodeCogs.com’s Online LaTeX Equation Editor (http://www.codecogs.com/latex/eqneditor.php) This is the easiest one I found in my quick search. There are also ways to convert the LaTeX to MathML so that you can use the MathML editor and get the inline capability if you want (see http://www.fmath.info/java/latex-mathml-converter/ for one example).

LaTeX Update

There is currently a really nice, comprehensive guide to using LaTeX for Math at ftp://ftp.ams.org/ams/doc/amsmath/short-math-guide.pdf and another helpful resource at http://en.wikibooks.org/wiki/LaTeX/Mathematics

Another LaTeX Update

This is a really cool tool for recognizing your hand-drawn symbols and returning the name of the symbol in LaTeX: http://detexify.kirelabs.org/classify.html

And here’s a graphical/the-way-you-type-math conversion tool that will generate LaTeX: http://mathlex.org/latex

Will I teach computer programming again?

How I learned to code

I started to learn programming on a Commodore VIC-20 (great online emulator at http://mdawson.net/vic20chrome/vic20.php), then on the Unisys ICON computers (also BASIC) when I was about 10. It was interesting, but I don’t feel like I was really ready for a lot of the concepts involved. Maybe things would be different today…

I dabbled in this and that (learned a tiny bit of assembler, more BASIC, some C) until Grade 10, when I took Computer Science with Mr. Boston at White Pines C&VS. That’s when I really started to take an interest. We worked in Turing, a procedural programming language, and I learned the basics pretty well there. In particular, I remember writing a program to draw a Mandelbrot set on the screen in black and magenta. Eventually I rewrote the program to make a more colourful version, but I can’t remember whether that was in Turing or something else.

Ahead to the University of Waterloo, where I started as a Pure Math student planning to get a minor in Computer Science. My first CS course used Turbo Pascal, a procedural programming language. This was not a course for CS majors (so I qualified).

Partway through my second year of school I was looking for a job for my Coop term. There were positions advertised for the Instructional Support Group (ISG) for tutors. I needed to stay in the Waterloo area (my wife was in North Bay at school and we couldn’t afford to keep up three apartments), but I wasn’t really qualified for any of the serious CS jobs at RIM or Sybase or anything. When I interviewed to be a tutor for CS120, a Turbo Pascal course, the interviewer informed me that they really had a need for Java tutors. I had no Java experience at all, but they hired me anyway (must have been my exceptional charm) and I had a couple of weeks to learn the language well enough to stay ahead of the students.

I started by trying to complete the first few assignments that students were going to have to complete. I started out okay, but then I found that whenever I tried to compile and run my programs I was getting errors like

Non-static method doSomething(int) cannot be referenced from static context

I didn’t know what that meant, really, and I wasn’t Googling then, so I just “fixed” it: I made everything static.

I didn’t understand how object-oriented programming (OOP) worked, and it wasn’t until I’d asked for help, fixed my programs, and saw the power of objects that I really understood what it was about.

I learned a lot about Java in several terms with the ISG, including some interesting work with JKarel, a virtual robot (based on Karel) used to teach OOP. I also learned some shell script (evidence here), bridge, and 5-handed bid euchre (thanks Phil).

I’ve since been disappointed in the security issues that Java has had in the past few years, and had thought my days of Java programming were possibly over.

But now…

This September I’m planning to return to classroom teaching, so I’m starting to think about what I’d like to do. My teachable subjects are Math and Computer Science, and I’ll be the Subject Area Head for Math. I’m expecting that CS won’t be on my timetable for the 2014-15 school year, but I think it would be nice. I haven’t had a chance to teach programming and programming concepts since I left the ISG 2003, and although I’ve dabbled on my own I’d like to jump in again with both feet.

About a week and a half ago I stumbled across and bought “Programming Android: Java Programming for the New Generation of Mobile Devices” on Kindle for $7.51 (I see that today it’s $19.66, which makes me feel unreasonably clever). I haven’t even cracked the virtual cover yet, apart from skimming the Table of Contents before buying it, but I’m kind of excited to revisit the world of software design. I didn’t realize that Android programming was based in Java (using a non-Oracle VM called Dalvik), and so hope rekindled. I don’t even have an Android device, but I’ll be able to code for free using the Android SDK and software emulators, as well as actually loading onto a device down the road.

I’m kind of excited

Programming in Turing helped to develop some useful, basic skills (like understanding loop structures, program logic, data types, etc.) but didn’t really leave me working in a “practical” language (one that is used in real life). Java is a language used in industry, and the prospect of writing Android apps has to be a least a little engaging for students, I hope. This seems like a good starting point for grade 10-12 students who want to learn something fun that will also be useful for them when they leave us. I hope I get the chance; I’m certainly going to ask for it.

How to create a terrible cover for your novel

In general, I’m in favour of the self-publishing movement. It lets people publish their work without having to be “found”; this can be empowering for the dedicated author. Self-publishing and traditional publishing can co-exist, I think; traditional publishers offer great services like editing, promotion, critique, distribution, and more. Some authors opt for something in between, like hiring an editor for a flat fee or paying a company to prepare an ebook for them.

However, a distressing number of [possibly excellent] authors have chosen to design their own covers for their great [insert nationality here] novel, and it causes me to not buy it.

It’s the first thing I see

Even before the title, usually. Cover, title, author, page count (I try to read new folks at under 200 pages, in case it’s awful). You need to get it right, or I’ll scroll past.

It shows how serious you are

If you spend 500 hours writing your story, shouldn’t you spend more than an hour making it look presentable? Or, since you’re better with the keyboard than you are with the camera, perhaps you should consider hiring this out?

You’re not going to make any money if your cover is bad

I think a lot of authors are hoping to make money selling their books. If I won’t buy your $0.99 ebook because of the poor font choice, you can bet a lot of other people won’t either.

Here’s a thought

Instead of having a terrible cover, contact a local high school (or not-local; the Internet is pretty large, I hear). Speak to the teacher who’s responsible for graphic design, photography, or visual arts. See if they have a student who would like to read your book (yes! make them read it!) and design your cover for $200. Better yet, make it a contest: anyone in the class can submit a design, and the winning designer is awarded the $200 and is credited in the book. 

But if you’re going to do it yourself…

…please don’t do the following. Many, many ebook covers look too much like this one.

A bad cover image.

Here’s what I did to build this monstrosity.

Step 1: Find a scary background image

Okay, I couldn’t find a scary forest in less than 60 seconds, so I grabbed this one (I took care to get something with a licence I could use; I worry that many authors would not):

A picture of a path in a forest.

Then, since it was too daytime-ish, I took a moment to make it scary:

A picture of a path through a forest with a poorly-darkened sky.

Step 2: Find an image of a scary object to put in the scary background

No problem. Skulls are scary, right?

A picture of a skull, cutlass and gold coins on a red velvet background.

Now, to get rid of all that extra, non-woodsy stuff:

A picture of a skull in an image editor.

Step 3: Add some text using multiple, tired fonts in difficult-to-read, flat colours

A bad cover image.

That took about 5 minutes, including the time to load Photoshop Elements. Unfortunately my title seems to be related to the cover image, which (judging by the covers I’ve seen) is not a requirement. I’m sure you can do better, and I’m really sure an aspiring high school student can do much, much better. Pay them something so you can get back to writing.

Book Review: “Gabriel: Zero Point, A Gabriel Universe Novella” by Steve Umstead, read by Ray Chase

I just finished listening to Gabriel: Zero Point on Audible. Here’s a quick review. No spoilers.

First, I got the Kindle book in April because the trilogy it leads to was recommended by Amazon, and the novella was free (it is right now; you can get it here). Rather than buy (and more importantly commit many hours to) the series, I decided to take this novella for a test drive. As I’ve said before, I’m strongly in favour of the idea of introducing a series with a novella, whether that’s book one or book zero (like this one).

Did I mention the audiobook was also free? Yup, 91 pages of ebook or 2 hours 43 minutes of audiobook, both free. Get it here at Audible.

The book is a near future science fiction story explaining the origins of Evan Gabriel, a Special Forces officer in the North American Federation navy. The world-building is fairly light in the book, but there’s enough there to see that the world is fleshed out in the author’s mind. It’s a prequel novella, so I hope the world will be explained more fully in book one. The main character is given a pretty good back story without making it too simple (that is, the reader isn’t sure of all of the factors influencing Evan’s decisions and thoughts; I like this). In some stories there is a single event in a character’s history which drives everything they do, and it makes them kinda one-dimensional. Steve Umstead, by contrast, gets it right.

The narration is good, even great, in my opinion. I’ve listened to a lot of audiobooks, and this is one of the ones which tempts me to go see what else the narrator has read. The characters were distinguishable, and the girl (yup, there’s really just one that speaks) sounds girlish.

I went ahead and bought the Kindle “boxed set” of three books for a little over $5 CAD. Each book in the trilogy is just shy of $3 CAD, so this is a good discount. Also, since there is no Whispersync at the moment so I couldn’t get the audiobooks cheaply – I’ll just read the text. I’m beginning another audiobook anyway, so that’s fine. I tend to keep one going in each format anyway. Amazon tells me that it’s 656 pages in the trilogy, which feels like a great value to me at an almost laughable $0.50/hour for good entertainment.

So I recommend it, pretty highly. Hopefully I’ll be able to say the same about the trilogy in a few weeks. I’ll let you know.