CIS 219 covers development of dynamic web sites using PHP and MySQL. Plan to spend 5-10 hours per week on this class. You must have reliable access to Internet to complete this class. You are expected to check Moodle and email at least twice per week.

PHP, one of the most popular server-side web development languages, is used for powerful web applications that collect data from HTML forms and store them in databases like MySQL. Examples include online stores and content driven sites like WordPress and Wikipedia. This introduction to PHP and MySQL provides the knowledge and skills necessary to develop dynamic web-based applications that allow users to create, read, update, and delete database data via web browser forms. Students will build practical web applications such as shopping carts, address books, and more.

2 hours lecture, 3 hours laboratory, 3 units

 

Section ####
day & time
Room ####
2.5 hours per week online (discussion, quizzes, and lab assignments)

 

Course Web Site: cuyahacka.com/219

Instructor:

Jodi Reed, MA
Computer & Information Science
Cuyamaca College
jodi.reed (at) gcccd.edu
office: room E-109-B



Topics/Themes

In this 3-unit course, students will use PHP and MySQL to create dynamic web sites.  The course will cover 3 main topics:

  1. web programming - how to code PHP
  2. database development - how to work with a MySQL databases using phpMyAdmin or PHP
  3. common applications - common uses for database-driven web sites

Expanded Contents

  1. PHP Overview
    1. Installing and using a local testing server (e.g., XAMPP)
    2. Using an Integrated Development Environment (IDE) to edit and test a PHP application
    3. Embedding PHP in HTML
    4. Coding comments and statements
    5. Data type, variables, and constants
    6. Using GET and POST
    7. Working with data (string and numeric expressions, echo, assignment operators, built-in functions)
    8. Control statements
    9. Passing control to another page (include, require, exit and die functions)
    10. PHP documentation
  2. PHP with MySQL Review
    1. SQL statements  to Create, Read, Update, and Delete (CRUD)
    2. phpMyAdmin (import, review data and structure, run SQL statements, create users and privileges)
    3. Using PHP to connect to a MySQL database
    4. Using PHP to Create, Read, Update, and Delete (CRUD)
    5. Working with data set arrays
  3. MVC Organization
    1. Coding functions
    2. Redirecting requests
    3. Using model, controller, and view
  4. MySQL Database Design
    1. Designing a data structure
    2. Normalizing
    3. MySQL Workbench
  5. Using SQL to create a MySQL database
    1. Creating, selecting, and dropping a database
    2. Working with tables
    3. Indexes
    4. Users and Privileges
  6. Using SQL to work with a MySQL database
    1. Selecting data from a single table
    2. Selecting data from multiple tables
    3. Summary queries and subqueries
    4. Inserting, updating, and deleting rows
  7. Professional PHP for working with MySQL
    1. API’s
    2. PDO
    3. Preventing MySQL injection with prepared statements
    4. MySQLi
  8. A database driven web site example
    1. Working with large text columns
    2. A content management system
  9. Creating secure web sites
    1. Using a secure connection
    2. Authentication
    3. Encrypted data
  10. Sending email and working with other web sites
    1. PEAR mail package
    2. cURL
  11. Files, uploads, and images
    1. Working with files
    2. Uploading files
    3. Working with images
  12. An eCommerce web site example
    1. Prototyping and stepwise refinement
    2. User interface for end users
    3. User interface for administrators



Prerequisites

“C” grade or higher or “Pass” in CIS 211 or equivalent or one year verifiable HTML and CSS coding experience; “C” grade or higher or “Pass” in CIS 218 or any CS course or one year verifiable programming experience

Entrance Skills

Without the following skills, competencies and/or knowledge, students entering this course will be highly unlikely to succeed:

  1. Apply file management best practices to organize, name, backup, and upload files.
  2. Read, write, analyze, and debug HTML and CSS to create standards compliant web pages that include formatted text, internal and external links, images, tables, forms, and lists.
  3. Write and debug programs using basic  elements such as delimiters, control structures, operators, variables, arrays, and functions.
  4. Demonstrate critical problem-solving skills in the debugging of programs.
  5. Trace the flow of execution and values of all variables through a complex program.


Learning Outcomes

Stdents will be able to integrate PHP, HTML, CSS, and SQL to create a dynamic web application that meets 70% of the technical, organizational, structural, and presentation requirements outlined in a detailed scoring rubric based on the course content and objectives.

 

Objectives

Students will be able to:

  1. Integrate PHP, SQL, HTML, and CSS to develop web applications that Create, Read, Update, and Delete data from a MySQL database.
  2. Refactor code using MVC organization to improve efficiency and scalability.
  3. Write SQL to create and work with MySQL databases.
  4. Develop secure web applications.
  5. Use advanced PHP skills to send email and work with other web sites, work with files, and develop eCommerce sites.


Grading and Assignments

You will be graded on assignments, online discussion, and tests.  Moodle will link to complete instructions, including a scoring rubric for each Web page assignment.  You will use Moodle to check your grades, turn in assignments, take quizzes, and participate in class discussion.  Your total grade will include:

60% Lab Assignments Labs give you an opportunity to practice skills covered in the textbooks. Expect several per week, ~ 50 points per week.
5% Discussion Participation (50 points) You are expected to post at least one message to the Moodle discussion each week.  These can be questions, comments, responses, interesting Web sites, etc.  Your message will be given 1-5 points based on complexity, appropriateness, and helpfulness. Maximum per week: 10 points.
25% Quizzes Moodle quizzes will cover handouts, textbook, and online video material. Expect about 1 quiz per week.
10% Final Exam The final exam will be cumulative and will include a practical section.
  Extra Credit extra credit is occasionally offered and is used to bump up a borderline grade (1-2% below higher grade). Check Moodle early in the week for extra credit since it is usually only offered for a few days.

 

Scale

90-100%, awarded for work that meets all requirements and shows effort, skill, and creativity
B 80-89%
C 65-79%
D 55-64%

Assignments and quizzes are usually due to Moodle a week after they are assigned.  Everything is carefully set up in a specific sequence to help you learn, so DON'T SKIP ASSIGNMENTS. Due dates are shown on Moodle. After the due date, you lose 20%. Some assignments must be completed before you can move on in the course, so DON'T GET BEHIND. If you turn in your work on time, you will usually get one chance to fix mistakes, so TURN IN WORK ON TIME! Be sure to SAVE and BACK UP/UPLOAD everything you do. BEGIN ASSIGNMENTS EARLY in the week they are assigned so you will have time for questions and technical glitches. ASSUME you will have technical problems and turn in work BEFORE the due date. I have built in plenty of time to allow for questions and technical difficulties as long as you begin on the date it was assigned.

An incomplete grade is given only when there is an emergency near the end of the semester.

Academic Integrity

When creating Graphics or Web sites, treat Web content as you would treat content from a published article or book. Stealing content is unethical, and students guilty of academic dishonesty will receive a zero for the assignment and may be suspended or expelled. It is acceptable to use brief quotes or clip art. It's not ok to copy entire web pages or style sheets or use someone else's images without permission unless a license permits use.



Attendance

Though any student not participating in class for 2 consecutive weeks may be dropped from the course by the instructor, it is always the student's responsibility to drop any unattended course.  Failure to drop an unattended course will result in a grade of "F" on your transcript.  Participation in an online class means submitting assignments and taking quizzes on time, contributing to discussion regularly, and checking Moodle & email at least twice a week.



Schedule

Date Topics Textbook Chapter
Week 1 Introduction 1
Week 2 PHP Programming 2
Week 3 PHP Programming 2
Week 4 MySQL 3
Week 5 PHP with MySQL 4
Week 6 MVC Organization 5
Week 7 Testing & Debugging 6
Week 8 Forms 7
Week 9 Control Statements 8
Week 10 Strings & Numbers 9
Week 11 Dates 10
Week 12 Arrays 11
Week 13 Cookies & Sessions 12
Week 14 Functions 13
Week 15 Objects 14
Week 16 Regular Expressions & Validation 15
Finals Week Final Exam  


Textbook - available at the campus bookstore or online

Murach's PHP and MySQL, 2nd Edition
by Joel Murach
$40 on Amazon
ISBN-13: 9781890774790

An eBook is  available from murach.com.

 

Materials

You cannot complete this class without reliable access to Internet and text editing software. You'll learn more about text editing software in class.

You may use campus computer labs if needed.

You need adequate storage to SAVE and BACK UP your work.  You are responsible for your work in spite of technical problems, so be sure to back up!  Most students use a USB Flash Drive.



Course Communication

Post general questions to the online discussion.  You may also send email to jodi.reed (at) gcccd.edu or stop by during office hours. 

NOTE: I must respond to many questions each day, so my responses tend to be brief. Please don't take this personally. I usually respond the same day or the next day. Please try again if you don't hear back within 2 days. I check email most often followed by Moodle discussion and then voice mail.

Students with disabilities who may need accommodations in this class should notify me and contact Disabled Students Programs and Services (DSPS) early in the semester so that reasonable accommodations may be implemented as soon as possible.



Important Dates

Please mark your calendar!

SPRING 2016  
January 25 Classes begin
February 5 Last day to add semester-length classes
Last day to drop semester-length classes without a W
Last day to receive a refund for semester-length classes
February 8 Census Day
February 12-15 Holiday (President's Day Weekend)
February 26 Last day to apply for Pass/No Pass for semester length classes
March 18 Last day to apply for Spring degree/certificate
March 21-26 Spring Recess
April 22 Last day to drop semester-length classes
May 23-28 Final Examinations
May 30 Holiday (Memorial Day)

 

 

 

This course adheres to the policies outlined in the Cuyamaca College catalogue. For further information, see Academic Policies stated in the catalog.