CISC474 Midterm Exam 1
E01, 07S, Phill Conrad, University of Delaware
03/16/2007

Name: ________________________________________________________________


UD Email: _____________________________________________@ udel.edu

 

About this exam

Circle here which four questions you are submitting.

1 2 3 4 5 6

A hint about allocating your time:

How to get a good grade:


Choose any four of these six questions.

  1. (25 pts) Explain the role of both HTTP (Hypertext Transfer Protocol) and HTML (Hypertext Markup Language) in a typical web application. Include:

    1. (5 pts) A brief explanation of the term hypertext
    2. (5 pts) A brief description of the role of HTTP
    3. (5 pts) A brief description of two examples of HTTP "methods"
    4. (5 pts) A brief description of the role of HTML
    5. (5 pts) Examples of two HTML elements, and two HTML attributes

     

  2. (25 pts) Explain the Model-View-Controller (MVC) design pattern. Your answer should include:

    1. (10 pts) A brief description of the main idea behind MVC
    2. (15 pts) A brief description of how the MVC design pattern is mapped into a Java based web application. Describe briefly what technologies are used for each of the components (M, V and C).

     

  3. (25 pts) Your textbook indicates that “A Servlet can have THREE names”:

    Explain these three names. Your answer should include these points:

    1. (5 pts) When you are building a web application, you have to encode the relationship among these three parts in a particular file called the "deployment descriptor". What is the filename on the disk in which this relationship is encoded, and what language is it encoded in?

    2. (10 pts) Why have these three separate names? Briefly explain.

    3. (10 pts) Suppose the Java class is specified as <servlet-class>com.example.web.BeerSelect</servlet-class>
      What does the com.example.web part of this class name represent? (To get full credit, you should mention the relationship of this portion of the class name to a specific keyword in the Java programming language.)

     

  4. (25 pts) In both Chapter 1 and Chapter 3 of your textbook, the text recommends a clean separation between a development environment, and a deployment environment. Explain why. In your answer, include:

    1. (10 pts) A clear description of the purpose of each environment—one that makes it clear what the difference between them is.
    2. (10 pts) A explanation of the rationale for keeping these two environments separate.
    3. (5 pts) A brief explanation of the downside of having these two separate environments—i.e. what traps a programmer can fall into if he/she isn't aware of this separation.

     

  5. (25 pts) In homework H03, and homework H05, you were asked to validate your web pages using validator.w3.org. Briefly explain what validation is. In your answer, include the following points:

    1. (5 pts) What a <!DOCTYPE> declaration is, and what it has to do with validation.
    2. (10 pts) Cite at least two specific examples of common validation errors—things that many HTML authors write.
    3. (10 pts) If a web page looks ok in both IE and Firefox that doesn't necessarily mean it is valid. But if it looks ok in both IE and Firefox—and indeed, in most every browser we test it on—why should we care whether the HTML is "valid" or not? Explain.

     

  6. (25 pts) Suppose you are on a Job Interview. The interviewer indicates that the company is building a team to do web development, and has four openings. They need to hire

    First, tell the interviewer which of these four positions you are best suited for.

    Suppose she then says:

    "Ok, we only have about 5 minutes. In five minutes, convince me that you have a good grasp of the basic concepts of the technology you just mentioned, and its relationship to web app development. I don't want the long version—I want the short version, but I also need to see at least a few specifics to know that you aren't BS'ing me."

    What do you tell her?


End of Exam