Time and Location: TR 8:00 a.m. – 8:50 a.m.; Frey 250 : Instructor: Dr. Scott Weaver – Assistant Professor of Computer Science [email protected] Frey 127 x 3785 Server Side Office Hours: http://cs.messiah.edu/weaver/mAbout/schedule.php CIS291 Syllabus Fall 2012

Course Description This course extends CIS191, Web Development: Client Side to dynamic web site development using server-side technologies. You will be building an interactive, dynamic, data-driven web site. Utilizing server-side scripting languages, such as PHP and/or Java Server Pages (JSP) your website will interface with a for dynamic content. You will be introduced to advanced topics in hypertext markup languages and client-side scripting to add pizazz to your website. Security issues will be addressed and modern software tools for the server-side development will be introduced. Development for alternative devices such as mobile and hand-held devices will be explored. Prerequisites: CIS191 Web Development: Client Side

Objectives The primary objective of this course is to equip you with the skills to design and build a dynamic website. Emphasis will be place on craftsmanship. After successfully completing this course, you will be able to:

1. Install and administer an Apache (XAMPP) on your local machine for development and testing. 2. Synchronize website files on your local machine with your publically accessible website on a web server. 3. Understand server side technologies focusing on PHP but also examining (ASP), .Net and Java Server Pages (JSP). 4. Develop dynamic, interactive, data-driven content using PHP and/or JSP. 5. Ensure your website security by understanding the issues and tools involved utilizing server-side design methodologies such as session handling and validation. 6. Modification of content for alternative platforms such as print, mobile, and hand-held devices.

Course Materials Textbooks: 1. Luke Welling and Laura Thomson. PHP and MySQL Web Development (4th Edition). Addison-Wesley Professional, 2008. (ISBN: 978-0672329166) Software: The following is a partial list of the software we will be using during this course:  Dreamweaver (software available in the labs)  Firefox (free download)  Firebug (a free Firefox addon)  Web Developer (a free Firefox addon)  XAMPP (free download) Optional Software includes:  Photoshop (available in the labs)  Fireworks (available in the labs)  Eclipse with PDT plug-in (free download)

CIS291 Syllabus.docx Page 1 CIS291 Syllabus Fall 2012 Course Tools: Through-out this course, our main communication tools will be the course website, Sakai, and email. A forum in Sakai will be used for learning together. This means that when you are stuck on some concept or struggling with getting your website to look right, you can ask each other by posting questions on the forum. Students who provide helpful and unique solutions will be given participation points (See Participation – Added Points Grade under Student Assessment). Other Course Needs:  Green Pocket Folder: used for turning in homework assignments.

Expectations 1. Attendance and Participation The easiest and most important method of learning and understanding course material is to be prepared for, and present in class! Keeping up with the reading assignments prior to class will make classroom lectures more understandable and engaging. It will also provide you with the confidence to interact during class discussions which will also make the class more enjoyable for all. Attendance is required. For illnesses that cause multiple day absences (more than 1 day) you must provide me with an Engle Center excuse or a note from the doctor who treated you. For any absences, you will need to notify me via e-mail at least one hour prior to the class period for which you will be absent. You are also required to find out what you have missed from a class colleague and should copy/photocopy, from that colleague, any documents or notes that were distributed to the class on that day(s). Students who do not e- mail me prior to missing a class or who do not provide a valid excuse (Engle Center or doctor) will not be able to make up any work that occurred on the day(s) of absence. Should you be faced with an emergency, such as a severe illness or death in the family, please e-mail me as soon as possible to let me know of the problem and to ask what you should do about missing class. Simply notifying me in advance that you will be absent does not constitute an excused absence. The method of tracking attendance is the use of a personal blue examination book which we will call your Classroom Journal. This Classroom Journal is also used for the Participation – Added Points Grade. At the beginning of each class period, your Classroom Journal will be returned. You will open up to the next blank section and enter the date which will be used for attendance purposes. The rest of the purpose of your Classroom Journal is explained in the Participation – Added Points Grade section. 2. Communication Course communication is a two-way street. If you find yourself falling behind or having difficulty understanding the material, please make an appointment to see me. Get help before it becomes too late. At least write about it in your Classroom Journal. When using email, the following guidelines apply:  All of us in class must check our Messiah College email every day.  When sending an email for this course, start the subject line with “[CIS291]” followed by a succinct and appropriate description of the email. The course calendar is a critical source of communication. However, the calendar may change at the discretion of Professor Weaver. You are responsible to ensure that you have the latest assignments by regularly checking the course calendar. Assignments will never be moved up, but they may be pushed back or modified. Therefore, check the calendar at the beginning of the week for the most up-to-date schedule.

