- Questions about structure and database from the 1st semester's exam may be included.
- What is a 'LAMP stack'? Why is it so widely used? What are its limitations for scalability?
- Describe 'mobile first', 'responsive' web design. What are the new features of HTML5 and CSS3
that enable responsive sites.
- What is 'semantic markup' in web design? Why it it important? Give examples of 5 tags (only use h once) used for
semantic markup of content. Give 5 tags that are 'presentational' and not semantic.
- How are 'SEO' and 'accessibility' related to semantic markup of websites? What are the best practices
regarding these features?
- Describe these data structures for HTML and how they are referenced in PHP (or Python) scripts:
HTML forms, $_GET, $_POST, $_SESSION, $_FILES. Show an example of each from your projects.
- Sketch a diagram or pseudocode for a web page like Dlv #4 that allows a user to fill in a form,
edits the data for reasonable entries, gives error messages for entries that aren't reasonable, and
updates a database when the form passes edit.
- Describe a process for authenticating a user and setting up a session for them.
- What are SQL and HTML injections?
How is data from HTML forms 'sanitized' to avoid them?
Show two examples from your projects.
- Sketch structured notation for a process that builds checkboxes allowing multi-selects for an HTML form
from a file that contains the options. It should work like the examples used in your projects, where the
requirement is to return a form with items checked as when submitted.
- Sketch a class diagram showing the components for your project site as at deliverable #4 or #5.
Include components for logging in, protecting content from users not logged in, reports, the
application form, and a report of applicants.
- Coding: Add a new page to your site, clearly linked on the menu,
that simulates 'address labels' with full name (first and last), optional extra line,
street address, city, state, and zip code.
Modify your site's application form to protect against HTML/CSS injections.