Full-stack Web Development with Node.js
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lectures
projects
README.md
index.html

README.md

CMSC389K: Full-stack Web Development with Node.js

Imgur

Course Description

This course provides a comprehensive, practical introduction to modern full-stack web development using JavaScript and Node.js. The course will start with HTML/CSS/JavaScript. Then, we will move into Node.js and learn how to build back-end applications. Finally, we will learn about Express.js (server-side development framework) and MongoDB (database) in order to create a complete web application.

Course Details

  • Course: CMSC389K
  • Prerequisites: C- or better in CMSC216 and CMSC250
  • Credits: 1
  • Seats: 30
  • Lecture Time: Fridays, 3-3:50PM
  • Location: CSI 3118
  • Semester: Fall 2017
  • Textbook: None
  • Course Facilitators: Ishaan Parikh and Sashank Thupukari
  • Faculty Advisor: John Dickerson
  • Syllabus Last Updated: October 18, 2017

Topics Covered

  • HTML and CSS
  • JavaScript (+ECMAScript 2015 (E6))
    • Variables, data types, expressions, operators
    • Conditionals, iteration, statements
    • Functions
      • Functional Programming
      • Callbacks
    • Interaction with DOM
      • DOM Manipulation
      • Event Handling
    • jQuery + AJAX
  • Node.js
    • File manipulation
    • Modules
  • Server Applications
    • Writing server applications in Node.js and Express
    • MongoDB
    • Deploying and hosting server applications

Grading

Grades will be maintained on the CS Department grades server.

You are responsible for all material discussed in lecture and posted on the class repository, including announcements, deadlines, policies, etc.

Your final course grade will be determined according to the following percentages:

Percentage Title Description
55% Projects Weekly individual projects that teach practical skills and real life applications.
20% Midterm Examination
25% Final Project Final project to demonstrate mastery of all topics learned and apply knowledge to create a new application from scratch.

Any request for reconsideration of any grading on coursework must be submitted within one week of when it is returned. No requests will be considered afterwards.

Week Topic Assignment
1 (9/1) HTML + CSS Personal Website (P1) OUT
2 (9/8) Javascript Language w/ DOM P1 DUE, JS Function Implementation (P2) OUT
3 (9/15) jQuery and AJAX P2 DUE, 50 State Game (P3) OUT
4 (9/22) Node.js
5 (9/29) Express.js P3 DUE, Pokémon API (P4) OUT
6 (10/6) Express.js (cont.)
7 (10/13) Express.js (cont.) P4 DUE
8 (10/20) Midterm Review Representatives Website (P5) OUT
9 (10/27) Midterm
10 (11/3) Databases P5 DUE
11 (11/10) Databases (cont.) Final Project OUT
12 (11/17) Web Sockets
BREAK (11/24)
13 (12/1) Now + Lab
14 (12/8) Presentations Final Project DUE

Projects

Projects must be submitted electronically following the instructions given in each project assignment. Projects may not be submitted by any other means (e.g., please do not email your projects to us). It is your responsibility to test your program and verify that it works properly before submitting. All projects are due at 11:59 PM on the day indicated on the project assignment.

Projects may be submitted up to 24 hours late for a 10% penalty. If you submit both on-time & late, your project will receive the maximum of the penalty-adjusted scores. You may submit multiple times.

Unlike lower-level programming classes, we will not provide you with test cases (e.g., public tests) before projects are due. You will be responsible for developing your own tests and for using appropriate testing techniques. Also, we expect your projects to use proper style and documentation.

Outside-of-class communication with course staff

We will interact with students outside of class in primarily two ways: in-person during office hours and piazza. Email should only be used for emergencies and not class related questions (e.g., projects).

Instructor:

Dr. John Dickerson - john@cs.umd.edu

TAs:

Ishaan Parikh - iparikh@umd.edu

Sashank Thupukari - sthukupa@terpmail.umd.edu

Excused Absence and Academic Accommodations

See the section titled "Attendance, Absences, or Missed Assignments" available at Course Related Policies.

Disability Support Accommodations

See the section titled "Accessibility" available at Course Related Policies.

Academic Integrity

Note that academic dishonesty includes not only cheating, fabrication, and plagiarism, but also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work. In short, all submitted work must be your own. Cases of academic dishonesty will be pursued to the fullest extent possible as stipulated by the Office of Student Conduct.

It is very important for you to be aware of the consequences of cheating, fabrication, facilitation, and plagiarism. For more information on the Code of Academic Integrity or the Student Honor Council, please visit http://www.shc.umd.edu.

Course Evaluations

If you have a suggestion for improving this class, don't hesitate to tell the instructor or TAs during the semester. At the end of the semester, please don't forget to provide your feedback using the campus-wide CourseEvalUM system. Your comments will help make this class better.

Thanks to the writers of this syllabus for the wording of much of this document.