skip to main content

Sam Kamin Retires after 33 Years at Illinois

7/16/2013 11:08:00 AM

On June 15, CS Associate Professor Sam Kamin retired after 33 years at the University of Illinois. During his time at the university he taught and conducted research in the areas of programming languages, high-performance computing, and educational technology. He served as director of undergraduate programs from 1999 to 2007.

Sam Kamin
Sam Kamin
Sam Kamin

“When I was an undergraduate, I read about lambda calculus and functional programming, and I thought that was the coolest thing,” said Kamin. Recently, he has been working on run-time program generation, a way to optimize programs using information not available until run time. “It’s really a direct outgrowth of my interest in functional programming,” he explained. “Functional languages are great for writing generators, so it’s a fun kind of programming. Plus I’ve learned a lot about modern computer architectures.”

During the time Kamin served as director of undergraduate programs he led a reevaluation of the computer science curriculum. It was during that process that CS 242: Programming Studio was designed and launched. In this course, students give and receive critiques on programs they and their classmates have written. That is not typically done in computer science courses, where programs are graded primarily on whether or not they work. “Students rarely if ever get detailed critiques of their programs, or read other programs,” Kamin said. “So naturally they always wonder, ‘Am I doing this the way I’m supposed to be doing it?’ The studio gives them the chance to calibrate where they are in terms of programming skills, and improve those skills. For many students, it makes a big difference in their level of confidence.”

Kamin became interested in educational technology while serving as undergraduate program director. He has been focusing on a project called Students Learn in Collaborative Environments (SLICE). “It’s a framework for programming tablets for classroom use,” explained Kamin. In one application of the framework, several tablets are distributed to students, and the classwork that those students do can be seen and discussed by the rest of the class. This approach benefits both the instructor and the rest of the students. “I can get an idea of what they’re not understanding,” he said. “And it’s helpful for students to see that other students are making the same mistakes.”

The course with which Kamin has been most closely associated is CS 421: Programming Languages and Compilers (previously CS 325: Programming Language Principles). Like everything else in CS, this course has changed significantly over the years. “We used to teach functional programming as an exotic idea that students should know a bit about. When covering compilers, dynamically typed languages were barely mentioned. Now the programming world has largely boiled down to a mixture of object-oriented and functional styles, dynamically typed languages have exploded in popularity, and virtual machines are ubiquitous. It’s a challenge to teach students all they need to know just to understand what’s actually going on.”

Over the course of his time at Illinois, Kamin has seen a lot of changes to the department. Beyond the obvious facilities changes (i.e., the Siebel Center), Kamin said that the most obvious change was in the field of computer science itself. “Half of what we do in research just didn’t exist as a topic when I first joined the department,” he said. “Security was in its infancy. We didn’t have data mining. We didn’t have HCI. So there are a lot of new topics.”

And it’s being involved in these developing research areas and being around other people who help create these new research areas that Kamin will miss about the department. “The great thing about being in a place like this is that as a professor, you have a lot of freedom to pursue these interests,” he said. “It’s finding yourself in a position where anything you want to know about regarding computers, you can just walk down the hall and find someone who’s a renowned expert.”

Following his retirement from the department, Kamin will move to New York City to be closer to family. But he doesn’t plan to put the computer science world behind him. “I’d like to do something in the same space, either educational technology or programming languages or compilers,” he said. “I’ve taught a lot of subjects and hopefully learned a few things, and I want to continue learning and putting my knowledge to work.”