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

Pop Quiz
This quiz is anonymous and ungraded.

This is an anonymous survey see how the class is going so far and to help improve the remainder of the course. The questions are written to require just check mark answers, but please feel free to add any comments that would be useful to expand your answers or provide other feedback.

1. So far, class is going:
_____    Way too fast
_____    Too fast
_____    Just about right
_____    Too slow
_____    Way too slow

2. For Problem Set 5:
_____    Teams should be assigned by the course staff.
_____    Students should pick their own teams.
_____    Students should have the option to work alone or in teams of their choice.
_____    Students should work alone.

3. Did you read the comments on Problem Set 3?
_____    Yes, thoroughly.
_____    I skimmed them.
_____    I looked at a few answers.
_____    No, but I plan to before Exam 1.
_____    No, I thought you just handed those out to kill trees.

4. Would you still be in this course if it was not required for your major? (Skip this question if it is not required for your major)
_____    No
_____    Yes

5. How worthwhile are the Friday sections?
_____    Very worthwhile, I would be lost in the class without them.
_____    Worthwhile.
_____    Not worthwhile.
_____    I rarely go to section.

6. Which section are you in?
_____    10am
_____    11am
_____    12 noon

7. Sections would be more useful if they were:
_____    More working through problems on the chalkboard.
_____    More working in groups.
_____    Working in lab on problem sets.

8. Any other comments or suggestions?







9. What does this program do?

class SillyException extends Exception {
   public SillyException () { super (); } }

class RuleException extends Exception {
    public RuleException () { super (); } }

public class Except {
    static public int methodOne () throws RuleException {
	throw new RuleException (); }

    static public int methodTwo () throws SillyException {
	try {
	    methodOne ();
	    System.out.print ("duck ");
	} catch (RuleException re) {
	    System.out.print ("exception ");
	    throw new SillyException ();
	}
	System.out.print ("elephant ");
	return 3;
    }

    static public void main (String args[]) {
	try {
	    try {
		System.out.print ("The ");
		methodOne ();
		System.out.print ("donut");
		methodTwo ();
	    } catch (RuleException re) {
		methodTwo ();
	    } catch (SillyException se) {
		System.out.print ("Silly!");
	    }
	} catch (SillyException se) {
	    System.out.print ("proves");
	}
	System.out.println (" the rule.");
    }
}

CS201J University of Virginia
Department of Computer Science
CS 201J: Engineering Software
Sponsored by the
National Science Foundation
cs201j-staff@cs.virginia.edu