Course Overview

Professor: Marcos Elugardo Fall Semester 2015
Contact: marcos.elugardo@gordon.edu
617-504-2174
Wednesday 6:00 - 9:00 pm - KOSC 125
Office Hours: KOSC 236 - Wednesday 5:00 - 6:00 pm
and by appointment
Course site: http://www.cs.gordon.edu/courses/cps353

Catalog Description

Begins process of understanding theory and practice of programming for Internet. Covers a variety of languages, Internet standards, and the art of combining these tools within a multitier system including backend database.

Course Objectives

This course is designed to give you exposure to and experience with several "modern" web development principles and technologies used on the Internet today In particular, upon completion of this course, you should be familiar with the following:

  1. Front-end development technologies including HTML, CSS, JavaScript, and JQuery.
  2. User experience design methodologies like separation of concerns, Ajax, and responsive web design.
  3. The anatomy and use of web requests and responses, including the types and formats of data that comprises them.
  4. How a web server works and the facilities it utilizes to service client requests.
  5. Using the C# web development framework to build web applications that employ design patterns like MVC.
  6. The creation and consumption of RESTful web services powered by JSON data.
  7. Fundamental concepts related to search engine optimization, web accessibility, and web analytics.

Course Texts and Resources

There is no required text, although lecture notes will highlight resources that will help with the course. Furthermore, tutorial material and documentation on HTML, CSS, JavaScript, JQuery, C# as well as documentation for the web server and related software used for homework and projects will be accessible from the course site.

Course Techniques and Procedures

This is a survey course and a programming course all rolled into one. Web development is a very broad and dynamic field, and we will be covering a large amount of material. At the same time, there will be numerous opportunities to gain practical experience with the technologies we are learning about via homework sets and a major project developed throughout the semester. The hope is that this course will serve as a working and hands-on web development laboratory for students.

Course Requirements and Evaluation

  1. Eight (8) homework sets will be distributed during the semester and will be due as shown in the course schedule. These will consist mostly of hands-on programming exercises and will each count for 5% of your overall course grade. All told, these will account for 40% of your final course grade.
    Set Number Tentative Emphases
    1 HTML and CSS
    2 Page Layout C# basics
    3 C# MVC and unit testing
    4 C# Entity framework Database Schema
    5 jQuery
    6 Client-side JavaScript and the DOM
    7 Ajax and Rest Services
    8 Mobile Development

    The following guidelines should be observed when completing these homework sets:

    • Homework assignments will be due at the start of class on the date indicated. Late homework sets will NOT be accepted.
    • Completed homework assignments (or links to them) must be submitted electronically to the professor via email. Solutions may be sent either inline within the email message body, as one or more file attachments in common text formats (i.e. Microsoft Word, PDF, HTML, plaintext), or as a URL to an online or downloadable copy the solution, whichever is appropriate.
    • You may work together with another student on homework, provided each of you works on each problem and submits his or her own copy of the solutions.
  2. During the semester, you will apply the material you are learning to a large iterative project in which you will develop a complex web application. This project will be created and submitted over the course of the semester as ten (10) distinct milestones. Each milestone will be due as shown on the course schedule, and will count for 5% of the final course grade. (Specification for this project and its milestones will be provided to you in a separate document.) All parts of this project together will be worth 50% of your final course grade.
  3. You will also research a web development technology of interest to you that we do not cover in class. You will give a brief presentation of this technology to your peers and instructor during one of the final class sessions. This assignment will be worth 10% of your final course grade.
  4. SUMMARY 8 Homework sets 40%
    Web development project 50%
    Web Technology Research Assignment 10%
    100%
  5. Your final grade will be computed on the basis of a weighted sum of the items listed above.
  6. The following are the minimum guaranteed grades for the percentages indicated:

    93% - 100%: A 90% - 92.9%: A-
    87% - 89.9%: B+ 83% - 86.90%: B 80% - 82.9%: B-
    77% - 79.9%: C+ 73% - 76.90%: C 70% - 72.9%: C-
    67% - 69.9%: D+ 63% - 66.90%: D 60% - 62.9%: D-

Policies

Policy Statement on Extensions and Incompletes

  1. Extensions of the due dates for homework or projects will be given in the event of extenuating circumstances (such as illness, personal emergency, etc.) IF you submit a brief written request to the professor as soon as possible after the circumstances arise. This request will be initialed (if approved) and will be returned to you. You must attach it to the piece of work for which the extension was granted.
  2. A grade of Incomplete will be given without penalty IF you are unable to complete the course work by the last day of the term due to major illness or other similar emergency. Again, a written request should be submitted. Such a request will only be granted if you are substantially up-to-date with your course work and were making good progress in the course up to the time that the difficulty arose. Of course, you must complete all work for the course by the midpoint of the next semester in accordance with College policy.
  3. A grade of Incomplete with a penalty of one letter grade to be applied in the final grade computation MAY be given if you are unable to complete all the course work for reasons other than those noted above. You must make a written request, and your progress in the course, class attendance and participation, etc. will be taken into consideration in determining whether to grant it. Again, you must complete all work for the course by the midpoint of the next semester.

