Getting there from here


Computational thinking is the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer—human or machine—can effectively carry out.

Wing, Jeannette (2014). “Computational Thinking Benefits Society”40th Anniversary Blog of Social Issues in Computing.

There are many definitions for the concept of “Computational Thinking”.  I like the above because it addresses more than writing a Scratch program that you see as the definition and result from some places.  Don’t get me started.

It also honours the fact that the solution might be human or machine solved.  Not specifically stated, are the notions that we often deal with algorithms and that there might be more than one way to solve a problem.

Here’s a great example.

I think we all have used Google Maps or Bing Maps to get driving instructions.  If there was one answer, you’d expect to get it no matter the program.  That’s typically not the case.  For a heady read, check out this Wikipedia article.

So, I put things to a test.  I asked both map programs to take me from the Yonge and Bloor intersection to The Old Mill in Blyth Ontario.  Here’s how these two popular services would do it.

Bing

2017-11-01_1103

Google

2017-11-01_1104

It’s interesting to note that, once they get out of the Big Smoke, there really are only a few ways to go cross country without a bunch of turns.

What’s interesting is how they get out of Toronto.  Bing would have you head north immediately and use Allen Road to get to the 401 or 410.  Google actually takes you east and then down the Don Valley Parkway to the Gardiner and then to the 401 or 410.  The difference is in the algorithm and the thinking involved in implementation.  For the record, Open Street Map gave the same route as Google did.

Could you do something like this in school?  I think so.  (Because I did)

Let’s forget a computer solution for a minute because it gets very deep in a hurry.  Let’s look for the human solution.  Suppose every student either walks or rides a bike to school.  How do they get there?  What route do they take?

By the time you try this, the path will be engrained in their mind so let’s change the game a bit.  Suppose a new student arrived in your community and wants advice about how to get to school.  Now, it gets interesting.  Of course, they’ll want to get to school as quickly as possible.  Take a map of the community and pin the school and the new student’s house.  How do they get there?  It’s an interesting activity.  (unless they’re bused which leads us to a different talk)  If the walking or biking distance is far enough, you’ll be open to more than one answer.

What would Bing or Google do?  Of course, you know the answer, drop a couple of pins and ask for directions.

A computer solution is a big more challenging but can be done.  A problem that I gave my Grade 12 students went along these lines.

Fortunately, Lasalle where the school was located was mostly laid out on a grid although some roads didn’t always go through.  But that was OK; it made the problem interesting.  What we did was create a big matrix (2D array) and marked intersections as open or closed.  We had a starting point quite a way from the school at cell (0, 0) and the school was located at (20, 20).  The goal was to create an efficient algorithm to walk through the array as quickly as possible.  It wasn’t trivial, but like Bing, Open Street Map, and Google, as soon as you could get to a major road, it was smooth sailing.

Of course, you could make it even more like real life with one-way streets, cross walks, bridges, and points of interest.  For example, I only lived a few blocks from school and could be there in five minutes.  But, there was a bakery downtown that put out its day olds right after school.  Going home was a different route for sure.

Advertisements

How fast is that?


One of my little pleasures is going to harness races and watching these magnificent beasts in action.  I prefer Harness racing to Thoroughbred racing since it’s easier to figure out what’s happening.  I don’t have to worry about furlongs/miles and turf versus synthetic track.  The horses all race for one mile.

But it caught up with me last Sunday.  It was the second race and the #5 horse, Jake Parrish looked like this.  (Highlighting mine)

2017-10-17_1026

Depending upon who you talk to, the program tells you everything with all these numbers or it tells you nothing.  I prefer to think the former.

One of the things that you look at when you handicap is the speed of the horse.  In this case, Jake Parrish had times of 1:57 4/5 and 1:55 1/5 at Grand River Raceway.  He then moved to The Raceway in the Western Fair District where he ran 2:06 1/5 and 2:04 1/5.  Those were pretty big differences in speed.  Often, when you see that, it’s a sign that the horse may have some issues and is just having difficulties keeping his speed.

But, that’s not the story in this case.  If you look at the other highlighted area, you’ll see that the races at Western Fair were not at a distance of one mile.  In fact, they were at a distance of 1 1/16 miles.  How do you compare those races with every other horse in the field that had raced at the standard mile?

How much difference does the 1/16 mile make?

It was an interesting challenge.

Generally, 2:00 (2 minutes) is a standard for a harness horse to run a mile.

