CS 199 Willamette University Spring, 2019
 
Programming in PHP, Databases with MySQL,
and Web Applications
 

Tentative Class Schedule

This schedule represents approximation for work (class discussion and labs) for CSC 199. In practice, the pace of the course will depend upon progress made by students as the semester progresses. The present schedule, therefore, represents a rough estimate of topics and allocated time. Material may be covered more slowly or quicker, as guided by interactions with students through the semester.

Overall, expect on-going schedule adjustments in this tentative schedule, as the semester evolves. (Only the dates of in-class tests may be considered as fixed, although the content on those tests remains to be determined.)

On this schedule, for each day,

 
Monday Wednesday Friday
January 21
Last Day of January Break
January 23
Course Introduction

Static Web Pages

Getting started: Mac Setup for Ford 202

Reading:

Lab: Some HTML Basics, Part 1
  • Directories and files
  • Creating and editing a Web page
  • Headings, paragraphs, line breaks, horizontal rules, characters
January 25

Additional Elements of HTML

Reading:

  • HTML Basics (through HTML images)
    (Don't email your file(s) anywhere!!!)
Lab: Some HTML Basics, Part 2

Required: Due Monday, January 28

  • Comments
  • Characters
  • Lists
  • Links
  • Images

 

January 28

Still More HTML

W3C HTML Standards

Reading:

  • HTML Basics (up to, but not including, HTML Layout – Using Tables)
    (Don't email your file(s) anywhere!!!)
Lab: Some HTML Basics, Part 3
  • Tables
  • W3C validator

 

Due: Lab: Some HTML Basics, Part 2

January 30

In-class Quiz

Cascading Style Sheets (CSS)

Page Layout (margins, padding, color)

Read:

Lab: CSS Basics, Part 1

  • style directive
  • on-page and separate-page style specifications
  • background colors and fonts
  • margins, padding, columns
  • text placement

 

February 1

Willamette Day

Cascading Style Sheets (CSS)

Page Layout

Read:

Lab: CSS Basics, Part 2

Required: Due Monday, February 4

  • classes
  • div tags

 

 

February 4

PHP within Web pages

Read:

  • Text, pp. 15-23

Lab: PHP in HTML

  • PHP basics: syntax and semantics
  • variables, operators, comments

 

Due: Lab: CSS Basics, Part 2

 

February 6

In-class Quiz

User Input and Forms

Example: Form and Response page

Read: Text, pp. 62-65

Lab: Forms and User Data

Required: Due Monday, February 11

  • Forms for user input
  • Retrieving user data with PHP
  • Responding to user data
February 8

Conditional Statements

Read: Text, pp. 24-32

Lab: Conditional Statements

  • if statements
  • if/else statements
  • examples
  • exercises

 

 

February 11

Conditional Statements, continued

Read: Text, pp. 24-32

Lab: Nested if Statements

  • output, based on variable data
  • exercises with date and time

 

Due: Lab: Forms and User Data

 

February 13

In-class Quiz

Loops

Read: Text, pp.33-44

Simple loops

  • examples
  • for loops
  • while loops

 

February 15

More Loops

Read: Text, pp.33-44

Lab: Nested Loops

Required: Due, Friday, February 22

  • examples
  • nesting one loop inside another

 

Due: Supplemental Problem 1

February 18

More

  Practice

    with

      Loops

Still

  More

    Practice

      with

        Loops

 

February 20

In-class Quiz

Arrays

  • Motivation
  • Usage

Read: Text, pp. 45-51

Lab: Arrays and foreach
  • array declaration and initialization
  • accessing array data
  • arrays with conditionals and loops

 

February 22

URL Links and User Data

Read: Text, pp. 52-77

Lab: HTML Forms

  • passing variables within links
  • checkboxes and passing array data
  • Get and Post methods
  • security

 

Due: Lab: Nested Loops

February 25

Questions before Test 1

 

 

 

Lab: Integrative Forms Project

Required: Due Monday, March 4

 

February 27

 

Class Canceled

 

by Willamette University

 

to due to Weather

 

March 1

Pause

 

 

for

 

 

Breath

March 4
Test 1    Test 1    Test 1
Test 1    Test 1    Test 1
Test 1    Test 1    Test 1

Introduction to Databases
March 6

The Concept of a Database

  • Creating tables
  • Selecting records
  • Modifying records

Read: Text, pp. 78-112

Database Tables and Queries

Lab: Getting Started with MySQL

 

Due: Lab: Integrative Forms Project

Lab: Changing Tables

  • inserting, modifying and deleting data

 

March 8

Review: Chapter 3

  • Creating tables
  • Retrieving records
  • Inserting records
  • Updating records
  • Deleting records

Lab: Changing Tables, Continued

  • inserting, modifying and deleting data

Lab: More Practice with SQL

Required: Due Friday, March 15

 

Due: Supplemental Problem 2

March 11

Combining PHP with MySQL

  • PHP/MySQL Connections
  • Issuing Commands

Read: Text, pp. 113-125

Lab: MySQL Basics with PHP
  • connecting to MySQL with PHP
  • SELECT statements with PHP

 

 

March 13

In-class Quiz

MySQL Queries with PHP

Read: Text, pp. 126-148

Lab: Modifying a Database with PHP
  • INSERT, UPDATE, and DELETE statements
  • handling query results

 

Due: Lab: More Practice with MySQL

March 15

MySQL, PHP, and the Web

Read:Text, 149-182

Lab: Modifying a Database with PHP, continued

  • SELECT with Web formatting
  • Filling Web forms

     

March 18

Review of Processing Elements

  • MySQL
  • PHP
  • Web applications

Read: Text, pp, 193-207

Required Lab: MySQL/Web Project

Required: Due Wednesday, April 3

March 20

Perspectives on the Course to Date

Discussion before Test 2
  • Questions
 

Required Lab: MySQL/Web Project, Continued

Required: Due Wednesday, April 3

March 22

Test 2    Test 2    Test 2

 

Test 2    Test 2    Test 2

 

Test 2    Test 2    Test 2

 

Discussion of course so far

March 25
Spring Break
March 27
Spring Break
March 29
Spring Break
April 1

Joining Tables in SQL

  • Connecting rows from 2 tables

Read: Text, pp. 193-201

Lab: Joining Two Tables

  • JOIN clause
  • matching fields with ON clauses
April 3

JOIN for Several Tables

Read: Text, pp. 201-207

Lab: More joins

  • many-to-one, one-to-many relationships
  • JOIN for three tables

 

Due: MySQL/Web Project

April 5

Table JOINs and PHP

 

 

Lab: Joining Tables with SQL and PHP
  • Scaffolding:
    • Terminal window
    • Then Web
April 8

Tables, JOINS, PHP, and the Web

  • Review of recent labs

 

Lab: Joining Tables, SQL, PHP, and the Web
Required: Due Monday, April 15

 

Due: Supplemental Problem 3

 

 

April 10

In-class Quiz

PHP functions

Read: Text, pp. 216-246

Lab: Functions and Parameters
  • User-defined functions
  • parameters
  • use in organizing solutions

 

 

April 12
Pause for Breath
  • Time to
  • Catch Up

Time for

Individuals and Pairs

to Work on /Catch up on

labs, such as the Lab: Joining Tables, SQL, PHP, and the Web (required)

 

April 15
User-defined PHP Functions with Return Values

Read: Text, pp. 208-246

Lab: Functions with Return Statements
  • return statements
  • printing versus returning values

 

Due: Lab: Joining Tables, SQL, PHP, and the Web

April 17
Pause for Breath

Read: Review Chapter 6

April 19

Test 3    Test 3    Test 3

 

 

Test 3    Test 3    Test 3

 

 

Test 3    Test 3    Test 3

April 22

Functions: Local and Global Variables

Read: Text, pp. 268-293

Lab: Local and Global Variables

Required: Due Monday, April 29

  • local and global variables
  • more practice with functions and loops
April 24

 

Student

Scholarship

Recognition

Day

 

April 26

In-class Quiz

Functions and Exceptions

Read: W3Schools on PHP Exceptions

Lab: Functions and Exceptions

  • Experimenting with try-catch blocks
  • Approaches to error handling
April 29

Cookies, PHP and, the Web

Read: Text, pp. 447-459

Reference: Transmitted Web Data

Lab: Cookies

Required: Due Monday, May 6

  • Cookies
  • Counting page visits

 

Due: Local and Global Variables

May 1

In-class Quiz

Cookies

Read: Review Chapter 11 through p. 455

Lab: Cookies

Required: Due Monday, May 6

  • Sessions
  • security and privacy

 

 

May 3

Sessions

Session variables

Read: Text, pp. 455-475

Lab: Sessions
  • Setting and retrieving session variables
  • Using session variables

     

     

     

May 6

End-of-course Evaluations

Semester wrap-up

 

Due: Lab: Cookies
May 8
Student Days
May 10
Exam Period