Final Exam Grading 10su
From CSE190M-Admin
| Contents | 
[edit] Part 1A: Thursday in Lab
[edit] Question 1 (HTML/CSS Tracing)
15 points total
- 2 block vs. inline: hello/goodbye words stack vertically, and happy/sad words stack horizontally
- 2 background colors: hello/goodbye div, Sunday div (and not elsewhere)
- 1 italic em text: Happy, Sad, SUNDAY (and not elsewhere)
- 1 underline: SUNDAY is underlined (and not elsewhere)
- 2 borders: dashed on happy/sad div; dotted on all the bottom floating divs (and not elsewhere)
- 1 padding on all divs (with background/border inside it)
- 1 margins: all bottom divs have 1em margin on all sides (outside the border)
-  6 floating (bottom section divs)
-  2 all divs float to the proper sides
- the Sunday div doesn't need to be lower than the others; that's just an artifact of the default margin on the <p> tag in it.
 
- 2 correct L/R order (Sunday is left of Mon/Tue/Wed)
- 2 each div's width is 5em (approximate); words stack vertically because of narrow width
 
-  2 all divs float to the proper sides
- -1 point each for any other minor misc. stuff they do wrong that isn't listed above
.
[edit] Question 2 (HTML/CSS Coding)
HTML:
<div id="main">
    <img src="brunologo.png" alt="logo" />
    <div id="articles">
        <ul id="links">
            <li><a href="home.html">HOME</a></li>
            <li><a href="vids/">VIDEOS</a></li>
            <li><a href="shirt.html">FUNNY SHIRTS</a></li>
            <li><a href="trailer.html">BRUNO MOVIE TRAILER</a></li> 
            <li><a href="photos/">PHOTOS</a></li>
            <li><a href="http/:/dvdshop.com/">DVD SHOP</a></li>
        </ul>
        <div class="story">
            <img src="brunouniversal.jpg" alt="Bruno at Universal" />
            <h2>Universal Responds to Lawsuit</h2>
            <p>Movie studio Universal Pictures on Friday responded to a ...</p>
        </div>
        <div class="story">
            <img src="paulaabdul.jpg" alt="Paula Abdul" />
            <h2>Paula Abdul Talks About Being in Bruno</h2>
            <p>Paula Abdul accepted an invite last year to receive an ...</p>
        </div>
        <div class="story">
            <img src="eminem.jpg" alt="Eminem" />
            <h2>Eminem Admits He Was Involved</h2>
            <p>Three days after storming out of the MTV awards, Eminem ...</p>
        </div>
    </div>
</div>
CSS:
body {                                    #links li {
    background-color: #0088EE;		      display: inline;
    font-family: sans-serif;		      font-weight: bold;
}					      padding-left: 1em;
					      padding-right: 1em;
#main {					  }
    width: 85%;
    margin-left: auto;			  .story {
    margin-right: auto;			      clear: right;
}					      overflow: hidden;
					      margin: 1em;
#articles {				  }
    background-color: white;
    border: 3px solid #005588;		  .story img {
}					      float: right;
					  }
#links {
    list-style-type: none;
    text-align: center;
}
15 points total
-  2 colors
- body - background-color #0088EE
- #articles - background-color white
 
-  2 fonts
- body - font-family sans-serif
- #links - font-weight bold (strong tags in HTML are OK)
 
-  3 #links
- 2 display inline
- 1 padding 1em on both L/R sides
 
-  5 divs/spans
- 1 #articles div to hold the set of all stories (background-color white, border #005588)
- 2 #main div to hold the stories-div plus header image (width 85%, auto margins; NOT text-align center)
- 2 .story div for each individual story (overflow hidden; margin 1em)
 
-  3 images, floating (1 attempt, 2 correct)
- images float to right (NOT abs/fixed position)
- story div clears the float
 
-  special deductions
- -2 if they try to add any other tags/attributes (id, class, etc.)
- -2 class/id confusion in their CSS syntax (# vs .)
 
.
[edit] Question 3 (JS/DOM)
window.onload = function() {
    $("compute").observe("click", computeClick);
    $("clear").observe("click", clearClick);
};
function computeClick() {
    var earned = 0;
    var earnedInputs = $$(".earned");
    for (var i = 0; i < earnedInputs.length; i++) {
        earned += parseInt(earnedInputs[i].value);
    }
    
    var max = 0;
    var maxInputs = $$(".max");
    for (var i = 0; i < maxInputs.length; i++) {
        max += parseInt(maxInputs[i].value);
    }
    
    var percent = Math.round(100 * earned / max);
    if ($("curve").checked) {
        percent = Math.min(100, percent + 5);
    }
    
    var newDiv = $(document.createElement("div"));
    newDiv.innerHTML = percent;
    if (percent >= 60) {
        newDiv.className = "pass";
    } else {
        newDiv.className = "fail";
    }
    $("resultsarea").appendChild(newDiv);
}
function clearClick() {
    var inputs = $$("input");
    for (var i = 0; i < inputs.length; i++) {
        inputs[i].value = "";
    }
}
15 points total
- 2 window onload (1 attempt, 1 perfect) - attaches onclick handlers
-  4 computing the percentage
- 2 $$ and cumulative sums properly
- 2 parseInt and Math.round
 
-  3 curve (1 attempt; 2 perfect)
- must detect properly (box .checked); must cap at 100 points
 
-  4 div for each percentage
- 2 creates and puts proper text into it (percentage); puts onto page in proper place (appendChild)
- 2 CSS class (pass/fail)
 
- 2 clear works perfectly
.
[edit] Part 1B: Thursday in Lab
(coming soon)
.
[edit] Part 2: Friday in Lecture
(coming soon)
.

