Showing posts with label ScriptEd. Show all posts
Showing posts with label ScriptEd. Show all posts

Monday, July 20, 2015

NYC Tri Race Recap / Onwards!

Team ScriptEd competed in the New York City Triathlon yesterday in the exhausting heat. Everyone finished, and everyone did great. Congratulations!

This was ScriptEd's first time fundraising through an athletic event.  I kept our team relatively small this year so I could determine whether or not this would be a good fundraising mechanism for us.  It turns out that it is: our 16 athletes collectively raised nearly $45,000 (both through our crowdrise campaign and through offline donations).  It was also a great community building event and bonding experience for our staff and community.

I feel pretty confident that we'll sign up as charity partners again for next year's race.

For me: I didn't have a great race. I was hoping for a best time, and added five minutes to my time from last year instead.  I had a ton of fun, though.  It's really a special occasion to have so many people I know racing and cheering at a triathlon, and it was great to have the chance to combine my two passions. I'm looking forward to competing in the National Championships in Milwaukee in a few weeks!
Some of our triathletes post-race, planning for next year!


Tuesday, June 16, 2015

Show Me Your Passion: Cover Letters

I've read tons of cover letters over the last few months. We've received applications from a lot of very impressive people.  However, over and over again, so many cover letters have one fatal flaw that immediately puts applicants in the "no" pile:

If your cover letters doesn't mention ScriptEd, its mission, and why that mission is important to you, you will not get an interview. Here's why:
  1. Working at a company with a social mission is really hard work. We're a nonprofit. You're not going to be making a ton of money. I need to know that there is something else motivating you to do this work. 
  2. Not only are we a nonprofit, we're also a startup. You're going to help form the direction of the company because you're joining a small team.  I need to know that you're committed to the work. 
  3. You need to be able to 'sell' ScriptEd's mission.  You should be able to speak and write passionately and persuasively about ScriptEd. The only way we can make a bigger impact is by getting more people involved in our work. 
Show me your passion!




Tuesday, June 2, 2015

Volunteer Feature: Andrew Ingraham

I'm planning to feature some of our awesome volunteers here from time to time.


Me and Andrew at Get Fit or Be Hacking.
(We were a team - and we won!)
Meet Andrew Ingraham, a software developer with About.com. Andrew is one of two of ScriptEd's first ever volunteers. He accidentally wandered into our first volunteer training at Columbia University in 2012, and because no one else showed up, we had no choice but to take him.

Andrew has totally blown me away by his commitment to ScriptEd and our students. This year, he completed his third year of teaching at Harlem Village Academy High School. He played a critical role in creating the first version of our curriculum, and he also has taken on ScriptEd students as interns at About.com every summer, and this year, is raising money for ScriptEd by competing in the New York City Triathlon (want to donate to his fundraiser? Click here.) He's also just an incredible teacher, friend, and human being, and our students are so lucky to have him.


Below I asked Andrew some questions.  Enjoy!



What's your favorite part about volunteering for ScriptEd?
Seeing a student have an "Aha!" moment.  Their excitement is contagious and it brings me back to how enthralled I was when I was first learning to code.  It never fails to put a huuuge smile on my face.

How has ScriptEd made you better at your job?

It's completely transformed my role at About.com.  When I started at About 3 years ago, I was a backend developer writing C++ with absolutely no frontend experience.  Since ScriptEd teaches HTML, CSS, and JavaScript (all frontend technologies), I had no choice but to learn them and to learn them fast.  As a result, my frontend skills have developed tremendously to the point where I'm now a frontend developer on my team at About and better at JavaScript than I ever was at C++.
It's made me a better public speaker, teacher, and gotten me more involved with the programming community as a whole, all of which benefit my work tremendously.
And it's not technically part of my job, but I'm designing and teaching a 10-week web development course for non-developers at About.com which will largely follow ScriptEd's first year curriculum.

Has ScriptEd changed your life?
Practically every aspect of my life has improved as a result of ScriptEd.  I'll keep this short, but it changed me from a backend developer to a full stack developer.  It introduced me to a community of amazing people, many who have become my best friends.  It expanded my programming interests beyond what's relevant to the coding I do at work.
I have found nothing more motivating than having students who depend on me.  It makes me so much more driven to understand material and find interesting ways of sharing that knowledge.
ScriptEd has made me a better programmer, teacher, and person.

Wednesday, May 27, 2015

Why Do We Teach JavaScript at ScriptEd?

I’m often asked why ScriptEd chooses to teach students JavaScript instead of other programming languages.  Why not Java -- like the AP Computer Science test? … Or Objective-C or Swift so kids can make iOS apps?


We chose JavaScript (and HTML and CSS) at ScriptEd for a whole bunch of reasons. Here are four:


1) The resources our students have in schools and at home make it difficult to teach any other programming language. For students without powerful computers, and for students who attend schools that don't give students access to the command line or the ability to install things, we're really limited to choosing JavaScript as the first programming language. Students can start developing using nothing more than notepad and a web browser, no need for a compiler.   


