A coding resolution for the new year (deja vu?)

Change-Ahead-sign
Image Source: http://coachtoddreed.com/2013/make-this-new-years-resolution-stick/

I have not traditionally been a person who makes New Years resolutions. I do believe resolutions are important, as the act of declaring some kind of promise with the intention of self-improvement is a wonderful practice. I simply believe it can be worthwhile to declare resolutions throughout the year.

This being said, I have recently come to realize that perhaps there is something I have overlooked about the practice of declaring resolutions for a new year. There is something important about the time between Winter Solstice, marking the shortest day/longest night of each year, and the first day of the Gregorian Calendar, January 1. This stretch of roughly eleven days can easily cause disruptions in one’s mental and physical health. Cold, darkness, holidays, travel, and an increase in social obligations cause typical routines to shift. For teachers of all kinds, the stretch between semesters can provide time for rest, but can also necessitate more time spent finishing work from Fall semester and planning and organizing for Spring semester. All of this can leave us feeling disconnected and anxious, creating a need for self-renewal.

January 1 isn’t necessarily the day when I feel my energy needing a specific renewal effort, but I do always feel that need at some point in January. My typical formula for self-renewal includes more yoga, more tea (less coffee), less sugar, and more quality time with friends and loved ones. This year, I am adding an additional variable to my formula: more coding. More specifically, I’m re-committing myself to the resolution I made almost 4 months ago to learn to code. Continue reading

An Hour of Code with Young Friends, Part 2: Differentiated Instruction in Real Time

With one Hour of Code experience under my belt, I invited two more friends to code with me. I had explored only minimally in preparation for my previous experience, and was able to follow and support a fairly open-ended exploration by 10 year old Z. I was feeling much more brave before this second time, and was interested what it would be like to work with two children at the same time.

I invited two siblings, L and Q, to code with me. They both attend a public neighborhood school near their house in the Denver Metro Area. Their school employs a fairly traditional approach to education, incorporating computers and other technology as learning tools, balanced with common methods of teaching al subject matter. Here’s a little bit more about them as individuals:


L

L is a ten year boy in fourth grade:

  • He lists his favorite subjects as P.E. and reading.
  • He is caring, thoughtful, and has been known to win awards at school for character and citizenship.
  • He is active and loves football.
  • He loves the rain and Seattle, aspiring to live there when he grows up.
  • He has a great sense of style, from mohawks to hipster glasses.

QQ is an eight year old girl in second grade:

  • She lists her favorite subjects as reading, math, and art.
  • She loves all things creative, and is an avid crafter.
  • Has a natural and powerful connection with animals. She is a loving caretaker to many furry creatures at her home.
  • Is naturally social and enjoys getting to know all kinds of different people.
  • Her last two Halloween costumes were “Cleopatra” and “movie star”…with the big personality to pull them off.

Continue reading

What IS Coding? Gearing up for Computer Science Education Week & An Hour of Code

I sat at a Thanksgiving dinner table about a week and a half ago with a group of friends.  We were enjoying our feast and chatting about this and that. Since most of us at the table were either teachers, spouses of teachers, or children…you can imagine how our conversation kept drifting back to issues in education.  I started telling one friend about my goal of learning to code, and she asked a simple question:

“What IS coding anyway?”

This question provoked a little nervous tingle, as I realized this was the first time I had been asked to explain something about coding to another teacher. I had to stop, rewind my brain to just over two months ago when I started to explore this very question, and try to conceive an answer that would make sense to someone with the same background and lack of technical expertise as myself. My response was something like this:

“Coding is very basically giving your computer a set of instructions that you write in a programming language. The computer then responds by doing what you told it to do.”

I was relieved when this came out of my mouth and I realized that it largely made sense. This conversation also made me realize that could be important to spend some more time considering what that coding really is, and ponder some ways to synthesize and explain it to people who might not have any background, or might never have had any interest before. 

When I was first learning to code, I would Google things like “programming for beginners”, “what is coding?” and “learning to code”. My search efforts would return tons of great resources for people who already know a little bit about computers, and are not completely intimidated by words like “algorithm”. Many of the search results assume you know what a “console” is, are already comfortable with words like “variables” and “data types”, or what a “platform” is. If you don’t already know these things, do not worry about them! I think there is a level of beginner explanation that is just plain difficult to find. Just to be clear, I recognize that there are tons of great beginner resources out there…I just found myself wishing for an even more novice level of basic description. With this in mind, I’m going to attempt to offer my own supplement, and explain programming in a way that makes sense to me and might appeal to a broad array of non-programmers. 

