Khoury College of Computer Sciences faculty voted Jan. 15 to change its core curriculum that has been in place for nearly 20 years. The college will fully phase out three classes by fall 2025.
The classes being phased out are three introductory courses for computer science undergraduate degrees: Fundamentals of Computer Science 1 and 2 — known colloquially as Fundies 1 and 2 — and Object-Oriented Design.
These courses will be replaced with a new sequence of classes: Program Design 1 and 2 and Introduction to Program Design, Khoury associate professor Jonathan Bell — who is part of the redesign team — told The Huntington News in an interview.
Christo Wilson, the college’s associate dean of undergraduate programs, explained the intended changes in a Q&A-style article posted by Khoury College Dec. 12, 2024 which prompted backlash from students, who’ve said that the redesign “abandon[s] the approach that has consistently equipped its graduates for success.”
According to the Q&A, new computer science majors are entering Khoury with “increasingly heterogeneous backgrounds.” Roughly 40% of incoming students have Advanced Placement computer science credit from high school, while many have no prior coding experience, Wilson said. To combat this, students with prior computer science experience will have the option to test out of the first course through an online self-placement test taken over the summer.
Offering a more beginner-friendly introduction to computer science underlies the curriculum changes, Bell said. “We want these classes to be approachable to anybody,” he said. “We’re trying to create better educational content that meets students where they are.”
Assistant teaching professor Rasika Bhalerao, who is also on the redesign team, said creating a more inclusive curriculum for students without prior background will be her primary focus throughout the process.
“A lot of the people who are currently talking about [the changes], all of them have a computer science background, they’re all in the department,” Bhalero said. “The people we’re not hearing from are the ones who went to one day of computer science, saw that there are students who have been coding since they were 8 and dropped out. These changes are mainly for those people.”
Fundies 1 is currently taught in Racket — a language developed to teach computer science by Northeastern trustee professor Matthias Felleisen — while Fundies 2 is taught in Java, which is widely used in the industry.
The new curriculum will replace Racket with Pyret — another teaching language created, in part, by Khoury faculty — that was “designed to transition smoothly into Python,” said Daniel Patterson, the third professor on the redesign team.
The new curriculum will also see Python added to these foundation courses, in the hopes of boosting students’ chances of getting a co-op since Python is currently “the most requested language by co-op employers,” Wilson wrote in the article.
Seth Weintraub, a second-year computer science and music combined major, said he thinks switching to Python is a “good change in direction from Racket.”
“I do speculate that the reason why [Fundies] got taken away or why people were complaining about it so much [is because] a lot of people come into these classes expecting to learn something they can talk about in an interview,” said Ellie Acuña, a fifth-year computer engineering and computer science combined major.
Felleisen, the creator of Racket, expressed concern that the new curriculum will not offer students the unique educational experience that the current curriculum affords. He added that without the “solid foundation” of the current introductory courses, higher level courses can no longer be taught in the way that they are at the moment.
“It’s too bad for the future students that will get a curriculum like every other university teaches,” Felleisen said. “The explicit goal stated in the faculty meeting was — we surveyed our peer universities, and from now on we will be like them; we will no longer be distinct.”
Fundies 1 uses Felleisen’s “design recipe” to teach students not only how to write code, but also how to plan out and design programs. Students have expressed concern that moving away from Racket means that this focus on design will be lost in the new curriculum, though the redesign team maintains this is not the case.
“What we really see as the most fundamental important thing to continue to focus on is this idea of design first,” Bell said. “We want to retain the idea of a gradual introduction into the real world and widely used languages.”
One particular concern among students is that the new curriculum will be easier, and as a result, having a degree from Northeastern will carry less weight. Object-Oriented Design, or OOD, is known for its notoriously high workload, and while the college intends to retain its material, it will be spread “throughout the curriculum so it’s not all in one semester,” Wilson wrote in the Q&A.
“The credential of having a computer science degree from Northeastern right now means you took OOD, and it’s a pretty rigorous and hard curriculum. You lose the value of that if they make the curriculum easier,” said Reilly Teeter, a third-year computer science major who posted a petition titled ‘Save Fundies!’ on Change.org in November 2024.
The petition, which has almost 2,000 signatures as of Jan. 22, said current students and computer science graduates “must not allow these changes to be implemented in their current form.”
Bell insists that despite the changes, the rigor of the Khoury curriculum will remain.
“Our goal is to probably make the course more rigorous but provide more support for students, so that rather than banging your head on the desk like, ‘I can’t get this to work,’ what we would rather do is have lectures that are more specifically preparing you for assignments,” Bell said.
Previously, Fundies 2 served as an “extended transition” from Racket into Java to ease students into learning the language, Wilson said in an interview with The News. Since Pyret is designed to transition into Python, he said, this transition will take less time in the new curriculum, meaning that some of the material previously taught in OOD can be moved into Fundies 2.
Teeter entered Northeastern with AP computer science credit, and said at first he didn’t understand why he had to take Fundies 1 alongside students with no prior coding experience, but he ended up “learning a lot, and realizing that there was a lot more to computer science and CS design than what you learn in the AP course.”
Felleisen said that, like most universities, Northeastern assumes no prior experience related to coding except algebra. In his creation of the course, Felleisen wanted to ensure not only that new students were introduced to this framework, but that students who didn’t end up pursuing computer science would still get something out of the course.
“What we really teach is systematic problem solving and systematic development of code regardless of language,” he said. “To make sure that everybody’s on the same page, we use a programming language that basically very few incoming freshmen know.”
Felleisen, an award-winning computer science educator, taught at Rice University in Houston before Northeastern hired him to teach a senior level programming course in July 2001. However, soon after his arrival at Northeastern, he began revising the curriculum after he realized the overwhelming majority of his students “could not program.” He later created Fundies 1 alongside associate teaching professor Benjamin Lerner,
Felleisen said the same students who have a background in programming that took issue with Fundies 1 then struggled with Fundies 2, as the course teaches a design recipe for object-oriented programming, and uses only a small part of Java. “The same students struggle there a bit, and then it eventually clicks on them: We are being prepared for a career as software developers,” Felleisen said.
Felleisen said that every semester, students who have graduated still come back to hire out of the course because it produces star developers.
“When [students] go into the industry, they’re much better prepared than people who come from other places like Harvard,” Felleisen said.
Other universities have a curriculum committee that is composed of tenure-track faculty or tenured faculty — faculty that have permanent employment because they own the course and are in charge, Felleisen said. Northeastern’s curriculum committee, he said, is made up of about 20 members, with only two tenure track faculty members, and “very few” faculty from the Boston campus.
“The goal, from what I can see, is to come up with a curriculum that is like everybody else’s so that the satellite [campuses] can more easily link to it,” Felleisen said.
Though Felleisen has concerns for the new iterations of the core program, he plans to integrate Fundies 1 principles into downstream courses.
Despite the changes, Acuña said she hopes the focus in computer science courses will remain on problem-solving.
“I feel like the most important thing to learn as a computer science student [is] developing the intuition around understanding complex problems and new ways of thinking,” Acuña said. “I’m not sure what they’re replacing Fundies 1 with, but I would hope that they’re not switching to a curriculum that favors industry-standard languages or anything over just developing a sense and feel for computer programming.”