## Modeling Your World #math #programming: Integrated Math III and Software Development

Overview Course Content Course Materials- Length of Course
- Full Year (2 semesters; 3 trimesters; 4 quarters)
- Subject Area - Discipline
- Mathematics (C) - Mathematics III
- UC Honors Designation
- No
- CTE Sector
- Information and Communication Technologies
- CTE Pathway
- Software and Systems Development
- Grade Level(s)
- 10 - 12
- Prerequisites
- Successful completion of IM 2 or equivalent

## Overview

** Modeling Your World #math #programming** is an Integrated Mathematics III and Software Development course that explores the world of computer programming through the mathematical modeling of concepts such as polynomials, logarithms, exponentials, functions, statistics, trigonometry, and rational expressions. Through linking the real-world applicability of project-based learning, such as exponential models based on population growth, students see patterns, test hypotheses, and solve problems. Mathematical modeling is built into the course throughout and reinforced through creating and coding algorithms, teaching students the importance of clarity and precision of language whether they choose to pursue college and career goals in the field of mathematics or computer science. Students will leave this course with not only higher level math skills, but experience in software development. This project-based course features topics ranging from the world of social media to data visualization for disaster planning.

## Course Content

### Unit 1 : How Does a Graphing Calculator Work?

#### Unit 1 Description

This introductory unit will answer the question: how does the power of being able to construct an algorithm make patterns easier to understand? In this unit, students receive an introduction to a variety of functions, including rationals and polynomials. These topics, and specifically the idea of understanding the structures within functions, lend themselves to learning fundamental programming concepts and methods. All programs can be written in any language with an Integrated Development Environment (IDE), such as Scratch or Snap. The end of this unit will result in the production of a program that can graph a given function, essentially simulating a graphing calculator. Each programming assignment will continue to build in complexity. Students learn how to prompt for input, plot points, use loop constructs, and use string operations.; as we add more functions to their “calculator”. The resulting program is a graphing calculator from outside, and behind the scenes, it is a mini-compiler, scanning what users will enter as input, performing the equivalent operations, and outputting the correct answers. Students will continue to increase their fluency in both mathematics and software development. The coding process allows students to express and reinforce their understanding of the programming structures and the mathematics behind the graphing.

#### Unit 1 Key Assignments

1.1 Introduction to Coding

Students are introduced to a programming language with IDE, and some simple commands to prompt for input, and to plot a point. They write a program that prompts for the x- and y-coordinates of a point, then plot a point on the Cartesian plane using the given (x, y) coordinates. Students also plot the same point by hand on a worksheet, predicting the behavior of the program that they have written. They repeat the plotting process (both through the program and by hand) for several points provided by the teacher. Students check for discrepancies between their predictions and the actual behavior of the program, determining whether the error is in the program code, their manual plot, or both, then explain and correct the error(s). Students submit the program code, a screenshot of the results of the program, the worksheet of their manual plots, descriptions of any errors and corrections, as well as a one page write-up of how they can justify their programs meet the given requirements. The write up for this assignment, along with the write ups for all future assignments will be kept in a digital portfolio so that students can access their files as a code bank for later projects as well as view a documentation of their progress throughout the course.

1.2 Program to Graph a Linear System

Students learn to generate a line using “many” points, which leads to the concept of loops. Given the domain for graphing (lower and upper bound for the graph, not necessarily the domain of the function), students discuss how the number of points they will need to plot depends on the increment (distance between the points). Students should see that the smaller the increment, the more points will be plotted, and the overall effect of the points is more like a line. Using the plotting program from the previous assignment, students expand the code to plot a series of points that are dynamically generated according to a given system of linear functions. Students must first analyze the problem, in this case, how do we tell the computer to graph a line? or what commands do we need to write this program? This program prompts for a lower and upper bound for the x coordinates, and the values of m and b in the equation y = mx + b. Students decide on an appropriate increment, and then use a loop structure to generate the points on the Cartesian plane, according to the given linear functions. Students graph the same linear functions by hand, using their knowledge of transformations. Students check for discrepancies between their work and the output of the program, determining whether the error is in the program code, their manual graph, or both, then explain and correct the error(s). Students submit their natural language algorithm, the program code, a screenshot of the results of the program, the worksheet of their manual graph, descriptions of any errors and corrections, as well as a one page write up justifying how their programs meet the given requirements.

1.3 Program to Graph a Quadratic Function

