CIS 371 Web Application Programming
Winter 2025

Contact Information:
Instructor: Zachary Kurmas Office: MAK C-2-316 / DCIH 530G
Phone: (616)-331-8688 Office Hours: MW 11:00-noon (Allendale)
Home page: https://KurmasGVSU.github.io MW 3:00-4:00 (DCIH 530G)

E-mail is the best way to contact me. During the week, expect a reply within 24 hours. Also, feel free to visit my office any time the door is open, even if it isn't officially office hours.

Course Objectives:
After successful completion of the course, students will be able to:
  • Develop server side scripts to support a web application
  • Develop client side scripts that interact with users and server side scripts
  • Combine client and server scripts with third-party libraries to enhance applications
  • Construct a stylesheet to achieve basic formatting
  • Utilize web APIs to send and receive data between client and server
  • Analyze and construct a web site that solves a large problem
Specific learning objective
Text:
  • Client-Side Web Development. by Joel Ross and Mike Freeman. https://info340.github.io/
  • Learning React, 2nd Edition by Porcello and Banks. ISBN: 978-1-49205-171-8 (Available free through GVSU library)
  • Mastering Bootstrap 4, 2nd Edition by Jakobus and Marah. ISBN: 9781788834902 (Available free through GVSU library)
Prerequisites
CIS 163 and CIS 333 or CIS 353
Important Dates:
  • Drop Day: Friday, 21 March
  • Final Exam: Monday, 21 April 10:00 a.m. - noon.
Course Policies:
  • Assignments are due at the beginning of class on the due date, unless specified otherwise.
  • In general, programming assignments will not be graded until they are working properly.
  • Unless specified otherwise, all assignments are to be completed individually.
  • The deadline to drop with a "W" is Friday, 21 March. Remember, I cannot and will not drop this class for you.
  • Attendance is required. I understand that absences are occasionally necessary; however, I reserve the right to lower grades for excessive absences.
  • This course is subject to the GVSU policies listed at http://www.gvsu.edu/coursepolicies/ as well as the CIS Academic Honesty Policy.
  • You are not under any circumstances allowed to use code that is written by others specifically for you or specifically for a CIS 371 assignment. In particular, you may not use code written by ChatGPT or similar software. On homeworks and projects, you may use existing code on sites like Stack Overflow to address a specific, well-defined problem that represents a small portion of the overall assignment. When using code from such resources, you must cite the source.
Special Assistance:
If there is any student in this class who has special needs because of learning, physical or other disability, please contact me and Disability Support Services (DSS) at 616.331.2490. Furthermore, if you have a disability and think you will need assistance evacuating this classroom and/or building in an emergency situation, please make me aware so I can develop a plan to assist you.
Grading:
We will have weekly quizzes instead of a midterm and final exam. These quizzes will be points-based.

The remainder of your grade will be proficiency-based. This course has 27 specific learning objectives. I will use quiz questions to evaluate 12 of those objectives. I will evaluate the remaining 15 (the ones marked with a superscript 'h') using the homework and semester project. The requirements for grades of A, B, C, D, and F is given in the table below.

Category D C B A
"Quiz" Objectives ≥ 60% ≥ 70% ≥ 80% ≥ 90%
Homework* Complete / thoughtful: 8/12 Complete / thoughtful: 9/12 Complete / thoughtful: 10/12 Complete / thoughtful: 11/12
Semester Project D C B A
Timeliness Late days: ≤ 50 Late days: ≤ 25 Late days: ≤ 15 Late days: ≤ 10
* Up to three homework objectives can be satisfied by the equivalent feature in your semester project. For example, if your semester project makes heavy use of React, you could allow your project to fulfill the requirements of the React-based assignments. Similarly, if your semester project uses Bootstrap (or a similar framework), you can use your project to fulfill the requirements of the Responsive homework.

+/- modifiers: Your semester project will determine whether your base grade is modified with a + or a -. For example, if you meet the criteria for a 'B', but your project earns an 'A', your final grade will be a B+.

EMPN: Most submissions (other than test/quiz questions and homework) will be scored using the EMPN metric. (See the diagram below.) A mark of "E" or "M" indicates that the submission is complete and clearly demonstrates that the student understands the relevant concepts. A mark of "P" indicates that the student is making progress, but the assignment require additional work/revision. A mark of "X" not sufficiently complete to assess.


Updated Wednesday, 15 January 2025, 7:03 PM

W3c Validation