LearningForward

Kent Chesnut's technology in education blog.

November 29, 2007

Technology isn’t the Goal… but can it help?

Filed under: Edtech, K12, Motivation — kchesnut @ 8:15 pm

I recently found Gary Stager’s blog post comparing / contrasting the web 2.0 tools and Logo (read here).  Gary discusses why he believes Logo didn’t revolutionize education and why the web 2.0 tools will also fail to bring about a revolution.

 This led me to ask myself; what is the revolution Gary is discussing?  What do I want schools to be like?  I’m sure these ideas aren’t unique - but a combination of the things I’ve read.  Probable sources are Alfie Kohn , Gary Stager, Wesley Fryer, Seymour Papert (Mindstorms - Children, Computers, and Powerful Ideas), … and learning theories such as project based learning and situated cognition.

What do I want my kids to be doing in school? 
Sitting in rows being quiet?  Doing worksheets?  Practicing isolated, decontextualized skills they won’t be able to transfer to real problems?  (I’ve worded these such that there’s little doubt that this isn’t what I want!)

I’ll see if I can sum up what I do want my kids to do in school in as few notes as possible.

  1. Kids will be involved in the decision making process as much as possible, including but not limited to; what they are to learn, how they are to learn it, and how they will demonstrate their learning.  When considering the content that is necessary, the teacher will look for creative and novel ways to bring the students into the decision making process - possibly about how to learn or how to demonstrate learning.  The students will really have a say - this is not the teacher tricking (or out-negotiating) the kids into doing what she wants.
  2. Learning will be embedded within the context of projects that are relevant and meaningful to the kids - inspiring the intrinsic motivation needed to complete the projects.  As much as possible, the projects will be constructive in nature (making something that can be shared and reflected upon) and should reflect real-world practice.
  3. Collaboration is valued and encouraged (not simply considered “cheating”).  Students act as helpers, sounding-boards, and brainstorming partners when solving difficult problems.  Collaboration will take place within the classroom, cross classroom (multi-age projects / problems), and around the world using the communications capabilities of the web.
  4. Teachers engage students as co-learners - modeling how to learn and problem solve.
  5. Students and Teachers interact with mutual respect.  The teacher is not controlling or condescending. 

So where does educational technology fit into this?  Filling the classrooms with technology will not automatically change education.  This type of change will take a major change in the philosophy of teachers, parents, administrators, and politicians.  This is hard work!

However, I think such learning environments could literally change kids’ lives  (Gary Stager writes about his experiences with the Main Youth Center - euphemism for prison - here).  So how can we (I’m speaking as a parent here) help bring such learning experiences to kids - our own and others’?  And how can technology help?  A few ideas include:

  • Encourage - We can provide teachers and administrators web links that demonstrate the successes of classrooms using practices similar to those above.
  • Infiltrate - We can model the use of learning technologies for our kids - and encourage them to use these technologies (and highlight them) in their schoolwork.
  • Volunteer - We can … I’m not really sure what we can volunteer to do!  Set up a class website for displaying work…  Maybe that’s it.  We can volunteer to set up a class website on WikiSpaces or PBWiki to display some of the kids work… then give the teacher the password and encourage her to get involved with news bulletins, etc… then give the kids the password and encourage them to set up their own pages…  This is probably a little dangerous - some little stinker will probably spoof the teacher’s news bulletins or do something equally clever.  Maybe a better path would be to set up a Moodle course for the class, allowing students their own blogs / wikis to do their own thing.  I need some better ideas here! 
  • Bypass - We can work outside the school system to provide such learning opportunities.  Put together a Scratch programming class at your Church for the surrounding neighborhood kids.  Start a computer club.  There are probably a lot of great ideas here - I’m just not sharp enough to pull them up right now.

I’d like to get involved in one or more activities to help bring such learning experiences to kids.  But I want to put my time and effort in areas with the most bang for the buck.  I’d sure appreciate any ideas a reader (maybe I’m being a little optimistic to think someone actually reads the stuff I write) may have on how to provide this type of learning experiences to kids.

November 21, 2007

What year is it?

Filed under: One Laptop Per Child, Papert, Edtech — kchesnut @ 1:50 pm

While reading today I ran across the following (rather lengthy) quote.