Students learn to manipulate strings, to locate characters in a string, and to extract substrings. Using the plotting program from the previous assignment, students modify the code to plot a series of points that are dynamically generated according to a given quadratic function. The students must first analyze the problem and express a possible algorithmic solution in natural language before coding their program. The program prompts for a lower and upper bound for the x coordinates, and the quadratic equation in the form of ax^2 + bx + c. This time, students must use string operations to locate strings like “x^2”, “x”, “+”, “-”, “/” in order to figure out what the a, b, and c are in the quadratic expression. Then students decide on an appropriate increment, and then use a loop structure to generate the corresponding points on the Cartesian plane, according to the given quadratic function. Students graph the same quadratic functions by hand, using their knowledge of transformations from the parent graph y = x^2. Students check for discrepancies between their work and the output of the program, determining whether the error is in the program code, their manual graph, or both, then explain and correct the error(s). Students submit their natural language algorithm, the program code, a screenshot of the results of the program, the worksheet of their manual graph, descriptions of any errors and corrections, as well as a one page write-up of how their programs meet the given requirements. Students also include an analysis of the different methods that the computer uses to graph functions (point by point plot) versus the methods a human uses (transformations), and why the different methods are appropriate considering the differences between machine and human intelligence. (Computers are good at crunching numbers. Plotting thousands of points will not bother them, but it will bother us. This is why we prefer to graph by transformations.)

1.4 Program to Graph Polynomials and Rational Functions

This is a more complicated version of Assignment 1.3 because this time, users can enter any polynomial or rational functions. In Assignment 1.3, the input string is always of the form ax^2 + bx + c and students can expect to see x^2 first, and then x. For this assignment, the input string can come in any form. Students also have to be checking for exponents because it’s not always going to be x^2, and they also need to check for matching parentheses. Due to the complexity of this assignment, students work in groups of two or three to modify one of their existing graphing programs, this time to plot a series of points that are dynamically generated according to a given polynomial and rational function. Students must first analyze the problem and express a possible algorithmic solution in natural language before coding their program, paying special attention to the situations in which the function will return undefined values. The program should prompt for a lower and upper bound for the x coordinates, and the string representing the polynomial or rational equation. This time, the program must parse the string to figure out the equation before plotting the corresponding points on the Cartesian plane, paying attention to situations in which the y value is undefined (asymptotes). Students graph the same functions by hand, using transformations if possible. Students check for discrepancies between their work and the output of the program, determining whether the error is in the program code, their manual graph, or both, then explain and correct the error(s) . In addition to the finished program, screenshots of the graphs and completed worksheets, each team submits a two page write-up on how their program meets the given requirements. The write-up will also explain how modifying their original program enabled students to create a more complex program according to changing specifications. Students reflect on the error analysis process, how well the group worked together, what could have gone better, and how creating the program affected group members’ understanding of the mathematics. Students include an analysis of how this project helped them gain a better understanding of managing complexity both mathematically and in computer programming.

### Unit 2 : How Does Modeling Enhance Our Ability to Interpret Data Sets?

#### Unit 2 Description

After the study of polynomial and rational functions in Unit 1, students are reintroduced to exponential and logarithmic functions in the context of modeling real world phenomena, answering the question: how does modeling enhance our ability to interpret data sets? Students learn more programming skills like recursion, using parameters, and the if-then-else construct. They learn different data structures and search algorithms and when is one more appropriate than the other. Students create programs that accurately represent exponential growth and exponential decay through iterative methods that reflect the growth after each unit of time. They will use these models to derive a framework for explicit exponential functions. Logarithmic and exponential equations are solved with a focus on using logarithms to solve exponential equations and rewriting logarithmic equations in exponential form. Students compare the results of using logs to solve exponential equations using their programs to iteratively “guess and check.” Students analyze data sets and justify the use of exponential and logarithmic models by calculating the correlation of coefficient to decide if the model is a “best fit”. Once a reasonable model is found, it is used to extrapolate values outside of a given data set. Students interpret these values and form conclusions to make an informed decision about their validity in the real-world. Throughout the unit, students are expected to justify their algorithms and evaluate the accuracy and limitations of the chosen models. While working with exponential models, the use of log-scale is discussed for purposes of better data visualization.

#### Unit 2 Key Assignments

2.1 Social Media: Geometric Sequences

