Applying differing instructional strategies to learning a programming language reflection
While reading Zend PHP Certification Study Guide, I wondered about the pedagogical applications for teaching programming students. I've often heard programmers learn a particular programming language by reading the source code of other programmers. In fact, that's how I learned PHP scripting. Printing "Hello World" is a famous example of a starting a new programming language. It serves as an introduction to installing the programming interface, compiling the source code, and using whatever viewer is needed to read the "Hello World" output.
One of the biggest things Dr. Hirumi has been drilling is grounded instructional design. Does reading someone else's code and reproducing some portion of that fall into a known, grounded, academic, peer-reviewed, instructional strategy? It sure seems unlikely. If so, which one? If not, how can learning to program be improved by following the guidelines of an instructional strategy?
This semester, I've been working on an instructional unit for a local non-profit hospice. For the online materials, we chose to use a modified Webquest as the basis for our grounded instructional strategy. It has six basic parts: introduction, task, process, resources, evaluation, and conclusion. It occurred to me learning a programming language could be a self-directed Webquest. The introduction would be to learn the background of the language; the task is to print "Hello World"; the process is the installing of the programming interface, compiler, and viewer; resources are the programming language's manual and online search engines; evaluation a pass/fail when the program or script is executed; and the conclusion is often to continue building on to "Hello World" to make it say more, do more, or otherwise make a dazzling new output.
Then again, there are several approaches to learning, predominately learner-centered, experiential, and teacher-directed, among others. Who's to say programming with a crash-n-burn approach to coding and executing isn't learning by doing (Schank, Berman & Macpherson, 1999)? Certainly someone smart enough to take on the task of learning a programming language by themselves can realize how important it is to learn to print "Hello World" before they move on to creating a customer database.
Not all programmers learned by teaching themselves either. Plenty of community colleges and universities have computer science departments full of teacher-directed programming courses. Dr. Hirumi likes Gagne's nine events of instruction. Using that as an example, the teacher could gain attention with a cool finished product, tell the students what it takes to reproduce it, call on their resources of prior knowledge, perhaps show them parts of the source code, help students debug errors, and send them home with homework with similar requirements after their classroom program successfully compiles.
I heard next semester, in Advanced Instructional System Design, our assignments will involve taking a unit of instruction and presenting it using several different grounded instructional strategies. It appears even after I took a topic that's never discussed in the college of education, I was still able to apply three different instructional strategies to the learning process, making me feel a little better about next semester.
References
Herbert, S., Kushner, D., Schlossnagle, G., Shiflett, C., Schotte, B., & Tabini, M. (2004). Zend PHP Certification Study Guide. Indianapolis, Indiana: Sams Publishing.
Shank, R. C., Berman, T. R., & Macpherson, K. A. (1992). Learning by doing. In C. M. Reigeluth (Ed). Instructional Design Theories and Models: A New Paradigm of Instructional Theory (pp. 161-179). Hillsdale, N.J.: Lawrence Erlbaum Associates.


Post new comment