CMSC 210: Web Page Design and Scripting
 (Spring 2017)
(as of  January 15, 2017)

Instructor: Scott McElfresh (pronounced  mac' - el- fresh)
Ruffner 346     Phone:  x2249
Email:   ProfScottMcElfresh @ (checked more frequently) or  mcelfreshsa @
Office Hours: 
- MWF 9:30-10:30am
- Th 2-3:30pm
- or when I am in my office with the door open
- or by appointment
Other times may be announced in class or on the website.

Course Web Page: Most of the handouts in this course will be available through this World Wide Web address.   

Canvas will be used for submission of some assignments and recording of grades on individual assessments.   NOTE:  Canvas does not always calculate course grades correctly.  The relative weights are in this syllabus.

Course Description:   
From the catalog:
"The class will study interactive web pages that provide customized data in response to visitor requests and/or collect data from site visitors. This interaction will be done via program scripts written in an appropriate language."

Course objectives:
At the end of the course, a successful student will be able to:

Textbooks:  The REQUIRED textbook for this course:

Technology:  Students will receive accounts on the departmental server if they do not already have one.   Students should also have a laptop that they can bring to class and can install software on if necessary.     It is assumed that you can access the LancerNet wireless network (the LancerNet Visitor will not suffice).

Attendance:   As some work will be done in class, including groupwork, attendance is especially important.   More than 5  unexcused absences may at my discretion result in a loss of one letter grade in the course.    Missing more than 10 class periods may at my discretion result in a grade of F for the course.

      This class will have a variety of assignments, including reading assignments, written exercises, programming exercises, and reviews of other student's work.   Due to the varying nature, some graded work will be worth more than other work.     Each exercise assignment will carry a number of points that will indicate its relative weight with other exercises.
       Lateness:  Each exercise will give not only a due date, but a due time.  Some exercises may be gone over in class, so you will need permission to hand in asisgnments late.  If I agree to accept an assignment late, there may be a 50% penalty.
      Collaboration:  Unless otherwise specified, all work is assumed to be your own.   You are encouraged to discuss the exercises with other students, but you must write up your own solutions. When using a calculator or computer, you are expected to type everything in yourself.  When you consult with other students, you must indicate this on your submission - by including a note at the top or bottom indicating with whom you consulted and a description of the level of consultation.
              When doing computer programming, you will often be utilizing someone else's ideas or code and modifying them to be your own.  In this case, you must fully document this in the program comments as well as any other documentation.  For some guidelines, see the Academic Honesty in Computer Programming handout.

Accessibility and peer evaluation of work:
Some of the exercises in this class will result in web pages accessible to the whole world.  Thus, the instructor will not be the only one to see your work.  In particular, students in this course will be evaluating their peers' work as part of their exercises.    The evaluation results will be used towards the evaluee's grade, and the quality of the evaluation will be used towards the evaluator's grade.

There will be quizzes throughout the semester.    If more than 5 quizzes are given, the lowest two quiz scores for each student will not be calculated into the course grade.   There will be no make-up quizzes given without proper medical documentation.

Final Exam:  There will be a comprehensive written exam.   More details on this will be announced as the time approaches. 

The relative weight of each item in determining your course grade will be as follows:
  Exercises: 70%

Quizzes: 15%

Final Exam: 15%
Course Grades will be assigned as follows: 
Course percentage   Course Grade
90 - 100
A-, A
80 - 89.9
B-, B, B+
70 - 79.9
C-, C, C+
60 - 69.9
D-, D, D+
 0  - 59.9 
+'s will be assigned in the top 2 percentange points of the range.
-'s will be assigned in the bottom 3 percentange points of the range.

Academic Honesty:     
Longwood University is an academic community that subscribes to an honor system.   By accepting membership in this community, we all assume the obligation to be trustworthy in all pursuits.  Violations may receive grade penalties in the course and be referred to the Honor Board, which may impose additional penalties.

Tentative Topic outline:

Week Dates Topics
1 Jan 18 - 20 Introduction; Basic Protocols
2 Jan 23 - 27 Basic HTML
3 Jan 30 - Feb 3 Advanced HTML
4 Feb 6 - 10 Cascading Style Sheets
5 Feb 13 - 17 Software Tools
6 Feb 20 - 24 Client-side Scripting
7 Feb 27 - Mar 3 JavaScript
8 Mar 13 - 17 Forms and CGI
9 Mar 20 - 24 Language for Server-side Scripting
10 Mar 27 - 31 Server-side Scripting
11 Apr 3 - Apr 7 Server-side Scripting
12 Apr 10 - 14 Sessions, Cookies, etc
13 Apr 17 - 21 Miscellaneous technologies
14 Apr 24 - 28
and May 1
Miscellaneous technologies
May 8 Final Exam

A detailed day by day calendar will be kept up-to-date on the course website.