Students learn to program with recursion. In this assignment, they are required to graph the effect of exponential growth by controlling the size and positioning of symbols. Given a scenario that can be modeled using discrete exponential growth (for example: the student shares a photo with 3 friends and those three friends share it with three more continuing in this pattern), students examine the rate at which people see a picture posted on social media and create a program that will allow them to look at the effects of changing the growth rate and number of iterations. Students create a program that reflects their understanding of discrete exponential growth and interpret the outputs for different growth rates with a focus on the impact of exponential growth in the real world and its validity. Student work will be evaluated based on whether the code accurately represents discrete exponential growth and its ability to predict the amount of time or the amount of viewers.

2.2 Using technology and iterative methods to compute interest

Students learn to write procedures with parameters. They create a program that prompts the user for an interest rate, principal amount, and number of years, then uses iteration (or recursion) to calculate the compound interest. In this case, students must first write a method with parameters (interest rate and principal amount), and then either iterate the method or use recursion on the method n times (where n is the number of years). Students will analyze the value of each variable during each iteration of the program in order to connect iteration to the explicit exponential function. Students create a new program that uses the explicit exponential function to compute compound interest and compare the results to the iterative program. They will also submit a one page write-up of how their programs meet the given requirements, including the effectiveness of their user interface. Programs and associated write-ups will be evaluated on the correctness and clarity of their code and their ability to explain and justify the algorithm using appropriate mathematical language.

2.3 Use Carbon Dating to Determine Age of Artifact

Students learn the if-then-else construct and searching algorithm in this assignment. Students are introduced to different sorting and searching algorithms, and when to use which algorithm. To do this assignment, first they research information about the methods of carbon dating, including the rate of decay for carbon-14 and the original proportion of carbon-14 in living systems and justify the validity of those resources. Then they create a program that prompts for the level of carbon-14 in an artifact and returns the artifact’s estimated age. Students discuss and decide on the appropriate searching algorithm. Using the half-life formula, this program iteratively guesses and checks time values to find the amount of time it would take for the carbon ratio to reach the given proportion. (Hint: If the proportion is too high, then we will reduce the guessing time; else we will increase the guessing time. The guessing time is calculated using the searching algorithm chosen.) Afterwards, students use logs to solve directly for the time in the in the exponential decay model, then compare their solutions against the solution given by their program. They also submit a one page write-up to justify how their programs meet the given requirements. Students are evaluated on the correctness and clarity of their code and their ability to explain and justify both methods using appropriate mathematical language.

2.4 Apply Exponential Model to Data Set (population growth)

Programming wise, students learn different data structures like files, arrays or lists. They need to handle a large amount of data, and they cannot just store these values in separate variables. Math-wise, they learn the formula for calculating the correlation coefficient (r) to see how well a formula is modelling the data. For this assignment, students get the population data from three different countries, taken from the World Bank website, or other similar resource, write a program, using an appropriate data structure to manipulate the data, to determine the best k to be used to represent the population by an exponential model (Q(t)=Cekt), and plot the data points together with the “best fit” exponential model. Before they start, they need to decide what algorithm they will use to find k, and what value of r is considered acceptable. (The data may not be exponential!) Once an appropriate model is found, students use this model to predict future populations and evaluate the validity of those predictions, including a discussion on the possible effect of outside factors. Students are evaluated according to their ability to justify their exponential model, whether their program uses the correct data structure to accurately and effectively implement their model, and their ability to appropriately describe the behavior of their model in contrast to the data set. Students will also be evaluated on their ability to use their model to make predictions and evaluate the validity of those predictions using appropriate math language. As an extension of the assignment, students research on how being able to predict future population can be a worthwhile exercise.

2.5 Using a Log Scale/Write-up

This is purely a math assignment to solidify the logarithmic and exponential relationship. Using the data sets in assignment 2.4 which can be modelled by exponential equations, students graph the data points on a log scale (year versus log (population)). Students discuss about what they observe, why the log scale graph would appear clearer on a log scale. Students then compare the exponential graph (original) to the log scale graph, explaining the advantages of the different plots and Students turn in a 1-2 page write-up of how this project helped them gain a better understanding of exponential and logarithmic functions and their structures.

Students learn commands to detect the (x, y) coordinates of mouse clicks. The (x, y) coordinates are then stored in a 2-dimensional array.

Students write a program to approximate the area of a two-dimensional object by covering the object using triangles. Users input their area by clicking on the boundary of the area.

### Unit 3 : Modeling Real World Trigonometry Problems

#### Unit 3 Description

