Classroom Q&A: Alan Jamieson on starting your CS education
Classroom Q&A: Alan Jamieson on starting your CS education
Author: Milton Posner
Date: 08.29.22
Alan Jamieson’s career path has been anything but linear.
After 14 years as a professor at St. Mary’s College of Maryland and short stints in everything from theater to ice cream business ownership, Jamieson joined the Khoury College of Computer Sciences as a professor in 2021, then assumed duties as director of computing at the Roux Institute this summer. Throughout his career, he has brought computer science to new learners, whether by teaching in Khoury College’s Align program — for master’s students without CS backgrounds — or by advocating for new ways to teach computer science in grades K-12.
Khoury News’ recent conversation with Jamieson has been edited for length and clarity.
What first drew you to computer science?
As a kid, I played a lot with computers. My dad’s an engineer, so he always provided tech opportunities for me. I did very limited programming, mostly just tinkering with the technology. It wasn’t until I got into college that I had a computer science course and really caught the bug to be a computer scientist.
What CS topics, problems, or applications are you particularly passionate about?
My dissertation was on graph theory and building fast algorithms. I still do that quite a bit, but my big passion is CS education, specifically pre-K through grade two. How do we do CS and computational thinking topics with learners who can’t read well — or at all? What can we do that’s interesting and easy for teachers to implement?
Why should we teach kids at that stage instead of waiting until their reading skills improve?
If we empower teachers with the right vocabulary and enable learners to talk about certain terms — like “algorithms” — earlier, those terms are less scary when they get to coding. It reduces the barrier of entry in a natural way. If we get students thinking about computational skills like decomposition and problem-solving early on, they’ll be ahead of the curve when they’re talking about Scratch or some other block coding language. For pre-K through grade two, we rarely do this in the context of a computer. We’re talking about on-paper, on-a-whiteboard, using-manipulables type of problems to help them exercise these skills.
Which classes are you teaching this semester and what do they cover?
I’m teaching “Discrete Structures” in our Align program, so CS 5002 — one of my absolute favorite courses to teach, especially because it gets me in front of first-semester Aligners. One thing that drew me to Northeastern was teaching in the Align master’s program to help those learners who don’t think of themselves as computer scientists — to help build that identity, to give them the skills and the confidence to succeed. In that first semester, I get to talk to students who have diverse academic backgrounds and teach them the fundamental mathematics that are behind everything we do in computation.
What’s important or interesting about this topic? What stands out about it to you?
“Discrete Structures” is interesting because its topics are all over the place. It has this central thread of “discrete,” but there’s stuff from probability, proof structures; I insert a lot of graph theory because that’s who I am from a technical perspective. One of my favorite things, and one that’s maybe the most useful for students, is looking at circuit logic, Boolean logic, and figuring out that we build everything from simple elements, that we can simulate this stuff with physical chips or online in a simulator. That way they see how we add with a computer, which is an interesting challenge. It pulls the curtain back not only on what it took to start doing this kind of work, but also how far we’ve advanced in 60 years.
What else have you taught for Khoury College, and at what level — including your responsibilities as director of computing programs?
As the director of computing programs, I oversee the computer science and data science programs at the Roux Institute — one of our network campuses — in Portland, Maine. I oversee the Khoury teaching faculty there, help build out our programs, make sure they’re supported, and liaise between the regional campus and the “mothership” in Boston.
The other course I’ve taught for Khoury College is “Algorithms,” CS 5800. It’s an interesting course, and students will frequently tell you that it’s a difficult one. It gives students the tools and techniques they need to be successful computer scientists, and helps them figure out when to use those techniques.
In my career, I’ve basically taught everything under the sun in computer science, from intro to computer science to data science to game design to compilers. But I will always most enjoy teaching those mathematical, foundational courses to first-semester students.
What’s the most important quality a student needs to succeed in CS and in your classes?
Honestly, it’s simple: just go to class and turn in the work. These classes are so accelerated that if you miss a week or two — or an assignment or two — it’s quite detrimental to your progress and success, and it’s really hard to recover. My biggest piece of advice is to show up, and show up in an authentic way — be there, be present, be participatory.
Besides your work at Khoury College, what else do you do professionally?
I do some consulting work on the side for startups. I do a lot of service-type things for organizations, including SIGCSE (the big CS education special interest group), NCWIT (the National Center for Women & Information Technology), and ACMW, a special interest group dedicated to broadening CS participation. I also work with the Computer Science Teachers’ Association in Maine to bring programming to the Roux Institute and aid their efforts for K-12 computer science education across Maine.
What’s it like teaching at the Portland campus and living in the area? What do you like most about it?
Teaching at the Roux campus is really awesome. We’re right on the waterfront in downtown Portland, so we have a beautiful view; I’ll frequently go out on our deck and watch the ferries come in and out, especially during summer.
Living in the area is fantastic; Maine is a beautiful state to live in. I grew up in Georgia, so January and February are a little tough for me. But summers here cannot be beat. I love hanging out on the beaches and trails that pepper the Portland area.
From a teaching perspective, we have wonderful tech-enabled classrooms and fantastic students who are local to Portland, and I get a lot of energy from that cohort. That said, we have many domestic students who live in the outer reaches of Maine and can’t come into the classroom every time. There’s an online component to most of our courses, which can be challenging, but we do a good job of supporting those students.
What’s a fun fact about you?
My working background is very diverse. I’ve worked as a professional stagehand for the state theater of Georgia. I’ve worked as a radio DJ. I’ve slung ice cream as a small business owner. I’ve done many different things in my life that resonate with our Aligners, so I like to lead off my semester talking about that because our Aligners have such different backgrounds. It’s nice for them to see a faculty member who has that kind of diversity in their background as well.