Exam Information

The exams are designed and intended to assess our understanding of course concepts as well as measure how engaged you have been with using and implementing the languages we have discussed throughout the semester.

Exam Format

The exams will be given in-person.

  • The time for allowed for the midterms (Test 1 and 2) is 50 minutes; the time for the final exam is 2 hours
  • You must complete the exam on your own. Do not discuss the contents of an exam with anyone outside course staff until after the grades have been released, as there may be some students with extenuating circumstances that need to take the exam late.
  • Exams are closed notes, closed internet, closed phone, closed smart watch, etc.
  • Each exam will be a mixture of question types. There may be some true/false, multiple choice, short answer or fill in the blank, short implementation (in the languages we’ve studied), and others. We’ve provided practice problems below to provide some examples of the types of questions you’re likely to see.
  • Since you will not have access to the internet during the exam, we will provide relevant documentation on the quiz itself. Hint: if you find yourself stuck at some point, review the end of the exam for the documentation that we provided to see if it might be helpful.

Midterm 1

The first midterm (Test 1) will cover the material from the first portion of the course, through the content discussed on Monday, February 17, 2025. This includes, but is not limited to:

  • Usability and design
  • The web software model
  • HTTP, DNS, related topics
  • HTML
  • CSS
  • Bootstrap
  • Responsive design
  • LESS
  • Markdown
  • XML
  • JSON

Note: we will not ask you to remember historical dates!

Midterm 2

The second midterm (Test 2) will cover the material from the server-side portion of the course, through the content discussed on Wednesday, March 26, 2025. This includes, but is not limited to:

  • Server-side processing
  • cgi-bin
  • Perl (to the extent that we’ve done some examples in class)
  • PHP
    • Language features
    • Handling forms, passwords
    • Arrays
    • Functions
    • Classes, object-oriented PHP
    • Front-controller design
    • Reading/writing files
    • Sessions and Cookies
    • Databases, database connection
  • SQL (create, insert, update, delete)
  • Regular expressions (and use in PHP)

Note: we will not ask you to remember historical dates! However, our content builds (we’re still writing HTML and CSS), so you will need to know content from earlier in the course.

Final Exam

The Final Exam will be roughly twice as long as the midterms and cover the material from the client-side portion of the course, focusing on content discussed after Wednesday, March 26, 2025. This includes, but is not limited to:

  • JavaScript
    • Syntax, types, functions
    • Arrays, objects
    • Event handling
    • DOM manipulation
    • Input validation
    • AJAX requests
    • jQuery
  • TypeScript
    • Relation to JavaScript
    • Syntax, types, functions
    • Compilation to JavaScript
  • Angular
    • Create project
    • Structure of components, modules, services
    • How to instantiate and build components, services
    • AJAX queries
    • Form validation
    • Data binding (one-way, two-way)
    • Event handling
    • Production build
    • CORS headers
  • Publishing your site
    • Domain names
    • Hosting options
  • And any HTML, CSS, PHP, etc, background knowledge from the first half of the semester

Remember: we will not ask you to remember historical dates! However, our content builds (we’re still writing HTML, CSS, and PHP), so you will need to know content from earlier in the course.

Practice Problems

Below are prior quizzes from earlier versions of the course. You can expect that the midterms and final will be in a similar format to the quizzes and exams below. Note that our first midterm will cover the content up to the start of Server-Side Processing (as mentioned above), so you may need to consult multiple quizzes/exams below.

Note: while I do not have solution guides to post, you are welcome and encouraged to try any of the problems on your own to verify your solutions.