This unit will answer the question: How can trigonometry be used to model real world situations? In this unit, students review topics from right triangle trigonometry and expand on those ideas to develop an understanding of the behavior of the cosine and sine graphs, emphasizing the key features of trigonometric functions like amplitude, wavelength, period, etc. In this unit, students learn object-oriented programming. They learn about events triggered by mouse-clicks, creating objects with fields and methods. The first assignment is a fun way to introduce students to object-oriented programming. The second assignment makes connection between the x- and y-coordinates of the unit circle and the sine and cosine graphs. The third assignment combines all the object-oriented programming concepts and at the same time shows students that seismics waves travel radially outwards, and follow a sine graph at the same time. Students use real life seismic data on their program to see the effect of earthquakes.

#### Unit 3 Key Assignments

3.1 Area of any irregular object

One way of estimating the area of an irregular shape is to cover it by non-overlapping triangles, and the sum of the area of the triangles is an approximation of the area of the shape. Typically a point is chosen somewhere in the middle of the shape, and points are chosen around the boundary of the shape. Every two neighboring points and the “center” point form a non-overlapping triangle. In this assignment, students learn the mouse-click event. This event returns the (x, y) coordinates and they are stored in an object (coordinates). Students write a program to approximate the area of a shape by allowing users to input their (x, y) coordinates by selecting points on the boundary of the area. Students explore the effect of increasing the number of points clicked around the shape (meaning more triangles). Students discuss different ways to calculate the area of a triangle, some involve using trigonometry (e.g. absinC), and some do not (e.g. (bh)/2). To verify the method and for debugging, students calculate the area of the object manually by overlaying the shape by fine graph paper, and counting the squares covering the shape. Students submit their program, screenshot of the program outcome and the manual calculations, clearly justifying their choice of area formula and algorithm used.

3.2 Unit Circle

As the angle in the unit circle increases, the x-coordinate of the point on the circle follows a cosine graph, and the y-coordinate of the point follows a sine graph. Using this information, students write a program to simulate this situation. Students must create a class object for coordinates, and the class fields are x-coordinate, y-coordinate, radius, and angle. (The x- and y-coordinates are the rectangular coordinates, and the r and angle are the polar coordinates.) The program shows a point moving around the circle, starting with zero and shows the radian measure of the angle as it revolves around the circle. At the same time, there are two graphs being formed. One is the sine graph -- the y-value of the coordinate vs the angle measure, and the other is the cosine graph -- the x-value of the coordinate vs the angle measure. Students use what they know from basic trigonometric functions to evaluate sin (θ) and cos (θ) given the angle and graph these points. They can check for discrepancies between their manual results and the actual behavior of the program, determining whether the error is in the program code, their manual graph, or both, then explain and correct the error(s). Students submit their design document with their language algorithm, the program code, a screenshot of the results of the program, the worksheet of their manual graph, descriptions of any errors and corrections, as well as a one-page report of how justifying how their programs meet the given requirements.

3.3 Seismic Wave

This is a two-part assignment. Students read the information found at the webpage, What are Some Differences between P & S Waves?

*Part 1 -- Writing*

Students do more research based on the information given in the above website and write a brief summary of how seismic waves are a periodic phenomenon, paying particular attention to the big picture viewpoint (the waves travel forward in almost a straight line) and the detail viewpoint (key features like amplitude, wavelength, etc) of the waves.

*Part 2 -- Program*

Students must use object oriented programming for this assignment. Each earthquake is an object. It contains fields which define an earthquake, like initial velocity, initial depth, initial coordinates, etc. It has two methods -- one for calculating the big-picture view of the earthquake giving us information about its speed, vertical distance,horizontal distance, etc for a given location.; and the other for calculating the detailed view of the earthquake giving us information about its amplitude, wavelength, etc for a given location. It also contains many instances of location class, with fields like x-coordinate, y-coordinate. By inheritance, we know what the effect of the earthquake is given the x- and y-coordinates. Students research Lists of Earthquakes on the Internet to find real data to see how well their program models the way an earthquake travels. Students turn in their program and 4-5 outputs from the program based on different inputs. They also submit their write-up and their design document from the program, showing the pros and cons of using object-oriented programming.

### Unit 4 : #Statistics

#### Unit 4 Description

