CSCI 406 - Advanced Web Development
CSCI 406 - Fall 2020 - Thomas Rogers
Section 1:
Lectures, labs and other instruction during on-line synchronous sessions each Tuesday and Thursday, 5:00pm to 7:00pm per the course schedule.

Instructor:
•   Thomas Rogers - thomas.rogers@millersville.edu - http://cs.millersville.edu/~trogers
•   Email: thomas.rogers@millersville.edu
•   Class Web Page: http://cs.millersville.edu/~trogers/csci406/

Prerequisites:
C- or higher in CSCI 362.

Textbooks (required):

  1. Getting MEAN with Mongo, Express, Angular and Node, Simon Holmes. Manning Publications Co, First Edition, 2016.
  2. Web Development with Node and Express: Leveraging the JavaScript Stack, Ethan Brown, O'Reilly Media Inc, First Edition, 2014.

Goals: At the end of this course, a student will:

  1. Be able to describe the differences between traditional web development practices and modern-day web application technology stacks.
  2. Be able to differentiate when the use of a web application technology stack.
  3. Ability to choose the right technology stack based on needs, economics, etc.
  4. Demonstrate a basic knowledge of the architecture of a cloud-based web application.
  5. Be able to "stand up" basic, database-driven web applications quickly, in the cloud, using several different technology stacks.
  6. Understand the basic anatomy of the client-side web application (UI), the technologies used to comprise said, and how to extend.
  7. Have a basic understanding of web application server-side technologies with the ability to write secure APIs for login, logoff, etc.

Grading:
Mid-Term = 30%
Final Exam = 30%
Labs = 40%
I use a ten-point grading scale (93 = A; 90 = A-; 87 = B+; 83 = B; ...).
You must attempt all examinations and assignments to pass the course. In addition, class attendance and participation accounts for 2% of your overall course grade (affecting your lab grade 40%).

Academic Honesty:
Copying or any collaboration with anyone else on tests is not permitted and may result in failure in the course.

Refer to the university policy on academic honesty for details and penalties.

Tests:
Tests will be cumulative and will emphasize material we have covered in lecture and practiced in labs. Tests will be closed book, closed notes.

If you miss a test, you will receive a grade of zero for that test. Exceptions may be made at my discretion. In fairness to all, documentation will be required. Contact me immediately, preferably before the test, if you have a problem.

Labs and Assignments:
This class meets on-line each Tuesday and Thursday from 5:00pm to 7:00pm. The on-line sessions will be a mix of lecturing as well as Q & A for lab assignments with the instructor available to assist with lab assignment issues. Check the class schedule and Rread through the lab assignment online before on-line meetings as doing so will make the lab period much less stressful.

Lab assignments will not be accepted late. Labs must be delivered by the time and date specified for the assignment. Submit what you have for partial credit.

Lab assignments will be turned in by email and/or through a code repository system as and when directed.

Office Hours:
Office hours will be directly after class meeting times each Tuesday and Thursday (approximately from 7pm to 9pm) and will be conducted on-line. Additional on-line office appointments may be scheduled by email and meet during a time mutually agreed by the student and instructor.

Special Needs:
Anyone with special needs should contact me as soon as possible.