“Many cultural barriers impede children from making scientific knowledge their own.  Among these barriers the most visible are the physically brutal effects of deprivation and isolation.  Other barriers are more political.  Many children who grow up in our cities are surrounded by the artifacts of science but have good reason to see them as belonging to “the others”; in many cases they are perceived as belonging to the social enemy.  Still other obstacles are more abstract, though ultimately of the same nature.  Most branches of the most sophisticated modern culture of Europe and the United States are so deeply “mathophobic” that many privileged children are as effectively (if more gently) kept from appropriating science as their own.  In my vision, space-age objects, in the form of small computers, will cross these cultural barriers to enter the private worlds of children everywhere.”  (italics added)

When I read this, I immediately thought of Nicholas Negroponte and the one laptop per child project (laptop.org).  Actually, it’s from page 4 of Seymour Papert’s Mindstorms - Children, Computers, and Powerful Ideas.  Papert’s book was published in 1980.

November 14, 2007

Scratch in the Classroom (Part 2 of 3)

Filed under: Scratch, Logo, Programming, Motivation — kchesnut @ 10:17 am

In this 2nd of 3 posts about Scratch in the classroom, I’ll look at how Scratch compares to NetLogo.  Last summer, I led a computer day camp in conjunction with my Church’s summer fun days.  We used NetLogo to teach kids basic Logo programming.  I’ve been thinking about how Scratch compares with NetLogo for teaching kids programming and math concepts and will elaborate on my thoughts here.

