Print Version

Effective: Summer 2014

Advisory: Advisory: C S 31A, 49 and GID 57 or equivalent.
Grade Type: Letter Grade, the student may select Pass/No Pass
Not Repeatable.
FHGE: Non-GE Transferable: CSU
4 hours lecture, 3 hours laboratory. (84 hours total per quarter)

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:
  1. Manage MySQL databases using the phpMyAdmin web interface
  2. Design PHP based web pages using Javascript, php, css, and html5 syntax.
  3. Create Web forms and pages that properly use HTTP GET and POST protocol as appropriate.
  4. Develop applications with a programming language PHP that interact with MySQL Database
  5. Design SQL language within MySQL and PHP to access and manipulate databases.
  6. Create PHP code that utilizes the commonly used API library functions built in to PHP
  7. Demonstrate use of cookie, session, and authentication programming in PHP.
  8. Design and create a complete web site that demonstrates PHP/MySQL client/server design.
Special Facilities and/or Equipment -
  1. Access to MySQL and PHP.
  2. 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.
  3. When taught via Foothill Global Access on the Internet, through which the instructor and students can interact.
  4. When taught via Foothill Global Access on the Internet, students must have currently existing e-mail accounts and ongoing access to computers with internet capabilities.

Course Content (Body of knowledge) -
  1. 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.
  2. Web application development with Javascript, css, and HTML5 syntax.
    1. Javascript
    2. css
    3. HTML5
  3. Overview of PHP
    1. Variables
    2. Functions
    3. Control Structures
    4. Loops
  4. Embedded PHP in HTML5
  5. Strings and Regular Expressions in PHP
  6. Object-oriented PHP
    1. Introduction to objects
    2. Using objects
    3. Utilizing the commonly used API library objects and functions built in to PHP
  7. Database Design Considerations for Web Applications
    1. Table structure
    2. Foreign and Primary Keys
    3. Constraints
  8. Database Access From PHP Web Pages:
    1. Connecting to a Database using PHP
    2. Creating Web forms and pages that properly use HTTP GET and POST protocol as appropriate.
  9. Authentication with PHP and MySQL
  10. PHP Sessions
    1. Cookies and sessions
    2. Authentication programming in PHP
  11. Fundamentals of security, securing information
Methods of Evaluation -
  1. Exams and quizzes
  2. PHP and MySQL programming assignments
  3. Team project to design and implement a database-driven web application for a real-world scenario
Representative Text(s) -
Yank, Kevin, PHP & MySQL: Novice to Ninja. Edition: 5th. Publisher: Sitepoint. Year: 2012. ISBN: 0987153080
Murach, Joel & Harris, Ray. PHP and MySQL. Edition: 1st. Publisher: Murach. Year: 2010. ISBN: 978-1-890774-56-1.

Disciplines -
Computer Science
Method of Instruction -
  1. Lectures
  2. On-line labs (including sections meeting face-to-face/on campus) consisting of:
    1. An assignment web-page 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 publically with other class members.
  3. Detailed review of assignment that includes model solutions and specific comments on the student submissions.
  4. In person or on-line discussion, which engages students and instructor in an ongoing dialog, pertaining to all aspects of database-driven web application development.
  5. When course is taught fully on-line:
    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.
Lab Content -
  1. Use MySQL to create and populate a database.
  2. Use PHP to connect a web page to the database.
  3. Use PHP to query the database with SQL statements submitted to the database.
  4. Use PHP to insert, delete and modify data using SQL statements submitted to the database.
  5. Implement login capabilities for webpages that insert, add or modify data in the database.
  6. Create interactive web pages using JavaScript, css and HTML5 for a database-driven web application.
  7. Use strings and regular expressions in PHP to improve the data quality for the database.
  8. 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.
Types and/or Examples of Required Reading, Writing and Outside of Class Assignments -
  1. Reading
    1. Textbook assigned reading averaging 30 pages per week.
    2. Reading on-line resources as directed by instructor though links pertinent to databases.
    3. Reading library and reference material directed by instructor through course handouts.
  2. 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.