CIS166AE Web Scripting with PHP
Spring 2010

Instructor: Phil Waclawski
email: waclawski@mesacc.edu
AIM: linuxphilw
NOTE: This is an 8 week hybrid class. We meet once a week, the other half is online/work in lab or at home. Instructor will be available during lab and office hours, by email and AIM as well when possible.
http://www.felitaur.com/ (Instructors home page)
http://www.felitaur.com/webscripting/ Course Home Page
Student Server at Lampbusters.com
php.net

Section: 35780 Wed 6:30-9:30pm BA1W
Lab Hours: See Schedule
Office: BPO 26, (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. PHP and MySQL Web Development, Fourth Edition 2009 By Luke Welling and Laura Thomson, pub. by Addison Wesley
Suggested Books:

Chapter 16,17,18
Rough Schedule (expect some modifications)
Week of: Topic Reading/etc
March 25 Introduction, Set up of Accounts, Review of Pre-Reqs. Programming Concepts, Intro to PHP Read Chapter 1
Assignment 1(30pts)
Assignment 2(30pts)
  Variables, Operators, Expressions
Control Statements(Monday School Holiday)
Read Chapter 1
program Assignment 1(30pts)
April 1 Functions and Arrays (Debugging?) Read Chapters 3 and 4,5 (section on functions mainly),26
Program Assignment 2(80pts)
  Making Web Forms, Regular expressions Review chapters 1,3, DO NOT read Chapter 4
Program Assignment 3(80pts)
April 8 Cookies and Sessions Read Chapter 23
  Database Design, Connectivity, MySQL Read Chapter 8,9,10
April 15 Database cont. Read Chapter 8,9,10
Program Assignment 4
  Classes and Objects Read Chapters 6
April 22 File Manipulation, Date/Time Chapter 2,21
  Parsing/Generating XML (RSS), Email(IMAP) Chapter 29 (in part)
April 29 Generating Graphics Chapter 22
  Web Security  
May 6 Work on Finishing Final Projects  
Finals May 13, Thurs 6:30-9:300pm 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)

Hybrid/Blended Learning Class Structure and Advice
This is an 8 week hybrid class. Which means that not only does it go twice as fast, we only meet once a week. For a programming class this can be especially challenging. You MUST put in serious effort to pass this course. I will be available by email, in lab and office hours, also by AIM as much as I can. I will do everything I reasonably can to help you. YOU however, must ASK questions when you have them (again, in class, by email, lab office hours whatever), you must do work outside of class, participate in discussion boards and whenever possible, discuss things with each other when you can't do so with me.

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 .

MCC Early Alert Program (EARS)

Mesa Community College is committed to the success of all our students. Numerous campus support services are available throughout your academic journey to assist you in achieving your educational goals. MCC has adopted an Early Alert Referral System (EARS) as part of a student success initiative to aid students in their educational pursuits. Faculty and Staff participate by alerting and referring students to campus services for added support. Students may receive a follow up call from various campus services as a result of being referred to EARS. Students are encouraged to participate, but these services are optional. Early Alert Web Page with Campus Resource Information can be located at: http://www.mesacc.edu/students/ears

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.