OrdOp – the math card game using Order of Operations

I played a game with my math students today. It’s called OrdOp, and we used it to practice our mental computation skills. We used standard playing cards, but the “real” version uses cards numbered 0 to 25.

If you want to try it, here are the rules (and printable cards).

OrdOp – standard playing card rules

OrdOp – custom cards and rules

OrdOp – how to play (video)

eBooks – product or service?

Apparently the EU has decided eBooks should be taxed as services (link) instead of goods (like physical books).

I don’t think it’s that simple. 

When Digital Products Are Services

eBook “retailers” like Amazon are essentially offering you a licence to access a digital product, not ownership of a copy of the product. 

Of course, their casual wording might lead you to believe otherwise:



But you’ve purchased a licence, not a book. 

Compare it to NetFlix. You pay a monthly fee to access a library of digital content. It happens to be the same library everyone else gets too, not a customized library. We are more comfortable with the idea of subscription because we aren’t picking specific movies, and we even expect that some titles will disappear. 

These are services – the companies sell access, not goods. 

When Digital Products Are Goods

When I buy a book from Humble Bundle or Baen though, I’m buying a book (aren’t I?). I’m allowed to use it in certain ways (e.g. on multiple devices), and they’re not able to revoke my licence (I don’t think). There is no DRM to lock me into a platform or a service, and the expectation is that I will manage my purchases honestly and appropriately. 

And I’m glad they provide the ability to download my books at any time, but I don’t expect them to maintain my library for me. I keep my local copies, just in case. 

I’m certainly thinking of an eBook as a thing I’m buying, not a licence I’m buying. I want permanent access.

Can’t the Retailer and/or Publisher Choose?

I think there is room for both types of access, but it’s currently not clear to the consumer what they’re paying for. 

It would be nice for the publisher, or possibly the publisher and retailer together, to decide whether they’re licensing or selling (or both), and then price differentially and accordingly. 

Don’t forget

I have no legal training. I’m just making lay observations, so don’t interpret any of this as legal advice, silly.

Using Java and NetBeans to Teach High School Computer Science

First Question

Another teacher recently asked about my experiences teaching CS and for a description of the tools and language that I used. I thought I might share my response on here, in case anyone can add to the conversation.

First response

I used Java with NetBeans for development. This was my first time through the courses (ICS3U/3C) and it was by e-Learning, so I wanted to stick with something that was fairly standard. NetBeans was really flexible and was fairly nice for building GUIs as well. I hadn’t used a development environment with such effective refactoring capabilities before, so that was a treat. JavaDoc templates were generated automatically, and documentation look up was fast and reliable.

NetBeans_StartPage

Some other CS teachers use Eclipse, JCreator, or something else. NetBeans does have an Android development plugin, although I haven’t used it. If I were to teach the grade 12 course, I might consider focusing on Android development with the Android SDK/Studio IDE. There is a lot more to think about for app development, but I think there would be a significantly increased level of engagement. Also, those skills should be highly marketable for students if they pursue programming or software engineering as a career.

AndroidStudio

If you want to see what it look like while I was coding and developing user interfaces in NetBeans, I have a bunch of videos in a playlist on my YouTube channel.

It was helpful to have the students building GUIs right away in some respects. However, because they didn’t already understand objects when they started this, it was difficult in the later stages of the course to have them create GUI elements programmatically instead of with drag-and-drop tools. For example, one student was creating a game that required playing cards to be displayed, but he needed to create (up to) 52 UI objects to represent them. That screams arrays/lists, but he didn’t know how to instantiate those elements based on what we had already learned. I might try a slightly different approach, rather than changing IDE though.

If you have specific questions I can answer, let me know. I’ll be teaching this course again next year, so talking about this is good for me too! If you want the content/activities I developed, I’m happy to share that as well.

Second Question

Later the teacher asked about whether I had used Python, and if I had thoughts about Python vs. Java. Here’s what I said:

Second Response

I haven’t worked in Python, but I understand that it is fairly powerful and straightforward. I talked to the other CS teacher here and he recommends Java, and I think I do too.

