CS5610: Web Development
Spring 2024
Catalog Description
This course discusses Web development for sites that are dynamic, data driven, and interactive. Focuses on the software development issues of integrating multiple languages, assorted data technologies, and Web interaction. Considers HTTP, HTML, CSS, JavaScript, Web services, and NoSQL. Each student must develop individually designed Web experiments that illustrate the Web technologies and at least one major integrative Web site project. Students work in teams for the final project but individually for programming assignments. Each student or team must also create extensive documentation of their goals, plans, design decisions, accomplishments, and user guidelines. All source files must be open and be automatically served by a sources server.
Course Outcomes
Build medium-sized web applications using standard development practices.
Major Topics
Static web pages with HTML/CSS
Dynamic web pages with JavaScript
React Framework
Server-side scripting with NodeJS
Web services using ExpressJS
Data management using MongoDB and Mongoose
Web testing frameworks
Web security, accessibility, and responsiveness.
Course Meeting Times
M, W 2:50 – 4:30 PM
East Village 024.
Course Modality
Lectures will not be recorded, except for exceptional circumstances such as bad weather or the instructor is unable to take in-person class.
Lectures will not be live streamed as the course is in-person and not online. However, if a student is absent for a prolonged period of time due to an emergency then special provision will be made so the student can join the lecture online. Decision on allowing online participation will happen on a case-by-case basis. Students with this need should contact the instructor via email and seek permission.
Required Software
We will use several software platforms and programming languages in the course:
If additional software is required, they will be mentioned as part of assignments and lectures.
Piazza
Join Piazza if you haven't already.
The Piazza discussion board should be used for all communication with the teaching staff for questions about the course assignments and material. Email should be sent to individual instructors or teaching assistants only to schedule appointments.
Piazza is a forum for additional learning and assistance. The following are not appropriate uses of Piazza:
cyber-bullying
posting memes
complaining about a grade
airing concerns/comments/criticisms about the course
posting more than a few lines of source code from an attempt at a programming assignment
posting the solution to a programming assignment or a link to a website containing the solution
in general, anything unrelated to the course material and student learning
Therefore, students are expected to use the Piazza forum for all non-personal, course-related communication. Questions about what a programming assignment is asking, technical problems that need troubleshooting, or other questions that might be of interest to other students must be posted to Piazza and not emailed to the instructor or a TA.
If code is relevant to your Piazza question you may post only short code snippets. For more extensive help with reviewing or debugging your code, please visit office hours.
Email Etiquette
Be professional and respectful.
Begin your emails appropriately (e.g., Dear Prof. Mitra or Joydeep).
Email the course staff under the following circumstances:
Canvas is not properly displaying a grade.
One cannot attend office hours and would like to schedule an appointment to meet at another time. In this case, the student should include his/her availability for the upcoming week.
If a student needs to contact the course staff about a private matter. Examples include:
Making arrangements for disability accommodations.
To discuss private, personal matters that are impacting one's coursework such as physical or mental illness, death in the family, etc.
When emailing the instructor about the course, students should observe the following guidelines to ensure a timely response:
use one's official @northeastern.edu email account
use a descriptive subject line that includes "CS 5610" and a brief note on the topic (e.g., "CS 5610: Appointment")
briefly explain one's question or concern or request
end with a proper closing that includes one's full name.
Assessments and Grading
Assignments
Students will be assigned four programming assignments. All programming assignments must be completed individually.
Final Project
The final project will require students to extend the web application they have developed in the assignments with additional features. Students will complete the project in groups of two. Creating the groups is the students' responsibility. Groups are expected to present their project in a final presentation, describing their design, implementation, and challenges they faced during the project.
Group Work Policy
Each group member will receive the same grade as the group's. However, individual grades can be adjusted by up to 20% if the group members feel that an individual has not contributed equally. Members in a group will have the opportunity to submit an evaluation of their group members anonymously.
Late Policy
Every student is allowed to submit exactly one assignment 48 hours after the due date without any penalty. For group assignments, if student X submits an assignment late, but student Y has not submitted any assignment late yet, then student Y can use their late token on a future assignment for the group.
Beyond the late token, assignments may be submitted late but will be penalized 1% of the maximum score for every 15 minutes that the work is late, up to 24 hours. Work more than 24 hours late will not be accepted for credit. Extensions or late submissions will otherwise not be permitted. If a health or other emergency prevents you from submitting your assignment on time, inform the instructor before the deadline. Extension requests due to job-related commitments, vacations, or travel plans will not be considered.
Students who take this course are often surprised by just how much time this course requires of them. You are advised to budget your time wisely and to start working on an assignment the day it is posted.
Re-grades
Any grading errors you believe you have found on a homework submission must be emailed to j.mitra@northeastern.edu with the subject line "CS 5610: regrade request for Assignment X". Time is a precious commodity, so please do not spend instructor office hours or TA office hours arguing about points. Regrade requests must be made in writing no later than one week after graded work is returned to the class. Regrade requests that are made later than one week from the date the graded work is returned to the class will not be honored.
Class Activities
Lectures will be accompanied by activities. These activities can be programming-related or quiz-like questions. Students are encouraged to discuss with their peers to complete the given activities. In-class activities will not be graded but must be submitted in the same week of that class for credit.
Grading Scheme
Four Assignments: 40% (6%, 10%, 12%, 12%)
Final Project: 35%
Final Presentation: 20%
Class Activities: 5%
Course Grade Cutoffs:
A [93-100]
A- [90-93)
B+ [87-90)
B [83-87)
B- [80-83)
C+ [77-80)
C [73-77)
C- [70-73)
F [0-70).
Cutoffs are flexible and subject to change. Your final score will not be rounded up.
Academic Integrity
Each student must pursue their academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty are required to report any suspected instances of academic dishonesty to OSCCR. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the OSCCR website at https://osccr.sites.northeastern.edu/academic-integrity-policy/ and the Khoury website at https://www.khoury.northeastern.edu/information-for-overview/current-undergrad/undergraduate-advising-academic-support/academic-policies/.
Violation of academic integrity on a homework assignment lead to a 0 on that assignment. Repeated violations will result in a failing grade for the course. Violation of academic integrity on the final project will also result in a failing grade for the course.
Students with Disabilities
Students who have disabilities who wish to receive academic services and/or accommodations should visit the Disability Resource Center at 20 Dodge Hall or call (617) 373-2675. If you have already done so, please provide your letter from the DRC to me early in the semester so that I can arrange those accommodations.
Inclusivity
Name and Pronoun Usage
As this course includes class discussion, it is vitally important for us to create an educational environment of inclusion and mutual respect. This includes the ability for all students to have their chosen gender pronoun(s) and chosen name affirmed. If the class roster does not align with your name and/or pronouns, please inform the instructor of the necessary changes.
Inclusion Statement
We believe diversity and inclusiveness are essential to excellence in academic discourse and innovation. In this class, the perspective of people of all races, ethnicities, gender expressions and gender identities, religions, sexual orientations, disabilities, socioeconomic backgrounds, and nationalities will be respected and viewed as a resource and benefit throughout the semester. Suggestions to further diversify class materials and assignments are
encouraged. If any course meetings conflict with your religious events, please do not hesitate to reach out to your instructor to make alternative arrangements.
You are expected to treat your instructor and all other participants in the course with courtesy and respect. Disrespectful conduct and harassing statements will not be tolerated and may result in disciplinary actions.