This unit will answer the question: how does data analysis help us understand the social media world? Hashtags were designed to organize messages into groups and are used on social networking sites to communicate an exchange of thoughts. This unit will focus on the statistics of hashtags. They will create surveys based on popular hashtags focusing on how the idea of surveying customers for a business can target the specific needs and desires of the customer to improve business functions. Students will write a program to simulate probabilities while working in development project teams. Students use various data structures, including dictionaries and lists, to store and manipulate information about trending hashtags. They create a program that uses control structures, functions, parameters, and variables, that will summarize the number of hashtags and present the information in a way that is more readable and useful to humans. Students take the summarization of the data and analyze it using graphs in common industry-standard software such as Excel and interpret the data. Students also design an experiment that uses hashtags, while working in a development product team. Students look at internet data and use that data find an equation that will model the data and predict the number of internet users in the future, then evaluate their results against their initial predictions.

#### Unit 4 Key Assignments

4.1 #trending #MIT

Students read the article: MIT algorithm predicts trending topics on Twitter up to five hours in advance . After reading the article the class will discuss why recognizing patterns and being able to use those patterns to predict is important. Students research websites that count hashtag usage and compare and contrast the graphs used to count hashtags. Additionally, they discuss the importance of taking data and presenting the data in a way that is understandable, through a variety of graphical representations. Through their research and discussions, they will identify the basic design elements necessary to produce effective print, video, audio, and interactive media. They will find examples of effective media, identify the elements that make them effective, and prepare a 3-5 minute presentation to the class of their research. Some websites that help with the presentation and analysis of hashtags are:

- Hashtags website information on hashtags that trended during the AMA's
- Hashtags website information on Black Friday vs. Cyber Monday

4.2 #survey #sample

Students recognize the purposes of and differences among sample surveys, experiments, and observational studies and explain how randomization relates to each.

Students research the most popular used hashtags on social networking sites. An example would be the website: Webstagram. The class creates survey questions about the hashtags and each student gives the class survey to a non-random sample of students at their school. Students analyze the results to make inferences to estimate the population mean or proportion. Students compare and contrast their results between the survey groups, and discuss why the results may have been different, and hypothesize what caused the variability in the results.

4.3 #survey #randompopulation

Using their survey from the previous assignment, students give the class survey to a random population. Students write a program that randomly chooses n distinct elements from a list and uses this to populate their sample. They give the survey from the previous assignment to the random population and compare the results from the two different sample groups focusing on how the randomization changed the results. Using appropriate methods of data representation, each student compares the survey results of their non-random sample and random sample to those of each of their classmates. Students describe in their write-up how the idea of surveying customers for a business can target the specific needs and desires of the customer and the purpose of random sampling. An extension to this would be to have students analyze the margin of error for each sample.

4.4 #simulation #theoreticalprobability

Students analyze theoretical versus simulated probabilities. Working in a project development team, students will employ a user-centered approach to design and create a program to simulate probabilistic events (i.e. rolling a die, drawing a card, flipping a coin…) and compare the outputs of their program to the theoretical values that student calculate manually, focusing on the effect of increasing the number of iterations for each simulation.

4.5 #database #frequency #graph

Businesses use hashtags through social media to market their products, and there are websites that track this information. Students examine how these databases are created. An example of this can be found at the hashtracking website

The teacher will create a large list (or array) of hashtags, using a website similar to the hashtags website. Students write a program that takes the list as an input and returns a data structure that associates each distinct hashtag with its frequency. The data will be transferred to Excel, where students will create an appropriate graph for the data to represent the frequency of each hashtag. Students complete a write-up that includes the critical function of hashtag databases, how data modeling techniques to create databases are based upon business needs, and how different data structures are used to store various types of information.

An extension of this assignment would be to compare hashtag information from other weeks or years using statistics appropriate to compare the shape of the data distribution and spread (interquartile range, standard deviation) of the two data sets.

4.6 #experiment #hashtag

Students design a study that involves the use of hashtags. Students will design an experiment that includes randomization of subjects, a control group, treatment groups, and replication. Students will work as a member of a development product team to create and write-up the experimental design.

4.7 #internetstatistics #modeldata

Students will build a function that models a relationship between two quantities using data on internet statistics. An example assignment can be taken from the Internet Lives Stats website where students analyze the number of internet users since 1993 and fit the most appropriate model to the data points. Students use this model to predict the number of internet users in the future. Students practice evaluating their results against initial requirements or predictions. Students will use a graphing program, common industry-standard software (Excel), or calculator to find the correct model and make predictions. Resource: Statkey website

### Unit 5 : How does a programming team use math modeling?

#### Unit 5 Description

