Introduction

As some of you may already know, each Friday during the semester Professor Heimann teaches chess classes in the Enrichment Day program for the North Pittsburgh Homeschoolers. This is one of Prof. H’s small joys in life and last year his chess team did quite well in local scholastic tournaments — including winning first place team at the Western PA Scholastic Chess Championships last June. Because they are homeschoolers, however, students cannot meet every day in a physical location as do other students at school. Fortunately, homeschoolers on the whole are internet savvy and participate in many on-line communities. This semester we will take advantage of this fact by creating an on-line presence for Prof. H’s chess club — the North Pittsburgh Homeschoolers’ Razing Rooks.

Alex & Mark Heimann playing chess It should be noted that there are approximately 45 students involved in chess during the Enrichment Day program but not all are equally active. Students are currently divided into three groups: beginners (who have not yet completed the basic "Principles of Chess" class), advanced beginners (who have learned the basics, but still haven’t mastered the basics), and intermediates (who have mastered the basics and are studying more advanced topics). Each semester Prof. H offers different classes for different levels of students. The general structure of each of these classes, however, is the same. In each case, students receive a half-hour of instruction and a half-hour of playing time (to put the lesson into practice). During these playing times, score is kept and results are used to give each student a NPHC rating to place them on the internal club ladder. The ladder is broken down by grade divisions — being 1st, 2nd, 3rd, 4th & 5th, 6th — 8th, and 9th — 12th.

Approximately 15-20 of the NPHC students play in the local scholastic tournaments. To participate, students must join the US Chess Federation ($12/yr for juniors) and in return they receive a bi-monthly magazine and more importantly a USCF rating based on their win-loss-draw records in USCF rated tournaments. USCF ratings are calculated a little differently than the purely internal NPHC rating. For NPHC ratings, we use the USCF's equation II only (see the USCF rating calculations explained in more detail at http://www.uschess.org/ratings/info/system.html) and start every player off with a rating of 900 (instead of the provisional rating system at USCF). Exact USCF ratings are also difficult to calculate accurately because it is also dependent somewhat on the timing of tournament results (and every tournament director is different -- some get the results in later that day, others take weeks). For this project, we will assume that the site administrator puts in each student’s USCF rating on a monthly basis while the NPHC's internal ratings will be calculated automatically within the application that is being developed.

What functionality is required? First, the web site you create must allow students to find out information about themselves and their friends on-line. A sample of students have completed a questionnaire about themselves already and have digital photos available. Any of this material that you deem appropriate material can be included on the site. Furthermore, a MS Excel spreadsheet will be provided with information about students and their performance on internal games (which count for NPHC ratings). Students will want to see where they stand overall in the club ladder, where they stand in their grade division, how they’ve changed over time, and be able to do all this for both themselves and their friends. Furthermore, students should be allowed to change some of the personal information about themselves, but not be able to change information about other students or the records of student wins-losses-draws and/or ratings.

Danny Kucel in deep thought Second, there must be some training functionality available on the site. To this end, you will be provided with a digitized video clip of Prof. H explaining the concept of "opposition" (important in endgames) and giving a brief demonstration of the concept in action. This clip is to be incorporated into the site as you see appropriate. In addition, students will be given the materials necessary for a brief "What’s the Best Move?" test that is to be coded in JavaScript. There will be several of these tests available to choose from — students need only to include one of these tests for full credit in Phase 2. Finally, there should be a place for students to post questions and for the coach (Prof. H or other authorized personnel) to post replies. (A sample of these types of posts will be provided in a MS Word document for content in this section.) Questions, however, should not be viewable until Prof. H responds to them and hits the post button in the administrator’s section; this provides a safeguard against abuse by obscene or offensively worded questions/statements. Opportunities for section expansion should be considered as well (see extra credit sections for possible ideas).

Third, there ought to be a section for playing games on-line. These games should count towards the NPHC ratings of the players. However, the technology to actually create a game server is beyond the scope of this class and is strictly for extra credit. Students may simply place in this section a notice that game functionality is under construction and should be on-line shortly.

