CS205, Web Page Programming and Design Fall Term, 2011 (3 credits) Section 1, Tuesdays and Thursdays, 2:30-3:45pm INSTRUCTOR: Dr. Cynthia J. Martincic OFFICE HOURS: Mon., Wed. 10:30am -12:30pm, OFFICE: 202 Physics Building Tues., Thurs. 1pm-2pm, PHONE: 724-805-2418 or x2418 Also by appt. or drop-in. EMAIL: cynthia.martincic@email.stvincent.edu __________________________________________________________________________________________________ PREREQUISITES: CS110 COURSE DESCRIPTION: This course is intended for both CIS and non-CIS majors. Topics include web-based programming (such as JavaScript, VBScript for Active Server Pages, XML, Python), basic aspects of good web-page design, and other ways to add functionality to webpages. LEARNING OBJECTIVES AND ASSESSMENT: Upon completion of this course the student should: Be able to apply the principles of good website design. Be familiar with basic xHTML. Be familiar with the capabilities of a number of programming technologies that are available for website interactivity and the issues surrounding each. In particular, this offering of CS205 will include xhtml, XML, CSS, JavaScript, Ajax, PHP and other web techniques and technologies. These objectives will be assessed mainly through the use of assignments, quizzes, and three exams . TEXT: Sebesta, Robert W. (2011) Programming the World Wide Web. 6th Ed. ISBN 978-0-13-213081-3. Addison Wesley. ADDITIONAL RESOURCES: Additional readings may be assigned and will be available from the instructor, online or in the library. GRADING: Assignments, Projects and In-class Quizzes will count for 50% of your grade. There will be assignments almost every week. The three exams count for the other 50%. The final grading scale may be curved at the discretion of the instructor, but in order to monitor your progress during the term, you should assume the SVC grading scale as printed in the College Bulletin. Curved grades will result in a higher letter grade than that achieved solely by the percentages above. For example, an earned ‘B’ may become a ‘B+’. The curve depends upon the performance of the class as a whole as well as individual class participation and effort. The instructor reserves the right to increase a student’s final grade by up to 5 points in cases in which the student demonstrated efforts beyond the norm. The final grade is calculated using the following formula: Final grade = (Total assignment points)/(Total possible assignment points) * 0.5 +(Total exam points) / (Total possible exam points) * 0.5 NOTE: Department policy states that if a student does not attain a passing average in the exam category, that student will receive a failing grade for the course. EXAMS: There will be three exams, which, in total, will account for fifty percent of the final grade. Exams may cover any topics discussed in class, in the text, in any additional readings and in the assignments. Exams must be taken when scheduled. No books, notes, electronic devices or other assistance (including other people) are to be used during exams except you may use one two-sided 8x11” page of handwritten notes. Cell phones and pagers must be turned off during exams. Once an exam has begun, you are not permitted to leave the room until you hand in the exam. If a student is suspected of cheating on an exam, the student will receive an ‘F’ for the exam and will be reported to the Academic Affairs Office. A second offense will result in failure of the course. If any students miss an exam due to verifiable extreme circumstances, the average of the other two exams will be used. If any students miss an exam for any reason other than an extreme verifiable circumstance, a zero will be recorded as the grade for the exam. (For a definition of “verifiable extreme circumstances” see the Section labeled “DEFINITION OF EXTREME VERIFIABLE CIRCUMSTANCES”.) 1 COURSE POLICIES: For webpage assignments, the file(s) must be placed in a separate folder on the students’ CIS dept. network drive, web directory, or on the LINUX server as required by the assignment. A printout of the source code (program code, xhtml, CSS or XML) portion of any assignment must be turned in when the assignment is due. Any other assignments should be word-processed if at all possible. If both the printout and the file(s) are not turned in on time, the assignment will be considered late. Late assignments will not receive full credit. The amount deducted depends upon how late it is turned in. No assignments will be accepted more than two weeks past the due date. Do not turn in any exercise or assignment on paper torn from spiral-bound notebooks or on any size paper other than 8.5x11 inch. Multiple pages must be stapled or paper clipped together or points will be deducted from the assignment grade. For all assignments and exams, illegible answers will not be graded and no points will be awarded. At any time, you may be asked to explain the code you turned in for an assignment or on an exam. If you cannot explain the code, you will not receive any points for that assignment. For this class, assignments involve writing and constructing webpages, programming in a variety of languages and possibly other documents and diagrams. You cannot learn programming or other web techniques only by observing. You must practice by doing the assignments. It is very natural for students to talk to and confer with other students when having problems with an assignment. In fact, discussing problems with others is a great way to enhance learning. However, you must do your assignments on your own except when group projects are explicitly assigned. If two (or more) assignments are unduly similar, they will be considered to be in violation of the SVC Academic Honesty Policy, and will be treated as such under the guidelines of that policy. “Unduly similar” in this case means that a prudent individual would reasonably conclude that the assignments were written/completed by the same person. For a first offense on an assignment, the students involved will each receive a reduced grade for the assignment. A second offense will result in failure of the course. In both cases, the incident will be reported to the Academic Affairs office. If you cannot attend a class: Assignments may be placed in the appropriate network drive or server, or emailed to me, but will not be graded until a paper copy is submitted. The emailed assignment must be received before the start of the class when the assignment is due and must be in text format. Assignments should be emailed only in case of some emergency and emailed assignments will not be accepted more than twice a term. Students who are participating in sports are expected to follow the College Handbook procedures for excused absences from class and exams. Students with disabilities who may be eligible for academic accommodations and support services should contact Mrs. Sandy Quinlivan by phone (724-805-2371), email (sandy.quinlivan@email.stvincent.edu) or by appointment (Academic Affairs-Headmaster Hall). Reasonable accommodations do not alter the essential elements of any course, program or activity. Class attendance is most strongly recommended. Some classes will include in-class assignments, quizzes or computer lab work for which points will be awarded. Additional points may be added to the final grade based upon class participation. If you miss a class, it is your responsibility to get any notes, handouts and assignments. If a medical or sport excuse is provided, you will be given the opportunity to make up missed in-class assignments or quizzes. After 2 unexcused absences, 2 points will be deducted from your final grade percentage for each additional missed class. Everyone involved in this class is expected to treat others with respect. Respectful behavior includes minimizing distractions during class. Playing computer games, updating your social networking status and other activities may be distracting. Cell phones, pagers, beeping watches should be muted during class. If you have a need to keep a cell phone or pager on during class, please let me know. If a class or office hours must be canceled for any reason, I will try to contact each of you by email as soon as I know of the cancellation and post the cancellation on Blackboard and via the college’s cancellation notification. If assignments are due when a class has been canceled, they may be turned in at the next class without penalty. Students should consult the CIS Department Policies webpage (http://cis.stvincent.edu/policies.html) for additional information regarding course and department policies. DEFINITION OF EXTREME VERIFIABLE CIRCUMSTANCES Examples of extreme circumstances are serious illnesses or the death of a family member. Examples of non-extreme circumstances are nonrefundable airline tickets, sporting events and concerts. Proof of the extreme circumstance will be required, such as a note from a nurse, or doctor, an obituary notice or a towing receipt for your car. This may seem rather insensitive and tactless, but some students’ excuses verge on the ridiculous and unbelievable. 2 CS 205 Course Syllabus, Fall 2011 (subject to modification as the term progresses) Week Topics, Readings and Assignments 8/29 Course pragmatics Ch.1, Fundamentals The internet, WWW, Browsers, Servers, URL MIME, HTTP, Security, Programming tools. Assignment #1 (5 points) - send me an email with the following information. . (1) Name, (1a)Name you wish to be called, (2) Preferred Email Address, (3) Phone Number(s), (4) Campus Post Office Box number (or local address), (5) Class Year: (e.g., Freshman, Sophomore, Junior, Senior), (6) Your Major/Minor (7) Your reasons for taking this course, (8) Your previous programming and computer experience. Please put the course number in the subject line of the email. Future assignments will be announced in class and posted on Blackboard. 9/5 9/12 9/19 9/26 10/3 10/10 10/17 10/24 10/31 11/7 Monday – Labor Day. Does not affect this class. Ch. 2 Introduction to XHTML Origins, syntax, document structure, text, images, links, lists, tables, forms. Recommended practice: 2.1-2.3 (as one); 2.6-2.7(as one); Assignments: 2.9-2.10(as one); 2.14 Ch. 3 Cascading Style Sheets Levels, style specification formats, properties, color, alignment, the box model, background images, span and div tags, conflict resolution. Recommended practice: 3.2 (use inline styles); 3.4 (use inline styles); 3.6 (use document style sheet); Assignments: 3.7 (external) Exam 1 on Ch. 1-3 Ch. 4 The Basics of JavaScript 4.1-4.7 Syntax, operations, expressions, output and input, control statements, object creation and modification. Recommended practice: 4.1(use document.write, not alert) ;4.2 and 4.4 (as one) Assignments: 4.6 Ch. 4 The Basics of JavaScript 4.8-4.14 Arrays, functions, constructors, regular expressions Assignments:4.9 Write the function. Define an array with at least 7 names. Call the function, passing the defined array of names to it. Ch. 5 JavaScript and XHTML Documents JavaScript execution environment, the DOM, element access, events, event handling, the DOM2 event model, the navigator object, DOM traversal and modification. Assignment: 5.3-5.6(as one – use a third file to register the event handler functions by assigning the event handler name to the objects’ associated event property. (e.g., radioclick2r.js page 203) Ch. 6 Dynamic Documents with JavaScript Assignment: 6.1-6.2 (as one – the img should not be superimposed over the text, it should be the background image behind the text.) Monday and Tuesday – no classes Ch. 7 Introduction to XML Assignment: 7.1-7.2 (note that I could only get the entities to work correctly by using an internal DTD. Make sure you validate your internal DTD and XML file at www.w3schools.com/XML/xmlvalidator.asp. Go to the “Validate Your XML Against a DTD” section and paste your code in there.) Ch. 7 Introduction to XML Assignment: 7.5-7.6 (turn in 7.6 only) Ch. 9 Introduction to PHP Registration for Spring begins Nov. 2 Withdrawals receive “WF” starting Oct. 31. I will be at a conference Nov. 3 through Nov. 6. No class on Thursday this week. Exam 2 ch 4-7 and additional readings this week. Ch. 9 Introduction to PHP (cont.) PHP Security references http://phpsec.org/projects/guide/ http://php.net/manual/en/book.filter.php 3 11/14 11/21 11/28 12/5 12/12 http://www.w3schools.com/PHP/php_filter.asp Assignment: 9.10 & 9.11(Note: to use the checkbox information, in the html file, name all of the checkboxes with the same name and add a set of [], square brackets to the end of the name (e.g. bulb[]). Then, in the php file, you can use $_POST["bulb"] to access the checkboxes posted as an array. Only the checkboxes which the user checked will be posted to the array. Make sure you use a different value for each of the checkboxes so you can determine which ones were checked and therefore included in the array.) Ch. 10 Introduction to Ajax (sections 10.1 through 10.4, and 10.6 only) Ch. 13 Database Access Through the Web (sections 13.1 through 13.6 only) Thursday – Founders Day – classes cancelled 3:30-7pm. We will dismiss class at 3:30. Assignment: combining DB access, Ajax and PHP. Wed., Thurs, Fri. – Thanksgiving Break – no classes Ch. 12 Introduction to ASP.NET (sections 12.1 through 12.5 only) Ch. 12 Introduction to ASP.NET (cont.) Assignment: 12.3 Final Exam ch. 9, 10, 13 4