James Dillon on Years of Coding and Becoming Chair of Programming

Meet James Dillon, a Stuyvesant computer science teacher who was recently named Programming Chair.

Reading Time: 4 minutes

Cover Image
By Samantha Ruinsky

Though computer science teacher and Programming Chair James Dillon has only been a member of the Stuyvesant community for two years, he has been a New York City teacher for a total of 17. Throughout his career, Dillon has worked at a wide variety of schools and has gained an impressive skill set in the subjects he has taught: computer science, history, and math.

Dillon’s computer science journey began in fifth grade when he learned his first programming language: a digitized version of an early programming language called Logo. Logo operates through systems called turtles that can be given commands. Initially, these turtles were actual physical pieces of hardware, but by the time Dillon learned how to utilize the language, they were digital representations. NetLogo, a language that all Stuyvesant sophomores are required to learn in computer science class, is a more advanced version of this initial system.

After high school, Dillon attended Xavier University in Cincinnati, where he took on a challenging dual major. “I studied history and computer science. It was tough because most semesters, [I took] 18 credits and I was juggling two pretty big majors that didn’t have much to do with each other, but I was really happy I did it,” Dillon expressed. “The reason I chose computer science was because my dad was a computer science major, and I’d always wanted to do history. My best teachers in high school were all history teachers.”

In college, Dillon created multiple complex computer science projects. “I wrote a compiler [a coding language] in C++, and then [in] my senior year, I wrote an operating system in C, so both of those are pretty big accomplishments,” Dillon said. In simple terms, a code compiler is something that takes in text and reads it as code, then outputs a result. A programming language then processes the output. Meanwhile, an operating system is the software that controls a computer's most basic functions, including its terminal. Windows and MacOS are both examples of common operating systems. “I also built in college a Web Crawler, which is a program that can scrape [a] web page for text, which [is how] some of the large language models like ChatGPT get all their answers for prompts,” Dillon elaborated.

Upon graduating from college, Dillon spent a year working as a teacher at his high school alma mater in Maryland on a probationary basis. Once he finished his first year, he was offered a choice: stay and obtain career teacher status, or complete a program in New York that would allow him to become a teacher there. “At the end of that year I got offered a full-time job [at my high school], but I also got into [the] New York City Teaching Fellows, and so I decided to be a math teacher in Brooklyn,” Dillon explained.

The New York City Teaching Fellows is an organization dedicated to attracting prospective teachers specializing in an array of subjects to New York City and providing them with training. Since the Teaching Fellows program requires all prospective teachers to obtain a master’s degree in education, Dillon’s tenure as a student was not quite over. “I got a master’s in Education at Brooklyn College. It was a great experience because I got to meet a lot of other teachers that I’m still really close with,” Dillon said. “Then, to become an accredited computer science teacher I took an advanced certification program at Hunter College, and that’s where I met a lot of the other Stuy teachers.”

During his computer science accreditation, Dillon learned from many teachers who now also teach at Stuyvesant. “[Computer science teacher Topher] Mykolyk had one of the best classes I’ve ever taken. It was called the Ethics in CS class and so [we] got to code a lot of really cool stuff. One example [was] an equitable algorithm [to determine] airplane seating,” Dillon said. This project entailed building a piece of software that could make choices about where different groups of passengers (ex: first-class passengers, families, etc.) would sit based on predetermined rules set by the programmers. “It was a really cool exercise in how we might develop a piece of software or an application,” Dillon explained.

After earning his master’s degree, Dillon accumulated 17 years of teaching experience before coming to Stuyvesant. “I took a math job at the Erasmus High School in Flatbush, Brooklyn [and] coached football there, and then, [...] after my first year teaching math, [I was a] history teacher for five years,” Dillon said. “[Then] I became the Program Chair and testing coordinator at [the High School of Economics and Finance],” Dillon explained. With every new school he went to, he grew geographically closer to Stuyvesant.

One of his proudest professional accomplishments during this time was leading the Erasmus football team—for which he served as the offensive coordinator—to victory in the city championship in 2012. “It was really cool. We won the game at Yankee Stadium. There was an NFL player on that team who I still follow—I’m really proud of that moment,” Dillon said. 

Now at Stuyvesant, Dillon’s job focuses on teaching students computer science and helping process student program requests. “I teach in the mornings between periods three, four, and five,” Dillon said. “Right now, [the programming office is] collecting student preference forms, trying to figure out which courses are most interesting [to] students.”

After all the programming forms are collected, Dillon will also inform the administration on which courses are the most popular to create enough sections for every course. “Once we get all that information, we relay it to the assistant principals and let them know which courses are the most interesting,” Dillon explained. “From there we work with the assistant principals to create their grids [of] what teachers are going to teach what subjects.”

Throughout his career, Dillon has gained diverse experiences as a teacher. Though he has done everything from coaching football to helping manage course selections, he is still the most passionate about teaching. “[My] favorite part of the job is working with students every day. I really enjoy teaching computer science,” Dillon said.