In this project we are going to take a look at 25 years of 'The
Simpsons.'
There is a large amount of data available at
http://simpsons.wikia.com/wiki/Simpsons_Wiki and there are a bunch
of other web pages around where you can get more information.
There will be about 550 episodes by the end of the current 25th
season with 200 main characters, 2500 total characters (including
people, animals, etc) voiced by 12 major voice actors. The web
pages have a large number of images.
The application should help the user investigate various things
such as:
- What important characters at the beginning disappeared
later on?
- What important characters only appeared later in the
series?
- Which characters are always seen together?
- Which voice actors voiced the most characters in a single
episode?
- Which characters appeared (even briefly) every season (or
most seasons)?
The data in this project can be organized by time for the list of
seasons and episodes and by groups for the various characters.
For a
C you need ...
- start the app with an overview of the entire series showing
the relative importance of the various characters based on the
number of episodes they were in
- pick a character from a list of characters, where the common
characters are easier to pick, and see which episodes that
character appears in over the entire series and how many
episodes that character was in on a timeline of the episodes
- pick an episode from a list of all episodes and see which
characters are in that episode along with other data on the
episode (title, air date, ratings, etc)
- pick a season from a list of all seasons and see how many
episodes each character was in (graphically and textually)
- be able to switch between textual names and icons for each
of the characters
- an about screen with details on who wrote the project, where
the data came from, etc
For a
B you need to add ...
- pick a season from a list of all seasons and compare which
characters were in the most episodes that season (graphically
and including actual numbers)
- pick up to five characters from a list of characters and see
their relative importance per episode across the timeline of
all the episodes across each season
- be able to hide the most popular characters and focus on the
minor characters or hide the minor characters to focus on the
major characters
- allow the user to choose groups of characters (immediate
family, extended family, nuclear plant, school, police,
neighbors, animals, etc) and see which episodes featured those
sets of characters
- allow the user to choose a location and see which episodes
took place at that location
- show which characters commonly appear together in the same
episode
For
an A you need to add ...
- allow the user to investigate the data by voice actor
- show the social network of each of the characters with more
shared episodes being a stronger bond
- investigate trends, changes
- document interesting findings
There are two deadlines for this project. By the first
deadline you should have implemented the initial screen layout
of your application and have the basic functionality allowing
the user to perform an example of the various 'C'
functionality. That is, you dont have to have all of the data,
or all of the states, or all of the commodities, but you do
have to have a working example showing how the user will
interact and how the visualizations will look. This will make
sure that your group is on track and that you can focus on
making a good interface and set of visualizations, not just
functional ones. Personally, I think you should have the
entire C functionality done at that point if you are going for
an A on the project as a whole. You should make this version
of the interface available on your group project page.
You should create a set of web pages that describe your work
on the project. This should include:
- 1 page on how to use your application and the things you can
do with it.
- 1 page on the data you used including where you got it, what
you did to it.
- 1 page with links to the source code and any instructions
necessary to install and run it. These instructions should
start from the assumption that the reader has a web browser on
their computer and tell the user everything else he/she needs
to know to get the code and get it running.
- 1 page on what interesting things you found using your
application.
- 1 page on the roles of the different team members
all of
which should have plenty of screenshots with meaningful
captions. Web pages like this can be very
helpful later on in helping you build up a portfolio of your
work when you start looking for a job so please put some effort
into it.
Be sure to document any external libraries or tools that you make
use of - give credit where credit is due.
You
should also create a 2-3 minute YouTube video showing the use
of your application including narration with decent audio
quality. That video should be in a very obvious place on your
main project web page. The easiest way to do this is to use a
screen-capture tool while interacting with your application,
though you will most likely find its useful to do some editing
afterwards to tighten the video up. Its also a good idea to
have a video like this available as a backup during your
presentation just in case of gremlins. Y
ou may want to shoot this
video on the wall itself from a phone with one of your team
members interacting.
The web
page including screen snapshots and video need to be done by the
deadline so be sure to leave enough time to get that work done.
I will be
linking your web page to the course notes so please send me a
nice 1280 x 720 jpg image of
your visualization for the web. This should be named
p3.<someone_in_your_groups_last_name>.jpg.
When the project is done, each person in the group should also
send Jason and Andy a private email with no one else cc'd ranking
your coworkers on the project on a scale from 1 (low) to 5 (high)
in terms of how good a coworker they were on the project. If you
never want to work with them again, give them a 1. If this person
would be a first choice for a partner on a future project then
give them a 5. If they did what was expected but nothing
particularly good or bad then give them a 3. By default your score
should be 3 unless you have a particular reason to increase or
decrease the number. Please confine your responses to 1, 2, 3, 4,
5 and no 1/3ds or .5s please. We will average out all these scores
for projects 2 through 3 and keep them in mind when assigning
final grades to projects 2 through 3.
Each group will show their
visualization to the class and describe its features. This
allows everyone to see a variety of solutions to the problem,
and a variety of implementations. Rehearse your presentation
... several times. All team
members are expected to participate equally in that
presentation. During each talk each group in the audience should
write one question for the speaking group, and write it on lore
at the end of their presentation. The speaking group should add
a page to their website giving the questions (and the group who
asked it) and an answer to the question.