CSC 308 Projects

CSC 308 Projects

Introduction

Listed below are capsule descriptions of the five projects we will work on this quarter in 308, and continue to work on next quarter in 309. The theme for the projects is classroom tools for instructors and students. You can think of these as replacements for the cumbersome products provided by the PolyLearn system, and in preceding years by Blackboard.

Your primary team activity for CSC 308 is to produce a requirements specification for one of these projects. This requirements spec is at the level a customer should define when contracting for a piece of software. Accordingly, your requirements spec will be based on extensive customer interviews, with your instructor and possibly others acting as customers. When developing this requirements spec, your team will play the role of software system analysts.

Given the initial estimate of class size, there will most likely be six project teams of six members each. With five different projects to choose from, there will be two teams per project in at least one case. As described in the Milestone 1 writeup, we will choose the teams and projects on the first day of class.

In terms of grading, all project evaluation will be done on a team-by-team basis. Some degree of "healthy competition" may develop between teams working on the same project. However, we will not choose specific winners and losers in any kind of development contests.

One final introductory note - you should be creative and ambitious with your project requirements. In particular, do not worry about specifying a project that will be too hard to implement. Your job this quarter is to specify the software, not to implement it.

Project Capsule Descriptions

  1. Grader -- Grade Manager and Browser
    Maintains grading information for a course, computes statistics, and manages electronic submission of graded work. Advanced features include graphical input and customizable grading schemes. Grades are enterable only by privileged instructor users. Individual students may browse their own grades given proper identity confirmation. Students may also browse overall grade statistics for a class, ask "what if" questions, and browse historical grade trends. Other noteworthy customer requests include easy set-up of extra credit grading, different late policy schemes, interface with campus grade servers, and electronic submission of student graded work.

  2. Test Tool -- Test Generator
    Manages a repository of course examinations and generates different forms of tests. Test forms include t/f, multiple choice, fill-in, short-answer, long- answer, and program code. Automatic test generation is available using a wide range of selectable test criteria. Online delivery and collection of tests to students is provided. Automatic grading is provided where feasible, including automatic execution and analysis of answers that involve program code. Other noteworthy customer requests include full support for text and graphics in test questions, centralized shared question bank, and integration with grading program for submission of graded tests.

  3. Electric Classroom -- Integrated Classroom Presentation Tool
    Manages a repository of classroom materials and allows students to view them electronically inside and outside of class. Instructors prepare lecture material for in-class presentation and use a specialized presentation tool to present lectures via a network of workstations rather than a single projected laptop. Provides features for electronic interaction between instructor and students. Noteworthy customer requests include fully integrated electronic whiteboard, different modes of student/teacher integration, zooming in and out to different levels of lecture detail, automatic lecture attendance taking, and support for off-campus lecture viewing.

  4. Scheduler -- Electronic Class Scheduler
    Manages a database of instructors, classes, and rooms. Allows information about instructor preferences to be entered to guide scheduling. Allows students to query the schedules for upcoming quarters. Interfaces to campus- level class database for information downloading. Provides for customizable scheduling constraints based on the needs of particular departments. Noteworthy customer requests include support for student input to the scheduling process, archiving of past schedules, and interface to campus scheduling service.

  5. CS Tutor -- Intelligent Tutor for Computer Science Classes
    Provides a form of online manual and help aid for topics covered in CS classes, particularly introductory classes. The help should include outlines of course material (via interface to the electronic classroom) as well as instructor- defined tutorials to guide students on a step-by-step basis. The tool should employ techniques of computer-aided instruction, including tuning tutorials to individual students. Noteworthy customer requests include support for multiple programming languages, integration of instructor-generated evaluation scripts, integrated live communication between students and instructors.

A Note on the Forms of Project Deployment

At the outset, the customer envisions that each project will be deployed in two forms:

  1. a desktop application that provides editing and management functionality to an individual instructor

  2. a web-based application that provides access to selected information by students

The details of these two forms of deployment vary for the different projects. Also, which project components are application-based versus web-based is subject to discussion between the customer and analyst teams. However, given negative experience with purely web-based tools, the customer is very strongly inclined to have the instructional development functionality provided by a desktop application.






index | lectures | handouts | examples | textbook | doc | grades