New Advanced Software Development course delves into fresh curriculum


Photo by Angie Jia and illustration by Nayeon Ryu

Senior Justin Choi works on a project that processes information about vending machines from a file. The unit introduced a new programming language, Python, that is slightly different from JavaScript. “I wouldn’t change anything in the class,” Choi said. “This class reaffirmed my decision to study computer science in college.”

AP Computer Science (APCS) and AP Calculus BC teacher Jason Townsend recently created a new course called Advanced Software Development (ASD) that explores topics beyond APCS: everything from data structures and user interfaces to more sophisticated algorithm development. He got the idea for the class five years ago because of an increase in the number of non-seniors taking APCS.

“I started developing the curriculum last year after the seniors graduated because I had a lot of downtime. I started backwards-developing: trying to decide what kind of projects I wanted to do and then analyzing what sort of content would be needed,” Townsend said. “It’s still a work in progress. We’ve gone through the curriculum more quickly than I thought we would, so there are still things to fine-tune.”

Senior Justin Choi is currently taking ASD and loves that the course is not required to follow a set curriculum. Because of this flexibility, Townsend is able to focus on topics that students are interested in. 

“I thought it would be a lot more free [than APCS], and it turned out exactly as I expected; I love the class,” Choi said. “I didn’t expect this, but there aren’t any tests. It’s a very project oriented course, which was my favorite part of the APCS class, and I’ve learned new languages beyond the AP criteria.”

The course’s first semester culminated in a month-long group project. The prompt was open-ended and asked students to make a program that includes structures and techniques learned in ASD.

“I really liked the group project because I felt like I was an actual programmer at a company,” Choi said. “My team made a game which utilized a graphical user interface to make animations in order to create a newly formatted 2048.”

Sophomore Trisha Manna is currently taking APCS and enrolled in ASD next year. Originally, Manna took APCS because her parents wanted her to, but she enjoys it so much she is considering studying computer science in college.

“It’s a creative class, because there’s a lot of problem solving, and I like that it isn’t straight memorization like a lot of other classes,” Manna said. “I definitely think schools should have more technology classes like this, especially where it seems society is headed right now with new advancements in technology.”

Due to this increasing presence in society, schools have worked to integrate computer science courses into their curriculum. ASD is the first of its kind in the district. 

“It’d be nice to have more technology classes like this, there should be. Do I think there will be anytime soon? Probably not,” Townsend said. “Some schools lack enrollment and lack a staff member that is either willing or able to teach it. So until we can convince some people to get the skills that are required to teach these courses in high school teaching positions, it’s going to be a struggle.”

Townsend encouraged the district to approve the course for three years, going through the formal process of submitting a plan and getting it reviewed and voted by a committee. He was denied the first time, but is grateful his second attempt was approved.

“My favorite part of this course is just getting an opportunity to work with students who are capable of learning this level material, because for me it’s interesting. There are certain topics I’ve taught year after year, and they start to get a little stale,” Townsend said. “With this stuff being so new and challenging, I love getting an opportunity to actually teach it to kids that can handle it.”