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. Hs 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. Hs chess club the North
Pittsburgh Homeschoolers Razing Rooks.
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 havent 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 students
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 theyve 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.
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 "Whats 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 administrators 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 administrators 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 students 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 "Whats 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 persons 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 "Whats 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 students 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.
|