return to 4teachers  return to KidSpeak contents

Computer programming contest rewards leading-edge students
 
As programming comes into higher demand, local districts and technology organizations are testing young programmers in contests. Hear the story of Nick, a recent NETA contest winner who has his eyes on the big time.
 
By Alicia M. Bartol
SCR*TEC

 

 
About 20 years ago, when computers were in just a handful of schools, kids learned a few word processing skills and sometimes learned the most simple elements of Beginner's All Purpose Symbolic Instruction Code (BASIC), a programming language invented in 1964 at Dartmouth College. Nowadays, kids are getting interested in computer languages again, especially with the plethora of jobs available in computer programming. To encourage students with these interests, junior highs and high schools are offering more computer classes as well as contests for programming languages (like PERL or C++) and mark-up languages (like HTML). This month, we spoke with 17-year-old Nick from Lincoln, Nebraska, who recently won second place in the programming contest of the Nebraska Educational Technology Association (NETA). He wrote a program that renders real-time 3-D graphs of mathematical equations.
 
     NETA's contest was not the first that Nick has entered, but it was different from some of the other competitions he's encountered. For example, he said, "The UNL programming competition is different from the NETA one in that you go in and they sit you at a computer and they give you two and a half hours and six problems, and you've got to write programs that solve the six problems. I like that much better. I found it easier for me because I'm better at quickly writing some sloppy program that gets the problem done than making some neat, pretty, program and documenting it all, which is what you had to do for the NETA one."
 


On the other hand, the NETA program allowed students to spend a large amount of time, but expected to see clean programming that reflected careful pre-planning as well as effective problem-solving. Nick prefers the former, what he calls: "trench warfare programming."
 
     For the NETA programming contest, Nick refined a program that he began working on in the summer of '98. "My math teacher asked me if I could make this program. He actually came up with the idea. On our TI-92 [calculators], which is what we used in pre-calc, you could do 3-D graphs, but it wouldn't rotate it." Nick's math teacher knew of Nick's interest in computer programming and asked if he could write a computer program that would rotate the image upon demand. Nick said, "I spent the whole summer trying to do that, so it would rotate. I was pretty happy when I got it done, because it was something that, when I started, I wasn't really sure if I could do [it]."

 

Nick explained how the program works: "You give it an equation, like z equals something in terms of y and x and then it graphs it. That would make a 3-D graph, and then it rotates it." He was sure that the program could handle any math equation in a regular calculus book. "[The user] can do anything like plus, minus, divide, times, that kind of thing. Then there's also things like cosine." The programming was made more complex because Nick had only taken pre-calc at the time he started the program. "The hard part of the program was figuring out the math, because it's pretty complex, the math in it, 'cause you gotta take a 3-D graph and put it on a 2-D screen, and so the math was the big part of it. Once I figured out the math, I actually wrote the program.
 
     Not only did Nick need to master more calculus than he had under his belt at that time, but he needed to learn more about certain computer languages. He already had the basics underway. "I started out with BASIC in probably seventh grade," said Nick. "It was all on my own, I really had help from no one, it was all from a book." As a sophomore in high school, he moved on to Pascal. "I learned Pascal as a transition language. I learned that in school; I took it for a semester. That's the only time I ever used it; it's been pretty worthless but I used it as a transition." He needed this language in order to make the jump from BASIC to C, one of the most commonly used languages in the computer industry. He explained, "BASIC is real simple and Pascal helps you move into [and] just transition into C and C++ because it uses a lot of the concepts that are used in C programming, yet it's simple."

 


Nick had to learn a number of new concepts with the new language, including: "declaring your variables and having header files, include files, and such, and actually making a compiled program rather than running through an interpreter." To many of us, these terms are part of an entire programmer lexicon that we may never fully understand. However, Nick was happy to explain the most important point, namely the difference between a compiled program and one that requires an interpreter. "When a program's compiled, the program runs on its own, you just double-click on the program and it runs the program. But if you have an interpreter, then you need another program like BASIC. So you'd take your program and run it through BASIC. A compiled program is much faster, because you don't have the overhead of the interpreter trying to, when you're running the program, figure [things] out."

 

Nick used a compiled program for the NETA contest in order to improve the speed of the program, among other things. To improve his programming skills, he took a number of independent studies with his computer teacher. Nick said, "The last two years I've been learning C, C++, and PERL, which is a language fairly similar to C and C++, but it uses an interpreter like BASIC; it's not compiled. And it's used a lot for Web pages, and making Web pages interactive."
 
     Apparently, Nick's hard work has been rewarded. Naturally, his math and computer teachers were thrilled with his program and its placement in the NETA contest. Nick says, "I think my program's useful just because [drawing] a 3-D graph is sometimes very helpful, and there's not a lot of utilities out there to do it." In addition to his academic success, Nick already has a programming job at a local imaging firm, and he's on his way to college in the fall. He plans to use his programming knowledge in the business world, a lucrative enterprise for sure. Not bad for your first month out of high school.

kidspeak logo

Students interviewed for KidSpeak are nominated by teachers. Send nominations to the editor.

Copyright. © 2002, 2001, 2000, 1999, 1998, 1997 ALTec, the University of Kansas