MANSFIELD UNIVERSITY
CIS 4420-190 COURSE SYLLABUS

revised 12/19/2004

GENERAL INFORMATION

Course number: CIS-4420-190
Credit/Contact hours: 3
Term: Spring, January 10 - April 29, 2005
Course title: Special Problems: Web Programming with PHP 5
College website: www.mansfield.edu

INSTRUCTOR INFORMATION

Instructor name: John Phillips
Instructor office location: Elliott 203 A
Instructor office hours: to be announced
Instructor telephone: 570-662-4704 (however, it is best to contact me via e-mail)
Instructor e-mail address: jphillip@mnsfld.edu
Instructor website: http://faculty.mansfield.edu/jphillip/

COURSE INFORMATION

Course Description

Introduction to web programming using the PHP 5 programming language and MySQL database. The student will learn to develop dynamic interactive web sites using this technology.

Prerequisite: basic HTML skills and beginner-level programming experience with any other programming language.

Textbook

Beginning PHP5 and MySQL: From Novice to Professional, W. Jason Gilmore, 2004, Apress, ISBN: 1-893115-51-8.

Note 1: this book will be used mainly for reference although I will give some reading assignments out of it. I will place a copy on reserve at the MU library front desk where it will be available for "in-library use". Should you do most of your work at the library then you may find that you do not need to purchase a copy. In addition, I will be placing a few other PHP and MySQL books on reserve at the library. These will have a 3-day checkout limit to ensure that everyone has convenient access to them.

Note 2: skip chapter 2 on installing and configuring PHP and MySQL. You will be provided with a PHP/MySQL account on a remote webserver. All you need is a web browser, and ssh client such as Putty, and an ftp client such as wsftple (all free software). This will all be explained during the first week of class.

Course Related Websites

http://www.mnsfld.edu/blackboard.cfm for assignments and the class discussion board

<address to be announced> for the web site development area

http://www.php.net/manual/en/ for the online PHP manual

http://dev.mysql.com/doc/mysql/en/index.html for the online MySQL manual

Course Outline

  1. Introduction to our programming environment - Linux, ssh, ftp, vi
  2. Writing PHP Programs and basic HTML review
  3. Forms - getting data from the client
  4. Decision making
  5. Loops and arrays, HTML tables, CSS
  6. Functions and includes - organizing your code
  7. File and Directory Handling
  8. PHP Database Connectivity
  9. Retrieving data from MySQL
  10. Manipulating data in MySQL
  11. Authentication and session handlers
  12. Regular expressions
  13. Object-oriented PHP
  14. Error and exception handling
  15. Networking with PHP
  16. E-mail, XML, and web services

Class schedule

This is an on-line Internet based course. You can log in to Blackboard and complete assignments at any time (before the assigned due dates).

Equipment and supplies

Access to the Internet is required either using your own computer or by using a computer in the school's computer lab. A PHP development website account will be provided.

Grading scale and policy

Work that meets the stated requirements will in general earn a C grade. Work that goes beyond the basic requirements will in general earn anywhere from a C+ to a B grade. Work that is very good and exceeds the instructor's expectations will in general earn a B+ grade. Only the most outstanding work will earn an A grade.

(Refer to the Mansfield University Catalog for grades that can be awarded.)

A >= 90%
B >= 80%
C >= 70%
D >= 60%
F < 60%

In addition, the instructor may choose to further differentiate grades with plus and minus subdivisions as outlined in the catalog.

Course Grade % of Grade
Assignments - eight @ 5 points each 40
First Project 10
Second Project 10
Final Project 20
Peer Review of Project 1 5
Peer Review of Project 2 5
Peer Review of Project 3 5
Online participation and discussion 5

Late assignment policy

Work that is more than 2 days late will lose one letter grade for each day late thereafter. No excuses. Computer, server, ftp, and Internet problems will happen, therefore, make it a point to complete all assignments and projects before 11:59:59 PM of the deadline. Should something go wrong then you have two grace days to get it working and submitted. After that I start taking off late points. Except for the final peer review, no work will be accepted after the last day of class. Please do not take advantage of this policy. I expect most work to be submitted on time. If you are regularly late with your assignments and projects then I will take that into account in the grading.

Methods of instruction

This is an on-line Internet-based course. You will follow the directions given in the assignments posted online and participate in the on-line discussions at least once a week. Frequent participation is encouraged.

Unique requirements of the course

Weekly assignments and programming projects are a major part of your grade. The assignments may included quizzes, research, writing, and programming problems among other activities. It is essential that you keep up with the material. As this is an Internet course you must discipline yourself to do the work. To get the most out of the course you need to log in frequently to read and participate in the on-line discussions.

Academic Integrity

As stated in the MU catalog, "students are expected to do their own academic work. Dishonesty in academic work, including cheating, academic misconduct, fabrication, or plagiarism is unacceptable. Faculty are expected to instruct students in ways of avoiding these forms of academic dishonesty. Faculty are also responsible for assessing and reporting all charges of academic dishonesty to the Office of the Provost. The student handbook, The Password, outlines the procedures faculty will use to initiate disciplinary action in cases of academic dishonesty."

It may be tempting to cheat in this class. Do not do it! You will be posting your code for all to view. Feel free to browse other students' code, on-line web sites, and books for ideas. However, if you copy that code and you do not give credit for it, that is plagiarism. Likewise, if you discuss a quiz you have taken with another student before they take it, that is cheating. You may not do anything that gives you or another student an unfair advantage. If you are in doubt then discuss the situation with your instructor.

Withdrawal Policy for Individual Courses

The last day to withdraw from a College course with a "W" grade is published in the Academic Calendar. It is the responsibility of the student to complete and submit the necessary forms to the Registrar's Office. An official withdrawal would entitle the student to a grade of "W" in the course.

Syllabus Change Policy

The instructor reserves the right to make changes to this syllabus and course timeline as the course progresses.

COURSE TIMELINE

Week Date Topics
1 1/10
  • Class begins
  • Introduction to the course
  • Our programming environment: Linux, ssh, ftp, vi
2 1/17
  • Basic HTML
  • A simple PHP program
  • Assignment 1 due Wednesday
3 1/24
  • HTML Forms
  • PHP decision making
  • An interactive PHP program
  • Assignment 2 due Wednesday
4 1/31
  • PHP loops and arrays
  • HTML tables
  • CSS
  • Assignment 3 due Wednesday
5 2/7
  • Functions and includes - organizing your code
  • Assignment 4 due Wednesday
6 2/14
  • File and directory handling
  • Using PHP to upload files
  • Assignment 5 due Wednesday
7 2/21
  • PHP Database Connectivity
  • SQL online tutorial
  • Assignment 6 due Wednesday
8 2/28
  • Retrieving data from MySQL using PHP
  • Authentication and session handlers
  • Project 1 due Wednesday - a PHP file-based program
9 3/7
  • Spring Break
10 3/14
  • Manipulating data in MySQL using PHP
  • Peer review of project 1 due Wednesday
11 3/21
  • Regular expressions
  • Assignment 7 due Wednesday
12 3/28
  • Object-oriented PHP
  • Error and exception handling
  • Project 2 due Wednesday - a PHP/MySQL program
13 4/4
  • Networking with PHP
  • Peer review of project 2 due Wednesday
14 4/11
  • E-mail handling
  • XML
15 4/18
  • Web services
  • Assignment 8 due Wednesday
16 4/25
  • Final project due Wednesday - a PHP/MySQL/advanced technology program
17 5/2
  • Finals Week - Peer review of final project due Monday, May 2nd