Meet the Faculty - James Moen

April 24, 2026

Tell us about your journey to the University of Minnesota.

When I was a kid, I always wanted to be some kind of scientist. I went through a period where I tried to build electronics out of old TVs and stuff. At other times I was interested in chemistry. When I was in high school, I discovered writing programs and I really liked it. It has some scientific aspects, but it is also kind of like writing, which is something I enjoy doing. And I thought, okay, this is what I want to do in college. So that's how I got started.

I've been at the University of Minnesota forever. I started here as a freshman in 1974 and got my bachelor’s degree. I worked for UMN as a staff member in the educational psychology department. There was a little artificial intelligence (AI) group there, and I was their general computer person. I also did some AI research with them. Then I worked for industry for a while, which I didn't care for. Eventually I ran away from industry, and in 1985, I came back here as a grad student and got my PhD. I taught at Augsburg College for nine years, and then I came back here in 2014 to teach. I have been here ever since. 

What do you like about computer science?

I got interested in computer science because my high school had a computer lab. I just really love to write programs. Coming out of high school, I either wanted to major in computer science or studio arts. I chose computer science because in the 1970s, if you were going to do real computer science, you needed access to a big, giant, room-filling computer that cost millions of dollars. So it was possible to be a professional computer scientist and an amateur artist, but you couldn't do the opposite. 

When I was an undergraduate, I was a languages and systems major. I worked as an undergraduate research assistant for this AI group that was in the educational psychology department, which is where I got interested in AI. This was 1976, so AI was very different then than what it is now. That is what I ended up doing in grad school. I was a logicist, which is somebody who thinks that you can simulate human cognition by using logical deduction. More recently since grad school, I am way more interested in how to design better programming languages.

What do you enjoy most about teaching? What are your teaching interests?

I basically got into teaching by accident. I didn't really know what I was going to do after graduate school. I happened to run into an acquaintance of mine at an ice cream shop and he was the department chair at Augsburg College, and he said, “Hey, Jim, you want to come and teach?” I had never thought of myself as a teacher before. I found I liked it. I wanted to do something that is meaningful in some sense, and sadly, there's an awful lot of jobs that are really about hurting people or about making money for people who already have enough. 

I've also learned a lot of stuff about computer science from teaching. You can see successes and failures that students make. I'm interested in trying to figure out how to design better programming languages. If I could design a programming language where this student would not have made a particular mistake, how could I do that? What do students find useful in writing programs? What do they not find useful? So that's still what I'm doing on an informal basis. It's fun interacting with students. That's probably the thing I like the best about it. I think undergraduates are really interesting people.

Which courses are you teaching this spring? What can students expect to get out of that class?

I generally teach lower division undergraduate courses. Most often, I've taught CSCI 1913 and 1933 - Introduction to Algorithms, Data Structures, and Program Development. I also frequently teach CSCI 2011 - Discrete Structures of Computer Science, CSCI 4041 - Algorithms and Data Structures, and CSCI 2041 - Advanced Programming Principles. The advanced programming course is really about applicative programming, which is a style of programming that I have always enjoyed. I'm doing two sections of that course this spring. I think it's an interesting alternative to the way people usually write programs. Students are exposed to weird stuff they've never seen before, and since this is a field that changes quite rapidly, it's good that students are exposed to a lot of different styles. I think one of the fun things about education is to look at stuff that you didn't know existed.

I am also doing a section of 2011, the discrete math course, this spring. There's a bunch of mathematics that underlie the computer science field, so all of our courses are really relying on the material in a discrete math course. It gives students a little taste of everything they're going to see in their future courses. It's really a starting point for stuff that students are going to see later on.

What do you do outside of the classroom for fun?

I read a lot. I read a lot of science fiction. For years I have been telling people that I am writing a science fiction novel, and I really am. It's just that I never get time to work on it. I would love to get time to do more artwork, but I'm rusty.

Do you have a favorite spot in the city or on campus?

Honestly, I don't get out much. During the summer, I love walking around the lakes. 

When I was in grad school, I used to go to Walter Library and sit up on the second floor. I remember writing a lot of stuff for my PhD thesis there.

Is there anything else you would like students to know about you?

I think the reason that students should go to college is because there is a field or topic that just grabs them. That's why I decided to go to college, because I wanted to learn more about computer science and specifically about how to write programs. I think that is the reason that students should go to college, because you've got four years to work on something that interests you without distraction. As you get older, you find that there are more and more distractions and you pick up more and more responsibilities. You might never have that chance to work on something in that much detail again. Find out what you're passionate about. Find out what grabs you and follow it if you can. 

Share