Professional Documents
Culture Documents
In this project-based course, students gain an understanding of how to build a modern full-stack web
application using the MERN framework (MongoDB, Express, React and Node.js). Students also learn how
to deploy their web applications to Amazon AWS, a popular cloud hosting provider. Finally how the npm
package manager and third-party and open source modules can extend their web applications will be
covered. Collaboration is paramount to a successful product, website and/or mobile application. However,
students will be responsible for completing their own project/web application and submitting independent
assignments.
This hybrid course combines classroom and online sessions. In-class meeting dates will be announced.
This course was formerly CIS 395-CN Topics in Information Systems: Programming for the Web.
Recommended Textbooks
● Node.js, MongoDB and Angular Web Development: The Definitive Guide to Using the MEAN
Stack to Build Web Applications, Brad Daley, Caleb Daley and Brendan Daly, 2 nd Edition,
Addison-Wesley. [ISBN- 9780134655642]
Additional Reading
Pro MERN Stack: Full Stack Web App Development with Mongo, Express, React, and Node, 2 nd
Edition, APress. [ISBN- 9781484243916]
http://speakingjs.com/es5/index.html
https://exploringjs.com/es6/index.html
Software
Visual Studio Code (https://code.visualstudio.com/)
GitHub Desktop (https://desktop.github.com/ )
Prerequisites
Learning Goals
The goals of this course are to:
Understand the concepts behind HTML5, CSS and Javascript.
Understand the concepts behind Bootstrap4.
Understand the constructs of the latest version of Javascript - ES6.
Understand the modules and templates in Javascript.
Understand using the MongoDB database.
Learn NodeJS and Express Frameworks.
Learn ReactJS and React Routers.
Build web applications using the MERN stack.
1
CIS 385 Programming for the Web
Evaluation
The student’s final grade will be determined as follows:
• 5 % Attendance
• 5 % Class Participation
• 60 % Assignments
• 30 % Final Project
Grading Scale
93%–100% = A
90%–92% = A-
85%–89% = B+
82%–84% = B
78%–81% = B-
75%–77% = C+
73%–74% = C
65%–72% = C-
0%–64% = F
Attendance
With few exceptions, classes will follow the same structure every week. Each three-hour class session
will typically include:
Review/discussion of material from the previous week (10-20 minutes)
Interactive lecture (1 hour): lectures will present content on each week’s topic and discussion of
assigned readings. Lecture slides will typically be posted the day before class
A 10-15 minute break
Small group discussion/ work time (1 hour): most weeks, you will be given time in class to discuss
course content and complete the assigned lab for the week
Late Work
Late assignments are not accepted without explicit permission from the instructor, and permission can
be granted only in the case of an emergency and in advance of the assignment due date. Late work
may be subject to a penalty in points.
Learning Groups
More information about learning groups will be provided by the instructor via the Canvas course site.
2
CIS 385 Programming for the Web
3
Course Schedule
Important Note: Changes may occur to the syllabus at the instructor's discretion
.
Session 1 – Introduction to Web Development, Syllabus and HTML5 Basics
Learning Objectives
After this session, the student will be able to:
• Describe the foundation of web development.
• Describe the HTML5 elements, attributes and behaviors.
Course Content
Textbook Reading
Online Reading
https://www.w3schools.com/html/html5_intro.asp
1. Set up various tools useful for web development (VS Code, GitHub, CodePen)
Assignment 1
See Assignment Section for details
• Describe the programming language of the web and html namely Javascript.
• Describe how Javascript can be used to change the html content.
• Describe how to use the Javascript console.
Course Content
Textbook Reading
Online Reading
https://www.w3schools.com/js/default.asp
Assignment 2
See Assignment Section for details
Session 3 – Bootstrap4
Learning Objectives
After this session, the student will be able to:
4
Describe the colors, buttons, badges, progress bars and other components
Course Content
Textbook Reading
Online Reading
https://www.w3schools.com/bootstrap4/default.asp
Course Content
Textbook Reading
Online Reading
https://www.w3resource.com/JSON/introduction.php
https://www.sitepoint.com/a-beginners-guide-to-handlebars/
https://lodash.com/
Assignment 3
See Assignment Section for details
Learning Objectives
After this session, the student will be able to:
Course Content
Textbook Reading
Online Reading
http://exploringjs.com/es6/index.html
https://www.pluralsight.com/guides/introduction-to-asynchronous-javascript
5
Session 6 – MongoDB and Web Authentication
Learning Objectives
After this session, the student will be able to:
Course Content
Textbook Reading
○ None
Learning Objectives
After this session, the student will be able to:
Course Content
Textbook Reading
○ None
● Assignment 4
See Assignment Section for details
Learning Objectives
After this session, the student will be able to:
Course Content
Textbook Reading
6
○ None
● Assignment 5
See Assignment Section for details
Course Content
Online Reading
Course Content
Online Reading
7
Assignment 1: HTML5 Web Page
Session # 1
Due date Week 3
Due time 11:55pm (central time)
Points possible 100
Create an HTML page called index.html
8
Assignment 2: Javascript
Session # 2
Due date Week 4
Due time 11:55pm (central time)
Points possible 100
Create a JavaScript file called Reverse.js that will do the following.
Write a function called ReveseString() that takes one argument.
Assignment ● A sample relation instance (this will change from quarter to quarter)
attachments ● Grading rubric
Turnitin Requires Turnitin.
11
Final Group Project
Session # 10
Due date Week 10
Due time 11:55pm (central time)
Points possible 500
The final project is an opportunity for students to demonstrate their mastery of the course material by
applying Web Development to create a functional web application.
Step 1: Choose a project from the list below. This will be the topic for your final project.
- Bidding System
- Chat Application
- Web Application of your choice. (Get Instructor Approval)
Detailed Step 2: Develop the web application
assignment
description Bidding System
Create a web application that allows:
Users to create items for bidding.
Users to list items showing description and the highest bid.
Chat Application
Create an online web application that allows:
Users to send messages in a chat room.
Users to list chat rooms available.
Use ChatKit platform as the backend.
12