Exploring the Learn-To-Code Options


I’ve helped lead the Technology Club for the past two years at my school.  The twenty 4th and 5th graders would meet once a week after school for about an hour to work through various tech projects.  This past year, we spent time learning how to screencast as well completing a few movie-making projects.  Near the end of the school year last year I saw the now famous Code.org video (above) pushing for computer programming education and I thought that our Tech Club would be an awesome avenue to try this out!  I began to explore my options.

I have pretty limited experience with programming.  I took some basic HTML in middle school and will occasionally research how to make little changes in my drag-and-drop website or blogging website, so I don’t feel super qualified to lead a programming class but eh, it’s just an after elementary after-school club, not a high school AP course.

I came across several programs, some of which were geared specifically towards elementary ages students so that was exciting!  Scratch, Tynker, Codeacademy, LearnStreet, and Khan Academy were a few that I explored.  They’re listed in the order of the amount of time I spent working with each program this summer.

Scratch
Of all the programs I explored, I got into Scratch the most.  In the beginning of the summer, a team at Harvard put on a Creative Computing Online Workshop; basically a free course in learning Scratch and exploring ways to bring it into the classroom!  It was a 5-week program, but I didn’t find out about it until they were almost on Week 3.  I ended up only getting through two weeks of the material, but learned A LOT through the activities I completed, and I got a ton of ideas from the community of educators in the workshop.

Pros:

  • Kid Friendly!– Scratch turns lines of code into colorful Lego blocks!  They have a lot of fun characters you can use in your programs as well as options to draw your own.
  • Created Curriculum- One of the workshop students created a document that basically laid out the curriculum of the workshop, which I plan on using as our Technology Club curriculum.  Thanks Madeline Bishop!
  • Problem Solving ALL Over The Place- You’re constantly trying to figure out how to fix things; Why doesn’t this work? How can I get my code to look a bit more organized w/out losing functionality? How can I make my character do this or that?  This is more of a strength of learning to code in general but I like how Scratch (particularly the lessons in the workshop) take you through activities that make this type of problem solving challenging, but not impossible.
  • Easy to jump into- I watched a couple of introduction videos on how to use some of the basic blocks and how to work with the interface and I found myself working on my first project for over an hour, not being frustrated, but more curious and excited that I was able to create lines of code that made the characters do what I wanted them to do.  My first program was far from impressive, but I was proud of my little dancing man that moved across the screen!
  • Appropriate tutorials– So as I was writing this entry, I was originally going to put ‘not many tutorials’ because I only remembered going through one on the actual Scratch website, and it was sort of a little ‘step-by-step’ of how to get a character to move, and after that, I was dependent on YouTube videos of more experience programmers and learning from watching them.  I went back to Scratch to see if there were more tutorials that I never saw and found this little ‘hints’ button, which had a plethora of little quick tips that are SUPER useful, like ‘how to get your character to follow the mouse if you’re creating a game.’  I think I could probably just show my students that button and they would be set to go for the rest of the semester.

Cons:

  • Not The Most Aesthetically Pleasing- the only thing that really didn’t excite me about Scratch was how a lot of the final programs, including many of the more advanced ones, sort of ended up looking blocky, pixely, and just generally not the most aesthetically pleasing.  Definitely not a deal breaker for me, but it would be nice if it was a little easier to get your projects to look cool.
  • No Teacher Accounts- These are in the works though.

Tynker
I didn’t spend as much time on Tynker but it was basically like Scratch as far as the whole Lego-block programming.  They actually credit Scratch in their About Me as their inspiration.

Pros:

  • Teacher Accounts: You’re able to set up a whole class and monitor their progress.
  • Aesthetically Pleasing: The interface looks pretty cool and it looks like it’s easier to come up with smoother looking programs
  • Lessons: There’s quite a few step by step lessons for the students to go through.  The students have to complete the code correctly before moving on.
  • Impressive results: Seeing a lot of different teachers posting what their students are creating has been impressive.  Many of them are pretty decent little games and look cool.

Cons:

  • $$$- Several features are only available with the paid premium account.  You’re able to do a lot for free, and most of the premium features have to do with additional lessons and student assessments, but one of the things it lists is ‘Anywhere Access Online’ saying that students will be able to access Tynker from their home computers.  Are students not able to access from home with a free account?  I also saw they had 5-day summer camps in CA that were going for $600.  Seemed a bit steep.
  • Available only to schools: I had to create an account with my school email address.  I would not have been able to join had I not been an educator.  Students can join with my class code, or I can just create an account for them.
  • Weak lessons: As I started going through some of the lessons, there was a lot of ‘do this, drag this here, put that here, you’re done!’  I felt like I wasn’t even sure why I was doing some things, but before I knew it, I was done with the lesson.  To be fair, it’s hard to do a programming tutorial any other way.  Perhaps they could have questions like ‘out of these blocks, which one do you think will get your character to move?’ and allow room for experimentation within the lesson.  The lessons can’t be that bad though if 6th graders are coming up with some pretty awesome games.

Codecademy & LearnStreet
I spent a couple hours a day playing with Codecademy for a week (less time on LearnStreet but saw that they were pretty similar).  These are more straightforward as far as learning specific programming languages, where you have your instructions, your coding area, and your window showing what your code is doing.

Pros:

  • Many Languages- Both had a good handful of languages to choose from, including Javascript, Python, and Ruby.
  • Sense of Accomplishment– As you go through, you really feel like you’re gaining momentum as the lessons are relatively short and you’re walked through them.
  • Teacher Accounts for Learn Street- If you have Edmodo, LearnStreet has a free app that students could access through their Edmodo account once you download it to their class.

Cons:

  • Was I Learning? – The same feeling I had with some of the Tynker lessons was going on here but very much amplified in the Codecademy lessons.  A whole lot of just doing exactly what they told me do without really much problem solving of my own. They wrote much of the code for me and I was to make some modifications or additions to it, but that process doesn’t seem to prepare one to have the ability to write something from scratch and work through the problems that arise.  I would have preferred to go through a couple lessons to get a foothold in the concept and then have to create something from scratch with those new skills, as opposed to learning 10 things in 30 minutes and then having a project where I was doing more modifying than creating.

Here’s a more extensive (and brutal) review of Codecademy as well as a more gracious, but equally critical review.

Khan Academy
I love Khan Academy and have been using the math resources both in my classroom and for my personal learning for a couple years now.  Their computer science curriculum is relatively new.  I didn’t spent much time on it being that most of it was geared towards students at least 13 years old or so, but here are a few things I saw:

Pros:

  • Real Time Changes: you get to see in real time how the changes you’re making in the code effect your animation.  It was pretty fun to tinker with.
  • Good tutorials: I think the tutorials are a good blend of ‘watch how I do it’ and ‘now you play with it a little.’  It encourages a little bit more creativity and play, which is the best way to learn.

Khans :p

  • Not Very Suited for Elementary: one of the statements in one of the Programming Basics tutorials was “Let’s talk about math expressions!  A math expression is any string of numbers and symbols that evaluates to some other number!”  That’s going to fly over most of my 5th graders.  I think this is a great tool, but not really what I was looking for.

quadIn Conclusion
I’m hoping all of this learning to code isn’t just a trend, because I really do believe there’s value in it.  I don’t think it’s something that everyone will (or even needs to) learn, but chances are that having some familiarity with programming will come in more useful in everyday life than, say the quadratic formula.

And if Will.I.Am says it’s important, who am I to argue.

Advertisements

One thought on “Exploring the Learn-To-Code Options

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s