Category Archives: Uncategorized

Edcamp Design Thinking

Design-Thinking-fo-Educators

Picture and more ideas about DT at Design Thinking For Educators

My brother in law and I arrived about an hour late for Edcamp Design Thinking. We immediarely dove into Wikipedia:Design Thinking. We were dropped into the midst of a World Cafe Conversation about what is Design Thinking, What do we already know about DT. It seemed very similar to me to the inquiry based learning workshop I attended yesterday.

 

The organizer of Edcamp DT, Jennifer Chan, made a storify story of the event as told on twitter.  I appear once or twice.

It was a great event in a fabulous space. I hope they do it again.

Simcoe County Teacher Librarian Symposium

wpid-brain.png

image

It’s my 2nd year as 0.2 librarian in our school. My role is mostly to assist students and teachers with their computer and technology projects. My professional learning goal is to grow into the role of teacher librarian through workshops, reading and courses.

Today I am at the Simcoe County Teacher Librarian Symposium.  This post is for my reflections about today.  It will grow as the day goes on.

The keynote address by Larry Schwartz was about great and inspiring picture books. l want to check out the story called Because of Mr. Terupt.
Here is the bibliography he gave us at the end of his talk.

image

What’s in my swag bag?

image

image

11:00 Just spent a whirlwind 15 minutes buying books with my librarian partner. She has been
Ibrarian at our school for 20years so she knows all the vendors and all the books in our library. We focused on books supporting character education and math.

image

I’m now at my second session: Comprehension and Collaboration: Inquiry Circles with Lori Ramer. She used prezi for her slides so here they are:

Lori Ramer has some great teaching resources on pinterest.

My 3rd session was Vision Boards with learning Skills. Jen Graham told us how she creates vision boards about learning skills with her grade 7/8 students. Then we had 15 min to make our own vision boards.

My final session was teacher librarian peer coaching. This was a chance for teacher librarians to share their successes and frusrations and their best tips and tricks.

The day ended with a draw for resources donated by the vendors at the conference.
My prize, Namesake by Sue MacLeod.

20131004_151821

I’m going to Edcamp Design Thinking

I am a long time fan of unconferences, starting with Podcamp Toronto. I went to the first Edcamp Toronto two years ago but was called away unexpectedly at the last minute (literally– I drove 2 hours and was 5 minutes away from the venue) before last year’s Edcamp Toronto. I am looking forward to Edcamp Toronto Design Thinking on October 5.

Edcamp Toronto Design Thinking Poster.

There are Many Reasons to Learn to Program

In the above video from a variety of celebrities make a case for why programming should be taught to all children.  It is worthwhile to watch the full 10 minute video at Code.org.  Code.org also offers links to a variety of learn to program resources, including Scratch.

During this project to transition from Scratch to learning to program in Python,  Madeline Bishop has twice made comments on my post suggesting that my journey moving from scratch to python would help students wishing to pursue career.  She asked:

Do you have any idea of how many kids transition from Scratch into another language?  How many go on to have IT career?

My first reactions were– I don’t know  and I don’t really care.  But this comes off as blunt and doesn’t fully explain my thoughts on teaching myself how to program, or teaching children how to program.

To explain, I have to tell a little bit about myself-  I am a singer- songwriter, I play guitar and bass, I am a podcaster, blogger and have dabbled with creating websites since the early web. I dabble with photography and video. I was an early volunteer for Librivox.org recording public domain audiobooks.  I am a fan and proponent of open source software and make liberal use of public domain and creative commons media.  And I am a slow but persistent home handyman– I told my wife I am restoring our house on the 21 year plan (7 years in and it is starting to look quite nice).

As a regional children’s entertainer and folk songwriter, I have long become accustomed to well meaning questions of “So when can you quit your day job?”  The answer is “Never”.  But I derive immense pleasure from writing and sharing my music with others.  When I get the odd paying gig, it helps subsidize my gear buying habit. But I derive far more value from all my creative endeavors than just monetary value.  I think one of the greatest values is that I approach the world as a creator– rather than a consumer: of music, of media.

So learning to code for me is another creative outlet.  For me it is a liberal art… not just a means to a career path.  I found an article that develops this idea better than I can explain it:  Why Everyone Should Learn to Program by Dan Haggard.  In it, he explains how teaching himself to program in python has enabled him to do his work as a university administrator more efficiently.  Let me share just a brief snippet that gets to the heart of his argument:  (emphasis is all mine)

