Okay, before we get lost in the language, let’s try cutting this down to size a little by separating it out into pieces and tackling one piece at a time (in computer science, we call this the “divide-and-conquer” approach). Let’s start in the middle: “Procedural knowledge is the use of declarative knowledge to accomplish tasks and solve problems, i.e. – knowing how.” But what happens in Computer Science, say, if the student lacks the appropriate “declarative knowledge” to begin with (this often happens in Computer Science). After all, there is an awful lot to know, and a CS professor’s main struggle sometimes is how to deal with the fact that each student knows a “whole lot,” but all about different subject areas. How to keep them from getting bored? Well, one solution Computer Science professors have come up with, is to use videogames. Videogames are “fun,” and most computer science students I know enjoy both playing them and designing them. But the fact that videogames are “fun” and “motivating” is really all the CS professor cares about. After all, so much of Computer Science learning is about actually sitting at the computer and “tinkering” and seeing what works and what doesn’t. So a CS professor has got to come up with something, if they want their students not to minimize that homework window and “ALT-TAB” back into World of Warcraft (competition is a rough thing, I feel sorry for the teachers these days).
So how does a CS professor deal with the following situation: one student understands Linux top to bottom because they worked under a Linux Administrator all through high school, another student understands web-design because that is what they do for extra cash, and another student understands C++ very well and every time another language comes up they say “do you mind if I do this in C++.” And they would all rather be playing World of Warcraft. The UNM CS Department is “Java-based,” so let’s say this professor is trying to teach Java. Nobody wants to learn Java because they all have “employable skills” and they are just here for “the piece of paper.” Plus, the real reason they don’t want to learn Java is because they could already do the program the professor is describing in the language they already know in 5 minutes, verses doing it in Java which might take 3 hours. These students lack the “declarative knowledge” of Java and they aren’t too keen on learning it (plus, learning a new language often has a “steep learning curve,” and they aren’t interested in going through the “excruciating pain” of learning a new language in one semester since it took them 5 years to learn C++).
Answer: compete with World of Warcraft by competing for some of the same “reward centers” of the brain that World of Warcraft stimulates. World of Warcraft provides a “feeling of accomplishment” anytime a “small battle” is won, and subsequent “advancement” of the player’s avatar. So choose a “program a videogame assignment” but construct the overall assignment very precisely: so that the students get a “feeling of accomplishment” from completing each of say 12-subproblems that were well within their grasp (“small battles”), and then integrating them all together (another type of sub-problem really). Half the time in Computer Science is spent on now tweaking and cleaning up what you’ve just created so it runs right, so make the assignment a videogame so that the “testing” phase is to actually play a videogame and fix what is wrong with it (i.e. – “fun,” let’s get away from the drudgery of just staring at a screen all the time). Interesting what some teachers do to try to get away from the drudgery of teaching methods these students have already seen and become bored with for the past 12 years: trying anything new may be harder on the teachers (“peer pressure from other teachers” and “rules” may be the enemies of this type of “innovation”), but I know these efforts are greatly appreciated by the students. Plus, videogames are “fun.” Here is a programming project that is much more interesting than programming the fibonacci sequence for the fifth time. Plus, here’s a result you can actually show your friends and family that is actually somewhat “cool.” Little kids might actually enjoy playing it, making you the hero of your nephew. Plus it is always nice when a friend will take over the “testing” for a second and tell you what is wrong with it.
So Strategy #1: steal the students away from World of Warcraft by competing for the same “reward centers” in the brain. Strategy #2 – in Computer Science, these types of games really really really make you learn, and let’s take a closer look as to why. (But first, a quick aside: CS professors often refer to getting the free-time to sit down and program for no particular reason as “hacking,” and by this term they mean “playing.” When you ask a CS professor how they are doing, they will often say: “Good, but classes have been busy and I haven’t had any time to sit down and do some hacking.” By this they mean “playing around” and “advancing their skills” by “exploring what the computer can do.” So it is best to take a step back and look at the entire problem set: (1) The computer is the entire videogame, (2) anytime you figure out something you can do, you get a “sense of accomplishment” and you “advance the skills of your avatar,” and (3) you explore around this world just like you would explore around the world in World of Warcraft, looking for “small battles” you can win in order to accomplish 2 above. Because computer technology keeps advancing and the Internet keeps growing, the world for you to explore keeps growing and growing. You can chat with other players by finding like-minded CS people through IRC or email or Instant Messenger. And if your skills advance to the level of Level 80 Warlock, you can actually get a job where someone will pay you for those skills in the real world, and/or you can get a job as a CS professor.).
So why are these games so effective as a teaching method in Computer Science. The answer from the quote above is actually contained in these two lines: “Procedural knowledge is the use of declarative knowledge to accomplish tasks and solve problems, i.e. – knowing how. Contextual knowledge is knowing why, when, and where to use declarative and procedural knowledge.” The quote above defines “declarative knowledge” as “including concepts, rules, and principles.” But really, this kind of information is very difficult to learn. I will give an example from mathematics. I must say, the only way I ever learned which derivative equated to what (e.g. dx/dt ln x = 1/x, dx/dt tan x = sec2 x) was through repetitively working out homework problems. Likewise, I can tell the non-computer-minded people I work for the 15 steps it takes to package up their entire website, upload it to the server, and then make it visible to the world; but I do not expect them to immediately know it anymore than I would expect them to memorize a 15 digit alphanumeric password I had just given them. The answer for how to sit down at the computer and fly through those 15 steps in 0.5 seconds comes through practice and repetition. There is so much information in the computer world, that you might hear that “chmod 755 *.*” changes the permissions on your files on the Linux server, but that might go in-one-ear-and-out-the-other (“information overload” is a common problem in computer science and elsewhere). However, if you end up performing this procedure over and over and over again as you attempt to make your “modified” Java Applet videogame visible over the internet after each “tweak” and “correction” you’ve performed; after about 3 weeks, you might memorize this line “chmod 755 *.*” and add it to the arsenal of your skillset. Therefore, it is not the fact that “declarative knowledge” existed in these situations or that “procedural knowledge” was given a single time that was important, but that the repetitive implementation of these above two in “contextual knowledge” (in order to play or modify the game) over and over until you learned it.
Richard Vigilante, a Computer Science professor from New York University, defines it this way: “Declarative knowledge represents the concepts of the field and is readily learned from faculty lectures and presentations. Procedural knowledge represents the processes inherent in the field and is best acquired by doing, through faculty/student discussions and collaborations” (Brown, 2000). Vigilante defined the process when his course lost it’s interactive component, “…the result was a course that instructionally reduced the key procedural concepts to declarative how-to lists” (Brown, 2000). Videogames are extremely important in Computer Science and are used as a “teaching vehicle.” Right now they are one of the best “teaching vehicles” in Computer Science because they “enhance the motivation of the students.” However, who is to say what a “game” is? Perhaps Tetris is about “problem solving in pursuit of a goal” the same way building and modifying a computer game is about “problem solving in pursuit of a goal.” If they both stimulate the same “reward centers” of the brain and excitement levels in the individual, then who is to say. Computer Science proves repeatedly the similarity between teaching the “procedural knowledge” required to get Mario to the end of a level, and the “procedural knowledge required to accomplish certain things on your computer.” However, much of interdisciplinary Computer Science also involves the creation of “models” for situations not easily worked out on paper. The difference between these “models” and simulations in general are often very thin. Which brings me to paper 2...
Works Cited
Brown, David G., Editor, 2000. Interactive Learning: Vignettes from America’s Most
Wired Campuses, Anker Publishing Company, Inc., Boston, MA, p. 75-78.
O’Neil, Harold F., and Perez, Ray S., editors, 2008. Computer Games and Team and Individual
Learning, Elsevier Publishing, New York, NY, p. 5-16.
Wired Campuses, Anker Publishing Company, Inc., Boston, MA, p. 75-78.
O’Neil, Harold F., and Perez, Ray S., editors, 2008. Computer Games and Team and Individual
Learning, Elsevier Publishing, New York, NY, p. 5-16.
No comments:
Post a Comment