A name-searching program I had to write for a class once, written in Java.
There is a local text file called "names.txt" with a list of all the names that have been ranked in the top 1000 during the 1900's. Names are followed by numbers corresponding to their ranking that year, starting with 1900.
There is a basic command-line based menu with several options for what to do. The options are:
Enter 1 to search for names (full or partial). Enter 2 to display data for one name. Enter 3 to display all names that appear in only one decade. Enter 4 to display all names that appear in all decades. Enter 5 to display all the names that are more popular in every decade. Enter 6 to display all the names that are less popular in every decade. Enter 7 to display the top 10 most and least popular names for a decade. Enter 8 to quit.
Option 7 we were supposed to create our own option (as opposed to implementing whatever the professor's instructions were for the other ones). I chose to display the top 10 most and least popular names for a given decade, although my original goal was to find trends in names based on culture and see if there were correlations to events at the time (the name "Muhammad" spikes after Kennedy's immigration bill in the 60's, etc). However, due to the unrealistic time requirement of this, it never materialized.