CIS 371 Web Application Programming
Fall 2022

Contact Information:
Instructor: Zachary Kurmas Office: MAK C-2-316
Phone: (616)-331-8688 Office Hours: MWF 10-11; MW 1-2
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
Text:
We will not have a formal text.
Pre-Requsites
CIS 163 and CIS 333 or CIS 353
Important Dates:
  • Drop Day: Friday, 28 October
  • Final Exam: Wednesday, 14 December 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, 28 October. 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 Honestey Policy.
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 specifications-based rather than points-based. The requirements for grades of A-, B, C, D, and F is given in the table below.
CategoryDCBA
Learning Objectives Mastered: 8/11 Mastered: 9/11 Mastered: 9/11 Mastered: 10/11
Progressing: 9/11 Progressing: 10/11 Progressing: 11/11 Progressing: 11/11
Homework* Complete / thoughtful: 9/11 Complete / thoughtful: 9/11 Complete / thoughtful: 10/11 Complete / thoughtful: 10/11
Semester Project D C B A
Timeliness Late days: ≤ 50 Late days: ≤ 25 Late days: ≤ 15 Late days: ≤ 10
* Up to three homework assignments 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 three 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 Bootstrap 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 "Master" 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).

Core Learning Objectives: Several learning targets are classified as "Core" learning objectives. These represent the course's most important, fundamental concepts. Students must master these concepts to pass the course.

EMPX: Most submissions (other than test/quiz questions and homework) will be scored using the EMPX 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.

Projects: There are three main aspects to project submissions: (1) They must pass the instructor-written automated tests. (2) They must contain any reqired analysis (e.g., number of gates / running time). (3) The circuits and other source matrial must be neatly orginzed and commented. Projects are not evaluated until they pass the automated tests. Once a student's project passes the automated tests, the instructior will score the presentation and analysis using the EMPX rubric. Late days will accumulate until the project passes the automated tests and earns a mark of "E" or "M".

Homework: Homework is practice. As such, it is expected to represent a "best effort" (i.e., be complete and thoughtful). We will work through homework problems, and solutions will be posted within a day or two of the due date. Therefore, students are not expected to revise and re-submit homework. However, if a student chooses to revise any homework exercises, I will be happy to review the submission and make suggestions.


Updated Wednesday, 30 November 2022, 9:48 AM

W3c Validation