Fun Friday: Teach A Kid To Code
You know what is fun? It’s fun to show somebody how to do something powerful. It’s fun to give somebody the superpowers you have.
So if you know how to code, it’s really fun to teach kids how to do it.
And if you want to have that kind of fun, you should check out a program called TEALS. I’ve written about TEALS before here at AVC, but in short, you stop by a school on the way to work and teach a first period computer science class in combination with a teacher who works in the school.
There’s a bit more to it than that and if you want to learn more there are two upcoming TEALS information sessions that you can attend in NYC:
This Sunday in Brooklyn:
Sunday, April 26th, 2015
Brooklyn Public Library, Central
10 Grand Army Plaza, Brooklyn
Light lunch provided.
Register thru EventBrite
The Next Day in Manhattan:
Monday, April 27th, 2015
Microsoft 11 Times Square
8th ave, just north of W 41st St
Light dinner provided.
Register thru EventBrite
If you’d like a bit more information before deciding to attend an information session, read this volunteer guide, or watch this video.
A number of my former students have volunteered and all felt that they gave something special to the kids and also got a lot out of it for themselves. I would agree.
Sharing with students can be very rewarding. You can also learn a lot about yourself and your own understanding of a subject when you start to teach it.
Thanks for sharing this. I’ll try to attend Brooklyn Public Library session before my flight out of NYC on Sunday.
It’s a very rewarding experience — I hope you’ll consider doing it.
Not a huge fan of using code as a verb, but helping young men and women learn how to solve problems and watching them get excited about the power they have after learning just a few simple tricks is a lot of fun indeed.I am visiting an 8th grade computer science class today and Monday. I will be showing off some of the work former students have done and whetting their appetite for programming with some shell scripting.
Is this in DE??
Yes.I’m meeting with a former student next week and we want to pick a date for a hackathon next spring. I’m not sure exactly what kind of event it will turn out to be, but I would love to have you involved if you’re interested.
If I am in town no issue
sysadm work and shell scripting (which I find highly enjoyable btw) is like the “small plates” of computer programming.
I’ve found that showing students of a certain age the command line has a pretty serious wow factor. Most of them are determined to learn more once they get a taste of the power.Of course, I always start with a reminder…with great power comes great responsibility
great power comes great responsibilityrm -fr ~
Has this program expanded to other cities outside of NYC?And can we apply the same approach to other extra curricular fields such as marketing, and accounting for example.
It started in Seattle and is in about 20 cities. They came to NYC a few years ago with our help.
Fred, had an old post come to mind and Googled it.Wanted to go through the comments as I had it in my head that there were some great examples in the comments…..comments are closed (makes sense)….closed comments are not readable (?)
I think this is an interesting idea. I have met so many young people in high school or college that do not have a sense of how the skills they are learning in school might apply in the business world. People that are building skills in filmmaking or journalism may be just as well suited to tell stories in a marketing department but for some reason they are often not exposed to that as an option.
On a related note, I finally got to build my computer made out of kids. When I mentioned I was going to do this a few months ago, people asked for photos, so here we go:
So cool David.Thanks for the share.
@wmoug:disqus could you delete the two upside down photos William? When attaching, I reloaded the page when I saw they were inverted but somehow they got uploaded anyway.
Of all the bugs in any established platform I use, the graphic uploading feature in Disqus is amongst the most annoying.
Exactly. No ability to delete an image and a standard reply that one should “just email one of the moderators” to take care of it. Hard to believe they actually use their own product daily (with the exception of JH of course..)
Hi David, sadly i can’t do that (as in: the software doesn’t let me)i presume you can’t edit and delete those images yourself, right?only thing I could do is Delete your entire comment, and you’d need to re-post it. let me know if you’d like that route.
Hi William, I can only edit the text, not the images.Never mind; not the end of the world…
right. that’s ok. the upside photos was an interesting twist, to say the least 🙂
I was wondering “How did he get those kids to DO THAT?!”
Very cool. I’d love to know more about the lesson you did with them.
I divided the lesson into two hour-long units. In the first I passed around a motherboard and various hardware components for the kids to touch. Whilst this was going on I introduced each component and then began to explain how they interact with each other. The kids were aged 11 so I had to use lots of analogies. The main analogy was the motherboard as a busy airport with the operating system being the control tower.In the second unit we began to assemble our human computer from the components learned in the first unit. The photo doesn’t show it clearly, but each component is connected to another by means of a colored rope which represents a communication path.When the computer was assembled we “switched it on” which culminated with the OS being loaded from HD to RAM.We then copied a program (tic-tac-toe) from a USB stick to disk — all the time simulating all the gestures (mouse and pointer moves, drags, clicks, etc) under the supervision of the OS.Finally we launched tic-tac-toe (which meant copying it into RAM) and played a game. By the end the kids were able to simulate all the necessary interactions without any help from me.
Excellent! Sounds like a great learning experience for them. Thanks so much for taking the time to share the details.
I have a way of explaining fax machines to kids.I tell them to take a black and white picture and break it into a grid. Label each grid with a cell number. You can then communicate with someone by phone (who has an empty grid) and they can re-create what you have by just filling in a grid element that you tell them is black (“1”) and leave empty any element that is blank “0”. At the end you will end up with a document that in theory looks like the original. I thought this up one day when I was thinking about how fax machines work. Doesn’t matter if today they even work this way or not.The point of the exercise (if you want to call it that) is to also show that all ideas start out pretty simple. Once you think of a way to solve a problem you can then add on all the extra things that are needed to make it happen and to make it better. Or safer.For example car engines are all based on a simple concept. All the crap you see in a modern day engine is just added to enhance or solve something. Nobody woke up in the AM and designed a fully functioning engine from day one. It was (like with anything) fits and starts.Another fun thing to do is to just take apart things like we did when we were kids and learn from that. This is vastly different than the culture today of premade kits and instructions or how to do everything. Which doesn’t really leave as much room for actual problem solving (but does allow you to learn more and faster). From taking apart a clutch in a lawn mower I could easily understand how a clutch (for that device) worked immediately vs. reading about it or hearing a lecture. I remember doing this and thinking “ok, friction and centrifugal force I get it”.
I used a lot of car analogies when I talked about interfaces and standards. The kids had a lot of fun when I asked them what would happen if they rented a car in which turning the steering left made the car go right, or where the brake and accelerator pedals had been inverted.
One of the problems faced when flying RC Helicopters is just that. When the copter is facing you, hovering toward you, everything is reversed.
I never got the hang of that. Spent all my time running to be behind the model…
A suggestion. Buy one of those really small palm sized ones. It’s a great way to iterate and learn. Really no comparison to when I started with gas powered and the fact that a crash meant you needed to rebuild. Learning curve is greatly reduced.
1. I was a TEALS volunteer in Brooklyn in 2013-2014. Hugely rewarding. This is something everyone who knows how to code in NYC should try and do at least once.2. I’ve organized a fitness/coding competition, “Get Fit or Be Hacking” (see 3/12 AVC post – http://avc.com/2015/03/get-…, to raise money for CSNYC, the foundation Fred started. CSNYC’s mission is to ensure that all children in each of the 1,700 NYC public schools have access to computer science. TEALS is one of the programs CSNYC supports. If you’d like another great way to support TEALS, come out and do some Python and pull-ups for computer science in schools. https://www.crowdrise.com/g…
For those outside NYC, another good org to volunteer with is Coderdojo https://coderdojo.com/about/ – they are a hands on org that teaches code via problem solving…are a real genuine / no b.s. group of humans.
I discovered a great SF Bay Area nonprofit called “Hack the Future” (http://hackthefuture.org/) through a friend who was a grad student at Stanford’s Graduate School of Education a few years ago. The HackthFuture event I attended in 2013 was a full day affair at the Tech Museum in San Jose. Volunteers would pitch activity ideas and man the station during the event. Examples of activity booths included: create a circuit, make a game using Unity, 3D printing, solve a real world problem using Design Thinking. Kids are free to move in and out of activities. There were 10-15 booths and over 50+ youth attendees (parents can drop them off for half the day or the full day). Some kids worked on their own video games over several HacktheFuture events (using Unity or Scratch) while others rotated through all the activities. At the end of the day, the kids would have 1-2mins to pitch their idea or demo their work. One boy pitched a solution for a device that can be used to “turn off the voice of his sister when she becomes annoying.” 🙂 I just love hands-on events like these for kids. One meaningful experience can really turn a child on to new interests. It’s too bad that HacktheFuture events are not very regular. It takes a lot of volunteers and coordination to make it work.
That sounds like an interesting and similar thing to coder dojo, I’ll check it out. It really does alter your mind, as a bunch of people have said here, when you see how coding and problem solving inspires kids.
That’s awesome. Starter League in Chicago offers cheap classes to learn to code. Lots of people are taking them.
by the way, if they are a 501(c)3 they can raise money passively for their mission on publicgoodsoftware.com
I manage the TEALS program in California. We are partnered with 35 schools across the state, largely in the Bay Area, and have some volunteer openings. Check out http://www.tealsk12.org/volunteers to learn more or fill out an application. Also if you’re in SF, we have an informational event coming up next Thursday May 7 at the Impact Hub (more info: https://teals-sfusd.eventbr…).
Without wading into the visa and policy discussion, I’d say one thing that is different now vs 15-20 years ago during the big outsourcing wave is that the 4GL have made more porous the line between functional analysis and core software development. At places like Flatiron and GA there are many students with liberal arts backgrounds who might not have had much interest in studying C++ in college, but have seen the value of knowing how to code in the market and view Python and Ruby as more accessible. Coupled with methodologies like Agile which emphasize having business owners and developers in the same location, I think many organizations are seeing a lot of value in having developers work with them on site, and having developers who are strong communicators with native or near-native level verbal and written English.This is not to say that 4GL languages can replace lower level languages for more complex and larger scale projects. Nor is to say that a graduate of a 6 or 8 week program like GA is necessarily the same type of programmer as someone who studied software engineering formally in school and has learned code from the NOR gate up through Assembly and C. But I would say that I think more organizations now understand better the strategic importance of “coders” and that they can’t just be a function you can outsource to Bangalore in all cases.Again, not looking to get into the policy debate — I just think organizational leaders may be more sophisticated about the degree to which coding can be done off-shore or handed off to contractors with limited English skills.Epilogue: It’s kind of amazing when you step back and think about it that organization leaders were so willing to outsource two such critical functions – customer service and software development (i.e., the folks building the core product you sell and/or core platforms that run your business) – while keeping so much of the corporate bureaucracy and SG&A on shore. I hope some of have us have learned that the makers are at least as important as the managers.
I made my first (non-“example”) Ruby on Rails web app over the past month. There is so much more to creating an app than just coding, and I think that anyone who is native to their market that is able to code has a huge advantage in competing for jobs in that market. Besides economists have found that immigration is not zero-sum when it comes to the labor market. The immigrants have wants and needs that need to be tended to as well, so while there is an increase in supply there is also an increase in demand. See http://www.nytimes.com/2015…
There is great value in both opening up a previously unknown world — demystifying something children are immersed in every day — as well the practical benefit of learning to think like a programmer, with the focus on logic, process, and outcome.
Often outsourcing one element leads to outsourcing others, as foreign ecosystems develop.
Great comment – all of it, not just this partWithout wading into the visa and policy discussionwhich I enjoyed very much. :)I’m glad managers are starting to look at this differently.
Great comment.I have been living and doing this for 25 years. When people why I don’t outsource, I have a simple answer: Which is easier?? Teaching a marketer how to program or a programmer how to market??? So what is the last thing I want to outsource???I also have always had the best maker paid more than the best manager.It is ridiculous you do not get a tax credit for the amount of tax your employees pay (upto a fixed amount)I will wade in and say if skilled people want to come to this country and work we should let them.The last point I will make is that the one thing we see from current CompSci grads in general is that they are not taught from “NOR gate up through Assembly and C”The problem with this is when you want to see code scale.
so much more to creating an app than just codingExactly – and there is more to programming than knowing “how to code.”And teaching programming has value far beyond training students for a career. It’s an important academic discipline.