Students at Marlinton Middle School were treated to a morning of computer programming, thanks to an instructional visit from the Pocahontas County High School Computer Science class.
“We are from the Computer Science class at the high school,” instructor Laurel Dilley explained, “and I think this is probably the first computer science classes in the state.”
Advanced Placement – AP – Computer Science classes are offered at larger high schools throughout the state, but PCHS is fortunate enough to offer a similar course with experienced volunteers to help the students, as well.
“We just think it’s really important to start teaching this subject,” Dilley said. “Everything in our world is going to computer-based learning at this point, and if we don’t know how to use computers, that’s really scary for our future.”
After seeing interest expressed in the subject by some of Dilley’s current Computer Science students, she spent a week in Delaware this past summer training to teach the UCLA-developed course, Exploring Computer Science.
“We’re using the Exploring Computer Science curriculum,” she said, “and Ray Creager comes in once a week from the observatory and teaches us Python coding, which is an amazing opportunity that probably doesn’t happen anywhere else in the United States. We have a true computer engineer and scientist that dedicates two hours a week to come and teach these kids.
“It’s like having a private tutor for Computer Science, and it’s amazing. The observatory has donated flash drives with new operating systems so that these kids can program in any language they want. The observatory has been like a dream come true.”
For students in the class, math concepts are being introduced in new and exciting ways, and the class itself has opened doors that might not have been opened otherwise.
“If it wasn’t for this class, I probably wouldn’t have known what I’m going to major in,” senior Dalton Irvine said. “As soon as I took Computer Science, it kind of opened my eyes to what I wanted to do and what I would love to do. It helped me to look at schools that had good Computer Science departments and programs and made me aim for the future.”
In addition to Creager, Paul Marganian spent two weeks working with PCHS students in Python, replicating an early arcade game known as Pong.
“He’s been teaching us different operating systems like Linux, rather than Windows,” senior J.D. Hensler said, “and we’ve been frustrated, pulling our hair out every Friday, because he’s overwhelming us with Python. Then we finally get to where we understand it, and we get a pixel to move around and bounce off walls. It was the biggest deal. We saw that we’ve improved. We got to see everything that we’ve learned, and we got to apply it. That’s the best thing – seeing what you’ve accomplished.”
Eight students traveled to MMS to present on four topics – Binary, Cryptography, Python and Scratch. Each presentation team consisted of two students with an affinity for their specific topics.
Seniors Austin Hubbert and Kaylin Murray began by explaining the differences in Decimal and Binary numeration.
“Decimal numeration starts with a base of ten,” Murry explained. “The prefix dec- means ten. We have ten fingers, so naturally we use a base of ten.”
With the decimal system, students use ten numbers, numbering from zero to nine, and have the ability to rearrange and add the numbers in whatever manner they please. It is this ability that makes every number in the decimal system possible.
The binary system is different.
“Instead of having numbers from zero to nine like a decimal system would, the binary system has two numbers – zero and one,” Hubbert explained. “It’s like an ‘on and off’ switch. Zero represents the ‘off’ button, and the one represents the ‘on’ button.”
“All computers are able to understand is some form of on and off – true or false, on and off, yes or no,” Dilley added.
The second rotation brought students to Cryptography with Hensler and Goldie McClure, where they learned about ciphers, using events from World War II as an example.
“During the war, the Germans created a famous cipher known as the Enigma Code,” Hensler said. “It was created to hide messages from the Americans, and it wasn’t until the 1940s that a team of mathematicians broke it.”
According to Hensler, similar codes and ciphers have been created and used throughout history to hide messages from enemies, and one example comes from Julius Caesar.
“The Caesar Cipher is a shift cipher,” he explained, “and it is a very basic cipher created by Julius Caesar. He created it because his enemies were very illiterate. They didn’t know how to spell, and they didn’t speak very well, so all Caesar had to do was create a simple code.”
The Caesar Cipher allows our 26-letter alphabet to shift anywhere between 1 and 25 times, with three being the most common shift used.
“Shifting between one and twenty-six would be pointless,” McClure added. “All the letters would move right back into place.”
After the students finished with cryptography, they joined Chase Alkire and Michael Leyzorek in the library for a lesson in Python, a general-purpose, high-level programming language.
“What we’re doing in here is working in Python, a program Michael and I used up at the NRAO,” Alkire said. “We were mentored up at the NRAO for a summer, and if it wasn’t for Ms. Dilley, we would have missed out on the opportunity. They helped us understand Python, and we now know Python more than ever before.
“What we’re teaching kids today is a simplified version. Python is one of the simplest [programming] languages you can learn in Computer Science. It’s fun, educational, and all around one of the best [programming] languages out there.”
Students were then given the chance to play games designed and programmed by Samantha Collins and Irvine using a program called Scratch.
When asked what went into designing a game, Irvine said, “Scratch is pretty much knowing the function, knowing what to do with the function and creativity.”
“It was more like drag and drop,” Collins added. “It wasn’t like we were doing any hardcore coding. The program had little places where we could code each aspect.”
Students reconvened in the computer lab following their final presentations to participate in an Hour of Code, sponsored by code.org, Harvard University and MIT.
“They’re going to learn the basics of programming,” Collins explained. “It’s kind of like Scratch where you drag and drop each piece of code, and the program starts moving. If a code isn’t right, it sets you back. It’s almost like a game or puzzle that teaches.”
“It tries to get kids excited about coding,” Dilley added. “Like Samantha said, it’s drag and drop code. Typing in code is way too advanced, so by dragging and dropping, there’s a sense of immediate satisfaction. They go through a whole thing that code.org has set up, and once they’ve completed it, they get an ‘Hour of Code’ certificate.”
Following their presentation at MMS, Dilley and her students traveled to Marlinton Elementary School to meet with Brian Smith, who has been working on coding activities with his fourth grade class throughout the year.
“I feel very passionately about this,” Dilley said. “I feel like we’re cheating students out of an amazing, educational opportunity if we don’t offer this class to them.”