Stephen Freund: The What and Why of Ph.D. Life

"I've done research. I know what it is. Let me in." -Stephen Freund

It is hard to imagine what the introductory computer science courses at Stanford might look like without Stephen Freund. Literally thousands of students have learned to code through Thetis, the versatile C programming environment he designed for beginning computer science students during his sophomore and junior years at Stanford. This project was Freund's first foray into independent research, and its success was one of the primary factors that convinced him to work towards a Ph.D. in Computer Science. On January 14th, Freund came to CS200 to talk about some of his insights into what it takes to become a Ph.D. student and why he enjoys being one.

In his talk, Freund identified research as his primary motivation for doing doctoral work in Computer Science. The ability to pick up a project and work on it independently is indeed a skill that Freund mastered and enjoyed during his undergraduate years. It is clear that his work on Thetis and his networking theory project with Serge Plotkin gave him the necessary background to succeed in the Ph.D. program. However, an important aspect of Freund's experiences are that his projects did not just fall into his lap. They both required significant initial efforts on Freund's part.

The Thetis project originated because Stephen was bored during his summer job. Using his spare time to write a C compiler, Freund essentially created the foundation for Thetis during the summer of his Sophomore year. Upon returning to Stanford in the autumn, Freund happened to hear about Eric Roberts' plans to begin work on a project designed to simplify the C programming environment for introductory computer science students. The two met, and by the winter quarter of 1995, Thetis ("the sea (C) nymph from Greek mythology") had been created and was introduced to Stanford students. It is somewhat remarkable that Freund's and Roberts' goals worked out so well together, but without Stephen's initial work on the C compiler, he would undoubtedly have played a much less crucial role in the development of Thetis. Thus, it was his initial effort, the work he put into developing the C compiler over his summer break, that gave Freund an advantage in finding a faculty member to work with.

Unfortunately, as more students began to use Thetis in the introductory CS classes, Stephen found himself spending more and more time maintaining his creation. Soon he decided to explore something different and sought out research oportunities in a more theoretical direction and ended doing network research with Serge Plotkin. It is important to note that Freund was not able to immediately acquire a position with Plotkin's group. At first, Stephen ran into the same sorts of deterrents that most undergraduates encounter when looking for a faculty member to work with. Plotkin was slow to answer his email and when he finally did, he suggested some topics to Steve that Steve didn't know much about at the time. However, that didn't stop Steve from tackling the challenge and getting started on learning new things. Steve cautions that at the beginning, be prepared for starting with jobs such as summarizing papers, writing small things up, and various other minor chores, since you don't yet have the background. Once you have gained a better understanding of the project you will grow into a position of really being able to contribute to the research work. He advises students to make contact and keep coming back to the professor. To look at webpages and to not be intimidated. And most importantly, he recommends that students take classes they are interested in earlier rather than leaving them for Senior year, as some of those classes may help decide the future of one's academic career.

Freund is one of the few students who completed his undergraduate curriculum at Stanford and decided to remain at Stanford to complete his Ph.D.. During his first year in the Stanford Ph.D. program Freund went through many large changes even though he remained at the same university. Comps, quals, and his dissertation were all new priorities that had to be dealt with. However, today Freund enjoys the challenge of researching a project that no else in the world is working on. Freund is currently researching formal methods to assert the security of Java Bytecode through the Theory department. Having TA'ed 6 or 7 classes he anticipates that he may enter a university position after completing his Ph.D., but he has not ruled out non-university research positions yet.

While Stephen Freund is indeed an anomaly among Stanford students (having gone from the Stanford undergraduate program to the Stanford Ph.D. program), he has also played a key role in many of their educations through his work on the Thetis project. His current research has many far reaching consequences that we will encounter as Java becomes more prevalent in the computing industry. It will be exciting to see what, and more importantly, whom Stephen Freund affects next.
Back to theCS200 webpage.
Visit Stephen Freund's webpage. (freunds@cs.stanford.edu)

Written by kcy@cs.stanford.edu.