Given the relative ease in learning the basics of programming in scripting languages like Python, the time has come to challenge the assumption that programming is a specialisation.  If you need an analogy:  is learning to read and write in a spoken language like English – a specialisation?  No, it’s a fundamental tool needed to navigate your contemporary existence.  It’s easy enough to learn that you devote some of your early years to the task – and then it stays with you for life.  You could go on to specialise in language use.  Maybe you’ll go on to become a writer.  But you don’t need to specialise for your language skills to provide you with an incredible level of life-improvement.  Well – so to with programming.

What’s more – I now feel cured of an affliction I never realised I had.  If I had to name this affliction, I’d call it –defaultism.  Always did I just default to the way of things as it was handed to me.  Now I look at every aspect of my life with a hacker’s eye.  How can I free myself of this task? – is the question now at the forefront of my mind at all times.  There is no need to throw out every interface with which we are presented.  If it fits our needs and desires then fine.  But how often do you subvert your own desires and needs because of the constraints imposed by the limitations of the interfaces with which you have been bequeathed?

I also found a nice contrasting view by Jeff Attwood at Coding Horror entitled: Please Don’t Learn to Code.  Atwood’s key arguments centre around the idea that skilled programmers do not just produce lines of code.  The are problem solvers who through years of experience develop certain ways of approaching and solving problems.  He writes:

Look, I love programming. I also believe programming is important … in the right context, for some people. But so are a lot of skills. I would no more urge everyone to learn programming than I would urge everyone to learn plumbing. That’d be ridiculous, right?

In the final paragraphs of his article, Atwood seems to come closer to what I have been getting at:

The general populace (and its political leadership) could probably benefit most of all from a basic understanding of how computers, and the Internet, work. Being able to get around on the Internet is becoming a basic life skill, and we should be worried about fixing that first and most of all, before we start jumping all the way into code.

Please don’t advocate learning to code just for the sake of learning how to code. Or worse, because of the fat paychecks. Instead, I humbly suggest that we spend our time learning how to …

  • Research voraciously, and understand how the things around us work at a basic level.
  • Communicate effectively with other human beings.

These are skills that extend far beyond mere coding and will help you in every aspect of your life.

Both articles suggest that knowing how computers and programming work are a life-skill rather than just a career-path.  They teach us a certain approach to problem solving and how to think.

Back to the initial question of how does my Scratch help kids transition to an IT career.  I still don’t know.  But I have found out through my readings and learning a bit about Python, that Python is a great first or second programming language that allows someone lots of opportunity to explore a variety of styles of programming and almost limitless applications: whether it be making games, applications for the web, mobile apps, or complex scientific mathematics.   So yes, I guess it could be a first step to exploring an IT career,  or the first step to becoming a creator rather than consumer.  I find the latter idea much more compelling.

SeaCow-peacenik1-flickr

Photo by peacenik1 on flickr

CCOW – Week 4 Wrapup Post and Python Project Progress

CC photo by http://www.flickr.com/photos/xpectro/ on flickrIt’s the end of the last  (Professional activity) day of school.  The children finished, and my office/classroom is packed up till late August.

Back to my regularly scheduled CCOW Activities.

I dabbled this week at some of the Week 4 activities.  I skipped the advanced features activity because I have been trying to use some of Scratch 2.0s advanced features in previous weeks.  I looked at some of the resources on the ScratchEd site for the Activity Exploration but I did not keep track of the ones I looked at.

My focus has been on my Personal Project to Pursue Programming in Python as a Pastime.    As I delve into the resources, my  focus is getting clearer.

1) I want to build upon my experience using Scratch to teach myself how to Code in Python.

2) I want to document my personal experience and explore how I can help my students make the transition from SCRATCH to real-world programming.

The focus for me is strongly on 1)– I (Sean McGaughey- life long learner, and dabbler in all sorts of creative endeavours) want to learn more advanced programming.  I was thinking that because of this primary focus that my project might be beyond the scope of the CCOW workshop.   I think I was mistaken.  All the feedback I have had about this project has been positive.  I was greatly encouraged when 2 of the facilitators (Ingrid and Laura I think) each mentioned my project on CCOW office hours yesterday.   It seems that many people are interested in how to move from SCRATCH’s controlled sandbox into the big Programming Playground beyond.  I hope as I chronicle my transition it can be helpful for other teachers and their students.

