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)
.