Fourth, there should be a section on the site where students can check out upcoming tournament information and other club announcements. Students should also be able to find course descriptions for classes this semester and next semester. There should also be an opportunity for news write-ups from past events to be posted on-line.

Finally, there should be an administrator site for Prof. H (or his wife) to add materials to the site. Specifically, the administrator's portion of the site should allow the administrator to perform the following four functions. First, it should allow the administrator to add new or edit current chess student information to the database as well as input updated USCF ratings (when that information is received from the USCF). Second, it should also allow the administrator to post (or correct) weekly wins and losses (for NPHC ratings). Third, it should allow the administrator to run some pre-set queries (examples of these queries are given in Phase 3) to see how students are doing and identify any special needs. Fourth, it should allow the administrator to read any recently posted questions, write an answer, and post both the question and the answer to the appropriate page.

Issues of access rights. The administrative section should only be accessible with a special administrator’s userid and password. The updating of student information should only be done by administrators or the student him or herself. The record of wins-losses-draws should only be done, however, by the system administrator. The game-playing site should require a student to log-in first (and only open to NPHC members). All other parts of the site should be accessible to everyone.

Opportunities for Extra Credit. There are a number of projects students may pursue for extra credit points. Extra credit is not required to get an A in this class. Also note, however, that there are no other opportunities for a student to earn extra credit in this class. Each extra credit project is worth a maximum of 15 project points (the overall project is worth 100 points) and students can do no more than 2 extra credit assignments.

There are a number of graphical interfaces for chess that are freely available on the web. These can be used in programming one of these extra credit assignments (to save time I strongly suggest it).

I am open to other ideas, but here is a list of possible extra credit ideas:

  • Develop the game-playing functionality listed above. The game results should be automatically recorded in the database for NPHC rating purposes.
  • Create a small application in the training section which allows students to practice the opposition exercise the Prof. H demonstrates in the video clip.
  • Create a small application in the training section which tests a student’s ability to identify a specific square on the board by its algebraic notation.
  • Create a small application in the training section which allows students to execute simple tactical exercises (exercises provided to those who wish to do this)
  • Upgrade the "What’s the Best Move?" exercise so that instead of being multiple choice quiz (with radio buttons and an associated GIF file), it uses a graphical interface and allows a student to choose a multitude of moves (but still gives the same feedback for wrong answers).
  • Create a small application in the training section which allows students to practice two of the basic king & pawn versus king endgames.
  • Another choice of training exercise that is approved in advance by the professor.

Other Instructions

This project is worth 35 percent of your total class grade. It is designed to be an individual-level project, not a group project. Students who need help with the project should first contact TAs and then the professors. Furthermore, while you may take advantage of the numerous chess resources on the web, you cannot incorporate code directly off the web (or any other source) without giving that source full and complete credit in both code comments and in a readme text document included in the zip file. The course cheating policy is detailed at http://www.andrew.cmu.edu/course/66-272/cheating.html

Due dates for each of the six phases are listed below. Materials that are turned in after this time will be penalized 10 percent of the maximum points possible per day. Projects turned in more than 4 days late will not be accepted without a special exemption from the instructor. (i.e., you cannot wait until the end of the term to turn in all your work.) The only exception is extra credit work which may be completed any time up to the last day of this project (December 8, 2000 at 5pm).

All materials for phases 1, 2, 3, and 6 must be in a zipped archive and transferred to the specified hand-in folder on IDS1. In order to make sure you get credit for the phase, you must use the following code to name your zipped file: (AndrewID)Px.zip -- where AndrewID is your Andrew ID, P stands for phase, and x is a variable representing the phase number. Following this process will make it possible for us to identify each person’s work and give them proper credit. Files turned in that do not follow this procedure may be penalized. Students needing help zipping files may turn to http://www.winzip.com/ for more information. Phase 4, 5 and final project will be placed in a secure directory on IDS1 which will be assigned to students later by the system administrator.

Project Phases

