Yorkville High School Computer Science Department
Yorkville High School Computer Science Department on Facebook  Yorkville High School Computer Science Department Twitter Feed  Yorkville High School Computer Science Department on Instagram

Yorkville High School Computer Science

ASSIGNMENTS: No Current Assignments

User Interface Design :: Projects :: Word Finder

Rubric
Lesson (Input)
Lesson (Output)
Due: Database Error

Problem

This problem set asks you to build a small user interface that searches a list of words using the set of core technologies that drive most modern web applications, namely HTML, CSS, and Javascript. You will be provided some backend code that does the heavy lifting (actually loading the word list and searching it) as well as the design of the user interface. Your job is to implement it using HTML, CSS, and Javascript.

To do this assignment, you'll need to know how to:

Here are some useful reference sources for HTML/CSS/Javascript:

Instructions

Download this zip file to use to start your project. Feel free to change these files as you see fit. The archive contains the following files:

Word Finder Basic Layout

First, build an interface that looks like this. There should be margins between and around the elements as shown. No behavior is required to earn the points for this part, just a static, fixed-size layout. The <select> widget (which is showing words in the figure) should have a handful of words in it. You will want to use HTML form elements whenever appropriate.

Improve your interface so that when the program is first run, the select element displays the small dictionary we gave you, as shown in the figure. The label above the select element should display the number of words in the word list, as shown.

Searching in Word Finder

The Find input field contains the user's query. When the query is blank, the list box displays the entire word list, as shown above. Whenever the query changes, the list box immediately updates to display all words that contain the query text.

The list box should update constantly as the user types. Pressing Enter should not be necessary. (Hint: jQuery's event handling API makes this particularly simple, see the documentation here). Be careful about which keyboard-related events you decide to listen to.

No Results in Word Finder

If none of the words contain the query, the list box should be empty.

Clearing Word Finder

The Clear button should clear the query field, restoring the list box to displaying all words again.

Big Window in Word Finder

The window should be resizable, with all extra space going to the query field and the word list. You may need to use some Javascript to dynamically set the height of the <select> word list based on its parent's height.

Turn in your project to Google Drive when you're done.

Extension

If you found this assignment easy and you're inclined to go further, here are some ideas for optional improvements:

Yorkville High School Computer Science Department on Facebook Yorkville High School Computer Science Department Twitter Feed Yorkville High School Computer Science Department on Instagram