image

Elgin Community College
CIS 248, Internet Programming with PHP

Syllabus, Internet section

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, Spring 2012:
Monday 10-11am, 12:15-3:15pm
Wednesday 10-11am, 12:15-3:15pm
Thursday 8:30-9:30am on D2L
Friday 8:30-9:30am on D2L

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. Security: Filtering Input and Escaping Output
5. Reading files, Reading from other Servers
6. Strings and Parsing
7. Date and Time
8. Graphics with the GD library
9. E-mail from your script
10. Carrying Data from Page to Page: Cookies and Sessions
11. Detecting and working with mobile devices
12. Functions and Objects
13. XML and JSON responses
14. 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 Sunday night at midnight at the end of the week of class specified below.

AssignmentsWeek dueDates for Spring 2012
13February 5
24February 12
35February 19
47March 4
58March 11
69March 18
710April 1
812April 15
913April 22
1015May 6
1116May 13

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.