116 3rd St SE
Cedar Rapids, Iowa 52401
Home / High five: Dave Welch and CoderDojo
High five: Dave Welch and CoderDojo
N/A
Mar. 22, 2014 12:00 am
We Create Here was an initiative within the Gazette Company to develop evolving narratives and authentic conversations throughout Iowa's Creative Corridor. read more
[wc_box color="inverse" text_align="left"]Welcome to high five! Each week, we'll answer five burning questions with a community member who is doing something awesome. Know someone who deserves a high five? Drop us a line. [/wc_box]
By day, Dave Welch is an applications developer in the University of Iowa Hospitals and Clinics' Department of Psychiatry. On the nights and weekends, this Coralville resident inspires the next generation of tech savvy programmers, gamers and developers through CoderDojo Iowa City.
CoderDojo is an international, volunteer-run movement for teaching kids to code. The Iowa City chapter has been meeting twice each month since early 2012, and Welch is helping to launch a dojo in Cedar Rapids. The first meeting will be April 5 at the Cedar Rapids Metro Economic Alliance, and organizers are seeking volunteers and mentors.
Read on to learn how Iowa City had a dojo before New York City, what kids at different ages can learn and how coding can be used for social good:
How did you get involved with Coder Dojo?
I grew up in the Midwest and the South, and have been aware of how small, rural communities can dwindle when jobs can only be found elsewhere. A couple of years back I had finished my master's degree and decided to take a trip to my high school and give a presentation on my career path. Coming back from that trip, I wanted to do something to help my community provide the skills and enhanced job opportunities that software development has.
At work, we use Github for our source code hosting and a few weeks later I read a blog post "Kids are the future. Teach'em to code," and it was like an answer to prayers. I immediately started working on a dojo in Iowa City. I reached out to the local University's development community and the IEEE student group for mentors, posted notices on the local buses, opened my first Twitter account (something I had sworn I would die without doing), joined the mailing lists for the Chicago and Twin Cities dojos, and just talked to people. I like to tell people Iowa City had a dojo before New York City did.
Why teach kids to code?
The first reason is that a lot of kids want to code and don't know how. Do you remember those chemistry sets they used to sell in the 50's, the ones that were seriously dangerous? Yeah, now do you remember the ones they sold in the 90's? No, of course not, because those are so safe they were dull and boring. No one looks back with fondness at their water/vegetable oil density experiment!
Coding has the same appeal as those old chemistry sets - kids can do something really cool that they are interested in. Kids get excited about experimentation and investigation. They want to learn what works and more importantly, what doesn't.
We need a future filled with people not just good at math and science, but excited about them. Coding is sneaky that way, because kids think they are making a game when they hit a problem that they can only solve with math. Then they want to learn the math so that their alien zombie robots will point the right direction when attacking the player!
We also need a society that's more personally connected with our families and our local communities. With the rise of technology, "Millennials" are growing up with increasing anonymity and disconnectedness. We work hard to show kids that coding is a community effort and not an isolating exercise by using pair programming, working on open-source projects, and encouraging parents to learn together with their kids. Through mentors, CoderDojo exposes kids to the active software community in their own towns and shows them they can "stay local" and still be successful. CoderDojo also has badges for "social good" that students need to earn for advancement so they become used to thinking of how their skills can benefit others.
What types of projects are good for kids and teens at different ages?
We always get questions about if a kid is too young for our group, and the response is that we don't turn kids away. Parents are best at knowing where their kids are development-wise.
For younger kids (5-7), we often start them with Scratch, a visual programming language developed at MIT. It's very easy to start with and can help them understand concepts like loops, if-statements, and even object-oriented programming.
For most middle schoolers, we've had a lot of success with HTML5 and JavaScript since it's fairly easy to get started with a webpage. They get really excited when we embed their first google map or YouTube video on their site. At this age, Minecraft modding becomes really interesting so the Java learning curve isn't as discouraging as you'd think.
With high school students, game design is the big interest and they are usually much more self-guided. We've taught Python using Pygame, and helped students with their C/C++ project debugging. We're looking to teach more JavaScript game development as the younger students advance.
When you're not coding with kids, what's the most awesome part of your day job?
I write software for a living and I think that's pretty cool. I read "Clean Code" a couple of years ago and I've become somewhat of a disciple. I like taking some really ugly code (I work in research, so there can be a lot of it) and making it faster and cleaner. And I really like pair programming because of the interaction and the chance I get to teach and to learn while doing it.
Five people who deserve a high-five:
Hans Johnson: he's an amazing researcher and mentor.
James Whelton and Bill Liao, the CoderDojo founders.
Hans Hoerschelman and Troy Reilly, co-founders of Iowa City dojo. If it wasn't for them, this would have died years ago. They deserve a medal... or a vacation!

Daily Newsletters