From the NetLogo website (http://ccl.northwestern.edu/netlogo/docs/):

“NetLogo is a programmable modeling environment for simulating natural and social phenomena. It was authored by Uri Wilensky in 1999 and is in continuous development at the Center for Connected Learning and Computer-Based Modeling.

NetLogo is particularly well suited for modeling complex systems developing over time. Modelers can give instructions to hundreds or thousands of “agents” all operating independently. This makes it possible to explore the connection between the micro-level behavior of individuals and the macro-level patterns that emerge from the interaction of many individuals.”

From the Scratch website (http://scratch.mit.edu/about):

“Scratch is a new programming language that makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web.

Scratch is designed to help young people (ages 8 and up) develop 21st century learning skills. As they create Scratch projects, young people learn important mathematical and computational ideas, while also gaining a deeper understanding of the process of design.”

OK, back to the computer camp.  It’s clear that NetLogo was not designed specifically for kids.  LCSI’s Microworlds (http://www.microworlds.com/) would have been a better platform.  But since our network had about 12 computers (and we had a limited budget), I chose to stick with free programs.

I looked at several free versions of Logo including NetLogo, MSLogo and Elica.  I found NetLogo significantly easier to use.  But why go with Logo in the first place?  One could also use BASIC or Java.  The main reason - Logo allows you to get things working on the screen much, much quicker than any traditional programming language.  The kids need only know about 3 commands; pd(pen down), fd (forward), and rt (right turn) and they can start using these primitives to draw on the screen - and learn powerful math concepts.

The basic methodology for the computer camp was as follows:

  • I supplied cards that had selected commands, syntax, …
  • Made sure kids understood that programs that don’t act as expected aren’t bad - or wrong; they just have bugs and need debugging.  And almost all programs have bugs!
  • We’d read through a help card or two.
  • Kids would try out the commands.
  • I’d encourage some specific activities.
  • Kids would work on projects of their choosing with help from me or my helper.

Various activities included: stick drawings with the turtle, chaining commands together, procedures, total turtle trip theorem, turtle walk, branching, …  Activities I specifically encouraged included: draw a square manually, use a procedure to draw a square, use a procedure to draw a triangle, use the square and triangle procedures in another procedure to draw a house (requires debugging).  But most of the time, the kids worked on projects of their own choosing.  Things the kids really liked included: drawing patterns (boys tired of this faster than girls), using setshape to make the turtle look like something else (like a car driving across the screen), working with multiple turtles (Note - Boys will go to the extreme on this multiple turtle thing.  Within minutes of telling them how to generate multiple turtles, the boys’ computers started to hang.  I found that boys tend to go from 1 turtle to about 999,999.)  Challenges included: typing skills in lower elementary students, syntax issues (you really have to put those spaces in the right places), need to remember to send commands via the turtles or the observer (a NetLogo concept).

 I am currently contemplating a Saturday day camp for learning programming with Scratch.  I think Scratch can help overcome several of the challenges associated with NetLogo.

  • Selecting programming elements from panel instead of remembering or referencing the help cards.
  • Dragging and Dropping programming elements instead of typing.
  • Shape-based syntax should alleviate many of the syntax issues.

But what am I (I mean, the kids) missing using Scratch instead of Logo?  Seymour Papert in Mindstorms - Children, Computers, and Powerful Ideas describes some important concepts that children learn when they start programming - like drawing the figures (squares, shapes, trees, birds) and debugging them (turtle walk) when things don’t quite go right.  And don’t forget the important geometric principle of the total turtle trip theorem.  As I started working with Scratch I kind of skipped right over a lot of that.  Within a few minutes I could make an airplane fly across the screen.  Would the kids learn those important basics?  (Of course, I could encourage or even try to make the kids do activities similar to those listed above.  But one of my goals is to foster intrinsic motivation for an academic endeavor - like programming.  And to do that, I really want them to spend their time working on projects that are personally meaningful, not assigned tasks.  Somebody - probably Papert or Gary Stager - referred to this as “hard fun”.)  At this point in time I think that this won’t be a problem.  The kids will quickly run into roadblocks in their programs and need the basics.  This personal desire to learn so that they can move forward with their own project will probably create a very effective learning moment.  (For example, I started writing a simple Scratch program like the old Pong game.  It’s easy to detect impacts between the ball and the side of the screen or a sprite - the player’s paddle - but what do you do then?  First try will probably be to have the ball deflect by a fixed angle… Not quite right!  Ah!  The perfect opportunity to talk about “angle of incidence = angle of reflection” and “number of degrees in a circle”, …)

In conclusion, I consider Scratch a very good choice to use with kids learning programming.  This could be done within the classroom, in a computer class, or in a non-academic setting (like the Church class I held last Summer).  As for me, I think it’s time to re-read Mindstorms and start formulating some goals for a Scratch camp!

As my background is in engineering, I focused on Scratch as a programming environment in the first 2 posts about Scratch.  But I’ve been quite impressed with the flexibility of Scratch - it’s much more than just a programming language.  In my final Scratch post (that sounds kind of funny!), I’ll look at other ways Scratch can be used in the classroom.  Stay tuned!

November 10, 2007

“Bad” Technology in the Classroom

Filed under: Edtech, K12, Motivation — kchesnut @ 8:28 pm

I’ve recently read Will Richardson’s post about the new Classroom War (http://www.weblogg-ed.com/) over the inappropriate use of technologies like computers and cell phones in the classroom.  Add to this Wes Fryers post http://www.speedofcreativity.org/2007/11/08/the-outboard-brain-memory-transfer-and-learning/.  Adding my personal experience with my kids’ schools - my daughter’s school allows the kids to carry their phones with them but they can be confiscated if they are used in school; my son’s school has the kids put them in a basket on the office desk when they arrive.

Schools seem determined to restrict many technologies - especially cell phones - from the classroom.  No, that’s not quite accurate!  You can bet the teacher DOES have his / her cell phone handy.  And I bet in most cases they are careful to use their cell phone appropriately - only when necessary! 

Hopefully, schools prepare the kids for life beyond school.  How are these technologies used then?  I keep my cell phone with me in all meetings - but put it on vibrate.  I only take a call if I consider it an emergency.  I get up and leave quietly and take the call.  Some people aren’t quite as considerate, but I think all my colleagues are making an effort to use their phones appropriately.

Could such appropriate usage can be modeled and encouraged in school?  I think so.  And I think appropriate use could be best accomplished if the other students in the class exerted peer pressure to correct improper use.  But would students provide peer pressure such that others will use their phones appropriately?

I would suggest the answer is Yes and No.  I mean, it depends…

  • If school is an unhappy place where students are just trying to survive until the bell rings, any disturbance is a welcome relief from the drudgery they are facing.  The ringing of a cell phone and the excitement trying to keep the teacher from finding it would be welcome.  Any student peer pressure to quell improper use would seem very unlikely.
  • But… if classes are engaging and kids are interacting in activities that are meaningful to them, a cell phone ringing would either be ignored or looked on as a nuisance.  In this classroom, the peer disapproval to improper cell phone usage might motivate proper usage.

 In summary, I think inappropriate cell phone use in school is a symptom of 2 things.

  1. Kids aren’t taught to use them appropriately.
  2. Typical schools do not provide an environment such that appropriate use would be motivated by peer pressure.

So, where does that leave us?  In my opinion, cell phones aren’t the problem.  The real problem is that schools are not the engaging and meaningful places that they could be.   So banning the phones might be necessary (might not), but by all means let’s work to find ways to make the schools better places for kids.

Question for me… What can I do (as a parent) this week that could help create a better classroom experience for kids?

November 3, 2007

Scratch in the Classroom (Part 1 of 3)

Filed under: Scratch, Programming — kchesnut @ 10:15 am

Holloween is now over.  Our Church, Fresh Start Community Church, in Moore, OK held our annual Fall Festival last Saturday night.  I usually set up something for kids to do in the computer lab as part of the activity.  This year I set up 2 activities, TuxPaint for the younger kids and Scratch for the older elementary kids.

Scratch is a free programming environment built by MIT (http://scratch.mit.edu) that allows you to visually put together programs from operational blocks - like moves, loops, branches, …  You literally drag the program elements to the program pane and they snap together (think of lego blocks). 

I’ll take a look at Scratch in 3 posts.  The first, this one, will look at Scratch as a programming environment and language.  In the second, I’ll give some of my thoughts about the differences between using Scratch and NetLogo with kids.  In the third, I’ll discuss some ways I think Scratch can be used in the classroom.

For the Fall Festival, I put together a very simple game.  The object was to control the airplane, helicopter, or witch through the screen without hitting things.  After the kids played a little, I encouraged them to fiddle with the code (make plane fly faster), create a new sprite (to fly through the course), or create a new course (background).  I felt like this was pretty successful.

A (somewhat squashed) screenshot of the complete Scratch environment is shown below.  As you can see, there are several different panes.  See http://scratch.mit.edu/howto/ScratchReference.pdf for a complete description.  In summary, the left area displays the programming elements that can be dragged into the selected sprite’s (or the background’s) scripts.  The programming elements are shaped such that they fit only in the appropriate spots.  The center area shows the currently selected sprite and its scripts (programs), costumes, and sounds.  The right area shows the stage and below the stage are the sprites and background in the program.

Scratch Screen

The simple program I put together has only 1 sprite which has 4 scripts.  We’ll look more closely at the 1 script that you can see in the image.  The other 3 simply turned the sprite by 15 degrees whenever the  up or down arrow key is pressed and a script that reset everything back to the beginning to start over.  The last script is needed because of bugs that are evident if you play the game a little while. 

Game Script

I’ve included a full size shot of the simple script.  I’ll describe some of the Scratch features that it illustrates.

  • Start the script by clicking on the green flag. 
  • The programming elements are shaped to fit in only places they belong. 
  • Forever illustrates 1 of many kinds of loops available.
  • The if statement illustrates conditional statements.  The touching color allows you to detect if the sprite is touching a specific color on the background.  You can also detect if the sprite is touching the edge of the screen or another sprite.  The “or” is a logical - “and” and “not” are also available. 
  • Next costume instructs the sprite to change to its next costume (in this case, when the airplane hits an object of the colors listed, it changes into a broken airplane, plays a cymbal crash, and falls to the bottom of the screen).
  • If the airplane (or whatever) makes it to the right side of the screen, a bell tolls and the script stops.
  • Start the next screen by clicking the green flag again (the background has a script that changes to the next background each time the green flag is clicked).

Programming Strengths

  • Methods (scripts, program segments) are tied to the object (a sprite or the background)
  • Attributes (variables) can be tied to an object (local) or available throughout your project (global)
    Both of these contribute to an object oriented feel!
  • Ability to easily detect collisions of sprites with each other, the edge of the screen, or colors on the background.
  • Ability to add sound.
  • Ability to have multiple sprites and backgrounds and change them programmatically.
  • Very broad and general set of programming constructs.
  • Use of programming blocks alleviates need to remember syntax and commands - just look through the programming elements and pick. 
  • Probably most important - the ability to get something happening on the screen quickly.

Programming Limitations - I did  note a couple of limitations that I’ll mention - but I don’t think they will adversely affect kids working with the program.

  • Inability to pass parameters to subroutines (broadcast, in Scratch lingo) or return values from subroutines.  This can be simulated (if required) by setting up a few global variables for parameters to pass and one for values to be returned to the caller.
  • Inability to add comments to scripts.  (I’m not sure kids are too inclined to do this anyway.)

Well, so much for Scratch as a programming environment.  In summary, I think it’s great - and fun!  My advice - download Scratch and start working learning playing with it today!

Powered by WordPress