Classes begin in this course on Tuesday, January 9, 2024. It is highly recommended that you be present for the first week of class and recitation/lab sessions.

Recitation-Lab Activities
Recitation-Lab sessions will generally involve some discussion of your ongoing website development, and this will naturally also include discussion of our programming environment, HTML and CSS markup, and/or programming language features. In addition, these sessions will often involve a breakout room activity in which participants will critique each other's website, and the instructor will simultaneously be checking student websites to see if certain criteria have been met as well.

This page will provide updates on what you must have ready for the next lab/recitation session in which your website will be evaluated.

Week of March 25 (Submission 06)

Instructor will check whether you have appropriately named tables for orders and order items in your MySQL database and whether the tables have appropriately named fields. At this point there need not be any content in either table.

Breakout Room peers will discuss plans/progress on version 6 of your website, using the Submission 06 checklist as a guide, or any lingering problems with earlier website versions.

Week of March 18 (Submission 05)

Instructor will check whether you have an appropriately named product table in your MySQL database and whether that table has been "populated" with at least some of the "products" that your business provides.

Breakout Room peers will evaluate progress on version 5 of your website, using the Submission 05 checklist as a guide, and discussion of the product table and its contents can be a part of that discussion as well.

Week of March 11 (Submission 04)

Creating and populating a simple MySQL Widget table

In your uxx MySQL database create a table called Widget that has the exact structure and exact content shown in the screen shot below. As you know by now there are several different ways you could do this ... how you do it does not matter ... only the end result. Indicate when you're ready for testing in the usual way.

Widget screen capture

Week of March 4 (Submission 04)

Instructor will check whether you have an appropriately named customer table in your MySQL database and whether that table has all of the required fields.

Breakout Room peers will evaluate progress on version 4 of your website, using the Submission 04 checklist as a guide.

Week of February 26

Copying a website and making it work in the new location

If you have not already done so, create a subdirectory called sandbox in your public_html directory, and then put the directory path a/b in your sandbox. Now make a complete copy of your version 3 website in the b subdirectory and make any change(s) necessary so that the website continues to work properly in the new location. Note that when a user clicks on any link in the copied website, the new link should be a page in the copied version, not in the original.

When you have finished and are ready for testing, enter "u?? ready" in the Zoom chat window.

Week of February 12

Creating a MongoDB collection containing a single document

Put into your u?? MongoDB database a collection called my_info that consists of a single document containing the following information that is specific to you:
firstName
lastName
smuEntryYear
currentCourses
haveJob
in which you must use the above names as keys for your key/value pairs. The firstName and lastName values must be strings, the smuEntryYear value must be a 4-digit integer, the currentCourses value must be an array containing one or more string values, and the haveJob value must be boolean (true or false). Also be sure to give your document a MongoDB _id identifier value of 1 as the first key/value pair.

When you have finished and are ready for testing, enter "u?? ready" in the Zoom chat window.

Week of February 5 (Submission 02)

Instructor will check the following:

Images: You must have at least a half-dozen product images in your images/products subdirectory. They may or may not yet be rotating on your home page.
Quotes: You must have at least a couple of dozen quotes in your resources/quotes.json file. They may or may not yet be randomly chosen every day at midnight.
Time and Date: The current date and time must display when your home page is loaded, but the updating-every-minute feature will not be checked. [However, that is obviously something that can be checked in the breakout rooms.]

Breakout Room peers will evaluate progress on your website, using the Submission 02 checklist as a guide.

Week of January 29 (PHP and JSON)

No breakout room peer evaluation of websites this week, but an individual exercise in writing a short PHP script to read and parse a JSON file and produce some output based on the JSON content. In the recitation sessions this week we will first continue our discussion of the PHP/JSON examples and then everyone will have the chance to accumulate some points by completing an exercise which will be preview of what you will have to do in version 2 of your website for Submission 02. If you want to think about the exercise beforehand, you will be accessing a JSON file containing an array of spy objects that look like this:

{
    "id": "007",
    "name": "James Bond",
    "license_to_kill": true
},
{
    "id": "002",
    "name": "Felix Leiter",
    "license_to_kill": false
}
Your PHP script must run in the browser, read and parse a JSON file containing an array of objects like those above, and produce output that looks like this:
James Bond (007) may apply lethal force.
Felix Leiter (002) may not apply lethal force.
Here are the steps that you will need to perform:

  1. Create a subdirectory called sandbox in your uxx/public_html directory.
  2. Copy student_data_web.php to your sandbox directory but call it spies.php.
  3. Edit spies.php to change the file name in the comment to spies.php and the title content to Process Spy Data, and delete any body code that you don't need.
  4. Now write the PHP code you need to perform the required task, and here is the location of the JSON file that your script has to process:
    /home/course/u00/public/spies.json
  5. When you're ready for testing enter uxx ready in the Zoom chat window.

Week of January 22 (also Submission 01)

Instructor will check the following:

Images: Both logo and business-related image must appear on home page
Footer: Must contain business name, version, copyright, year and owner name
Validation: business.php must pass HTML5 validation

Breakout Room peers will evaluate progress on the following, using the Submission 01 checklist:

my_business.php and other pages

Week of January 15 (Submission 01)

Instructor will check existence and spelling of the following:

Directories: common, css, images, pages,
Files: readme.txt, my_business.php

Breakout Room peers will evaluate progress on the following:

my_business.php