A kind of interactive identification key would be nice - but you may need help from an experienced birder to develop the key!
In the background you'll have a matrix with a set of characters and character states (e.g. bill shape = character, with various options (=character states), such as "small and short", "scimitar-like", "spoon-shaped" etc. under it) on one side (as rows), and on the other side (columns) you'll have a list of birds. The character states get matched to the birds in the matrix, by using a '1' for a positive and '0' for a non-match. Then you'll present it in a visually appealing (non matrix) way that makes it easy for the user to use (check out Lucid interactive keys -google it- for examples), which can be ticked in any order.
Bill shapes, with "clickable" icons showing various options, depending on selection, a lot of birds get eliminated from the list of possibilities.
other characters would include:
bill colour, habitat, how long is the tail relative to the body and so forth (many many options - for the more experienced birder you may even have categories such as "sea birds", "water birds", "LBJs" or more specifically families such as "pipits", "thrushes" etc as options).
The idea is that the user will select those characteristics that he/she observed, thereby eliminating a set of possible birds from the list, and hopefully ending up with one or only a handful of options that he/she can than visually compare with the bird seen. The user does not need to know everything, he just ticks off what he does know, and get closer to an ID in that way.
Or is this too big for the assignment?