CIS 371 Web Application Programming
Winter 2023

Contact Information:
Instructor: Zachary Kurmas Office: MAK C-2-316
Phone: (616)-331-8688 Office Hours: MW 1-2; TTh 11:15 - 12:00
Home page: https://KurmasGVSU.github.io
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:
We will not have a formal text.
Prerequisites
CIS 163 and CIS 333 or CIS 353
Important Dates:
  • Drop Day: Friday, 10 March
  • Final Exam: Wednesday, 26 April 2:00 - 3:50 p.m.
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, 10 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:
Your grade in this course will be proficiency-based rather than points-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') will be evaluated using the homework and semester project. The requirements for grades of A, B, C, D, and F is given in the table below.
CategoryDCBA
"Quiz" Objectives Meets Expectations: 6/10 Meets Expectations: 7/10 Meets Expectations: 8/10 Meets Expectations: 9/10
Progressing: 8/10 Progressing: 9/10 Progressing: 10/10 Progressing: 10/10
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+.

Learning Objectives: Learning Objectives are skills that students are expected to acquire by the end of the course. Most learning objectives will be assessed using test/quiz questions; a few will be assessed as part of a lab, project, or homework. Learning objectives will be scored with either "M" for "Meets Expectations" or "P" for "Progressing". Students earn an “M” when they have clearly demonstrated a thorough understanding of the learning objective (e.g., answer the related test questions without any mistakes --- or perhaps a very trivial mistake like a math error). Students earn "P" if their work indicates that they have a partial, but useful understanding of the topic (e.g., their answer is structured correctly, correctly applies the fundamentals, but has missing or incorrect details).

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 Tuesday, 11 April 2023, 8:13 PM

W3c Validation