##### Activity
# Introduction to Big Data

### AP Computer Science Principles: Learning Objectives
- LO 3.2.2 Determine how large data sets impact the use of computational processes to discover information and knowledge. [P3]
- LO 3.3.1 Analyze how data representation, storage, security, and transmission of data involve computational manipulation of information. [P4]

## What is Data?
Data, in the context of Computer Science, is stored information. A computer stores all sorts of data: instructions on how to execute a program, the contents of your word documents, the background image for your desktop. All those are forms of data which are abstracted differently based on their use. It is important to understand the context of data when displaying it. Displaying the binary values that make up an image isn't useful, and conversely, displaying a compiled program as an image doesn't have much use either!

## What is Big Data?
As computers have advanced and storage costs have gone down, people have started storing more and more information about the world. A spreadsheet that used to fit in a room-sized 4 megabyte hard drive used to be "big data". Now? Google is estimated to store 10+ exabytes of information. An exabyte is 1,000 petabytes... A petabyte is 1,000 terabytes... And a terabyte is 1,000 gigabytes! So around 1,000,000,000 gigabytes of data is stored and processed by Google. That's around 16 million modern video game installs!

## How can we interact with and manipulate big data?
In contrast to "small data", or data which can be read and easily understood by individuals, big data is data that cannot be understood at a glance. Usually the dataset is so massive that a single person cannot understand every aspect of it at once. This is why we manipulate large datasets to help us understand them. 

A list of populations of each city makes it hard to find any patterns, but color each city on a map, you can start to see population centers across the various countries.

Trying to monitor all the tweets as they come in is nearly impossible. However, picking a keyword and highlighting tweets that match can help a person identify events as they happen.

Think of working with big data as trying to create an abstraction. Simplify what you need into a series of inputs and 

## Activity 1: Census Explorer
### What you need: 
- census.gov's Census Explorer: https://www.census.gov/censusexplorer/censusexplorer-youngadults.html
- Some way to record information and compare (Paper and pencils. Computer and a note-taking or spreadsheet program.)

Interact with the census.gov's Census Explorer to find out how your school's county compares with another.

Locate your home county on the website and record various details for the current slice of time. Be sure to record both the percentages and actual counts. Pick three categories to record and log all the values between 2009 and 2013.

Pick a neighboring county and record it's values for the categories you picked. Compare between the two. Are there any major differences between the two? What does the data say about the two countys when viewed that way? Does it reflect your perception of these two countys?

### Discussion Questions
- How much disk space do you think this census takes? 1MB? 1GB? 1TB? More?
- Are you able to identify any specific person or group through the census data? If so, who could you see? If not, why do you think this was?
- Can you think of any risks of having publicly accessible census data available to anyone in the world?


## Activity 2: Group Data Exploration
### What you need: 
- Link to TED Talk https://www.ted.com/talks/kenneth_cukier_big_data_is_better_data?language=en#t-746603 
- Links to large data sets, such as:
 - https://www.data.gov/ 
 - https://www.cia.gov/library/publications/the-world-factbook/ 
 - https://aws.amazon.com/datasets/ 
 - http://www.gapminder.org/data/ 
 - https://www.google.com/finance?ei=16GnWbGlGMW-jAHuy5iABQ 


Begin by showing the TED talk linked above. Then lead a short discussion debriefing the video for about five minutes. Use the questions listed below if you need starting points.

Next, split the students up into small groups of 3 or 4 people. Each group should explore at least two different big data sites. For each site, the group should determine if the site contains big data, how the site visualizes the data, if the visualizations are helpful, and where the data is coming from. In addition, the group should download at least one large data set as a CSV and try to open it. Each group should submit their findings from each site and from the CSV download in writing at the end of class.

### Discussion Questions:
- How would you describe big data?
- How do large data sets impact the use of computational approaches?
- What are the security concerns with large data sets?
- How are large data sets transmitted?
- How are large data sets manipulated?
- What kinds of visualizations can be used for large data sets?
