CIS215 - Web Scripting - Genesee Community College
Course Syllabus - Spring 2015
Course and Instructor Information
Course: CIS215 - Web Scripting
Instructor: Professor Ken Mead
Office: D395 Phone: 585-343-0055 x 6381
Email: kjmead@genesee.edu
Office Hours: see http://faculty.genesee.edu/page/kjmead
Textbook: Learning PHP5 by David Sklar, O'Reilly Publishing, 2004, ISBN-10: 0596005601
Textbook2: jQuery Pocket Reference, by David Flannagan, O'Reilly Publishing, 2011, ISBN-10: 1449397220
Course home page: http://csnlinux.genesee.edu/scripting
Catalog Description:
Introduces scripting languages, using them to accomplish a variety of tasks with an emphasis on dynamic web page generation. Students will work with both server-side and client-side languages, and should plan sufficient time to complete the necessary programming projects using the college's computing facilities. Spring only. Prerequisite: CIS125.
Course Outline :
- Introduction to Unix, the shell, bash, and PHP (week 1)
- Writing and executing php scripts in the shell (week 1).
- Writing a php script to execute on a web server (week 1).
- Working with scalars and arrays, conditional statements, and built-in functions. (week 2)
- Generating dynamic HTML documents and processing input data from HTML forms. (week 3)
- Working with Associative Arrays. (week 4)
- Looping Structures -- for, foreach, while (week 5)
- Writing Functions (week 6)
- Advanced Form Processing (week 7 - 8)
- Introduction to SQL.(week 9)
- Working with an SQL server from inside a script. (week 9-11)
- Regular Expressions (week 12)
- Client side scripting using Javascript. (week 13-16)
Student Performance Outcomes:
Upon successful completion of this course as documented through writing, objective testing, laboratory practice, and/or classroom discussion, the student will be able to:
- 1. Write a simple script in a modern scripting language and execute it at the shell prompt.
- 2. Write a simple script in a modern scripting language and execute it on a web server by accessing the URL of this program in a web browser.
- 3. Effectively use scalar variables, arrays and hashes (associative arrays) to solve programming problems.
- 4. Effectively use conditional statements and loops to solve programming problems. *
- 5. Write scripts that will create distinct, dynamically generated web pages depending on different POST and GET requests. *
- 6. Write scripts that will process and validate web form data, where this data may come from any or all of the following sources: text areas, check boxes, radio buttons, selection lists and hidden fields.
- 7. Use the scripting language's documentation (printed and on-line) to investigate and effectively use the scripting language's built-in functions and/or subroutines.
- 8. Effectively use regular expressions to solve programming problems.
- 9. Write user-defined functions and/or subroutines.
- 10. Write scripts that will perform basic input/output operations on files on the filesystem.
- 11. Execute basic SQL queries on a database.
- 12. Write a script that will perform basic SQL queries on a database.
- 13. Write client-side scripts to execute code based on browser events.
* This course objective has been identified as a student learning outcome that must be formally assessed as part of the College's Comprehensive Assessment Plan. All faculty teaching this course must collect the required date (see Assessing Student Learning Outcomes form) and submit the required analysis and documentation at the conclusion of the semester to the Office of Assessment and Special Projects.
Instructional Strategies:
The course will consist of lecture, individual self-study, and small group work. Students will be expected to solve complex problems outside of regular class time.
Computer Projects
There will be between 4-6 projects and multiple short homework assignments this semester. Due dates will be announced in class. Assignments must be turned in at the beginning of your class period on the due date.
An electronic copy of each project will be submitted to the csnlinux server, and a hard-copy of the code will be turned in, along with a cover sheet, to the instructor before the deadline. If either of these conditions is not satisfied, the project will be considered late. Additionally, if a project is submitted unfinished or with major defects, the instructor may refuse to accept the assignment. In this instance, the instructor will contact the student with a statement to this effect. The student will have the opportunity at this point to resubmit the project in accordance with the late policy described below.
Late policy: Projects not handed in on time are subject to the following penalties: 10% reduction if submitted within the first 48 hours after the deadline, 25% reduction if submitted between 2-4 days late, 50% reduction if handed in between 4 and 7 days late. No credit will be awarded if the project is turned in more than one week after the deadline. Any late project must include, in digital form, a PDF document containing an exact replica of the printed material to be handed in to the instructor, including cover sheet.
Grading and Scale
Your grade in the course will be based on the following:
- Tests and quizzes: 60%
- Projects and homework: 40%
- Important: Four (4) points will be deducted from your overall final average for each project not submitted by the student or not accepted by the instructor.
- Scale: 100-90% A; 89-80% B; 79-70% C; 69-60% D; 59-0% F
No make-up tests or exams will be given unless you have an unavoidable reason for missing the test AND you notify your instructor in advance (either in person, by sending email, or by phone call and leaving voicemail).
Tests, tentative schedule: Week of Mar 16, Week of Apr 13, Week of May 11.
Computer Assignments and Projects: Approximately 5 projects and 10 short homework assignments. Due dates announced in class.
Plagiarism and Cheating:
Cheating is obtaining or intentionally giving unauthorized information to
create an unfair advantage in an examination, assignment, or classroom situation. Plagiarism is the act
of presenting and claiming words, ideas, data, programming code or creations of others as one’s own.
Plagiarism may be intentional – as in a false claim of authorship – or unintentional – as in a failure to
document information sources using MLA (Modern Language Association), APA (American Psychological
Association) or other style sheets or manuals adopted by instructors at the College. Presenting ideas in
the exact or near exact wording as found in source material constitutes plagiarism, as does patching
together paraphrased statements without in-text citation. Disciplinary action may include a failing grade
on an assignment or test, a failing grade for the course, suspension or expulsion from the college, as
described in the Code of Conduct.
At the discretion of the instructor, a final exam may be administered to replace one test grade. The instructor reserves the right to make any reasonable and necessary modifications to the statements above. This document is subject to change.