C S 84A: DATABASE-DRIVEN WEB APPLICATION DEVELOPMENT
Foothill College Course Outline of Record
|Effective Term:||Summer 2021|
|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|
|Grade Type:||Letter Grade (Request for Pass/No Pass)|
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.
The student will be able to:
A. Manage MySQL databases using the phpMyAdmin web interface
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.
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
C. Overview of PHP
3. Control structures
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
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
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
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
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
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
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.