It would be nice to be able to convert the program time to an equivalent mile time.  Of course, there are other factors like being in shape, the push from the other horses, etc. but at least this would be a starting point.

Like all numbers, it should be easy enough to calculate.  But then, thanks to my mathematics teachers of the past, I realized that the answer might be staring at me in the face.  Leamington is a 1/2 mile track so a race there makes two laps.  So, a single lap would be half a mile.  All things being equal, it should look like this as I work my way to 1/16.

 1   mile - 2:00
 1/2 mile - 1:00 
 1/4 mile - 0:30
 1/8 mile - 0:15
1/16 mile - 0:07 1/2

A horse can run quite a distance in 7 1/2 seconds.

This seems easy enough.  So, that 2:04 1/5 would estimate to 1:56 4/5.  That number is consistent with his past races.  So it looks like he is in racing form.

Is that close enough?  Is there a way to get an exact calculation?

Of course and another thanks to a mathematics teacher.  I just have to divide 2:04 1/5 by 1 1/16.  I’d start by converting minutes and seconds to minutes.  Remember ratio and proportion?  How about improper fractions?  How about invert and multiply?  All of this came rushing back!

I won’t show my rough work but will confess to feeling pretty silly later knowing that I had a calculator and Wolfram Alpha on my phone.  As it turns out, my initial estimation was pretty good.

So, the next time you get the question “When will we need all this?”, you never know where a good example might pop up.

By the way, Jake Parrish won the race and a $2.00 Win wager paid $5.90.

Full results here.

2018 CSTA Conference Call for Proposals


The Computer Science Teachers Association (CSTA) invites you to submit a proposal to present at the 2018 CSTA Annual Conference. This event will be held July 7-10, 2018 in Omaha, Nebraska.

The CSTA 2018 Program Committee seeks proposal submissions related to the practice of teaching and learning computer science and information technology in K-12. This year the conference is seeking 3 hour workshops; 1 hour sessions; 20 minute mini-sessions; and 1 hour Birds of a Feather sessions.

Proposal submission requires presenter and presentation information including a brief overview/abstract used to inform attendees about the session; as well as a PDF providing more detailed information about the session.

All proposals will be submitted through our online system; however,

 you may preview the application before starting your submission here.

Proposals may be started and updated between the opening and closing of the system. The deadline for proposals is midnight (Hawaiian time) on November 26, 2017. Review of proposals will occur shortly thereafter and notification of the program committee’s decisions will be made in December/January 2017.

All submissions will be evaluated on the following criteria:

  • appropriateness and relevancy for professional development for K-12 computing;

  • feasibility of the proposal;

  • timeliness of the topic;

  • writing and presentation;

  • completeness of the submitted information; and

  • consideration for the breadth and balance of topics at the conference.

Successful proposers should expect to submit a draft copy of their presentation by June 1, 2018. Draft presentations will be posted on the website for attendee reference and note-taking. Some sessions may be selected for videotaping, which will be shared online post-conference. All workshops and sessions will be photographed. Workshop presenters will be given a list of registered attendees prior to the conference so that they may email them with any pre-workshop materials or downloads. All presenters are expected to register for the conference.

 I learned so much and am more motivated than ever to bring essential CS skills
to my students and to my colleagues.
Amazing conference with so many takeaways and ponderings.
I am leaving with specific strategies for our district,
and numerous contacts for help, as we move forward.
 It is a real live computer science conference. Loved it!
The resources…  Best Exhibit hall, great sessions…. it was just… timely

Additional conference details can be found here.

The deadline for proposals is midnight (Hawaiian time) on November 26, 2017.

Submit your proposal here.

We look forward to receiving your proposals and to your attendance at the conference.

The 2018 Annual Conference Planning Committee

Factoring


Kids today have it so easy.

Back in my day, when we wanted a computer to solve a problem, we had to write a piece of code to make it happen.

Now, there’s an app for everything, it seems!

I had a great deja vu moment the other day.  I found this resource.

Prime Factorization Calculator

It’s based upon a simple premise.  Ask the user to enter a number, any number, and it will return all of the factors of the number that are prime numbers.

So, 11 should return just 11 since 11 is a prime itself.

And, 12 should return 2, 2, and 3.

Simple enough, right?

How about a number that’s not quite that solved mentally, like say 777.  That’s when it gets interesting and beyond the problem solving ability of mere mortals.

Screenshot 2017-10-04 at 07.05.27

