Robert Marmorstein working at his desk

Robert Marmorstein

Assistant Professor
Department of (Math and) Computer Science
Longwood University
East Ruffner 329
Tel: (434)395-2185

Office Hours:
2:00pm-3:00pm TR
9:00am-10:00am MWF
( or by prior appointment)

The problem of the month


The problem of the month and a list of past winners can be found here.

Classes



Assignments, syllabi, and class notifications can be accessed by following the links below. If you are a student in one of my classes, you should check the course web site at least once a week to be sure that you have not missed an important announcement (a new due date, for instance).

Spring 2008 CMSC 121 Introduction to Computer Science
CMSC 240 Data Structures and Algorithms
CMSC 300 Discrete Mathematics for Computer Scientists
CMSC 360 Computer Networking Theory

About me


I did my graduate work at the College of William and Mary, where my dissertation work was on Firewall Analysis and Repair (source code). As part of my research, I developed ITVal, a tool for verifying iptables-based firewalls on Linux. I have also been published in several Usenix conferences, including LISA and Freenix. I am a huge open-source fanatic and run Linux on pretty much everything I touch. My favorite distributions are Arch Linux and Gentoo. I am the faculty advisor for Longwood's acm chapter and serve as a member of the technology planning committee(TPPT).

About my family



Beth and I were married in 2004. She taught high school math until our daughter was born last year. Now she is very happy to be a stay-at-home mom. Abby was born at 7:46am on Tuesday, Feb. 13, 2007. She weighed 7lbs, 15oz (almost 8 pounds). Here are some baby pictures.

How to get (at least) a B in my classes



If you plan to pass my courses, there are four things that you absolutely need to do. Computer Science isn't a magical skill that some people are born with and others aren't. If you work hard at these four things, you will almost always be able to earn at least a "B" in my class. If you don't, you will probably not pass the course. They may seem kind of obvious, but most students who fail do so because they did not keep up in one of these four areas.

Show up for class on time
The book and other class resources are helpful, but usually are not enough to get you a passing grade in my class. It is very important to show up for each class to make sure that you are getting ALL of the material. Furthermore, if you don't show up for class, you are likely to miss assignments. I also give unannounced pop quizzes, so if you can't make it to a class be sure to clear it with me ahead of time.
Take notes in class
Not only will taking notes help you stay awake, they can also be an excellent means of reviewing. You don't need to write down everything I say, but it is probably a good idea to copy down any definitions, theorems, or examples I do on the board.
Complete assignments on time
late work really hurts your grade. it also makes it harder to keep up with the rest of the class as we cover increasingly difficult material.
Take advantage of office hours
if you're really stuck on something, ask me about it. i won't do all the work for you, but a lot of the time i can point you to a solution or help you understand what you missed.

Research



Whether or not you plan to go to grad school, a research project can be a great way to develop important research, writing, and technical skills. It is also a very good resume filler. Doing research on a topic you are interested in helps you develop marketable skills and build a deeper understanding of that area. If you are interested in pursuing a research project in operating systems, security, formal methods, or system administration, shoot me an e-mail or drop by my office to talk about setting up a 492 directed study course.

Current research projects

Other ideas for research


Here are some examples of student projects I would be willing to supervise:

Publications

Here are some of my research publications. They can give you a good idea of which topics I have been working on recently:

publications
Assisted firewall policy repair using examples and history
Robert Marmorstein and Phil Kearns
Proceedings of the 21st Large Installation System Administration Conference (LISA '07)
November 2007, Pp. 27-37, Dallas, TX
Debugging a firewall policy with policy mapping
Robert Marmorstein and Phil Kearns
;login: The Usenix Magazine
Volume 32, Number 1, February 2007
Berkeley, CA
Firewall analysis with policy-based host classification
Robert Marmorstein and Phil Kearns
Proceedings of the 20th Large Installation System Administration Conference (LISA '06)
December 2006, Pp. 41-51, Washington DC
The saturation algorithm for symbolic state-space exploration
Gianfranco Ciardo, Radu Siminiceanu, Robert Marmorstein
International Journal on Software Tools for Technology Transfer (STTT)
Springer Berlin/Heidelberg, Volume 8, Number 1, February 2006
An open source solution for testing nat'd and nested iptables firewalls
Robert Marmorstein and Phil Kearns
Proceedings of the 19th Large Installation System Administration Conference (LISA '05)
December 2005, Pp. 103-112, San Diego, CA
A tool for automated iptables firewall analysis
Robert Marmorstein and Phil Kearns
Proceedings of the Usenix 2005 Annual Technical Conference, Freenix Track (Freenix '05)
April 2005, Pp. 71-81, Anaheim, CA
Saturation unbound
Gianfranco Ciardo, Radu Siminiceanu, and Robert Marmorstein
Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2003)
April 2003, Pp. 379-393, Warsaw, Poland

Personal interests