Agenda:
Go over practice final
Exam logistics and tips
When: Tuesday December 12th from 2:30 to 4:20
Where: ARC 147 (regular lecture room)
The exam will start promptly at 2:30 so please arrive several minutes early so we can distribute exams and start on time.
There will be a provided cheat sheet included with your exam. You will be able to use this as a reference. The exam is open to paper resources like the textbook, your own notes, and of course the cheat sheet, but you will probably find the cheatsheet most helpful.
Please note that you are not allowed to use JavaScript libraries (jQuery, etc.) when solving any JavaScript programming problems.
For problems involving HTML, You should be familiar will working with HTML, whether it be reading and analyzing (e.g., finding validation errors) or writing HTML from scratch.
<input>
tags (e.g., text
, radio
, checkbox
, etc.) and their
different attributes (e.g., checked
, value
, and
name
). Remember that <button>
and
<textarea>
are tags on their own so they do not need to be set as the
type attribute for an <input>
tag.
These types of problems usually ask you to answer questions about CSS selectors or styles, and/or write CSS to meet given criteria (sometimes given a screenshot) with provided HTML.
<p>
) and inline
(e.g., <span>
) elements.
flexbox
display,
padding
vs. margin
).
<table>
(this is common in older web pages where
the <table>
was used improperly for layout hacks).
flex-direction: row
" instead of
"flex-direction: column
").
<div>
inside of a <div>
has a width set to 50%,
it's 50% of the width relative to the parent <div>
.
For problems involving JavaScript DOM manipulation and event handling, you should be comfortable implementing functionality of a page given criteria for the page's event-driven behavior. These types of problems may involve input controls, timers, and/or DOM manipulation.
document.getElementById
,
document.querySelector
, document.querySelectorAll
,
and possible parent/children/sibling DOM navigation.
parseInt
on strings with integer values.
This type of problem will involve using a PHP web service (e.g., "quotes.php") by:
onclick
actions from
user input on an HTML page.
GET
and/or POST
.
GET
and POST
requests using
XMLHttpRequest
or the
AJAX Promises introduced in class (you may use either AJAX method on the exam).
XMLHttpRequest
and AJAX Promise
.
There may be a PHP problem which does not involve writing a web service or using SQL. Such problems may involve working with or without query parameters to perform some function (using math, arrays, and/or files) and/or working with cookies/sessions.
GET
and POST
query parameters.
session_start()
.
header("Location: destination")
and
die()
.
$
" for PHP variables.
arr.length
or arr.size()
instead of count(arr)
)
+
" to concatenate strings instead of ".
"
This type of problem will involve processing and outputting data in the format of JSON or plain text given query parameter(s) and processing files or folders in a directory.
GET
and POST
parameters and checking if
they've been passed.
GET
vs. POST
parameters (most of the time
these will be specified in the problem, but it's important to understand the difference
between their use cases).
glob
and/or scandir
and/or file
functions.
header()
and printing results after
processing your data.
This type of problem usually involves writing 2-4 regex expressions (similar to the format you saw in the first part of the regex section).
This type of problem will likely ask you to write some form of SQL, including creating/updating tables and/or querying from tables. For querying, we may ask you to use databases we've introduced in lecture (world, simpson, imbd) which we will provide any necessary schemas for on the exam.
JOIN
– do these on paper, and without looking at the solution. When
you're certain you've answered it correctly, check your answer on the SQL query
tester.
VARCHAR
for strings, INTEGER
for integers,
FLOAT
for decimals, etc.).
INSERT
, DELETE
, and UPDATE
statements on your created
tables on Cloud 9. Make sure you're familiar with how to use these statements to modify tables
given certain criteria (e.g., DELETE
any rows which have a negative
quantity
attribute).
SELECT
or criteria in WHERE
.