2) Most of our students don’t have a clue about what programming entails when we first start working with them. Websites are a product they're already familiar with. They're already largely aware of what's possible and can immediately see how they can apply the technologies they're being taught. Our students are easily able to quickly build something and share it with their friends on the web. The "cool" factor of being able to do this is very important -- if the kids are not having fun, they'll lose interest and drop out.  Other more 'serious' languages don’t offer the immediate feedback that students receive from using JavaScript.  


3) JavaScript is a relatively forgiving language and is everywhere --  from writing mobile apps to robotics to just about any website.  Further, the prevalence of sites like JSBin, CodePen, and JSFiddle make development even easier.


4) The demand for JavaScript developers is soaring. Since we're focused on developing real world skills in the long term and placing interns in the short term, high demand skills are what we teach or something.

We see web development as a gateway for students. Students can either choose to stick with web development, or they can go on to learn other programming languages as they continue their education.  Our intention at ScriptEd is to get them excited and employable, and JavaScript does the trick.  

Tuesday, May 26, 2015

Teaching Kids to Fail through Code

Throughout my career, I've worked with students from low-income communities. My students have wildly different experiences of success and failure than their peers from better neighborhoods in better schools.


Failure in privileged communities means a poor test score, a rejection from a college, or in the tech world -- having your startup fail.  At the end of the day, these failures are usually not an existential threat. People in privileged communities tend to have safety nets when they fail. Until recently, Facebook’s famous motto was "Move Fast and Break Things.”  People from privileged communities have the luxury of moving fast and breaking things because they have a safety net. They rely on family, friends and other networks when times get tough.


The students I’ve worked with can’t move fast and break things in their lives.They don’t have the same safety nets.  A wrong look, one error in judgement, even just wearing a hoodie in the wrong situation -  the tiniest slip up can have life-altering, or even life-threatening effects.  


Or as one ScriptEd student explained:


“I was born into a setting where one problem could stall people from moving forward for an unreasonable amount of time.….This environment led me to believe that it was as bad as sin to not get it right the first time or that after you tried once and didn’t succeed there was no solution to the problem.”


It’s hard to take risks when no one is there to catch you when you fall.  The results of growing up in these circumstances are highly detrimental to learning. For example when I was a teacher, instead of crossing out a typo in a hand written paper, my students would crumple up their papers when I pointed out a small mistake and would refuse to try again.


The same things happened when I proctored exams. I saw student put their heads down and stop completing tests when they ran into difficulty.  After all, you can’t fail if you don’t try.  Students who are unwilling to make mistakes or give up at the first sign of difficulty can’t make a lot of progress when learning.


The effects of this are compounded by standardized tests. Students are taught that they must do things right the first time. Trying and failing and trying again is not really allowed or accepted in the world of standardized tests. With tests being so high-stakes around the country, fear of failure is reinforced.


It turns out that this mindset is especially challenging when trying to teach students to code.  Learning to code involves failing over, and over, and over again.  Below, I’ll explain some strategies that we use at ScriptEd to teach students that it’s OK to fail.


Modeling
We encourage our volunteer teachers to model their thought processes -- especially when they’re failing. If a teacher makes a mistake in his or her code while explaining something to a class, this is a perfect learning opportunity. We ask our volunteer teachers to point out their mistake and explain why they made it and how they’ll solve for it.


Be Human
To take this one step further, Our students want to see themselves in our volunteer teachers.  We tell our volunteers to not portray themselves as superhumans.  We ask them to share both their successes and their failures. This helps kids relate and say “I could be that person someday.”

Video Games
Using the video game analogy is powerful when teaching kids to code.  We explain that playing video games and coding are similar.  In video games you die over and over again until you reach the end -- the same is true of coding. You have to try over and over again until you get it right.

Debugging
Debugging is another great way to teach kids about failure.  Asking kids to help fix broken code teaches them that other people make mistakes in their code, and that they need help fixing it.  Having kids correct other people's mistakes gets them more used to the possibility of making mistakes on their own.


Iteration
The process of software development teaches students to iterate on their code and ideas.  It’s not a black or white or a pass or fail system in software development. It’s an evolution, and our kids are starting to learn that the process of creation is filled with failures and successes. They learn to  try things over and over until they work.


It turns out that these strategies are working. As Bill (the student quoted earlier) explains:


“I was presented with a vast array of problems. At first I feared these problems because their solutions used both logic and math. But as time went on I gained confidence and became more comfortable with the idea of solving complex problems.”


Teaching kids to code teaches kids persistence, it teaches them grit and and it teaches them determination.  It teaches them that "success is the ability to move from one failure to another without losing enthusiasm" (Winston Churchill).

Our students can't afford to move fast and break things ... except that they can in their code. And that's what we are trying to show them at ScriptEd. That coding offers an existential alternative where our students share the same luxuries as their better-off peers.