Help Me Teach Programming
July 18, 2005 11:35 AM
Subscribe
Help me teach people how to program: I need simple examples of functions, classes, etc.
When I teach programming, I always try to boil language constructs down to their essences. On the other hand, if I get too abstract, students start shifting in their seats because they can't understand how the constructs can be applied in the read world.
So when teaching, say, functions, I give a brief definition and show them the syntax (in whatever language I happen to be teaching); then I show them a practical example. Which is where things get difficult.
Most texts use math for the real-world examples. They show how to make a really simple function that takes in a number and outputs its cube root, or something like that. And I see the appeal, because math examples are often simple, and (the idea is) that one can focus more on how functions work (while still seeing a real-life, useful example) more than on what some specific function does.
But I want to stay away from math, because most of my students are designers who have been forced (kicking and screaming) into programming. Mathamatical aspects of programming are the LAST things I show them -- after they get comfortable with other aspects. (Yes, I know that on a root level, all programming in mathamatical. But I'm trying to avoid sytax that reminds them of high school algebra class, except where it's totally unavoidable, like with variables.)
So I'm looking for simple examples I can use to teach object oriented techniques, functions and the like. Please minimize the math. But, if possible, give examples that DO solve real-world problems. (Example: a function that takes in a word and searches for a smaller word within it).
The idea (and the tough trick) is to come up with examples that can stand on their own as much as possible. In other words, the student shouldn't have to focus on arrays, string methods and for loops while trying to understand functions. It's impossible to teach each language construct in TOTAL isolation (a string method or two might HAVE to be used), but I want to keep this at its minimum.
To summarize:
1) avoid math
2) make practical
3) isolate language constructs
If it helps, I mostly teach Javascript (Flash & Browser versions), but I occassionally teach other languages.
posted by grumblebee to computers & internet (14 comments total)
1 user marked this as a favorite
I guess how different terms and concepts in computing relate and how they come to be. It's easier, for me at least, to understand programming terms when I understand the why aspect -- how different computers think than from our own processes.
posted by geoff. at 12:12 PM on July 18, 2005