CIS291 Syllabus.docx Page 2 CIS291 Syllabus Fall 2012 3. Attentiveness Through a combination of lectures, discussions, demonstrations, tutorials, website critiques, and guest speakers, this course seeks to provide a learning environment for students to develop their skills in website development. In order to foster this learning environment, be respectful and listen to whoever is presenting or talking to the class, whether it is me, a fellow student, or a guest speaker. You may learn something in the least expected place. 4. Craftsmanship and Pride Take pride in your work as a craftsman. Work diligently. When working alone, do your own work. When working with a team, do your fair share of the work. When turning in assignments, make the presentation of the assignment part of your craftsmanship, knowing that appearances do matter. All of us need help from time to time. When requesting help, seek help with the desire to learn the material rather than simply getting the assignment done. The former asks questions that facilitate understanding. The latter looks to the other person to do the work. It is still your work to do. 5. Cell-Phone, Email and Internet Usage Being attentive and using technology for purposes not related to this course are mutually exclusive. When in class, be fully present. Using technology to text, email, update or check on social media distracts yourself and those around you. Please refrain from using technology in this way. If it becomes a problem, your final grade could suffer.

Student Assessment Assignments and Projects (25%) Assignments will be graded on the fulfillment of the requirements as well as the craftsmanship put into the assignment. Quizzes (15%) Unannounced quizzes will be given periodically throughout the course as an incentive to keep up-to-date on all reading and assignments. Exams (30%) There will be two exams of equal weight. The first will take place in the middle of the semester. The second will be a cumulative final exam during finals week. Final Project (30%) The final project is a team-built website. You will be partnering with a team from the Database Concepts course who will be responsible for creating the database, populating it with test data, and providing you with PHP database objects you will use in building the website. Your responsibility will be the website design and development. Participation - Added Points Grade Attendance and participation is vital to making this course interesting to you and others, so come prepared and engaged. However, some students learn better studying on their own. For those students, participation is an act of service to the other students in the class. I believe strongly that students who are actively engaged in the class also do better in the graded aspects of the course. Therefore, I will reward those who attend and participate with what I call an Added Points Grade. An Added Points score, given each week, will accumulate to your Added Points grade. The Added Points grade is not part of the required categories (which add up to 100%) nor is it a bonus in the sense that it is simply added to your final grade. To calculate your final grade, you would add your Added Points grade to your actual grade and divide by 100 plus your Added Points grade. Here’s an example:

CIS291 Syllabus.docx Page 3 CIS291 Syllabus Fall 2012 Suppose a student’s final grade for the course is 70%. If this student did nothing for an Added Points grade, his/her final grade would simply be 70%. However, if the student participated and was engaged enough to receive an Added Points grade of 20 points, the final grade would be computed by adding 20 to 70 and dividing by 120 (100 + the Added Points grade of 20). So the recorded final grade would be 75% instead of 70%. To facilitate keeping track of participation points, you will be given a blue examination book at the beginning of the semester which you will put your name on. This will be your Classroom Journal. At the beginning of each class period, your Classroom Journal will be returned to you. During the course of the period, you will record the following:  The date. This is the minimum you must enter and is used for attendance.  Journal what things you learned during the class period or what you things you still don’t understand. This is to inform me of how things are going for you in the class.  How you participated during class. This will be used to determine what Added Points you will receive for the week. Participation includes asking questions, adding to class discussions, answering questions, and anything else I may ask you to include in your Classroom Journal. To receive the Added Points, you must be specific. Simply saying, “I asked a question,” is not good enough. At the end of the period, on your way out, you will drop off your Classroom Journal.

Course Policy Academic Integrity Plagiarism, representing another's work as your own, will surely result in a lower grade in this course, and may result in failing the course depending on its severity. You must document any sources that you use, whether from the Internet, another person, or printed materials. Website design is included in this policy. This also includes the work of other students who are currently taking this course. Academic integrity is broader than plagiarism. It includes such things as returning library materials promptly so that you are not keeping another student from completing his or her work. All students at Messiah College must read and abide by the College's policy on academic integrity, which is found in your Student Handbook and on the Internet at: http://www.messiah.edu/academics/advising_handbook/academic_policies/integrity.pdf Americans with Disabilities Act Any student whose disability falls within ADA guidelines should inform the instructor within the first two weeks of any special accommodations or equipment needs necessary to complete the requirements for this course. Students must register documentation with the Office of Disability Services (Hoffman 101). If you have questions, call extension 5387.

CIS291 Syllabus.docx Page 4 CIS291 Syllabus Fall 2012 Tentative Course Schedule

Week Topic

1 Unit 1: Introductions and Technology Stack Required for Class (Chapter 1 first half)

2 Unit 2: PHP Basics (Chapter 1 second half)

3 Unit 3: Using Arrays (Chapter 3)

4 Unit 4: String Manipulation and Regular Expressions (Chapter 4)

5 Unit 5: Reusing Code and Writing Functions (Chapter 5)

6 Unit 6: Object Oriented PHP (Chapter 6)

7 Unit 7: Error Handling and Exceptions (Chapter 7)

8 PROJECT: Cross-Course Project Development

9 Unit 8: Introduction to and Dynamic Web Development (Portions of Chapters 8-11)

10 Unit 9: Putting it all Together

11 Application Development

12 Unit 10: Ajax and JQuery

13 Application Development

14 Application Development

15 Application Development

Final Exam will be held Tuesday, December 11 @ 8:00 – 10:00 a.m.

CIS291 Syllabus.docx Page 5