University of Virginia, Department of Computer Science
CS201J: Engineering Software, Fall 2002

Problem Set 0: Registration Survey My Answers

1. Your full name

David Evans
2. Name you want me to call you (spell out phonetically if non-obvious how to pronounce)
"Dave" or "Coach Dave"
3. Anything you want to tell me that will help me learn your name
Its the most common name in Wales, but I'm not Welsh.
Its the name of the guitarist for U2 (who goes by "The Edge").
4. Are you already registered for this course?
No, but I don't have to.
5. Major and year
Originally, VI-3 Class of 1993. (This is MIT-speak for Computer Science).
I did a 5-year Master's though so didn't get my degree until 1994. I did my PhD in Computer Science at MIT, finished in 2000.
6. How did you find out about this class?
7. Why are you taking this class?
I received a curriculum grant from NSF to develop a software engineering course that uses lightweight analysis tools. The proposal is here.
8. What do you expect to get out of this class?
In addition to the odd Krispy Kreme donut, I hope this course will go well enough to either be offered again so CS200-CS201J can be permanant option to enter the CS curriculum, or to influence future versions of CS201 and introductory software engineering courses are other schools.
9. What programming languages have you used?
BASIC (first in 1978-1988, about ~20 000 lines)

Pascal (1987-1988, ~2 000 lines)

Scheme (1989-, ~20 000 lines)

C (1990-, ~500 000 lines)

FL (1991-1992, ~5 000 lines) - FL a language designed by John Backus' group at IBM Almaden as the successor to FP. I was an intern there for two summers.

CLU (1992-1996, ~40 000 lines)

C++ (1994-, ~50 000 lines)

Java (1995-, ~50 000 lines)

A little bit of ML, Smalltalk, Ruby, PERL, PHP and some others I can't remember.

10. What is the longest program you have written?
Splint, a tool we will use later in this class for analyzing C programs. Its about 200,000 lines long, probably about 80% written by me, and other parts written mostly by students.
11. Did you do any programming over the summer? (If so, describe it.)
Yes, mostly for my Programming the Swarm research project, work on Splint, and developing some materials for this class.
12. What scientist or engineer do you most admire and why?
Richard Feynman. He made important contributions to physics and computer science, and was also an excellent teacher and interesting person. There are two great books of stories about Richard Feynman: Surely You're Joking, Mr. Feynman!: Adventures of a Curious Character and What Do You Care What Other People Think?: Further Adventures of a Curious Character. There are also many books that collect his writings and lectures, including The Pleasure of Finding Things Out and Lectures on Computation.

CS201J University of Virginia
Department of Computer Science
CS 201J: Engineering Software
Sponsored by the
National Science Foundation