Should Everyone Learn to Code?

steve-jobs-1

Should everyone learn to code? Maybe, maybe not…but that is not exactly what I aim to debate on this blog (although I welcome the debate if it happens!)

I do, however, believe that every child should have a shot at understanding and learning about coding. Because of that, I’ve come to believe that in the not-too-distant future, teachers will need to know something about computer programming. We should know what code is, know how to write some of it, and know about the types of thinking it takes to successfully write code.

Why?

Because it will make us better teachers!  As our world becomes more and more computer-driven, there will be more and more conversations about computer programming.  More and more children will want to explore and learn coding. Should all those children be encouraged to become professional computer programmers?  Not necessarily, but their natural interests and curiosities around coding and computer programming should be encouraged and supported as they figure out whether or not programming is something they’d like to pursue.

Further, How can teachers support the interests and curiosities if they themselves have no idea what coding is or how it can be used?  We can sit children in front of computers with Hour of Code, or a Scratch tutorial, but if we ourselves don’t know what they are doing, how can we help and support them?  Are we really being good teachers?

I think much of the debate around “should everyone learn to code?” largely misses the point.   Continue reading

Interest-Based Learning: Keeping it Lively!

Screen Shot 2014-10-23 at 9.59.08 PM
From “Why’s Poignant Guide to Ruby”. Click the image to see the book!

Ruby has quickly become my language of choice. There’s something about it that just draws me. It might be because I’ve started reading “Why’s Poignant Guide to Ruby”, and he agrees it’s important to submit to something that draws you.

Not familiar?  Here’s a passage:

“This world’s too big for such a a little language, I thought. Poor little thing doesn’t stand a chance. Doesn’t have legs to stand on. Doesn’t have arms to swim.”

…”So, now you’re wondering why I changed my mind about Ruby. The quick answer is: we clicked.

Like when you meet Somebody in college and they look like somebody who used to hit you in the face with paintbrushes when you were a kid. And so, impulsively, you conclude that this new Somebody is likely a non-friend. You wince at their hair. You hang up phones loudly during crucial moments in their anecdotes. You use your pogo stick right there where they are trying to walk!

Continue reading

Fighting Back Against “I’m Terrible at Math”

119460-117532 main-qimg-5f7b1aab0f0fe3265f0f25b7f38f865f

Many teachers, and many people in general feel terrible at math. In the article, The Myth of “I’m Bad at Math”, by Miles Campbell and Noah Smith analyzes this phenomenon and makes a very compelling case for why this is so dangerous in our society.  They say “We hear it all the time. And we’ve had enough. Because we believe that the idea of “math people” is the most self-destructive idea in America today. The truth is, you probably are a math person, and by thinking otherwise, you are possibly hamstringing your own career.”

Enn5W9L

I grew up thinking I was bad at math.  Many of us did!  I believe this phenomenon is part of why I’ve never (until now) considered that computer programming was even worth trying to understand. “I’m terrible at math”, is something that many of us feel completely comfortable and even proud saying to pretty much anyone.

When we think about a teacher proudly proclaiming “I’m terrible at reading!”, it does not seem acceptable. We’d all probably think less of this person. So why is it acceptable with math and not acceptable with reading? This is a question all teachers need to examine. There really shouldn’t be a difference between the two.

Continue reading

Which Language to Learn?

I signed up for Code Academy about a week ago to access tutorials for JavaScript and Ruby, and I like how they email me little messages every once in a while.  The funny thing is, I’m not usually a fan of this.  I can’t stand arbitrary marketing emails, and with the November election coming up, my political affiliations are trying my patience!  Anyway, I actually enjoy the little messages from Zach Simms, CEO of Codecademy.

I have been questioning which language to focus my novice coding energy on, and have concluded that I need to figure out a couple things:

  1. Which language feels easiest to me
  2. Which will help me do the things I want to do

Yesterday, I decided my mission is to figure out something I want to do in order to address the second question. Well, it’s like Zach psychically picked up on my thoughts, (and I know that’s what internet marketers everywhere want me to think), because I awoke to find a very helpful little message in my inbox this morning, and thought I would share!


Via Zach Simms, CEO of Code Academy:

People often ask me what programming language they should learn, and I always say the same thing: “It depends.”

Want to be more web savvy, or build a website? — start with Web Fundamentals. This covers all the basic HTML and CSS you’ll need to know to understand the web.

Want to make a game or app? — give JavaScript a try. This dynamic language will let you create interactive apps that you can use on a smartphone.

Want to process data or explore databases?Ruby or Python are your best bet. 


tumblr_ma1be7hL9G1r9cfv8 effective-internet-marketing

Psychic energy or internet marketing?  Does it really matter?

Big Ideas

IMG_1217
This is definitely a mountain to climb, but who cares? Mountains are fun! Sometimes they can totally destroy you, but sometimes you get to the top and shred. Regardless, they are always an adventure!

I don’t really care what I learn to code…I just want to learn to code something!

If I can do it, any teacher and anyone can do it…Here’s hoping!

You are invited to become my teacher. (I admit that I’m writing a blog about something that I know next to nothing about. If I say something that you know is wrong, please tell me!  I’m all for crowdsourcing good information!)

I believe all teachers will someday have to know about this stuff, so why not find out how it can be fun and exciting?

Coding? Easy? If Only!

