Collaborative coding

Students start Programming Club to educate others about basics of coding

Sophomore+Aaron+Hammonds+types+on+his+computer+at+a+Programming+Club+meeting+on+Feb.+1.

Noah Baker

Sophomore Aaron Hammonds types on his computer at a Programming Club meeting on Feb. 1.

Noah Baker, Staff Writer

After school on Wednesdays in the library, a group of students sit puzzled over an error message popping up over and over. They have hit a roadblock in the code, and despite trying to solve the bug, each attempt yields nothing. If the user enters a number not accounted for, the loop will go on forever. One student eventually discovers they could catch the error by looping the code until they get a correct input. They all incorporate it into the team project and both the error and bug are solved. Everyone celebrates that the small game they made is finally working.

Juniors Aiden Pike and Dominic Burke and sophomores Andrew Campbell and Jesse Graham felt that the programming language, C++, should be available to students who wanted to learn. So, they founded the Programming Club.

“Last year [there] was a class, like IT computer science, that was the ground stuff and taught C++,” Campbell said. “We had an idea about a video game-making group, like a startup sort of thing that failed due to issues with schedules. So we decided to revive it as a [club] to teach C++.”

The leaders hope the club can offer them the ability to improve their programming skills along with teaching others how fun it can be.

“Programing Club is meant to be a team of students who know how to develop or write. It’s mainly a game development team,” Pike said. “At first, we’re going to teach the people that don’t know how to code, that way they can develop games later in life. I think it also can be used to develop team building skills or teamwork skills.”

The club leaders hope to teach the club members who are less familiar with the language with visual instruction using the website “Repl.it.”

“We teach you by doing it because programming is one of those things where you can’t teach just by speaking,” Campbell said. “Maybe when it’s a concept, more or less you can, but in this sort of realm of teaching, you can learn better by doing it. So that’s why we use an online IDE called Repl.it, which is basically a way where you can actually code it but don’t have to install extra stuff or dependencies. It’s all right there. It’s easy to create an account, create a little project called a Repl and that’s it. We use that to show the process.”

After the lesson is taught, club members spend the remaining amount of time applying what they learned in groups using various activities.

“The first one is called ‘Shopkeep,’ and that’s the most basic project,” Pike said. “You are a shopkeep. You’ll have customers walk in the new store, and you get to make your own items. You have a customer, choose an item, whatever price etc. Along the way, we’ll do stuff like ‘Battleship,’ the game. Different genres of games, simplified down.”

Individually, some of the other leaders help one-on-one with any students that need help if they missed a meeting or have trouble with a topic.

“While people are explaining things if anybody’s really not understanding it, I can kind of help give guidance or step by step on what it really is doing,” Graham said. “Then once we get into individual groups, I do the same thing. I’m learning C++, but I still know the basics enough to kind of help.”

The club has had struggles; in the beginning, the leaders were unsure of how meetings would look. However, after a few meetings, the leaders feel like they have a productive formula.

“We started off with a couple of people going out front and going through a program we worked on last meet, and it’s just a really basic one,” Graham said. “But we started off up front by explaining the basics of what it will do, and then we would split up into groups, split up the mentors and build on the information we learned in front, ask any questions and get one-on-one help if anybody can use it.”

Campbell recognizes C++ as a great programming language for beginners due to its linearity in learning.

“Everything builds off the previous thing,” Campbell said. “It’s one chain where you have to learn everything in order, otherwise stuff that won’t make sense. In a lot of cases, people like that because it means that they have a straightforward path to follow. When you jump onto programming, it can be really overwhelming because you don’t know where to start. C++ is nice, because you could start one way and keep building all of that in a linear and obvious path.”

Eventually, the club hopes to shift the focus away from teaching C++ toward applying it in more complex ways to create a finished product.

“The overall goal is eventually going to be to make a game,” Burke said. “We’re not sure if we’re going to do that this year. We’re going to make something this year. Next year, we know we’re going to make a game by the end of it.”

Once the club progresses far enough to be able to make a game, the leaders hope to include more positions beyond coding.

“I think a lot of people will think that Programming Club is specific to just people who want to code, but there can be a lot more applied than that,” Pike said. “There’s writers and artists; They’ll lighten the loads for developers. Writers can make stories. And there’s artists, they can go do concept art or maybe later they can go they can make their own game sprites. There’s also the logisticians and those don’t usually involve making games, but they can help us with meetings. They can work with the secretary to arrange parties, maybe even some of the game projects.”

As of right now, the club leaders hope to recruit more members, and particularly artists, in order to create a quality, complete game.

“I hope we get a lot more members, particularly more artists, not just people who specialize in the programming part,” Burke said. “I hope that we can make some really cool stuff, maybe show it off to some people. People of any skill level can join. I think that’s important to know, not just people who already know some programming basics because we have some people who’ve really never done that much programming and then we have people that do all sorts of programming already, we try to get everyone involved in it.”