Phase 1: Preliminary Interface Prototype
In this phase each student will turn in a complete set of HTML pages that constitute the basic web-based user interface for the project. The interface HTML, layout, and graphics for each page should be complete. (students will be able to revise the interface over the course of the semester, but we are grading this as a complete work regarding the HTML and layout.) All pages (and links to those pages) should function properly with both Netscape and IE 4.0 and above and optimized for a screen resolution of 800 x 600. In that regard, let me say right now that claiming that it worked fine on your computer is not sufficient — the real test is whether it will work on our computers the first time with both major browsers. For this project, we will not require Mac or Linux compatibility (even though it is normally a good idea to check for this). Work on the JavaScript is encouraged, but not required at this phase.

To help in making your pages more interesting (visual appeal is one of the criteria for grading), a set of graphics files are available to ftp from ids1.hss.cmu.edu/pub/chess. You may use these or any other chess graphics you find on-line to add to your pages. You are not required to use these files and may modify them as you deem appropriate.

This phase is due on Friday, September 22, 2000 by 5pm and is worth 15 percent of the project grade.

Phase 2: Revised Interface Prototype
Phase 1 evaluations will be returned within one week and students should either make suggested modifications or state in writing their reasons for not making the modifications. In addition, the revised interface should include (1) JavaScript coding for one of the "What’s the Best Move" tests (detailed above) must be functional, (2) any other necessary JavaScript to improve interface functionality and conduct form validation, and (3) a report of a high-interactive user test with at least one user. The user in this case can be any friend or associate who is not in 66-272 this semester. The report should contain a brief profile of the user as well as findings from the test itself. This report should be typed up as a MS Word document and turned in with the prototype.

This phase is due on Friday, October 6, 2000 by 5pm and is worth 15 percent of the project grade.

Phase 3: Backend Database
Students will be given an Excel spreadsheet or a flat-file MS Access database which contains appropriate data from the Razing Rooks chess students. IS students will convert this file into a relational database in MS Access. The database must be in third normal form (3NF) unless the student gives acceptable reasons in writing for sensible denormalization. Exceptional projects will also take advantage of the opportunity to set validation rules, input masks and other features available in MS Access to add database functionality.

In addition, students need to store the following SQL queries in their database:

  • NPHC ratings of all students in a particular grade division.
  • NPHC ratings and USCF ratings of all NPHC students. List should be sorted by NPHC rating (highest to lowest).
  • Rating of a particular student over an X week period (student and period X are user-given parameters).
  • List of all student NPHC rating changes over the past X week period. (X=1 simply provides a list of the current ratings). List should be sorted in order of largest to smallest improvement.
  • List of all students with a NPHC rating over/under X.
  • List of all students with a USCF rating over/under X.
  • List of a particular student’s opponents and game results over an X week period.
  • List of the airspeed of all unladen swallows ("African or European?")

This phase is due on Thursday, October 19, 2000 by 5pm and is worth 15 percent of the project grade.

Phase 4: ASP Functionality -- Set 1
In this phase, students will use ASP and VBScript to allow their site to perform the first two administrative functions as listed above in the project description. (That is, the student profile/performance forms should be fully functional and changes made should appear in other appropriate places on the site.) This phase is due on Friday, November 11, 2000 by 5pm and is worth 20 percent of the project grade.

Phase 5: ASP Functionality -- Set 2
In this phase, students will use ASP and VBScript to allow their site to add functionality to the remainder of their site, including the "Ask the Coach" section and the query ability from the student and administrator sections. This phase is due on Friday, December 1, 2000 by 5pm and is worth 20 percent of the project grade.

Phase 6: Final Version with User Test Report
The final version of the project is due on December 8, 2000 at 5pm. In addition, students will submit the results of a low-interactive user test in a MS Word document. The test must have at least three participants, one of which is not associated with 66-272 this semester. More specifications for the user test will be given later. Once again, this final phase is due on Friday, December 8, 2000 by 5pm and is worth 10 percent of the project grade.

 

 

 

       
  You have been visiting:
http://www.andrew.cmu.edu/course/66-272/272projectF2000.html

A link back to the main CMU page
I know, like you really need or care about it.
Just tryin' to be a good CMU citizen here...
Wonderful hack news site!   Quchta' joH Yahweh HoSwIj.