Academic Catalog

C S 84A: DATABASE-DRIVEN WEB APPLICATION DEVELOPMENT

Foothill College Course Outline of Record

Foothill College Course Outline of Record
Heading Value
Effective Term: Summer 2021
Units: 4.5
Hours: 4 lecture, 2 laboratory per week (72 total per quarter)
Advisory: C S 31A, 49, and GID 57, or equivalent.
Degree & Credit Status: Degree-Applicable Credit Course
Foothill GE: Non-GE
Transferable: CSU
Grade Type: Letter Grade (Request for Pass/No Pass)
Repeatability: Not Repeatable

Student Learning Outcomes

  • The student will be able to download, install, configure and test the MySQL system on a local operating system.
  • The student will be able to write web pages that have PHP scripts embedded for access to MySQL databases.

Description

Students evolve simple static websites into dynamic, database-driven web applications. Students will use the popular LAMP framework (Linux, Apache, MySQL, and PHP), in combination with JavaScript, CSS, and HTML5.

Course Objectives

The student will be able to:
A. Manage MySQL databases using the phpMyAdmin web interface
B. Design PHP based webpages using JavaScript, PHP, CSS, and HTML5 syntax.
C. Create web forms and pages that properly use HTTP GET and POST protocol as appropriate.
D. Develop applications with a programming language PHP that interact with MySQL database.
E. Design SQL language within MySQL and PHP to access and manipulate databases.
F. Create PHP code that utilizes the commonly used API library functions built-in to PHP.
G. Demonstrate use of cookie, session, and authentication programming in PHP.
H. Design and create a complete website that demonstrates PHP/MySQL client/server design.

Course Content

A. MySQL
1. Connecting to MySQL using a client such as phpMyAdmin or MySQL Workbench
2. Creating tables for a web application
3. Basic SQL queries for a web application
4. Description, data requirements and transaction requirements for the MySQL database
B. Web Application Development with JavaScript, CSS, and HTML5 Syntax
1. JavaScript
2. CSS
3. HTML5
C. Overview of PHP
1. Variables
2. Functions
3. Control structures
4. Loops
D. Embedded PHP in HTML5
E. Strings and Regular Expressions in PHP
F. Object-Oriented PHP
1. Introduction to objects
2. Using objects
3. Utilizing the commonly used API library objects and functions built-in to PHP
G. Database Design Considerations for Web Applications
1. Table structure
2. Foreign and primary keys
3. Constraints
H. Database Access from PHP Webpages
1. Connecting to a database using PHP
2. Creating web forms and pages that properly use HTTP GET and POST protocol as appropriate
I. Authentication with PHP and MySQL
J. PHP Sessions
1. Cookies and sessions
2. Authentication programming in PHP
K. Fundamentals of Security, Securing Information

Lab Content

A. Use MySQL to create and populate a database
B. Use PHP to connect a webpage to the database
C. Use PHP to query the database with SQL statements submitted to the database
D. Use PHP to insert, delete and modify data using SQL statements submitted to the database
E. Implement login capabilities for webpages that insert, add or modify data in the database
F. Create interactive webpages using JavaScript, CSS and HTML5 for a database-driven web application
G. Use strings and regular expressions in PHP to improve the data quality for the database
H. Implement the database-driven web application that includes:
1. Fabricating data for the database
2. Create a website with multiple pages that draw dynamic data from the database as a response to queries
3. Create one or more pages to insert, delete and/or modify data in the database through the website
4. Implement security for the database-driven website

Special Facilities and/or Equipment

A. Access to MySQL and PHP.
B. A website or course management system with an assignment posting component (through which all lab assignments are to be submitted) and a forum component where students can discuss course material and receive help from the instructor). This applies to all sections, including on-campus (i.e., face-to-face) offerings.
C. When taught via Foothill Global Access on the Internet, through which the instructor and students can interact.
D. When taught via Foothill Global Access on the Internet, students must have currently existing email accounts and ongoing access to computers with internet capabilities.

Method(s) of Evaluation

Exams and quizzes
PHP and MySQL programming assignments
Team project to design and implement a database-driven web application for a real-world scenario

Method(s) of Instruction

Lectures
Online labs (including sections meeting face-to-face/on-campus), consisting of:
1. An assignment webpage located on a college-hosted course management system or other department-approved internet environment. Here, the students will review the specification of each assignment and submit their completed lab work
2. A discussion webpage located on a college-hosted course management system or other department-approved internet environment. Here, students can request assistance from the instructor and interact publicly with other class members
Detailed review of assignment which includes model solutions and specific comments on the student submissions
In-person or online discussion, which engages students and instructor in an ongoing dialog, pertaining to all aspects of database-driven web application development
When course is taught fully online:
1. Instructor-authored lecture materials, handouts, syllabus, assignments, tests, and other relevant course material will be delivered through a college-hosted course management system or other department-approved internet environment

Representative Text(s) and Other Materials

Yank, Kevin. PHP & MySQL: Novice to Ninja, 5th ed.. 2012.

Murach, Joel, and Ray Harris. PHP and MySQL, 1st ed.. 2010.

Fiordelis, Stephen. Database Driven User Interactive Platforms: Bare Bones Guide Series to Building a User Interactive Database Driven Web Platform. 2020.

Types and/or Examples of Required Reading, Writing, and Outside of Class Assignments

A. Reading
1. Textbook assigned reading averaging 30 pages per week.
2. Reading online resources as directed by instructor though links pertinent to databases.
3. Reading library and reference material directed by instructor through course handouts.
B. Writing technical prose documentation, that supports and describes the database-driven web application assignments that are submitted for grades. The document would include the following aspects of the database application:
1. A description of the web application including functional and data requirements.
2. A description of the database including data type, valid data ranges, constraints and keys.
3. A help page for users of the web application. This may be an FAQ or user manual style help page.

Discipline(s)

Computer Science