Of course, you (as I did) will do a little mental mathematics to check this.  Or, perhaps you took the easy way out to check it with a calculator.

What particularly intrigued me was that this was a problem that I did in high school and later reused it in my own computer science classes.  It’s not a trivial problem for solution but there’s huge satisfaction when you get it to work.  I do recall a modification making it less open by indicating that the number input has to be equal to or less than 1000.

It also opens one of those teachable moments since 1 is not included.  Hey, isn’t 1 a prime number?  Great discussion ensued.

I still think that it’s a wonderful problem for students to design an algorithm and generate a computer solution.

For those students and others, there are all kinds of functionality at this resource.

Like they say, today there’s an app for darn near everything.

That’s nifty


I have to give a shout out to Alfred Thompson and his blog post from earlier this month.  He was sharing his thoughts about how to create problems for solution in the Computer Science classroom.

If you follow some of the simple stuff online, you might think that the goal is to get a robot to draw a square or something.  It’s an OK place to start but the study of Computer Science goes much deeper.

If you use a textbook in Computer Science (if you can find one that meshes nicely with your program, that is…), you’ll find that the problems offered don’t go that deeply into the discipline.  Consequently, Computer Science teachers are constantly looking for interesting and challenging problems to assign for student solution.  In many ways, it can be the ultimate in personalization as you search for things to match not only the curriculum you’re covering but that are engaging for students.  You know when you’ve hit a good one when students spend so much time coming up with elegant solutions and then are willing to discuss with you how they did it.

Alfred’s post was “Designing Projects for Programming Students“.  Embedded in the post was a link to the SIGCSE collection of “Nifty Assignments“.

2017-09-22_0720.png

Now, this won’t be your first selection for students starting to cut their teeth in Computer Science.  These are problems that are pretty meaty.  Even if they don’t lend themselves to creating a program, they’re a good start for some interesting work with Computational Thinking.

Here’s an nifty problem to start with – rated middle school and up.

For the Ontario ICS courses, you just might inspiration for using the problems “off the rack” or with modification for your needs.  The collection goes back to 1999 so there’s a great deal of inspiration there.  Have at it.

Learning about hurricanes


It’s been a rough couple of weeks for hurricanes.  It’s been the lead story for so many news programs and the pictures have been non-stop showing us the worst of what can happen.

These things can be the lead to some terrific learning opportunities in the classroom.  You won’t find the real details about what makes for a bad hurricane on the news through.  You have to dig a little deeper.  Here are a couple of sources.

Create-a-Cane

From the National Hurricane centre, a tool that lets you investigate the conditions that are necessary to create such a storm.  Inside the simulator, click on the various controls to customize your hurricane.  Can you make an 80?

Selection_001

Atlantic Hurricane Simulator

This, I really like – for a number of reasons.

First of all, it is very graphic in nature as you would expect in any project of this type.

Secondly, like any simulator, you can adjust the controls to see where your hurricane will go.

Thirdly, it’s written in Scratch.  That demonstrates that you can do serious stuff with Scratch.  And, of course, since it’s open, you can “Look inside” to see what makes it tick.  There’s so much to learn from reading code.  And, of course(2), you can remix the original to make your own simulator.

Selection_002

Selection_004

In the big computer technology deal, here’s a chance to “do different things”, enabled by your helpful technology.

And, even if you or your students don’t have a Florida connection, don’t forget that it can happen here.  Hurricane Hazel

Think Omaha


Here’s your invitation to join hundreds of computer science educators at the annual CSTA Conference.  The conference moves all over the place and the summer of 2018 sees it in Omaha, Nebraska.

The conference offers something for every educator, elementary school, secondary school, and post secondary school.

Look for the call for proposals to be posted soon.  I’ll post the information here.

Information for the conference will be available here.


CSTA will be bringing its world class professional development and educator community together again in July of 2018. We are excited to offer teachers of Computer Science the opportunity to build skills, meet other teachers, and get inspired!

We are happy to announce that the National Integrated Cyber Education Research Center (NICERC) will again be joining us for the conference and offering their Education Discovery Forum immediately following the CSTA conference on July 10 – 12. To find out more about EDF: Omaha click here.

Want to learn more about what Omaha has to offer? Click here.

This family-friendly location is easy to navigate and offers our attendees world-class attractions, dining, and of course, professional development for teachers of computer science. Want to know more? Click here for a fact sheet on Omaha.

Want to know more about the Silicon Prairie? Click here.