CS 212 Software Development

CS 212-01, CS 212-02 • Fall 2019

Project 4 Final Project

Associated Assignments Project 4 Web Crawler
Project 4 Search Engine

For this project, you will extend your previous project to create a fully functional search engine. This project is split into two main components: (1) a multithreaded web crawler using a work queue to build the index from a seed URL, and (2) a search engine web interface using embedded Jetty and servlets to search that index.

This is the last project for this course. There will be no code review/design grade for this project, only a 2-part functionality grade instead. The grade breakdown and eligibility requirements are as follows:

Points Description Eligibility
100 Web Crawler
Functionality
You fully must pass the functionality of project 3 to be eligible for these points. See the project verification guide for details.
30 Search Engine
Core Functionality
You must fully pass both the functionality and the design of project 3 to be eligible for these points, as well as fully pass the web crawler functionality.
70 Search Engine
Extra Functionality
You must fully pass both the functionality and the design of project 3 to be eligible for these points, as well as fully pass both the web crawler and core search engine functionality.

Students may complete additional functionality for the search engine as extra credit. The overall project category grade will be capped to 115% at the end of the semester. For example, if you completed enough extra credit to earn a 125% in the project category by the end of the semester, your project grade will be capped to 115% instead.

The search engine core and extra functionality will be graded in your final code review appointment during finals week. See the web crawler and search engine writeups for more functionality details.

 Regardless of what you implemented, you will NOT earn points for the search engine core functionality if you are not passing all of the web crawler tests, and will NOT earn points for extra functionality if you have not fully implemented the core functionality!
 You are still expected to deliver professional-quality code for your final code review appointment. This includes formatting, Javadoc comments, proper exception and resource handling, and proper generalization and encapsulation. Failing to do so may result in a point deduction to your final project 4 grade.