COSC 465/565 Web Project

Brad Vander Zanden


Directory: /home/bvz/cs465/web_project. This directory contains the various example files cited in this project description.

Introduction

For the remainder of the semester most of your homework assignments will revolve about creating a web-site and backend for the ABET data collection that we perform in this department. You will be responsible for creating the look-and-feel for your web-site, the PhP backend that manages the mySQL database, and the Javascript frontend that manages the forms you will need to use for the data collection.


Description of ABET data collection

ABET is the accrediting organization for both our Computer Science program and our two Engineering programs, CpE and EE. In order to be accredited, each program must publish a set of student outcomes that we hope students have mastered by the time they graduate. A list of these student outcomes can be found here (look at the Student Outcomes, not the Program Education Outcomes).

These student outcomes must be assessed in various courses. For example, COSC 302 might assess outcomes 1, 2, and 6 for CS majors and the senior design course, COSC 402, might assess all 6 outcomes For each outcome assessed by a course, the faculty member assigns each student one of three performance levels-exceeds expectations, meets expectations, or does not meet expectations. The faculty member enters the total number of students achieving each of these three performance levels into a spreadsheet. The spreadsheet named COSC_402_Assessment_Data.xlsx provides an example of such a spreadsheet.

In order to determine which performance level a student has achieved for an outcome, the faculty member must use various types of assessments, which may include labs, homework assignments, test questions, quiz questions, written papers, oral presentations, and any other type of assessment that the faculty member wishes to use. For example, to assess a student's ability to design, implement, and evaluate a computing-based solution to meet a given set of computing requirements a COSC 302 instructor might use some programming assignments and test questions whereas a COSC 402 instructor might choose a team's design document.

For each assessment the faculty member must:

  1. Assign a weight from 0.0 to 1.0 which reflects the percentage weight that that assessment carries in assessing the outcome. The weights for each outcome's assessments must sum to 1.
  2. Create a "rubric" which provides an explanation of what characteristics the student's work must exhibit in order to be assigned a particular performance level.
The document entitled COSC_402_Assessment_Plan.docx gives an example of an assessment plan and the rubrics that accompany it.

Finally a faculty member must provide a narrative for each outcome that describes in general terms the students' strengths and weaknesses on that outcome. The faculty member is also asked to provide some suggested actions that might be taken to improve the students' performance on each outcome assessed in the course. The document entitled COSC_402_Narrative_Summary.docx gives an example of a sample narrative summary that might be prepared by a faculty member.


Project Overview

You will be creating a web-based GUI that allows faculty members to login and enter their ABET data. The interface should allow the faculty member to select their course(s). The interface should display the student outcomes that are assessed in the course and allow the faculty member to enter for each outcome:

  1. The number of students exceeding, meeting, or not meeting expectations
  2. The assessments used to assess the outcome and the rubrics and weights for each assessment. An instructor is allowed to use the same rubric for multiple assessments, so there should be a way to find a pre-existing rubric.
  3. The narrative listing students' strengths and weakness, and suggested actions for improving student attainment of the outcome.

The data will be stored in a MySql database.

The design of the project should be separated into a GUI-frontend that runs in the user's browser and a PhP/MySql backend that runs on a server.


Interaction with the Website

The following bullet points describes the web pages and interactions that an instructor can have with the website.

  1. The website's front page will authenticate the user via a username (instructorId) and password.
  2. Once authenticated, the instructor will be taken to a web page where they can select a course for which they want to enter student outcomes. The instructor should only be allowed to choose courses to which the instructor is assigned in the SectionCurrent relation.
  3. When the instructor selects a course the exising webpage should be augmented with the outcomes listed for that course. When the instructor clicks on one of the outcomes, a form should appear with the following information:

    If the instructor had previously entered information for this outcome, then that information should be pre-loaded from the database.

    Once the instructor saves or cancels their work, they should be allowed to input data for another outcome for the course by clicking on that outcome. The instructor should also be allowed to switch to another course and enter data for that course.


MySql Database Design

I have already designed the backend mysql database for you and ~bvz/cs465/web_project_abet.sql contains a partial sql file for creating the relations. You need to complete it. If you have questions about the data types for the various attributes in the relations, please check this file, make a reasonable assumption, or ask me. You may not change the names of the relations since we will be using a drop script to delete your tables from our db but you may change the number and/or names of the attributes in the relations to suit your needs. You will see that the names of some of the attributes in the abet.sql file do not exactly match the attribute names in the relations below so clearly we are not concerned if your attribute names exactly match ours.

The relations that you will be using are as follows:


Relations That Can and Cannot Be Changed By Your Website

Some of the relations in this project can be changed by your website and some should be pre-loaded with data that would be presumably provided by an administrator. Please come up with the sample data yourself or use the documents that I have provided (in the relations below I will list the document that contains the data for that relation).

Administrator Supplied Relations (Unchangeable)

Relations That Can Be Modified By Your Website