Academic Dishonesty

From the Gordon College Student Handbook: "Academic dishonesty is regarded as a major violation of both the academic and spiritual principles of this community and may result in a failing grade or suspension. Academic dishonesty includes plagiarism, cheating (whether in or out of the classroom) and abuse or misuse of library materials when such abuse or misuse can be related to course requirements." For the purposes of this course, abuse or misuse of Gordon computer systems or networks related to course requirements will also be viewed as academic dishonesty.

Academic dishonesty will not be tolerated. You know better. Just don't.

Class Attendance and Participation Policy

Regular class attendance and participation is an essential component of this course and expected of all students. Class attendance and participation will be recorded. Please come to class ready to discuss and unpack the material presented with your instructor and peers.

Absences from class will be classified as "documented" or "undocumented." A documented absence is one where written documentation is submitted supporting the absence from class due to circumstances beyond the student's control. An undocumented absence is any other absence, including one that could qualify as documented if proper documentation were submitted. Multiple undocumented absences will impact your final course grade as follows:

  • Each student may take one (1) undocumented absence without penalty.
  • Each subsequent undocumented absence will cause the student's final course grade to be reduced by 3%.
  • Students with more than four (4) undocumented absences will automatically fail the course.
  • Students who arrive more than five (5) minutes late to class more than three (3) times during the semester will have each subsequent late arrival to class counted as a half undocumented absence for that class.

A student's participation in class discussions and exercises will be factored into his or her overall course grade. Constructive questions, dialog, and feedback on the course subject matter is encouraged during class time, and the instructor will take each student's class participation into account when assessing the student's final grade. If two students score identically on homework assignments, projects, and exams, but one of them consistently makes positive contributions to class discussions while the other does not, the student with steady class participation will receive a higher grade for the course.

Students with Disabilities

Gordon College is committed to assisting students with documented disabilities (see Academic Catalog Appendix C, for documentation guidelines). A student with a disability who may need academic accommodations should follow this procedure:

  1. Meet with a staff person from the Academic Support Center (Jenks 412 x4746) to:
    1. Make sure documentation of your disability is on file in the ASC,
    2. Discuss the accommodations for which you are eligible,
    3. Discuss the procedures for obtaining the accommodations, and
    4. Obtain a Faculty Notification Form.
  2. Deliver a Faculty Notification Form to each course professor within the first full week of the semester; at that time make an appointment to discuss your needs with each professor.

Failure to register in time with your professor and the ASC may compromise our ability to provide the accommodations. Questions or disputes about accommodations should be immediately referred to the Academic Support Center. See Grievance Procedures available from the ASC.

Tentative Schedule of Topics

Date Topic(s) Reading Homework / Projects Due
W 8/26 Course Introduction; Internet History and Fundamentals; Basic HTML   Start Homework 1
W 9/2 Basic HTML (cont.); CSS http://learnlayout.com Start Milestone 1
W 9/9 Responsive Web Design, Mobile Development
(Guest lecturer)
  HOMEWORK 1;
MILESTONE 1;
W 9/16 Web Server Basics; Introduction to visual studio and c#   HOMEWORK 2
W 9/23 Introduction to c# continued; HTML Forms MILESTONE 2
W 9/30 C#: unit testing   MILESTONE 3
W 10/7 Database schema (and maybe other sql)   HOMEWORK 3
W 10/14 Web Design; SEO; Accessibility Wikipedia, Search Engine Optimization
HOMEWORK 4
W 10/21 C#: Controllers, Views   MILESTONE 4 ;
Start Web Technology Project
W 10/28 More on controllers  
HOMEWORK 5;
MILESTONE 5 (due 11/1)
W 11/4 JavaScript; The DOM http://learn.jquery.com (first 6 chapters)
W 11/11 WebAPI and REST web services Fielding et. al. "Principled Design of the Modern Web Architecture"
Udacity, CS253: Web Applications Engineering - Unit 5 - Web Services Lecture (video);
Web Technology Research Topic Due
W 11/18 Web Sessions and Cookies HOMEWORK 6;
MILESTONE 6 (11/22)
W 11/25 (Thanksgiving Break) HOMEWORK 7;
W 12/2 Going Live - Deployment, Performance, and Analytics Marcotte, "Responsive Web Design"
Souders, High Performance Websites Workshop
HOMEWORK 8;
MILESTONE 7
W 12/9 Web Technology Research Presentations None Web Technology Research Report and Presentation
MILESTONE 8
R 12/17 Final Exam hour from 2:30-4:30 pm.
Merry Christmas; there is no final exam.
MILESTONE X