image

Elgin Community College
CIS 248, Internet Programming with PHP

Syllabus, Fall 2010

Course Web page: http://faculty.elgin.edu/mpelczarski

Instructor Information

Name: Mark Pelczarski
Phone: (847) 214-7498
Office: ICT-124
Campus E-mail: mpelczarski@elgin.edu

Office/Lab hours, Fall 2010:
Monday 4:00-6:00pm
Tuesday 12:45-2:00pm
Wednesday 12:45-6:00pm
Thursday 12:45-2:15pm

Class Hours:
Self-paced, online. See the section below about Schedule and Due Dates.

Course Materials

Recommended Text:
Core PHP Programming by Leon Atkinson
See the "Books" link on the course home page for details and other recommendations.

Software:
You will need a web browser (such as Internet Explorer, Firefox, Chrome, Safari, or Opera), an FTP client program (such as Filezilla), and a text editor (such as Notepad or Notepad++). These are all free for download on the Internet and links are given on the course home page.

Optionally, you may want to download and use a local web server such as MoWeS so that you can test your PHP scripts on your own computer. However you can always test each script on the class web server. Using a local server will just save a step each time.

Description

In this class you'll learn to program interactive websites using PHP. There will be an emphasis on various methods of input to the server (querystrings, forms, and cookies), interacting with files on the server (text files and databases), and security issues. We will also look at ways for our PHP programs to communicate with other servers on the 'net, and how to create custom graphics on the fly with the gd library. By the end of the course some of you may wish to pursue certification by taking the Zend PHP Certification test.

Assignments

There will be a series of programming assignments throughout the course that will give you an opportunity to practice what you are learning. Your grade will be based on successful completion of each of the programming assignments. Although the course is self-paced and you can work ahead and complete the course as quickly as you want, you are expected to keep to a minimum timetable. See the schedule below for minimum due dates.

Originality

Each assignment should be primarily your own work. As with any written assignment, any excerpts of code from ANY source should be attributed by using comments in your code that clearly show which block of code is from another source along with complete links that would let anyone find that source. Failure to give proper attribution for any code, which therefore implies that you created it yourself, is plagiarism and will be handled accordingly. Refer to the ECC policy on plagiarism.

Topic Outline

1. Overview and Language Essentials
2. Output, Associative Arrays, Debugging
3. HTML forms, the $_POST array, and writing to files
4. Reading files, Reading from other Servers
5. Security: Filtering Input and Escaping Output
6. Strings and Parsing
7. Date and Time
8. Graphics with the GD library
9. Carrying Data from Page to Page: Cookies and Sessions
10. Functions and Objects
11. XML and JSON responses
12. E-mail from your script
13. Detecting and working with mobile devices
Extra: Database Access and SQL

Schedule and Due Dates

This is a "self-paced" course, with conditions. You must keep a minimum pace as described below to pass the course and avoid being dropped. But you may also work through the course as quickly as you are able.

Assignments are due by Thursday at noon of the week of class specified below.

AssignmentsWeek dueDate for Fall 2010
13September 9
24September 16
35September 23
46September 30
57October 7
68October 14
79October 21
810October 28
911November 4
1012November 11
1113November 18
1215December 2
1316December 9

You may complete the assignments as early as you are able. Just send me an e-mail each time you complete an assignment and I will usually check it within a day or two. You do not have to wait for me before starting (and perhaps completing) the next assignment.

The only variance for the due dates is if you register for the course after the beginning of the semester. You will be allowed a proportional amount of time to catch up to the schedule, but you will still be expected to finish the final assignment by the date listed.

To allow adequate time for grading and corrections, late assignments will not be accepted in the last three weeks of the semester.

Grades

Your grade will be based on satisfactory completion of each of the assignments in a timely manner, and the quality of work represented by those assignments. A checklist is provided for each assignment. On-time completion of all checklist items for all assignments is the minimum requirement for a grade of B or better. A's are earned with exemplary work.