CPSC 6175 Spring 2008 20279

Course Syllabus CPSC 6175 Web Site Development and Technologies Online

Instructor Dr. Shamim Khan E-mail: [email protected] Office: CCT 444 Office Hours: Mon & Wed 10:00 AM - 12:00 PM, 1.30 PM – 4.30 PM Contacting Me: If you need to discuss something which does not require a face-to-face meeting, please e-mail me. If you need to see me face-to-face but cannot meet during the scheduled office hours, please e-mail me so we can make arrangements to meet at my office at a more convenient time. Office Phone: (706) 565-3519 Department Phone: (706) 568-2410 Department Fax: (706) 565-3529 Web Site: http://csc.colstate.edu/khan

Required Title: Murach's Java Servlets and Jsp: Textbook Training & Reference Author: Andrea Steelman, Joel Murach Publisher: Mike Murach & Associates Inc. Year: 2003 ISBN: 1-890774-18-9

Recommended Title: Murach's Beginning Java 2 JDK 5 Reading Author: Andrea Steelman Publisher: Mike Murach & Associates, Inc. Year: 2001 ISBN: 1-890774-29-4

You must purchase the "required" textbook for the course. Purchasing the recommended textbook is optional, but is highly encouraged if you are not familiar with the Java programming language.

2 | P a g e

Course This course teaches the fundamentals of Web technologies and Web Description site development. This course covers many open technologies including XML and its related standards.

Course At the completion of this course, students will be able to: Objectives . implement Hypertext Markup Language (HTML) . develop JavaServer pages . develop Java servlets . structure a Web application . work with sessions and cookies . create and work with JavaBeans . install and configure Apache, Tomcat, MySQL, and PHP . use Java and MySQL to work with a database . use JavaMail to send e-mail . implement Web site security . create Web applications that use XML

. create Web applications that use PHP