Throughout this course, even though students had been using skills from the systems development process (like analysis, design, program, test, improve, etc.) and system analysis process (like modeling, handling errors, choosing the “best” strategies, etc.), they were not formally introduced to these processes. In this unit, they learn these processes and they are expected to use these skills formally for their final project. As a culminating project, students will be placed in development teams of three to four and have the opportunity to display their mathematical skills as well as their programming prowess. Students will be given a list of real world tasks to choose from that involve the mathematics they have studied so far. After researching their topic, they can either create a website, a web application, a social networking site, a blog, an app, or a game. Whatever the students choose to create, their program must either help solve the problem they are assigned or teach others about it. The topics will range from earthquakes (modeling with logarithms) to an asteroid style game (using trigonometry). This project is a true integration of programming and mathematics, as it mimics how mathematics is applied in the real world, specifically from a programming perspective. In addition, by working in groups, students gain experience with job skills related to working in teams. This project also provides for differentiation students with higher programming skill levels can choose a more complex program, while students that may have less programming experience can choose a less complex program while still being challenged.

#### Unit 5 Key Assignment

Students delve deeper into one of the topics that they learned in this course. Students will be given a list of topics taken from the previous units from which to choose. After researching their topic, they can either create a website, a web application, a social networking site, a blog, an app, or a game. Whatever the students choose to create, their program must either help solve the problem they are assigned or teach others about it. Throughout this process, the teacher will act as a facilitator, meeting individually with teams to make sure they are progressing through the necessary steps to successfully complete the project by the end of the unit. At the end of this process, students will present their software to the class and also write a 2-4 page reflective paper explaining the process they followed, including all phases of the software development cycle as well as the math connections they made.

Students can access the Code Conquest Website for ideas about what types of applications they can choose from for their math integration project.

*Possible math projects for students to investigate from the year include:*

Unit 1 Topic - The students produced a program that can graph a given equation, essentially simulating a graphing calculator. Students can investigate how to create an online calculator to graph equations, including and extending their knowledge of the equations they learned during the year.

Unit 2 Topic - Students are introduced to exponential and logarithmic functions in the context of modeling real world phenomena. Students can choose to delve further into the topics of exponents and logarithms by exploring earthquakes and the richter scale.

Unit 3 Topic - Students learned the trigonometric functions and their graphs. A possible extension of these mathematical ideas would be to use trigonometry in game programming. Resources: Online tutorial on trigonometry for gaming Part One and Part Two.

Unit 4 Topic - Students learned about surveying, data analysis, and regression using hashtag data. Students can delve further into any of these areas to create their programming project. (Students choose one from Units 1-4 above)

### Course Materials

#### Primary Text:

Title: District Adopted Textbook for Integrated Math III

Usage: Read in entirety or near entirety

#### Programming Resources:

To be used as needed for both math and CTE content as directed in each unit.

Creates stories, games and animation that students will able to share out using a graphical programming language. Easy for beginners: www.scratch.mit.edu

This website for building practice and learn to build android apps. Students will learn to be app inventors using a graphical programming language: App Inventor Website

Python is a text-based programming language easy for beginners: Python Website

Processing is a programming language, development environment and online community. To teach computer programming fundamentals within a visual context, Processing evolved into a development tool for professionals: Processing website

Teach, learn java programming and interactive website to make learning java program easier: Greenfoot website

Students learn to code while building a project in six different program languages:

Code Academy Website

Another website that builds software, code review, code management and group projects, allowing students to collaborate on programming projects: GitHub Website

Compile Online allows users to test their code in many different programming languages, including python, Java/Javascript, C/C++, and LaTex: Compile Online Website

These websites will help the students create maps and research maps: Mapbox Website, Maptime Website, David Rumsey Map Collection Website

This website for analyzing and visualizing geospatial data: Carto Website

Link to Article: MIT algorithm predicts trending topics on Twitter up to five hours

Students will build a function that models a relationship between two quantities using data on internet statistics. An example assignment can be taken from website: Website: Internet Live Stats

This website introduces statistical inference through these resampling methods, not only because these methods are becoming increasingly important for statisticians.

Lock5Stat website

The website will students and teacher the top hashtags in instagram, twitter and tumbler:

Website: Tep Hahstags on Instagram

This website is an independent, nonpartisan resource on trends in American public opinion teachers can use for statistics: Polling Report Website

#### Teacher Resources:

A community for women to understand technology and to build their ideas. They provide a great experience on building things and by making technology more approachable. Learn sketching, prototyping, basic programming and get introduced to the world of technology: Rail Girls Website, Black Girls Code Website, Engineer Girl Website.

Math in Science worksheets for earthquakes and lesson plans for math:

PDF: Earthquake Power worksheet

Population Data from World Bank website