Q&A: What to expect from Khoury College’s upcoming intro course changes
Author: Milton Posner
Date: 12.05.24
In response to the increasingly varied backgrounds, needs, and journeys of its students, Khoury College is revising its introductory series of computing courses, which currently comprises two “Fundamentals of Computer Science” courses (Fundies 1 and 2) and “Object-Oriented Design” (OOD). This revision aims to better serve students — those with and without CS experience — and better prepare them for a competitive job market. The design process for this curriculum began in the fall 2024 semester and will continue into 2025.
For a primer on why, how, and when these changes will occur, Khoury News sat down with Christo Wilson, the college’s associate dean of undergraduate programs.
Khoury News: Why is Khoury College revising the first-year curriculum?
Wilson: The Undergraduate Committee routinely revises all of the courses in the curriculum. But the introductory undergraduate computing courses haven’t been significantly revisited in almost 20 years. It’s time.
Students are entering the college with increasingly heterogeneous backgrounds and programming experiences. Some are completely new to computing, while others bring transfer credits or NUin credits from partner universities abroad. Roughly 40% of Khoury students enter with AP CS credit, and others have learned on their own or through nontraditional means. Rather than sending everyone to Fundies 1, we’re aiming for a more adaptable intro sequence in which each student takes the courses that make the most sense for them given their starting point.
Another issue is with Fundies 2, which spends a whole semester taking students from functional programming in Racket to imperative programming in Java. That transition is necessary because of where we start people in Fundies 1, but it wouldn’t be necessary if we started in a different language.
“Object-Oriented Design” is a good course that teaches a lot, and it’s effectively the gateway to co-op, the course you need to take to be ready. But because it’s so important, it has too much responsibility and material, and it’s too much for many students. It has one of the highest workloads of any course we offer; we hear that consistently in students’ course evaluations. The thinking is not to get rid of material; it’s to spread it out throughout the curriculum so it’s not all in one semester.
Which courses are being kept vs. altered vs. eliminated?
Fundies 1, Fundies 2, and OOD are going to be phased out, and we’re starting from a clean slate. That doesn’t mean that the content and the things we like about those classes are going away; they’re just going to be moved into a different format.
This will have implications for the other courses as well. For example, the “Foundations of Cybersecurity” course can’t cover much material because it doesn’t assume much of students’ programming ability when they start. But with an intro sequence that spaces material out more effectively, that class can be taught at a more rigorous level.
Which programming languages and libraries will be emphasized?
The Undergraduate Committee spent lots of time considering the pedagogical implications of each option, as well as the teaching methods of other universities and the needs of co-op employers. We want to make sure our program is designed around widely adopted languages. Currently, the thinking is that the three new courses will be in Pyret and Python, Python, and Java, in that order.
Just like Fundies 1 currently starts in a teaching language, we are planning to start the new first course in Pyret, a teaching language developed in part by Khoury faculty Ben Lerner and Daniel Patterson. Unlike Fundies 1, students will end this course being able to program in Python, move into more Python in course two, and then do Java in the third course the same way they currently do in OOD.
Can students place out of intro courses?
For people with transfer or NUin credit, we’ll give them proper substitutions and let them move forward.
We’re still trying to decide how to treat AP credit. Many universities let students skip right into the second class if they have AP credit. We may do that, or we may encourage those students to take a self-assessment exam and choose where to start based on the assessment.
Students who are self-taught or who took some other kind of course in high school can take a self-assessment and use it to guide their decision on where to start. The question is whether this assessment should be mandatory or voluntary.
How can students still get everything that Fundies 1 offers if they skip it?
In talking to Khoury students who come in with experience, they consistently tell me that they like the Fundies 1 design recipe. It offers structure and a way of thinking about problem decomposition that was often lacking in their high school CS courses. But those same students also find Fundies 1 too easy; they get the design recipe quickly and are ready to move on.
We’re taking these comments to heart in the design of the new courses. Because the second course no longer needs to serve as a bridge from one language to another, it can instead focus on design skills, including the design recipe. The goal is to take the parts of Fundies 1 that transcend a specific language and incorporate them throughout the second and third courses in the new sequence, so that even students who skip the first class benefit from those course components.
How will the revised curriculum prepare new Khoury students for co-op and industry work in general?
The goal of the intro sequence isn’t just to teach students how to program in a language; it’s also how to think like a programmer and design programs. Those higher-level objectives won’t change. That said, by adopting the same language for the first two courses, we can get to more advanced topics and larger programs faster. This approach also enables us to alleviate the pressure that is currently centered on OOD. As a bonus, students will get extensive training in Python, which is currently the most requested language by co-op employers.
What would the domino effect of the changes be for upper-level courses, especially for students in double or combined major programs?
There’s a lot of uniformity among Khoury College’s many degrees. Everybody takes the same three-course intro, plus either “Software Engineering” or “Software Development” later. This general structure is not changing.
One benefit will be the ability to skip some of the intro sequence if you come in with a computing background. The combined degrees are packed out and tend to have very few elective slots, but if you skip the first programming class, this unlocks a free elective slot later.
Finally, for students who enter Northeastern as noncomputing majors, then choose to combine computing with another major, the new sequence will ensure that they have a course where they can learn with other true beginners.
How will the changes impact data science students?
Currently, we have separate computer science and data science intro sequences, which makes it hard for students to switch from CS to DS or vice versa. This is a problem we can solve.
We’re entertaining the idea of a more unified CS–DS intro sequence, which would have a lot of advantages. This might encompass one or two of the three new courses. Depending on where they are in the sequence, students could switch paths without having to change too much. Many students start without knowing which path they want, so the new courses are being designed to introduce both CS and DS concepts, giving students a much clearer sense of each path and helping them to make more informed choices. If we pull that off in a thoughtful way, it would be an extremely innovative approach that would serve both populations.
Many students take their first-year courses outside of Boston, whether at Northeastern’s Oakland campus or at partner universities abroad. How will the changes impact them?
The network campuses will follow the same revised curriculum. All of the faculty across the network know that these changes are happening and they’re being involved in the process. The goal within Northeastern is to have uniform courses within a uniform curriculum.
If students take Python at a partner university, come here, and jump right into the second course in the sequence, it’ll be a challenge for them. We’ll expect a high level of ability. They won’t be allowed to turn in spaghetti code. But I prefer to assume that students are strong and want to be challenged — and that we can help them to achieve.
What is the timeline for implementing the changes and how can people offer feedback?
It’s an extremely ambitious timeline. We’d like to start offering the revised classes in fall 2025.
That means that over the next few months, we need to design the classes at the week-to-week level, then get them approved by the college and university undergraduate committees. Early next year, we start on detailed course development, including lecture materials, assignments, and auto-grading infrastructure. That happens until the summer, when we’ll train faculty in the new sequence.
As for input, I’m talking to everyone and relaying feedback to the course designers. I’m holding town halls for faculty in December and January to get rapid feedback, I’ve already started talking to students — including our undergraduate advisory board — and I’m planning on talking to our deep bench of TAs. Other than that, if people have feedback, they’re more than welcome to contact me directly.