Tuesday, May 13, 2008

The Ideal Technology/CS Curriculum for Middle School

This post is inspired by a curriculum question raised on educatorslog.in by a 'Computer Studies' (CS) teacher (an alternative moniker for a 'Technology' teacher in India).

So, what should kids aged 10-14 be taught by way of technology apps/tools in schools?

I think the question is better answered if we rephrase it to - What skills can kids aged 10-14 develop through technology apps/tools? In my view the 4Cs provide an excellent guideline to develop the curriculum - thinking about which technology tools will help kids with the following -


  • Communication
  • Collaboration
  • Creativity &
  • Critical Thinking
I’d like to preface my list of candidates tools and/or specific applications that could be considered, by underscoring the need for embedding the learning of specific technology tools in authentic tasks and integrating it in projects/assignments/artifacts that are part of the curriculum of core subjects such as Science, Language Arts, Maths and Social Studies. Technology taught stand-alone as a separate “subject” is neither necessary nor beneficial. The idea that technology is a “tool” can only be impressed on students when it is taught as a tool to achieve a larger purpose.

The other thought that I’d like to voice for consideration is the need to include elements of computer science rather than simply restricting the Technology/Computer Studies curriculum to the learning of software applications. This would mean exposure to the ideas of algorithms, data structures and data management. Programming is of course an important part of this, but programming alone is a very narrow piece that does not cover many of the elements of computer science that children could get exposure to, even at an early age. Such instruction should ideally be cleverly designed and appropriately disguised (a la Randy Pausch’s “head fake”) so that kids have fun learning relatively difficult concepts.

Enough rambling, and on to specific themes/tools... (Note that there are free alternatives to almost all proprietary ones that I mention here). I will try and organize this into a table at some point.
  • Google Docs, Sites (Communication, Collaboration)
  • Blogging & Podcasting (Communication, Collaboration, Creativity)
  • Wikis (Communication, Collaboration)
  • Publishing - Publisher (Communication, Creativity)
  • Photo/Video uploading & sharing ((Visual) Communication, Collaboration)
  • Audio Editing- Audacity (Communication, Creativity)
  • Image Editing - Photoshop, Fireworks (Communication, Creativity)
  • Movie making/Digital Story Telling - Movie Maker, PhotoStory, iMovie (Communication, Creativity, Critical Thinking)
  • Concept-Mapping - CMap, FreeMind, Inspiration, many others (Critical Thinking)
  • Presentation tools - Open Office Impress, Powerpoint, Google Presentations, Slide Share (Communication, Collaboration)
  • Programming - LOGO, Star LOGO, Scratch, Squeak, Drape, Alice, Visual Basic/C++, C, (Critical Thinking, Creativity)
  • Web Design, including HTML (Collaboration, Creativity)
  • 3-D Modeling - Google SketchUp (along with Google Earth) (Creativity, Critical Thinking)
  • Game Creation- Game Maker, Scratch, Squeak (Creativity, Critical Thinking)
  • Animation - Flash (Creativity)
  • Spreadsheets - Google Spreadsheets, Open Office Calc or Excel (Critical Thinking)
  • Databases & Information Organization - Open Office Base, Access (Critical Thinking)
I think this is a fairly exhaustive list. These tools can be taught at the appropriate grade level and even in multiple grades through some sort of a spiral curriculum (building on basic skills taught in an earlier grade).

2 comments:

Anand said...

Not sure that being able to clearly enunciate a problem(specification?) would fall into any of the categories you mention. Forget how to approach a solution (critical thinking/creativity)- my personal experience was that I had no idea how to clearly understand what the problem was. The study of software with all the pitfalls of edge conditions, scaling (you write something that will multiply 2 numbers - what would happen if the numbers themselves were 2 to the power of 64? what changes would you need to make to support that? Do you always need to think of such cases? Can there be multiple solutions to the same problem. How do I decide which one to choose?).
you could say - math teaches us rigor. But software is fun - you get to play with it. I think it would capture a child's interest even if math is not his strength)

So I would add rigor under some category to "what skills can kids 10-14 develop through tech apps/tools") just because technology provides such a nice way to teach these concepts which we use everyday in adulthood. And you dont need a specific application. you could use the programming environments or use simple things like even calc or wordpad

Shuchi Grover said...

That is a very astute comment - you always do seem to "see" beyond what I write :)

Yes, rigor is huge as is looking at problem statement or problem definition (as opposed to problem solving); and programming environments do make you "see" problems in ways you probably never do in a Math classroom, for example.

In answer to some of your questions - I think it would be useful to inculcate in kids the idea of exceptions to the rule and boundary conditions - to make them chew on deviations from the most obvious "normal" set that the problem deals with. It's a very important life skill too :)

Thanks for this insightful comment, and apologies for this delay in replying - I meant to reply, could not do it in a hurry, left it for later, and then it plain slipped my mind until I referenced this post again recently.