Tags: %TAGME{ tpaction="" web="SCMP391" tag="" }% view all tags

Project 6 - Massive Word Search

Team Project

  1. Algorithmic and Architectral Design - April 24
  2. Experimental command line code to
    demonstrate algorithm - April 28
  3. User Interface Design - May 1
  4. Team Presentation - May 9
  5. Complete System - May 9


  1. To work as a team to design and build a system to do an instantaneous (less then 5 seconds for complete search) search of over 32,000 text files (40GB of data) from Project Gutenberg. This files are found on cslab.kenyon.edu at /home/skon/books.
  2. To reflect on the benefits and challenges of team software development


Teams will be forms by the professor. The teams will work together, and closely with the professor professor to design and build a system to search and display matches, with books titles, quickly (under 5 seconds).


0. Reflections on team software development (complete 3 by May 5)

Throughout this process you are to reflect consciously on values, pitfalls, and lessons learned about team software development. You will be required to reflect on these aspects 3 times throughout the project, on three different days. There is a google form that you will submit you answers to here: Google Form

1. Algorithmic design (April 24)

The teams will begin by brainstorming methods to allow quick searching of the large document repository. This will include creating command line experimental programs to test and demonstrate the capabilities of the proposed techniques. You MUST prove that your methods can work BEFORE you move on to the next step.

First design an algorithm and architecture you believe will meet the prerequisite performance, and justify your belief in the performance. Include estimates of how much memory and disk space is required for your solution.

Each team will meet with the professor to get approval of design, as a team.

Moodle Link

2. Experimental proof of concept program to prove/refine algorithmic design (April 28)

A command line program should be written that tests the ideas you made for step one. The idea is to make sure you design is going to works as you expect it to work, before you commit to a full system based on that design.

For example, you might write a program that builds an index and then allows a search term to be entered, and then the program generates and displays a list of all matches in the form of a numbered list of Book titles, plus the number of matches for each book. Perhaps it could also allow you to select a book, and print the matches in the book.

What you do here depends on what you need to test.

You will need to turn in the code, a few meaningful runs, and a writeup explain the significance of the experiment and the runs.

Moodle Link

3. Complete Architectural and user interface design (May 1)

Each team will design the complete architecture of a web based solution. You should use my code as a starting point. What features are reasonable, and will make the product useful?

Moodle Link

4. Team Presentation (May 9)

This is a formal (team) presentation of the final state of project 6. The presentation should address the following topics:

  1. A review of the processes and timeline of your project
  2. A review of the solutions (algorithms and data structures) explored, the experiments done to prove (or disprove) the viability of each, and the results of the experiments.
  3. A description of the final solution, including a graphical illustration of the techniques employed, along with (small) code snippets (if appropriate). I want you to carefully and completely describe the architecture and algorithms of your solution. A big part of the grade will be how clearly and concisely you describe your solution. (It will certainly include visual diagrams of the solutions)
  4. A empirical evaluation of the resulting solution (actual numbers) that shows both the time and space required for the solution, and includes both the index creation and the. Tables (concise) and graphs are appropriate.
  5. A clean demonstration of the systems operation.
  6. An evaluation of the what mistakes you made, what you learned, how you would do things different. What wrong assumptions did you make.
  7. A conclusion
5. Final system (May 9)

There will be a final presentation of the system, with algorimthmic and architectural designs given, and a demonstration.

Moodle Link

Project 3 Team Assignments

Team Name Team Members
Team 1 Alperin, Jessie
Murphy, Aidan
Solorio, Christian
Team 2 Coire Gavin-Hanner
Seaver, Alexander
Team 3 Fukuyama, Miku
Vance, Spalding
Yanqi Xu
Team 4 Juviand Rivera
Wilhelm, John
Neau Tess
Team 5 Schutz, Joey
Twitchell, Natalie
Basting, Preston
Team 6 Ogilvie-Thompson, Harold
Iduma, Elizabeth
Grigull, Bennett
Team 7 Olivier, Daniel
Khan, Malik Ahmed
Ghada Bokbauk
Topic attachments
I Attachment History Action Size Date Who Comment
JPEGjpg openredbook.jpg r1 manage 40.3 K 2017-04-17 - 14:40 JimSkon  
Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r5 - 2017-05-09 - JimSkon
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback