CMPS 3680 - Web Programming II

CMPS 3680 - Spring 2019
Derrick McKee

Office: Sci III 321, 654-2819
Office Hours:
MonWed: 8am-9am, 10am-11am, 12pm-1pm
Thurs: 7am-7:20am, 9:50am-10am
Fri: 8am-9am
Email: Contact Me
Course website:

Course meets:
MonWeds 10:00am-10:50pm in Sci III 240
Th 10:00am-12:30pm in Sci III 240

Course Description:
Languages, principles, and techniques fundamental to web application development on the server side. The latest languages, security risks, and technologies are addressed. Languages used in this course: PHP, SQL, JavaScript - jQuery, AJAX, HTML, and CSS.

Topics covered in CMPS 3680
Introduction to PHP: Hypertext Preprocessor
PHP Arrays and Strings
Processing Form Data
PHP File I/O
PHP Functions
Server Side Includes
Object Oriented Programming with PHP
PHP Error and Exception Handling
PHP Cookies and Session Managment
Database Design with MySQL
Introduction to SQL
WebDev Security Risks
   js injections, cross-site scripting, session hijacking,
   sql injections, cross-site request forgery, phishing,
   file upload risks, insecure direct object references
User Based Website Design
E-Commerce Website Design
**Additional topics may be discussed

Prerequisite: CMPS 2680 or CMPS 2010 with a C- or higher and approval
Topics covered in CMPS 2680:
Introduction to Web Development
HTML Markup
Cascading Style Sheets
CSS Box Model
Web Design Layout
Image Handling
HTML Forms and Validation
Bootstrap and jQuery

Students are responsible for their own attendance. The topics covered in lecture will be listed on the course website.

Academic Integrity Policy:
Homeworks and labs may be worked on and discussed in groups. If the assignment is a group assignment, the group can turn in one assignment for the entire group. If the assignment is an individual assignment, each student must turn in their own code; no direct copying is allowed. Refer to the Academic Integrity policy printed in the campus catalog and class schedule.

Services for Students with Disabilities:
To request academic accommodations due to a disability, please contact the Office of Services for Students with Disabilities (SSD) as soon as possible. They may be reached at 661-654-3360 (voice), or 661-654-6288 (TDD). If you have an accommodations letter from the SSD Office, please present it to me during my office hours as soon as possible so we can discuss the specific accommodations that you might need in this class.

Tutoring Center and Open Use Computer Lab:
The walk-in computer lab in Sci III 324 is available for use by students in this course outside of class time on a first come, first serve basis. Priority in the lab is given to students who are completing assignments for Computer Science and Computer Engineering courses.
Tutoring is also provided on a limited basis in the walk-in lab. A tutoring schedule will be posted on the department website by the end of the first week of classes. Students in this course may ask the tutors for assistance on assignments. The tutors are not allowed to solve the assignment for you, but they can assist with problems like cryptic compiler errors.

Text Book:
None required. However, the following book for this course is currently under review and recommended.
PHP and MySQL Web Development, 5th Edition. Luke Welling, Laura Thomson
Print ISBN-13: 978-0-321-83389-1
Print ISBN-10: 0-321-83389-9


Lab assignments will be posted on the course website. Labs are worth 4 points. There will be one lab assignment each week that will be due on the posted date before midnight. Partial credit will be given for incomplete labs.

Late Policy:
Late labs will not be accepted. If there is a late policy that is posted for an assignment, then that policy will apply for that particular assignment. Otherwise, an assignment that is not submitted on the posted due date will not be accepted.

Labs Submission:
Assignments are submitted by uploading the assignment to your public_html directory on sleipnir AND by copying the required material for the assingment into the corresponding depository directory. The assignments' file name(s) must be exact. A server side script will run to extract the file(s) at the time of the assignments' due date.

Allow at least one week after the assignment due date for the grade to be posted. It is your responsibility to check to see if your assignment has been received/graded and to contact the instructor if it has not been received. If your assignment received an asterisk on the grades report, you have until the end of the week to contact me or the assignment will not be counted.

Out-of-class Time:
It is expected that students in a 3 unit course such as this will spend 4 to 10 hours each week outside of class working on assignments, so be sure to budget enough time to complete the assignment before the due date.

There will be 2 midterm projects and 1 final project. Project descriptions and due dates will be announced promptly ahead of time. Projects will consist of fully developed webpages based off lecture material and lab assignments. For each project, you will have adequate time to complete the requirements. Each project will have a rubric for criteria and descriptions matching the achievement level. Late projects will not be accepted. Partial credit will be given to incomplete projects.

Final Project:
Your final project will consist of a project proposal, a fully developed web application, and a short presentation of your completed project. Unlike the midterm projects, the final project will be entirely up to you. I will announce the writing requirements for the final project proposal and the criteria for the project. Presentations will be held during the class's final time slot, TBA. If you cannot make this time for a serious or compelling reason, contact the instructor ONE WEEK in advance to schedule an alternate time. Late final projects will not be accepted. If a final project is not submitted, then the student will receive an incomplete for the course. Details on submitting the final project will be posted.


Lab Rubric Description
4All criteria of the assignment was met
3Mostly all criteria of the assignment was met
2Partial criteria of the assignment was met with many errors
1Little to no criteria of the assignment was met
Grade Distribution
Project 125%
Project 225%
Final Project20%