This seems like a particularly relevant thing to do now, since this is Computer Science Education Week (Dec. 8 – 14). All this week, millions of children around the world will participate in “An Hour of Code“. This is a challenge to teachers, administrators, community members, and families to offer children “a one-hour introduction to computer science, designed to demystify code and show that anybody can learn the basics.” Code.org is organizing and promoting this challenge, and they offer tons of great resources on their website. 

Note: Although some argue that there are differences, I use “coding” and “programming” interchangeably throughout this post in reference to “the act of writing computer programs”. 

Keep reading if:

  • You have ever wondered about coding/programming
  • You have never wondered about coding/programming (because it is never too late to start!)
  • You have tried to look up coding and programming before, and didn’t gain a whole lot of understanding
  • You do not consider yourself very tech-savvy or computer literate
  • You are curious about how someone who meets the above criteria might explain programming
  • You are curious what children are actually learning from beginner tutorials 

Continue reading

Thanks Barbie, for another reason NOT to want to be you!

matell-screenshot1-620x514

This is the fatal page from the 2010 Barbie book I Can Be a Computer Engineer.  Barbie goes on to give her sister Skipper’s computer a virus, get some boys to help her fix it, and finally take individual credit for the whole shebang (including the robot puppy game that the boys programmed). At no point does Barbie do any coding at all. You can read the original blog post that brought this controversy to light here.

2434262975_079aec8640
Oh the Nostalgia! That peach gown was my favorite. http://goo.gl/XBhYad

I never really identified with Barbie.  Sure I played with her, but what little girl in the 80’s didn’t? However, I wasn’t blonde or skinny. I didn’t care to drive a pink corvette, wish to own a “dream house”, or marry my very own Ken doll. I didn’t want to be Barbie, and didn’t care what kinds of new careers she was trying out. I mostly liked to dress her up, which might have had a slight impact on my love of costuming and fanciness, but that is the extent of her influence.

155027_1762659145420_5122866_n

She was fun, but never any real impact on my life (or so I like to think…) Continue reading

Embracing My Beginners Mindset: Avoiding Overthinking

beginners-mind-300x221

Hello. My name is Lauren and I’m an over-thinker…I’ve been learning to program for 29 days.

I commented this week that it seems like the Ruby tutorials I’ve been working through are getting harder and it’s taking me longer to figure out write the code that’s prompted. I have recently realized that half of the time I’m completely overthinking, which just makes me laugh at myself.

For example, I spent 25 minutes trying to solve one particular prompt, trying all angles of writing the code only to result in error message after error message. I stuck with it, miserable yet determined, and eventually realized that I had simply read the prompt wrong.  The prompt was to add some code before the print command, and I was adding the code after. It turned out that I had correctly written the code the first time. Rather than going back and re-reading the instructions, I just spiraled down the rabbit hole…my code getting more and more complex with each try.

This is not the first time something like this has happened. I’ve noticed that the fewer angles I examine, the faster I’m able to complete the prompts. This is interesting to me, because it does not feel natural at all!   Continue reading

“Rails for Zombies” for Halloween?

Screen Shot 2014-10-31 at 10.42.18 AM

I love Halloween!  The whole spirit of the day is so refreshing and whimsical.  Everyone has fun, and there are few family or religious obligations attached. (…obligations that can make other holidays more stressful!)  Plus, if you happen to be a Halloween grinch, all you have to do is make sure your porch light is off, and Viola!  You have the perfect excuse to curl up in your basement with a good book or a movie and ignore the world for a night. Halloween is a win-win.

One of my favorite parts about the holiday is that it gives all of us over-worked, over-tired, over-stressed, and entirely-too-serious adults an excuse to just take a breath and to think like children for a day. We can delight in the excitement of the little ghosts and goblins (and Elsa’s and Spidermen) that haunt our streets for just one night every year  We all get to have fun, forget our troubles, and pretend we are someone else. We can adopt a sense of wonder and just PLAY!  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?

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