Some points to consider:

  • Python has very forgiving syntax; the argument is that this may allow students to focus on concepts.
  • Java is strongly- and statically-typed, but Python is strongly- and dynamically-typed.
  • Java has a longer history, so there are “more” resources available for support (might not matter – “enough” and “good” are more important than “more”)
  • Java is used for more application types (desktop, web, Android, non-computing devices) and is available on most platforms.
  • Python tends to be used server-side – it’s a scripting language.
  • Python applications tend to be shorter
  • Python uses indentation to describe code structure; Java uses braces.

I use Java because I’m used to it, I understand it well, and it’ll be a nice transition to mobile development for the kids.

Let me know what you decide – it’s interesting!

Your turn

If I have made a mistake above, or if you have thoughts about IDEs/Java/Python/Android/etc., please add a comment and I’ll pass it along!

Using video to capture quadratic motion

In my MBF3C class today we observed quadratic motion and modelled it with http://www.desmos.com, and online graphing calculator. I’ve recreated the steps here (with some fake data).

First, I went to Desmos and projected a blank Cartesian coordinate system onto the screen at the front of the classroom.

Desmos_blank
Then, I found a black rubber stopper (I teach in a science classroom) a little more than an inch across.

I asked for two volunteers who would be willing to throw things at each other. That was easy.

They practiced lobbing the stopper back and forth to each other in front of the screen, trying to get the black rubber to crest visibly near the top of the grid. Eventually they were confident they could do it.
I held my iPhone in landscape orientation and recorded a slow-motion video. After a few attempts I felt we had a successful toss, and the students returned to their seats without injury.

We scrubbed through the video slowly and recorded the x- and y-coordinates for each major tick of the x-axis.

Then we plotted the points in Desmos (using the Table feature):

Desmos_table

We then graphed a generic quadratic using the vertex form and its parameters (y=a(x-h)^2+k). Desmos provided the sliders for each parameter:

Desmos_basic

As a group the students decided to make a negative and small, to flatten the curve, then they adjusted h and k to fit:

Desmos_transformed
Some interesting stuff to note about the process:

  • Even using 120fps there were places near the edges of the curve for which it was hard to see the coordinates (blurring and gaps).
  • The vertex wasn’t on the y-axis, which was surprising to the students.
  • The glare of the projector made the grid a little hard to see.
  • We had to have the lights out to make the grid visible at all on camera, and the dim lighting made the video a bit grainy.
  • The parabola we fit to the data worked really, really well.

What’s next

I’m going to perform some more motion tasks with them to get more quadratic data, and we’re going to do some curve-fitting to model and predict things (for example, how far can you throw a ball off a 10th-story roof?).

I’d like to have a large, physical grid on the wall or something so that I can have the lights on when we record video.

I want students to record video and analyse it. Lots of them have iPhones, and I bet some of the other phones can take good, crisp video. If not, there’s some learning there too (about interpolation if nothing else).

I’ll try some other phenomena also.

A video you can use

Here’s another video we took, if you want to use it:

Physical phenomena for quadratic relations

I’m working on a quadratics unit for my MCF3M (online) and MBF3C (F2F) classes. The Ms need to be able to do a few more things, but both groups have to be able to model quadratic “stuff” using an equation.

I’ll be using desmos.com pretty heavily, and I got some great ideas from Heather Theijsmeijer (@HTheijsmeijer).

I’m trying to find some examples of physical phenomena that I can have students in either class play with to practise/demonstrate modelling. Here are my ideas so far:

Throwing or Bouncing a Ball

This is the first thing I thought of. A ball follows a nice parabolic path in the air if it’s moving horizontally.

My plan is to have students use a phone or camera to record a video or a rapid burst of images, overlay a set of axes, and fit a curve to the path. My iPhone can record at 120fps, which is great. I also found a handy post at Stack Overflow that explains how to extract images from a video, so that might be helpful too.

Pouring Water from a Hose

Set your hose at an angle, turn on the water, and snap a picture. Parabola. Beauty. Maybe put a piece of grid paper behind it, or just import it into Desmos.

Rolling a Ball Up An Incline

This one’s messy, but I think it might work.

Dip a marble in some ink or paint. Set a piece of grid chart paper on an incline (say, a piece of plywood) and roll the ball on an angle up the paper. When it crests and rolls back down, it should have left parabolic paint. On graph paper.

Other ideas?

I’m open to suggestions. I have stuff like photos of suspensions bridges, etc., but I really want something students can generate on their own.

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.