classroom teaching workshop

Observations after finishing first set of clubs (Winter 2015)

Published by:

The first clubs I started (Jan-Mar 2015) are over, and I wanted to jot down some notes regarding my experience. In general, both clubs (LEGO Robotics and 3D Game Programming) sufficiently entertained and engaged the kids, and I believe most kids were able to demonstrate basic skills that we developed in the clubs. Regarding both clubs as well, it was clear that 1 hour per week, once a week, is just not enough time to do much of anything useful. That is a big problem especially for the Robotics club, since only one kid in the class had a kit at home, so no one could really practice or go beyond the club material outside the club time. In the programming club, one or two kids went ahead to read the book and download code, but I didn’t get a sense they had really a greater understanding. Continue reading

classroom teaching

Report from the Field: Week 4 (or so) with LEGO and JS Game Programming

Published by:

I am now about 1 month into leading my after-school clubs on two subjects, first, Intro to LEGO Robotics, and second, 3D Game Programming in JavaScript. As they say, the best battle plans rarely survive first contact with the enemy (but that sounds so dramatic!). Anyway, here are my observations so far. BTW, the clubs run another month or so, at which point I am planning to offer a “Level 2”. Continue reading


Why expediting ‘bad judgment’ is a critical piece of teaching Computer Science AP A

Published by:

I often think of my favorite quote that seems to apply to so many subjects:

Good judgment comes from experience, and experience comes from bad judgment.

I don’t know who originally said it, but you know whoever it was had walked the walk.

Anyhow, for the past couple of weeks, I have been a substitute teacher in an AP CS A class, where the students have no prior exposure to programming. Whether or not it was a good idea to teach the AP class as an introduction to programming, it is what it is. I have been tasked with teaching the students more about OOP, while earlier on, they were introduced to classes and objects. The students in general have a good technical knowledge of the terms and syntax, but I’ve come to realize they really have no practical idea of why they are important or useful. This made me think of the expression above. So what can one do about it? Continue reading


Developing Assessments/Grading for Project-Based Assignments

Published by:

As I have been exploring the space of Computer Science and Technology instructors in K-12, I came across a wonderful blog by Lauren Blankenship called GeekyMomBlog. She has all sorts of insightful thoughts and discussion there, and her style is easy to read with a geek edge.

Recently, she posed the question about assessing/grading long-term projects and skill mastery. I have some thoughts on the subject which I wanted to elaborate on more than in the comments section of her blog.

The short answer is be being as transparent as possible about expectations and parameters of the assignment. I believe that even with small projects or tests, this can be done in a fun but fair and systematic way. I’ll first talk about assignment criteria & waiting, then grade expectations,  then the format for assessment. Continue reading

my philosophy

Fishing for an analogy to learning

Published by:

I’m trying to get my head around framing important principles involved in teaching and education/learning, specifically in technology and computational fluency at the K-12 level. To frame such a big subject, I came up with the following analogy:

Imagine that we’re standing in the middle of a rapidly flowing stream in which different types and sizes of fish are swimming around us. Our job is to figure out which type(s) of fish we want to catch, and then do it.

Continue reading

computational fluency my philosophy

The ultimate goal: ‘computational fluency’

Published by:

The term ‘computational thinking‘ is becoming more and more popular in K-12 education to describe a fundamental problem-solving skillset based on computer science techniques. I have been pondering over where the application of computational thinking takes us cognitively, beyond mechanical problem-solving, and I believe there is a clear analogy to language, music, and our other human cognitive faculties as a form of individual expression. I like the term computational fluency to describe such a cognitive ability, from the world of mathematics (Russell, 2000). Continue reading

5-7 year olds scratch workshop

Hour of Code workshop for 5-7 year olds at Santore Library

Published by:

For the past several months, I’ve been working with my friend Stephen Garland on exploring initiatives around teaching children using software development principles and tools. Currently, we’re getting a lay-of-the-land by cultivating content as we develop opportunities and directions in which to move forward. Once we have a structure for organizing these materials, we’ll be sharing them here as well as possibly through other venues.

We are like-minded in characterizing our effort as aiming to teach/convey computer literacy and computational thinking, as opposed to a more mechanical pursuit of programming/coding. At its core, I believe it is about problem solving through effective and efficient model building. From a practical perspective, I want to share some of my initial efforts coming up, such as developing and leading two middle-school courses/clubs: one, an introduction to Lego Robotics, and two, an introduction to 3D game programming in JavaScript. We’ve also sketched out a few workshops we plan to lead in the coming months.

Today, in honor of Computer Science Week, and Hour of Code, Steve led a workshop at the Santore Library in Philadelphia for a group of about 16-18 kids, aimed at ages 5-8, and I helped where I could. Here is a link to an article that Tony Abraham of Philly wrote about it. Continue reading


My Thing

Published by:

As a technology enthusiast for practically my whole life, I believe that my experience in learning to solve problems stems from a logical, problem-solving process I have learned in transferring my thoughts and ideas into models of thought, and ultimately into (mostly) working code. For me, I believe that programming has made me a better problem solver because it makes me a more thoughtful model-builder, and the computers and coding part just gives me less excuse to fudge things (though still providing ample opportunity, unfortunately).

With the growing interest in helping kids to code, and the exploding opportunities to learn the mechanics of coding at almost any age, I want to use my experience as a former child who coded and turned into a professional developer, and my ongoing experience as a technical educator to kids, to help others — children, parents, and educators — make sense and order of what’s out there. That’s my thing, and I want to make this blog/site a place to share experiences and cultivated insights to make the most of the wonderful opportunities.