CIS166AE Web Scripting with PHP
Spring 2008

Instructor: Phil Waclawski
email: waclawski@mail.mc.maricopa.edu
http://www.felitaur.com/ (Instructors home page)
http://www.felitaur.com/webscripting/ Course Home Page
Student Server at Lampbusters.com
php.net

Section: 8018 Tues-Thursday 5:20-7:00pm BA1W
Lab Hours: See Schedule
Office: BPO 53, (480) 461-7468

Materials
You need to buy a USB flash disk/thumb drive). A notebook with pockets or a 3 ring binder would also be a good idea.

******************************************************************

The Required Books:
  1. Learning PHP 5 2004 By David Sklar, pub. O'Reilly
Suggested Books:

Rough Schedule (expect some modifications)
Week of: Topic Reading/etc
January 14 Introduction, Set up of Accounts, Review of Pre-Reqs. Programming Concepts, Intro to PHP Read Chapter 1
Assignment 1(30pts)
Assignment 2(30pts)
January 21 Variables, Operators, Expressions
Control Statements(Monday School Holiday)
Read Chapters 2 and 3
program Assignment 1(30pts)
January 28 Functions and Arrays (Debugging?) Read Chapters 4 and 5 (12?)
Program Assignment 2(50pts)
February 4 Making Web Forms Read Chapter 6
Program Assignment 3(80pts)
February 11 Validating/Securing Web Forms (PREG) Read Chapter 6
February 18 Database Design, Connectivity, MySQL Read Chapter 7
February 25 Database cont. Read Chapter 7
Program Assignment 4
March 3 Cookies and Sessions Read Chapters 8
March 10 SPRING BREAK WEEK
March 17 Classes and Objects Read Chapter 13, start page 242 (will have additional resources to supplement the rather thin section in the book)
March 24 File manipulation, Date/Time Read Chapters 9 and 10
March 31 Parsing and Generating XML (RSS)? Chapter 11
April 7 Encryption, IMAP Chapter 13 (and additional handouts)
April 14 Generating Graphics Chapter 13 (and additional handouts)
April 21 Topic catch up week, or special topic  
April 28 ??Open, Final Project work, special topics? Final Projects Due(300pts)
Chapter 28
Finals May 6, Tues 5:10-7:00pm BA1W
FINAL PRESENTATIONS of FINAL PROJECTS (Mandatory! ;)
 

MCCCD Office Course Competencies: CIS166AE Webscripting with PHP

  1. Explain the concept of client/server configurations and its benefits. (I)
  2. Explain the role of server-side and client-side programming languages in the design of interactive, dynamic web pages. (I)
  3. Design and develop scripts that manage program state. (I, VI)
  4. Explain the concept of static versus dynamic content. (II)
  5. Describe the benefits and disadvantages of open source solutions. (III)
  6. Develop scripts using various PHP language components that include state management and security features. (IV, V, VI, VII)
  7. Use SQL to access a relational database for dynamic content presentation. (VIII)
  8. Describe the role of PHP in developing web services. (IX)

Open Lab Requirements
      As stated in the schedule, you are required to spend at least 1 additional hour in the open lab. There will be outside of class assignments and you will need to find time to do so. Expect to spend several hours a week on this course outside of class. I will be available during my lab hours for help, and possibly other times by arrangement. You can see my attached schedule.

Grading
      I grade on a straight scale based on percentage of total points. If you attend the classes, do the work, spend time every week in the open lab, you should do well in this course.
90%    A
80%    B
70%    C
60%    D
Below 60% is an F

INCOMPLETE GRADES ARE NOT GIVEN IN THIS CLASS!!

Exams
      There will be several short "quizzes", possibly one or two exams, but the majority of your grade comes from the programming assignments.

Projects and Assignments
      Note: Assignments will be refined nearly every semester. Do not "go ahead" or you will find out that you have to redo an assignment. There will be several small to medium programming projects. Often you will be sending me the results as email attachments (or just the web links to the page involved with a copy of the source attached). You will also have one or two main projects.
You will post all your work onto the LAMP Busters Student Server
NOTE: Programming assignments will follow the PHP PEAR Coding Standards and produce XTHML 1.0 Transitional Compliant web pages.
Final Project:
You will be doing a final project for this course, which will be 300pts. In order to get a grade, you must complete this assignment.

Attendance
      I am continuing to build this class as we go. If you do not make attendance in class (and open lab) a priority, you will not do well in this course. I can't stress this enough. You knew when this class met when you signed up for it, so you have no excuse short of illness, death in the family etc. Please do everything you can to attend all classes.

