Fall 2010
82101
Course SyllabusCPSC 4125 Server-Side Web DevelopmentTR 6:00 - 7:15 PMCCT 407
Instructor / Christopher C. Whitehead, PhDE-mail:
Office: CCT 441
Office Hours: TR 3-6 pm, 7:15-8:30 pm, W 1-2:30 pm
Contacting Me: For issues related to this course, please email me within CougarView. If you need to discuss something with me personally but cannot do so during my posted office hours, please feel free to contact me to arrange a more appropriate time.
Cell Phone: (706) 315-5946
Office Phone: (706) 565-3527
Department Phone: (706) 568-2410
Department Fax: (706) 565-3529
Web Site: http://csc.colstate.edu/whitehead
Required Textbooks / / Title: PHP Programming with MySQL: The Web Technology Series, 2nd Edition
Authors: Gosselin, Kokoska, Easterbrooks
Publisher: Course Technology
Year: 2010
ISBN-10: 0-538-74584-3
ISBN-13: 978-0-538-74584-0
eText ISBN-10: 1-111-25764-7
eText ISBN-13: 978-1-111-25764-4
Data files: 0538745843_233806.exe
/ Title: Web 2.0 Fundamentals for Developers: With AJAX, Development Tools, and Mobile Platforms
Authors: Oswald Campesato, Kevin Nilson
Publisher: Jones and Bartlett Publishers
Year: 2010
ISBN-10: 0-7637-7973-3
ISBN-13: 978-0-7637-7973-3
Web site: www.web2-book.com
Recommended Reading / / Title: Philip and Alex's Guide to Web Publishing
Author: Philip Greenspun
Online: http://philip.greenspun.com/panda/
Course Description / Prerequisites – CPSC 2125 and CPSC 3131.
This course is a continuation of CPSC 2125, Internet Programming. Topics include: server-side scripting languages, interfacing web applications with databases, advanced topics in hypertext markup languages and client-side scripting. Modern software tools for the server-side web application development will be introduced. Students will complete individual Web development assignments with database connectivity.
Course Outcomes / The following are this course's outcomes:
· Students will be able to create and use extensible markup language (XML).
o Strategies and actions used to produce the outcome:
1. Study of XML.
2. Study of techniques for creating, validating, and parsing XML files.
o ABET criteria covered: A, B, C, D, F, G, I, J and K.
o Program objectives covered: 2, 3, 6 and 8.
o Assessment methods: exams, programming assignments, and project implementation, documentation and presentation.
· Students will be able to create server-side scripting using a variety of server-side scripting languages.
o Strategies and actions used to produce the outcome:
1. Study of various server-side scripting languages and techniques for implementing them in a Web-based environment.
o ABET criteria covered: A, B, C, D, F, G, I, J and K.
o Program objectives covered: 2, 3, 6 and 8.
o Assessment methods: exams, programming assignments, and project implementation, documentation and presentation.
§ Students will connect to and use Access, SQL Server, and MySQL databases.
o Strategies and actions used to produce the outcome:
1. Study of Web-based database connection techniques.
o ABET criteria covered: A, B, C, D, F, G, I, J and K.
o Program objectives covered: 2, 3, 6 and 8.
o Assessment methods: exams, programming assignments, and project implementation, documentation and presentation.
Assessment Methods / Grades in this course will be based on the following assessments:
· Two Exams - 15% each (30% total)
· Web development assignments - 30%
· Final Project Proposal - 5%
· Final Project Analysis and Design - 10%
· Final Project Implementation - 25%
In addition, final project grades may be scaled based on team evaluations.
Final grades will be assigned according to the following schedule:
Percentage / Grade
90 – 100 / A
80 – 89 / B
70 – 79 / C
60 – 69 / D
<60 / F
Student Responsibilities / As a student in this course, you are responsible to:
· manage your time and maintain the discipline required to meet the course requirements;
· complete reading assignments prior to the the beginning of each class;
· attend class regularly and actively participate in classroom discussions;
· complete assignments by their due dates;
· abide by documented lab rules;
· respect the value of the other students' time while in the classroom, this means no surfing the Web or playing games;
· decide on and develop a final project; and
· read any e-mail sent by the instructor and respond accordingly.
“I didn’t know” is not an acceptable excuse for failing to meet the course requirements. If you fail to meet your responsibilities, you do so at your own risk.
While in the classroom, students should turn off cell phones or place them on vibrate. In addition, to be respectful of other students' time and money, if the classroom is equipped with computers, playing games and/or surfing the Web is not allowed since these activities can be distracting to other students.
Instructor Responsibilities / As your instructor in this course, I am responsible to:
· prepare weekly lessons that demonstrate and help students understand the course material;
· prepare exams that allow students to demonstrate their knowledge of the course material;
· actively solicit and participate in classroom discussions;
· grade exams, programming assignments, and the final project deliverables and post scores within one week of the end of the week in which they are submitted; and
· read any e-mail sent by students and respond accordingly within 48 hours.
Attendance Policy / Attending class regularly is important to your success in this course. If you misstwo or moreclasses in a row, you may receive a WF. If you miss a class, be prepared to obtain all lecture notes, slides, assignments, and other information from other students. If an emergency prevents you from turning in an assignment or taking an exam as scheduled, please contact me to make alternative arrangements.
Tentative Schedule / The following is the tentative schedule for the course. It is subject to change. A current schedule will be maintained in the CougarView calendar.
DATES / READINGS/TOPICS
8/17 / Syllabus, XHTML/CSS/JavaScript Review, Introduction to server-side scripting
8/19 - 8/26 / PHP Chapter 1 - Getting Started with PHP
8/31 - 9/2 / PHP Chapter 2 - Functions and Control Structures
9/7 - 9/14 / PHP Chapter 3 - Manipulating Strings
9/16 / Final Project Proposal Due
9/19 / Web Development Assignment #1 Due
9/21 - 9/23 / PHP Chapter 4 - Handling User Input
9/28 - 10/5 / PHP Chapter 5 - Working with Files and Directories
10/7 / Exam #1 (PHP Chapters 1-5)
10/12 / Fall Break - No Class
10/14 - 10/21 / PHP Chapter 6 - Manipulating Arrays
10/24 / Web Development Assignment #2 Due
10/26 / Final Project Analysis and Design Due
10/28 - 11/4 / PHP Chapter 7 - Working with Databases and MySQL
11/9 - 11/11 / PHP Chapter 8 - Manipulating MySQL Databases with PHP
11/16 - 11/18 / PHP Chapter 9 - Managing State Information
11/23 / Web 2.0 Chapter 3 - JSON and XML
11/25 / Thanksgiving Holiday - No Class
11/30 / Web 2.0 Chapter 4 - Ajax
12/2 / Exam #2 (PHP Chapters 6-9, Web 2.0 Chapters 3-4)
12/5 / Web Development Assignment #3 Due
Sat, 12/11, 6-8 pm / Final Project Implementation Due
Supplemental Course Materials / Supplemental course instructions and material will be available through CougarView. You can access CougarView at:
https://colstate.view.usg.edu/
At this page, click on the "Login" icon within the CougarView portion of the page to activate the CougarView logon page. Your CougarView username and password are:
Username: lastname_firstname
Password: ddmmyy
where "ddmmyy" is your birthdate: 2 digits for day, month, and year.
If you try the above and CougarView will not let you in, please use the "Need Help with CougarView?" link below the username and password textboxes to request help. If you are still having problems gaining access after a few days in the class, please e-mail me.
Once you've entered CougarView, you will see a list of courses you have access to which contains some combination of the phrases "CPSC 4125" and "Fall 2010." If you don't see this entry in the list, please e-mail me.
Programming Assignments Turn-in Requirements / Details concerning programming assignments will be available within CougarView. All programming assignments must be published on the designated CSU server by the assigned due date.
Final Project / You are required to complete a team final project for this course. The team will be responsible for deciding on the scope of the project. The project should consist of multiple XHTML pages coupled with server-side scripting and may be based on real or fictitious requirements.
Additional details concerning the Final Project will be provided in CougarView.
Assignment Due Dates / All assignments are due on the day given in the assignment and no later than 11:59 PM (23:59) (Eastern Time).Assignments submitted or modified after the assignment due date will assessed a late penalty as described below.
Late Assignments / If circumstances prevent the timely posting of assignments, please notify me by e-mail within CougarView. Unless you make prior arrangements with me, any assignment submitted after its assigned due date will be considered late. Late assignments may be submitted up to three days beyond their assigned due date. However, late assignments submitted within the three days following their assigned due date are subject to a 10% reduction in points for each day they are submitted beyond the assigned due date. Assignments not submitted by the assigned due date or within the three days following the assigned due due will be assessed a grade of zero (0).
Because of course grade reporting requirements, the final project must be submitted by the assigned due date -- no exceptions! Any final project not submitted by the assigned due date will be assessed a grade of zero (0).
Extra Credit / Extra credit, if available, will be described in the particular assignment in which it can be earned.
Incompletes / If unusual circumstances preclude you from completing the course and you have satisfactorily completed all the other course requirements up until that point, I will award you a grade of "Incomplete" provided you contact me regarding the unusual circumstances and you agree to certain conditions for removal of the "Incomplete." You must, however, contact me and arrange for the Incomplete as soon as you are aware that you will be unable to complete the course and before the last day of class.
Software / We will be using a variety of Web development tools including Notepad, Microsoft Expression 2, Microsoft Visual Studio .NET 2008, and other editing tools downloaded and already available on the classroom computers.
Student Web Server Space / As part of this course's requirements, you will need to complete Web development assignments and a final project that must be accessed from a Web server. The Web server used for this course will be the CSD.colstate.edu Web server. To access this server, you must first request a CSU Web account if you do not already have one. To request this account, simply go to http://webs.colstate.edu/personal/ and click on the "Sign up for a free web space today!" link. Under normal circumstances, the account and space will be created in a matter of seconds. If you experience any difficulties during the account request process, please e-mail the CSU webmaster ().
Once you have a CSUWEB account, I will create Web space for you on the CSD.colstate.edu to use in the class. For the team project, team Web space will made available on the CSD.colstate.edu server for each team.
Obtaining MSDNAA Software / As a student in this course, you are eligible for free Microsoft software development software. This software is available from the MSDNAA site at:
http://msdn08.e-academy.com/colstate_cs
If you live or work in the local Columbus area, you can drop by the Department of Computer Science on the fourth floor in the Center for Commerce and Technology building and check out a copy of the CDs for any software listed on the MSDNAA site. If you do not live or work in the local Columbus area, you may either download the software or request that the CDs be mailed to you.
Downloading the software. Shortly after the semester begins, you should receive an email message sent to your CSU email address that includes your MSDNAA account information. If you do not receive this message, simply access the MSDNAA site (http://msdn08.e-academy.com/colstate_cs ), click on the "> Forgot Password?" link under the "Log Me In!" button on the home page of the site, then type in your CSU email address and click on the "Go Find It!" button. If the system still does not recognize you, please send a message to . Be sure to include your CSU email address in the message.
Once the software has been downloaded, it must be installed in accordance with the Developer Academic Alliance Usage Guidelines (http://msdn.microsoft.com/en-us/academic/bb250609.aspx).
Requesting the CDs be mailed to you. As an alternative to downloading the software, you may request the software CDs be mailed to you. Simply send an e-mail message to our department secretary Dianne Phillips (). Include in the message the software you are requesting, your name, address, and the name and number of this course. Once you have received the CDs, you must install the software in accordance with the Developer Academic Alliance Usage Guidelines (http://msdn.microsoft.com/en-us/academic/bb250609.aspx). Once you have installed the software, you must place the CDs back in the box they came in (or a suitable container) and return them to the Department of Computer Science. There should be a return label in the box the CDs were sent to you in, but you will have to pay for the return postage.
Getting Help / Student assistants in the Computer Center and in the open lab can help you with basic computer-related problems (such as logging onto the network, saving your work, etc.), but they are not obligated to help you with your assignments. In fact, they typically know very little about programming. Several tutors in the Department of Computer Science lab are also available to help you with the assignments. Their schedule is typically posted in the Computer Science departmental office. Do not ask a tutor to write a program for you. They are instructed to assist you in understanding concepts only.
Academic Honesty/
Plagiarism Policy / Academic dishonesty includes, but is not limited to, activities such as cheating and plagiarism (http://aa.colstate.edu/advising/a.asp#AcademicDishonestyAcademicMisconduct). It is a basis for disciplinary action. Any work turned in for individual credit must be entirely the work of the student submitting the work. All work must be your own. For group projects, the work must be done only by members of the group. You may share ideas but submitting identical assignments (for example) will be considered cheating. You may discuss the material in the course and help one another with debugging; however, any work you hand in for a grade must be your own. A simple way to avoid inadvertent plagiarism is to talk about the assignments, but don't read each other's work or write solutions together unless otherwise directed by me. For your own protection, keep scratch paper and old versions of assignments to establish ownership until after the assignment has been graded and returned to you. If you have any questions about this, please contact me immediately. For assignments, access to notes, the course textbooks, books and other publications is allowed. All work that is not your own, MUST be properly cited. This includes any material found on the Internet. Stealing or giving or receiving any code, diagrams, drawings, text or designs from another person (CSU or non-CSU, including the Internet) is not allowed. Having access to another person’s work on the computer system or giving access to your work to another person is not allowed. It is your responsibility to prevent others from having unauthorized access to your work.