Reflections from my first few days working with python.

  • I chose python over javascript, java, or other multipurpose languages because it seemed to be used for tons of things from games to the internet to sciencific calculations, to mobile apps.  Also there are tons of free online resources and tutorials to teach yourself python, and many of them are geared towards children.  I am keeping a list of the links I find using diigo.
  • I spent a lot of time researching IDE (Integrated Development Environments) for python.  Think– word processors that also check your code for you, help you by automagically finishing what you are typing, and like scratch provide some kind of stage or window to show your code in action.  Python comes with a perfectly good IDE called IDLE, but I investigated about 6 before I settled upon pyscripter for windows.  It autosuggests commands and variables,  it automatically completing brackets and auto-indents lines of code into blocks.  This makes it easier for me to learn the correct use of spaces and indentation.  It also has very intuitive syntax-checkers and debuggers which are also helping me understand how to structure code in python.  *Next week I should write a blog post comparing the IDE of scratch to some of those available for python and other programming languages.
  • Does anyone know of an IDE for python that has the same main features as SCRATCH– ie Stage to run the program, heirarchical lists or menus of available commands, editor to put the code in?
  • Bah!  The Training Wheels are definitely off.  Python is fiddly– Spaces, punctuation, case, and indentation all have meaning.  Make a simple error in any of them and the program will not run.   (Fortunately a good IDE will help to make it easier to learn the ‘rules of the road’ for how code should be structured.

Resources I have used this week:

I have been trying to specifically use ‘python for kids’ books because they are aimed at beginners and because I want to know what is available for my students.  I found 3 to be very useful.

All three of these resources are available for free online, but each of the authors also has newer revised editions of these books available for purchase as paper books or ebooks.   I like the playful, humour filled style of all three authors and I am sure kids would enjoy them too.

Potential blog posts:  

      • Compare the object oriented nature of scratch (Sprites and Code blocks snapped together) with python (Functions, modules and libraries).
      • Prepare some code examples in both Scratch and Python
      • Make a bit of a graphical metaphor using buckets, boxes or something to show how python interchangeably uses variables, lists, tuples, functions, libraries etc… *Basically– anything you can give a name and value to can be used in place of any other thing that outputs a value– “If you know the correct syntax– erm ‘the magic words’ “.

That’s all for this week.  I’m looking forward to spending more time with CCOW now that school is over.

 My other week 4 posts: 

Coder’s Log Terradate 26.06.2013

Week 4- Workshop Project: Defining and Planning

 

CCOW Week 2 Debug It

I’m loving these debug it activities. It is a great way to teach problem solving strategies and lateral thinking. It is also a great way to introduce need coding concepts.

2.1:  Original project: Debug-It 2.1 by karenb   My solution: Debug-It 2.1 remix

My Solution:
1st try- move define block code to stage… no change.
2nd try- copy define block code over to Gobo… no meow.
3rd try– drag sound “meow” from Scratch sound window to Gobo sprite icon. Success!

2.2: Original project: Debug It! 2.2 My solution: Debug-It 2.2 remix

My Solution:
The original counting code was set to always repeat (10).
I dragged the blue (answer) oval into the repeat block.
Success!
(And I added a trumpet sound when scratch is finished– Just because).

2.3: Original project:Debug It! 2.3 My solution: Debug-It 2.3 remix

My Solution:
The original code has no pauses after each talk statement and the broadcasts to call the other sprites are sent in no particular order.
Solution:
Add a wait 1 second after each statement and broadcast.
Place the podcast block for each sprite directly after Scratch calls them.

2.4: Original project: Debug It! 2.4  My solution:Debug-It 2.4 remix

My Solution:
In the script for SCRATCH Cat after he say’s jump, I added a
[broadcast (jump)] block.

2.5: Original project:Debug It! 2.5 My solution: Debug-It 2.5 remix

My Solution:
This one was trickier.

I added a little script for each background:
When Background switches to (x) –> hide dinosaur — stop (all)–

For the auditorium block I added a show block just before the dinosaur.

Sharing Stories, Becoming Storytellers- a k12 online presentation

I had alot of fun sharing about our school’s project to share our favorite stories. My finished presentation Sharing Stories, Becoming Storytellers is posted on the K12 Online Conference site.

My k12 online presentation slides.

SharingStories_K12OnlinePresentation Powerpoint Slides for download.