Term Project

Thirty percent of the grade for this class is based on a term project. Since students in the class are likely to have different skills and interests, I am allowing you to develop your own Semantic Web project (subject to my approval, of course). The project may either be a paper on some topic related to the Semantic Web or can be the development of software that demonstrates a capability of the Semantic Web. If you choose a programming project, you will be expected to demo it (either prior to the end of classes or during the exam period).

I am giving this to you now so you may begin thinking about what your project will be. For example, you may get an idea for a project while working on your Tool Tutorial and Report, from one of the presentations given by your classmates, or from one of the papers you read. I have also included some suggestions at the end of the assignment. You must turn in a project proposal by 2:35pm on Tuesday, Nov. 4. Your term project is due by 5pm on Wednesday, Dec. 10.

Project Proposal

Your project proposal will serve as your project description. Therefore, it should describe what you intend to do in as much detail as possible. It should include a schedule that describes what you intend to accomplish each week leading up to the due date. Your proposal should be at least one full page in length, but no more than four pages (single-spaced). You should discuss your project idea with me before submitting the proposal. A hardcopy is due at the beginning of class on Tuesday, Nov. 4.

If the proposed project is a paper, then this proposal should describe the problem you are examining and why you think it is interesting. It should also suggest what kind of work you intend to do to solve the problem. In particular an initial list of potential references should be included. All papers must include some original thinking. Thus acceptable papers might be proposals for extending Semantic Web technologies, or discussions of how the Semantic Web could be applied to a specific problem. Surveys of a particular set of technologies are allowed only if they include an original evaluation of the pros and cons of the state-of-the-art.

If you choose a programming project, then the proposal should provide a detailed description of what your software will do and why this would be useful. You should describe what programming language you will use, what platform it will run on, and what supporting software you will use (e.g., Xerces, Jena, etc.).

Progress Reports

You are expected to work on the project every week from the time you turn in your proposal to the day it is due. I want you to send me short weekly progress reports. These reports should be sent every Friday by e-mail and should briefly (one or two paragraphs) describe what you accomplished that week. You should compare your progress to the schedule laid out in your proposal, and describe any particular difficulties or problems you've encountered.


Your term project is due by 5pm on Wednesday, Dec. 10. Here is some information concerning what is expected for both papers and programming projects.


Your should submit a hard-copy of your final paper to me. Your paper should be clearly written, with no spelling or grammatical errors. It should be between 15 and 30 pages long, double-spaced. It should contain an abstract, introduction, multiple body sections, conclusion and a list of references.

Programming Projects

Your programming project should be of significant size, at least 1000 lines of your own code. Your programming project submission should include:

This should be submitted electronically (either by e-mail to heflin@cse.lehigh.edu or on disk) in a compressed format. If you wish, you may turn in hard-copies of the setup and user instructions, instead of submitting them electronically.

The setup instructions should describe the required platform (e.g., Windows 98, Sun Solaris, etc.), programming language (e.g., Java 1.1.8), and any special configuration steps that are needed to run your software. This should probably be about half a page. The user instructions need only describe how to start your software and use its major features. If your software is reasonably intuitive, then this can be very short, hopefully one page or less.

You are also required to give a demonstration of your software to me before Friday, Dec. 12. Please schedule this demo with me by Dec. 5. It should be about half an hour long and can either be in my office or in one of the computer labs in Packard.

Project Ideas

I realize that you may have some difficulty choosing a project, so I have included some suggestions below. Please realize that you are not required to choose one of these projects! If you think you have a cool idea, then talk to me about it. If you are having trouble choosing a project, then you may also wish to look at the class reading list to see if the topic of an upcoming paper might inspire a project. In all cases, it is strongly recommended that you discuss your project ideas with me prior to writing the project proposal.

This list of projects is only meant as a starting point. Some of the projects described here may be more difficult than others, and some projects may be easier if you have a particular background or skill set. Each student is encouraged to develop a project that meets his or her interests and abilities.