Final Exam Information

Regrade Policy:

If you disagree with the grading, such as if you think your solution actually does work, or that your solution is more nearly correct than it was given credit for, the procedure for regrades is the following:

  • If your complaint is about the correctness of your solution to a programming question, type in your code and view it in your browser. Fix any trivial syntax problems. Run it for yourself and see how nearly correct your solution is. We have posted solutions to every exercise up above under the "solution files" link that you can use to type in your own code to see whether it works.
  • Submit your exam for a regrade. Slide it under Marty Stepp's office door, CSE 636. You must include a cover page with a brief written explanation of what specifically you think was misgraded and why. If your complaint is about overly harsh grading on a programming question, you should also email the instructor (or post on Webster, and give us the URL) a copy of your typed-in solution code to the instructor to run it to verify its correctness. Because regrades are time-consuming and difficult to judge, we can not accept any exam for a regrade unless it includes this cover page, and he will not re-evaluate grading of the correctess of any programming questions without a typed copy of your solution being submitted by you first.
  • Also note: When you submit an exam for a regrade, we will regrade your entire exam. If we notice anywhere that you were mistakenly given too many points, we will also correct this, up to a maximum of -2 for the entire exam. So it is possible that a regrade request will result in you receiving a slightly lower mark than what you started with.
  • We will not accept any regrade requests where the reason for regrading is essentially, "The grader didn't see my answer that was written on (the back side of the page / my scratch paper / elsewhere on the page)." Because it is too easy to add answers to these places after the exam, unfortunately we must trust that the grader was able to find all of your work and grade it appropriately. If this was not the case, we must assume that you did not sufficiently clearly label where the grader was supposed to look to find your work, and therefore that you are responsible for any such grading mistake.
  • All final exam regrade requests must be submitted by the end of the second week of next quarter (Winter 2013).

Topics:

The exam will have approximately 6-7 questions about topics such as:

  • HTML/CSS interpretation (given a piece of HTML/CSS code, draw what it would look like in the browser)
  • HTML/CSS programming (given a screenshot of a page, write the HTML/CSS to recreate that appearance)
  • JavaScript/DOM/events (given a description of a page's event-driven behavior, write the JavaScript code to implement that behavior)
  • Ajax/XML/JSON (given a particular source of XML or JSON data, use Ajax to fetch and process the data)
  • PHP (write PHP code to produce a certain web page or web service, often involving query parameters and/or file processing)
  • SQL (write a query to find certain information in the world, simpsons, or imdb database)

The following topics are guaranteed NOT to be required to solve any problems on the final exam:

  • memorization of web-related jargon and terminology
  • basic internet/WWW info from Chapter 1
  • JS libraries: Prototype, Scriptaculous, jQuery
  • PHP's XML DOM
  • web security
  • how to insert/update/delete data from a database
  • how to design a database (book Appendix A)
  • object-oriented JavaScript/PHP
  • material from the optional Friday extra sessions

The following topics might be tested. They will not be the main focus of a problem, but they might be necessary or useful to solve a particular problem.

  • sessions and cookies
  • regular expressions

Please note that you are not allowed to use JavaScript libraries (Prototype, jQuery, etc.) when solving any JavaScript programming problems. We have decided on this restriction to make the questions equal for every student, even ones who did not learn a framework. You may, though, use the shortcut $ to refer to the function document.getElementById and the shortcut $$ to refer to the function document.querySelectorAll in your answers if you like, to save writing time. These essentially correspond to the $ and $$ functions of Prototype. You may not use the more sophisticated $ query syntax found in jQuery on the exam.

Resources:

You are permitted to bring and use any of the following resources on your final exam:

  • your course textbook (Web Programming Step by Step, second or first edition)
  • any other textbook related to web programming (HTML5 in a Nutshell, JavaScript for Dummies, etc.)
  • scratch paper, writing utensils, standard office supplies

You are not permitted to use any other resources on the final exam, such as:

  • practice exams or their solution keys
  • printed homework solutions
  • section/lab handouts
  • any other papers or documents
  • any electronic devices such as calculators, computers, mobile phones, tablets, laptops, music players

We realize that you may not be happy that the rules don't allow you to bring many resources. We will bring a small number of loaner copies of the textbook that you may be able to use during the exam. But there may be a waiting queue to use them, so you may want to have your own copy with you if you believe you will need it. We will also attach a syntax reference / "cheat sheet" to the last page of the exam, and we will try to include most of the necessary syntax there, though it will not be possible to include every useful command from every language.

If you are found looking at a forbidden resource during the test, you will be penalized.

Past Exams:

These practice tests are intended to give you a general idea of the kinds of questions you may see on the real exam. The real exam will have a similar number and general style of questions as on the practice tests. However, we do not promise that the real exam will exactly match the practice test in terms of questions, difficulty level, or exact concepts needed to solve each problem. You are responsible for knowing all class material listed under 'Topics' above.

  • Your textbook has a helpful Appendix A that contains "cheat sheets" of the syntax of each language we have learned.
  • Some of the older practice exams have slight stylistic differences from how the course is taught today, because HTML and other languages have changed over time. For example, prior to HTML5 the initial <!DOCTYPE> tag was longer and contained more information. You can generally ignore these differences and assume that you should write your answers in the most modern style.
Valid HTML5 Valid CSS JavaScript Lint
This document and its content are copyright © Marty Stepp, 2012. All rights reserved. Any redistribution, reproduction, transmission, or storage of part or all of the contents in any form is prohibited without the author's expressed written permission.