Survey Responses

Here are my responses to the questions you asked in your submitted registration surveys. (If you think of more questions later, feel free to add them as comments to this post.)

I’m really interested in security although I have very little knowledge of it. Are there any opportunities for me to learn more?

Great! There are lots of opportunities to learn about security or get involved in security research at UVa.

You may be interested in joining the “Security Reading Group”. See It’s been on hiatus for a while, but will start up again soon, meeting alternate Mondays at 3:30 to informally discuss some interesting security paper. Everyone is welcome to come to this.

I also have several undergraduate students who work in my research group. You don’t need to have a lot of experience to get started doing this, but it definitely helps if you impress me by doing well in my class.

If you could teach any course, what would it be?

Hmmm…interesting question. Of the courses I’ve actually taught, I’ve most enjoyed teaching cs200/cs150 (which is an intro CS course focused on the big ideas of computing) and my cryptography/security course. I’ve also enjoyed teaching crypto courses for kids and seniors. I do expect to enjoy teaching cs3102, and did enjoy the one time I taught it previously, but its different from the more open-ended project-bases courses I often teach.

Of courses I haven’t taught yet, I’d like to teach a poker course some day (I have a tentative course name “Principles of Knowledge Engineering and Reconstruction” in mind for this). I’d also like to teach a course on the early history of computing.

What are your areas of research?

Most of my research is in computer security. I work on things like making systems more resilient to attack, malware detection and response, and RFID privacy. You can find more details on my webpage, and group blog,

How much does this course differ from previous offerings of the course?

The core content is the same, and its probably the same content that has been covered in most theory courses at good schools for the last 20 years or so. The way some things are covered will be different, and I’ll try to incorporate some new topics and applications also, but the key concepts covered will be the same.

how long have you been teaching at UVA?

About 10 years — I joined UVa in Fall 1999.

The name of the course changed, so will any of the course material be changed as well or is it the same as 302 was?

The name change reflects what the actual content of the course has been for many years now. There are, of course, some changes in the course content every semester, but not because of the name change.

Also, could you record your class and post it on the blog? (That’s helpful to exceptional absences.)

I post the slides and/or notes on the blog. I find video or audio recording can be disruptive to the people in the classroom, and can make some students more reluctant to participate or ask questions, so I am reluctant to do this.

What are your areas of research?

Most of my research is in computer security. I work on things like making systems more resilient to attack, malware detection and response, and RFID privacy. You can find more details on my webpage, and

What other courses does UVa offer on these topics (undergrad of grad)?

The most closely related course to this one is the graduate theory of computation course, cs6160. That course covers many of the same topics as cs3102 (and usually uses the same textbook), but in more depth and with more rigor.

Algorithms are related to aspects of this course. The undergraduate algorithms course is cs4102. There is also a graduate analysis of algorithms course.

Some of the more specific topics like cryptography, parsing (part of both the PL and compilers courses) are covered in more depth in other courses. There are also sometimes math and physics courses on quantum computing. (Towards the end of the semester, I’ll try to provide more details on possible follow-on courses that will be offered next fall. Please remind me if I neglect to do this when it gets near time for picking fall classes.)

What other courses do you teach?

See for links to all my previous courses.

Can there be an office hour on Tuesday after class?

I have a meeting at 4pm on Tuesdays so can’t schedule a full office hours then, but most Tuesdays I would be able to meet briefly after class.

Well, you said you wanted to make it a worthwhile class. However, I’d assume that most of us have different learning goals, so I’m curious as to how you’ll take all of our interests into account and actually manage to tailor the course to them. Is that the plan, or was this just for your information to possibly be implemented next year?

Yes, its a challenge for this course to cover the core theory concepts which everyone should learn and still have time to get into other topics that some students in the class will find more interesting. I’ll try to make some time for context, applications, and currently active areas in the class this year. My rough plan for the course lectures includes classes on some more obvious applied topics for each of the major areas we cover, as well as room for a few hot topic-focused lectures towards the end of the semester (including what is planned for ps7). But, its a challenge to have much time for this while still having enough time to cover the core theory of computation content which is essential to the class. I think its most important that everyone does get a good understanding of the more important CS theory ideas, so how much time we’ll have for these topics will depend on how quickly we are able to cover some of the core material as well as student interest in going beyond the core topics. Hopefully, everyone will find the class worthwhile whether we end up most only having time for the core theory of computation concepts or are able to cover more applications and hot topics as well.

Why do you prefer to use a website over Collab?

Collab seems terribly klunky to me. From the collab sites I’ve used, it seems you always need at least 3 times as many clicks as you should to do something. I also want most of my materials to be open to everyone, which seems difficult to do in collab.

Comments are closed.