Assessment Grades in this course will be based on the following assessments: Methods . Responses to discussion questions - 35% (including 10% for comments to other students' responses) . Programming assignments - 25% . Final Project Proposal (team) - 5% . Final Project Design (team) - 10% . Final Project Implementation and Documentation (team) - 25%

The final project grades may be scaled according to individual assessments of team members.

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

3 | P a g e

How to Access This course is being offered through CougarView (WebCT Vista). You the Course can access CougarView at:

http://webct.colstate.edu/

At this page, click on the "Columbus State University" link and then on the "Log-in" link for CougarView to activate the CougarView logon dialog box. 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 click on the new Online Support Center for CougarVIEW available to you 24 hours a day, 7 days a week. If you are still having problems gaining access a day or so after the class begins, please e-mail me.

Once you've entered CougarView, you will see a list of courses, one of which should have CSPC 6175 in its name. If you do not see a course with CPSC 6175 in its name, please e-mail me.

Once you have clicked on the course's name and accessed the particular course itself, you will find a home page with links to other sections and tools. The first thing you should do is read the "Welcome (read first)" information. This information will give you a feel for what's available in the particular CougarView classroom environment and explain in more detail how the course will work. Once you've read this information, please feel free to explore the other areas, particularly the Course Content and Discussions.

How This This course will consist of readings, discussion questions, Course Will programming assignments, and a final project. On a weekly basis, you Work will need to:

1. review the week's lesson (approx. one hour per week); 2. complete the weekly readings (approx. two hours per week); 3. submit responses to weekly discussion questions based on the readings (approx. two hours per week); 4. comment on other students' responses to the discussion questions (approx. one hour per week); and 5. complete the programming assignments (approx. 5 hours per week).

4 | P a g e In addition to the weekly requirements, you will need to:

6. work with your team to decide on and complete a final project (approx. one hour per week).

Expected workload: 12 hours per week

Student As a student in this course, you are responsible for: Responsibilities . managing your time and maintaining the discipline required to meet the course requirements, . completing all readings, . actively participating in weekly discussions, . completing and submitting programming assignments, . working with your team to decide on and develop a final project, and . reading any e-mail sent by the instructor and responding 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.

Instructor As your instructor in this course, I am responsible for: Responsibilities . posting weekly lessons outlining the assignments for the week; . posting weekly discussion questions; . reading all responses to discussion questions and comments to responses; . actively participating in weekly discussions; . grading discussion questions, comments, programming assignments, and the final project deliverables and posting scores within one week of the end of the week in which they are submitted; and . reading any e-mail sent by students and respond accordingly within 48 hours.

Although I will read every posted discussion question and response, I will not necessarily respond to every post.

Attendance Regularly participating in the class discussions and posting your Policy responses as early as possible is important. If you do not respond to discussion questions or comment on other students' responses for two or more weeks in a row, you may receive a WF. If an emergency prevents you from responding to discussion questions or commenting on other students' responses, please contact me to make alternative arrangements.

5 | P a g e

Tentative The following is the tentative schedule for the course. It is subject to Schedule change. A current schedule of due dates for assessment work will be maintained in the CougarView calendar. The first week of the course will be used to ensure everyone has the required software and textbook, and is properly prepared to complete the course.

WEEK DATES READINGS/TOPICS

1 1/7 - 1/13

1/21 Martin Luther King Holiday - no assignments or discussions

2 & 3 1/14 - 1/27 Chapter 1: An Introduction to Web Programming Chapter 2: How to Install and Use Tomcat Chapter 3: A Crash Course in HTML

4 1/28 - 2/3 Chapter 4: How to Develop JavaServer Pages

5 2/4 - 2/10 Chapter 5: How to Develop Servlets

2/10 Final Project Proposal Due

6 2/11 - 2/17 Chapter 6: How to Structure a Web Application Chapter 7: How to Work with Sessions and Cookies

7 2/18 - 2/24 Chapter 8: How to Create and Use JavaBeans Chapter 9: How to Work with Custom JSP tags

8 2/25 - 3/2 Chapter 10: How to Use MySQL to Work with a Database Chapter 11: How to Use Java to Work with a Database

9 3/3 - 3/9 Spring Break - no assignments or discussions

10 3/10 - 3/16 Chapter 12: How to Use JavaMail to Send Email Chapter 13: How to Use SSL to Work with a Secure Connection

3/16 Final Project Design Due

11 3/17 - 3/23 Chapter 14: How to Restrict Access to a Web Resource Chapter 15: How to Work with HTTP Requests and Responses

12 3/24 - 3/30 Chapter 16: How to Work with XML Chapter 17: An Introduction to Enterprise JavaBeans

13 3/31 - 4/6 Introduction to PHP

6 | P a g e 14 4/7 - 4/13 How to use PHP with MySQL

15/16 4/14 - 4/27 Work on Final Project

5/1 Final Project Implementation and Documentation Due

Online To maximize your learning, you are expected to participate actively in Discussions the weekly discussions. This means posting responses to discussion questions, commenting on other students' responses, commenting on other students' comments, and responding to comments made to your responses and comments.

To earn maximum credit for responses to discussion questions, you must post a response to EACH discussion question of at least 150 words. In addition to the minimum word count, your responses will also be graded based on their quality--that is, their thoroughness, clarity, conciseness, and relevance to the discussion question.

To earn maximum credit for comments to other students, you must post at least one substantive comment to another student's response or comment for EACH discussion question. In other words, for each discussion question, you must post either a comment to another student's response to the discussion question or to another student's comment to another student's response. Keep in mind that replies to comments made to your responses to discussion questions do not count as comments.

There is no minimum word count for comments, but the comments must add value to the discussion to receive the maximum points. That is, comments must consist of more than "Good response" or "I agree." Your comments should add to the substance of the posting, request clarification, provide a different perspective, or challenge the assertions made by providing real or hypothetical scenarios that the original posting does not adequately address. Remember, the purpose of course discussions is to stimulate academic debate. Critical thinking is highly desirable! If you do not agree with someone's post, say so. Just do so with respect (see the Discussion Etiquette section below).

As previously stated, I will read every posted message, but I will not necessarily respond to every response or to every comment. I will, however, interject comments where necessary for clarification.

Discussion Open, frank, and insightful dialogue in extremely important in an Etiquette online course such as this. As part this dialogue, students are encouraged to be respectful of the diversity amongst other members of the class and to refrain from inappropriate commentary. Should such inappropriate comments occur, I will intervene as I monitor the

7 | P a g e dialogue in the discussions. I will request that inappropriate content be removed from the discussion and will recommend University disciplinary action if deemed appropriate. Students as well as faculty should be guided by common sense and basic etiquette. The following are good guidelines to follow:

. Never post, transmit, promote, or distribute content that is known to be illegal. . Never post harassing, threatening, or embarrassing comments. . If you disagree with someone, respond to the subject, not the person. . Never post content that is harmful, abusive; racially, ethnically, or religiously offensive; vulgar; sexually explicit; or otherwise potentially offensive.

In addition to the above, a positive attitude is essential to a healthy learning environment. Not only should your posts be respectful and insightful, but they should also be positive in order to benefit the entire class.

Final Project As today's Web sites become more and more complex, the need to develop these sites as teams becomes more and more apparent. As such, the final project will be a team effort where each team will consist of 3-6 members. The team will be responsible for deciding on the scope of the project. Details of the project requirements will be posted within CougarView.

Assignment All assignments are due on the day given in the assignment and no Due Dates 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 If circumstances prevent the timely posting of assignments, please Assignments notify me by e-mail within CougarView Vista. 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!

8 | P a g e Any final project not submitted by the assigned due date will be assessed a grade of zero (0).

Extra Credit There are no provisions for extra credit in this course.

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 You will need the Java Software Development Kit (J2SDK) to complete programming assignments and your final project. The J2SDK is part of the Java 2 Platform Standard Edition (J2SE), which is available on the CD that comes with the course text. The J2SE is also available from:

http://java.sun.com/javase/downloads/index.jsp

The J2SE will run on just about any platform including Windows and Linux. If you work on your programs in the CSU labs, the J2SE is installed. Note that the CD that comes with the text are version 1.4. If you prefer to use version 5.0, some additional installation information is available on the Murach Web site (http://www.murach.com).

You will also need an editor to compose your Java source code. Although you can use Notepad or any Java editor, TextPad, JBuilder, or Eclipse are the recommended editors. The CSU labs are equipped with these particular editors. The CD that comes with the course text also includes a trial version of TextPad. You can also download TextPad from:

http://www.textpad.com/download/index.html

You will also need to create Web pages as part of this course. You can choose to use NotePad, TexPad, FrontPage or any other editor. You may also use Homesite which is available on the CD that comes with the course text.

You should also install Tomcat (version 4.x or above), MySQL (version 3.23 or above), and PHP (version 4.x and above). Tomcat and MySQL are also available on the CD that comes with the course text.

9 | P a g e Alternatively, you can install Tomcat from:

http://jakarta.apache.org/site/binindex.cgi#tomcat

and MySQL from:

http://dev.mysql.com/downloads/

PHP is available from:

http://www.php.net/downloads.php

Installation instructions for the software that comes with the course text is available in Appendix A of the course text beginning on p. 599. The sites given above also provide installation instructions for the versions provided with the course text as well as newer versions.

To draw Web site dataflow and design diagrams, you should use Microsoft Visio. If you do not have Microsoft Visio, you can obtain it free from the MSDNAA site as described below.

Obtaining Free Microsoft software development software is available from the MSDNAA MSDNAA site at: Software 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 new Center for Commerce and Technology building and check out a copy of the CDs for Microsoft Visio. 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 will receive a message that describes a process for downloading or checking out software from the Department of Computer Science as part of the MSDNAA agreement. Visio 2000 or above will be among those available. Once the software has been downloaded, it must be installed in accordance with the MSDNAA Agreement (http://www.msdnaa.com/programusage.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 ([email protected]). Include in the message 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 MSDNAA Agreement

10 | P a g e (http://www.msdnaa.com/programusage.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 weren't sent to you in, but you will have to pay for the return postage.

Student Web As part of this course's requirements, you will need to submit Server Space programming assignments and a final project that uses the various technologies discussed in this course. While you should create and debug projects locally, assignments that are to be graded should be posted on the designated CS 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://students.colstate.edu and click on the "Get Free Web Pages" icon, then click on the link to request the account. 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 ([email protected]).

Following the account request process above will create a CSUWEB domain account on the studentwebs.colstate.edu Web server. This server does not support Java Server Pages (JSP), Java servlets, MySQL, or PHP. During the first week of the course, you will be provided instructions on how to access and use a CSU Web server that does support the technologies discussed in this course.

Technical You must have the ability to administer your own computer system(s), Support and to install and configure your own software. Ordinarily, I can only provide limited support. However, for this course, since a good portion of the software we will use needs to be installed, we will spend some time, particularly the first week, discussing installation.

Academic Academic dishonesty includes, but is not limited to, activities such as Honesty/ cheating and plagiarism Plagiarism (http://aa.colstate.edu/advising/a.htm#Academic Policy Dishonesty/Academic Misconduct). 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

11 | P a g e 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.

No cheating in any form will be tolerated. Penalties for academic dishonesty may include a zero grade on the assignment or exam/quiz, a failing grade for the course, suspension from the Computer Science program, and dismissal from the program. All instances of cheating will be documented in writing with a copy placed in the Department’s files. Students will be expected to discuss the academic misconduct with the faculty member and the chairperson. For more details see the Faculty Handbook: http://aa.colstate.edu/faculty/FacHandbook0203/sec100.htm#109.14 and the Student Handbook: http://sa.colstate.edu/handbook/handbook2003.pdf.

In programming courses such as this, you must be particularly diligent in submitting only your own work. In completing the assignments for this course, you may not copy any other coding from any other source other than the course text and material presented in class. Doing otherwise will be considered plagiarism and will result in the sanctions described above.

Confidentially CSU does not guarantee the confidentiality of information shared by of Information students in the course environment. Therefore, students should not Shared by share any confidential information from employers unless explicitly Students released for public use.

ADA If you have a documented disability as described by the Accommodatio Rehabilitation Act of 1973 (P.L. 933-112 Section 504) and n Notice Americans with Disabilities Act (ADA) and would like to request academic and/or physical accommodations please contact Joy Norman at the Office of Disability Services in the Center for Academic Support and Student Retention, Tucker Hall (706) 568-2330, as soon as possible. Course requirements will not be waived but reasonable accommodations may be provided as appropriate.

12 | P a g e