Enrollment of District/College/Department Employees and their friends and relatives

      Are you a district employee, relative of a district employee or otherwise have a personal relationship with the instructor, instructors college etc? Please let the instructor know immediately so he can inform the district of any potential "enrollement irregularities".

Withdrawing from Class
       As of this semester, if you just "disappear" without informing me, you will be withdrawn with a "W". I will only assign an "F" for the class if you have attended the majority of the class, and you request that grade. It is YOUR responsibility to make sure you are properly withdrawn, or ask for a grade, if that is your wish.

Change In Class Refund Policy

      Beginning Spring 2008, students will be charged tuition and fees when dropped from classes after the 100% refund period (whether through the purge process for non-payment or instructor removal for failure to attend).

Requesting your final Grade Early
      In accordance with FERPA (Federal education records privacy act) I can only give out grades to the student who earned them. So, if you want to request your grade by email (because you just will die if you have to wait for it to arrive by snail mail ;), it MUST be done via the campus email system (username@mail.mc.maricopa.edu). Requests for any grade related information from any other email will be ignored.

Plagiarism and Cheating
      Check the college catalog for official school policies. Again, I don't expect this to be a problem, but if it does become a problem, I'll push for the most severe punishment the administration allows. Remember, using more than 4 words in a row without quoting (and including a source) is plagiarism. You do your own work. Getting help from others on programming assignments is OK, but help only. You type up your own code. Using teacher examples to help is fine, but just copying and pasting them into your code is not only against the rules, but a bad idea, as you often spend more time trying to get the code to "fit" your program than if you had typed it yourself.

Cell Phones, Pagers
      These have become a horrendous problem of late. ALL cell phones should be turned off during class time. You will get at most one warning. After that, I may consider either taking points away, or if it continues, withdrawing you from the class. You can live for a couple of hours without your phones (Just 4-5 years ago, hardly anyone had these blasted things, and yet civilization didn't collapse, so you can live without it for an hour or two). There may be periodic breaks for you to go outside and call if you need to do so. Pagers should be put on vibrate, but only if they are quiet when they buzz. Note, anyone actually ANSWERING the phone in class will be asked to leave immediately, and not to come back that day, or possibly ever.

Disciplinary Standards
      Students who violated the disciplinary standards of MCC (In the Student handbook and course catalog) will be removed from class, and if appropriate, withdrawn. Misconduct for which students are subject to disciplinary action falls into the general areas of:

  1. Cheating on an examination, laboratory work, written work (plagiarism); falsifying, forging or altering college records.
  2. Actions or verbal statements which threaten the personal safety of any faculty, staff, students, or others lawfully assembled on the campus, or any conduct which is harmful, obstructive, disruptive to, or interferes with the educational process or institutional functions.
  3. Violation of Arizona statutes, and/or college regulations and policies.

General Standards Governing Use of Maricopa County Community College District Computer Resources Handbook:
      Maricopa's computing resources specifically prohibits: "Transmitting, storing or receiving data, or otherwise using computer resources in a manner that would constitute a violation of state or federal law, including (but not limited to) obscenity, defamation, threats, harassment and theft.

Violations of ANY provisions of the Standards, which are detailed in the Handbook, could result in immediate termination of a user's access to Maricopa's computing resources, as well as appropriate disciplinary or legal action.

Sexual Harassment Policy for Employees and Students
      The policy of the Maricopa Community Colleges is provide an educational, employment, and business environment free of unwelcome sexual advances, requests for sexual favors, and other verbal and/or physical conduct or communications constituting sexual harassment as defined and otherwise prohibited by local, state and federal law.

Sexual harassment by and between employees, students, employees and students, and campus visitors and students or employees is prohibited by this policy.

Violations of this policy may result in disciplinary action up to and including termination of employees, sanctions up to and including suspension or expulsion for students, and appropriate sanctions against campus visitors.

This policy is subject to constitutionally protected speech rights and principles of academic freedom. Questions about this policy may be directed to the Maricopa Community Colleges Equal Employment Opportunity/Affirmative Action (EEO/AA) Office.

Special Accommodations
      MCC complies with the ADA. Anyone who needs special accommodations should let the instructor and disability services know immediately to insure you have full and adequate opportunities to succeed in this course .

Murphy's Law of Computers
      Things go wrong and will. :) I have put in a great number of hours in the past several months working on this course. I will continue to put a great number of hours into the course (outside my scheduled hours). I want this to be a fun course, and a very useful one. However, I can't guarantee that everything will work, or that we will be able to do everything. I will do my utmost to test out material and assignments thoroughly before they are passed out, but I am still installing things on our Linux server and stuff happens. Because of that, things will be altered, edited, added and deleted from the above schedule. Changes will be put on the web pages as time permits, but they will be announced in class. Therefore, attendance is crucial.