Java Script or Ruby?  This is a conundrum.  

Earlier this week, I was convinced that Ruby was a good place for me to start in my quest to learn how to code.   This is based on people telling me that “it’s easy”, and reading similar things.  I had spent some time tinkering with a “15-minute” Ruby tutorial, and felt like I kind of understood a few basic concepts and vocabulary (very basic!!)

A conversation that I had a my first “Learn to Code” Meetup made me question my course of action.  I more knowledgeable person where I should start, and he recommended Java Script.  He said it was a pretty universal and popular programming language to know about, and recommended Codecademy‘s tutorial as a good place to start.  I told him that Ruby had been recommended because it was “easy”, and he offered a really interesting challenge to this logic.  

Ruby, he explained, uses a lot of commands that are written like English, which is why people like it and think it’s easy.  (Yes, that sounds good to me…) Java Script uses a lot more symbols and characters that look “kind of weird”.  Because of this, you are learning a little bit more about the fundamentals of coding.  Ruby might be a little easier to learn, but beginners might understand a little less about what they are actually doing.  Thus, it could be harder to get good at, and harder to apply to other languages.

This intrigued me! I like to know fundamentals and to understand the “why” in things, and I couldn’t help but feel a pang of worry that my journey with coding could have a similar outcome to my journey with math. I have never been crazy about math. It always seemed hard and tedious.  I remember learning Algebra in high school.  For a while, I understood how to do it and why I was doing it.  Then, at a certain point, I stopped understanding the “why”.  I can remember the details of the high school classroom, and even where I was sitting when I stopped understanding, but I have no idea what type of problem we were on.  I could still figure out how to DO what the course was asking me to do and I did ok (but not great).  I felt disengaged because I like to know the point of what I’m doing, and be connected to it emotionally.  It got really boring and stayed that way. I could still memorize how to do the problems, but they did not seem to have any real-world application, so my interest completely faded.  I took as much math in high school as I had to, and as soon as the requirements were met, I started taking more art and other “fun” classes. 

confused1What a missed opportunity!  Every once in a while, situations pop up in my life now when algebra is necessary (modifying recipes, for example). I always wish that I had known the right questions to ask in high school so I would retain some type of understanding, but at least Google tends to work well in those moments.  However, I don’t want the same thing to happen with coding!  I want to know how to do it and want to understand the “why” as much as the “how”.  

So what do I do? Java Script or Ruby? Which advice do I take? I don’t want to choose the wrong path, and end up bored and disengaged, which is a realistic possibility with both languages, but which one is better?  

I’ve analyzed this quite a bit…probably too much.  I talked with a teacher friend tonight, and presented this quandary.  She reminded me of a TED talk that I love by Kristen Wheeler on finding your native genius.  This talk has nothing to do with either coding or teaching.  Rather, it speaks to motivation and potential.  Kristen’s makes the point that if you start learning about something that you are already good at or naturally feels “easy”, then you flourish.  If you start learning about something that is naturally hard for you, it’s not impossible but the process will be slower and clunkier.   Continue reading

My First Meetup

Ok, so last night I put on my big girl pants and went to a Meetup at the Denver Library called “Learn to Code”. The description was this: Open house/study group focused on learning code at varying skill levels. All are welcome to come with or without experience, a computer, or an RSVP.  I thought this sounded perfect!  I have no experience, I do have a computer, and I did RSVP.  I met all the criteria!

bird_girlOver the past several years, I have become a pretty solid professional networker, so I’m comfortable with the thought of something like this…but man!  It was still hard to walk through that door!  Being a good networker in education circles does not really prepare you to cast yourself into a room with a bunch of people who you know nothing about, and who you are pretty sure have no interest in discussing education (and they shouldn’t! They want to learn how to code!)  It was intimidating and daunting, and perfect, because part of the reason I wanted to do this was to meet people who are different from me.  I want to meet people with completely different skill sets and learn from and with them. Sure, it’s easy to walk into a room of teachers and start a conversation about the importance of nature-based education, or why we don’t get the respect we deserve.  Walking into a room with a whole different purpose was scary, but exciting!

What did I learn?  A LOT!

Continue reading

Try Ruby

Ok, so about a week ago I decided to just start Googling how to learn to program.  Ruby is a programming language that everyone says is “really easy” (I have a suspicion that my definition of “really easy” is quite different from those who say this) But, I think I’m going to start my programming adventures by learning Ruby.  First, because of the “really easy” comments.  I figure that even if it’s super hard, it has to be less hard than other languages that are not often described as “really easy”…SEE?  I can think logically!  I’m also wanting to learn this one because my husband knows it and likes it, so he will be a good person to ask questions to when I feel stuck.

I found this super cool sounding thing called Rails for Zombies, where you learn to program by creating program like Twitter, but for zombies.  Awesome, right?  I like Zombies!  So I clicked on it, and it told me that if I was unfamiliar with Ruby, I should do an online Ruby tutorial first, and suggested tryruby.org.  I’m all for suggestions, so clicked over and started playing with it.

Screen Shot 2014-10-06 at 5.20.07 PM

The site page says: “Got 15 minutes?  Give Ruby a shot right now! Ruby is a programming language from Japan which is revolutionizing the web. The beauty of Ruby is found in the balance between simplicity and power.”

Continue reading