Road Map to Algebra 2 Equivalent (A2E) course with Computer Science Connections

Author: Prof. Chris Orban (OSU / STEMcoding Project)

This outline describes an Algebra 2 Equivalent (A2E) math course with numerous connections to Computer Science. The course is intended to align with relevant math and computer science standards. There are also connections to physical science standards because it starts with "the physics and math of video games" activities. There are lots of good connections to high school math in the "physics and math of video games" suite of activities. Starting with the physics of video games (instead of some other topic within algebra and computer science) is a choice that allows students to familiarize themselves with the coding environment while they complete activities that produce playable 2D video games. This is preferable to starting, for example, with an activity to calculate the digits of Pi. This too is an interesting activity but it is not quite as engaging to start with as simple video games. It also bears mentioning that physics-kinematics is part of AP calculus.

This outline is more of a road map than a syllabus. There are still activities that need to be created to fill in the gaps.

This course is intended to be taught by a math educator who may or may not have a full CS endorsement on their license.

There are four sections to the year-long course:

1. The Physics and Math of Video Games

2. Calculating the Digits of Pi and other interesting applications of trigonometry

3. Cybersecurity, Cryptogrpahy and Probability/Game Theory

4. Data Science

In terms of a coding environment, the course mostly uses p5.js which is a graphics library for javascript programming. Code.org typically uses javascript but with a different graphics library. The encryption module in the Cybersecurity section will use python. The Data Science section mostly uses p5.js to generate random data that is saved to a spreadsheet (.csv) that students download and open in a spreadsheet program like Google Sheets.

Links to Video Tutorials from the STEMcoding Youtube channel are provided where available. These videos are recorded in Columbus and Marion.

Here is the full description of the course in as much detail as can be provided now

Part 1. The Physics and Math of Video Games

Introduction to the p5.js coding framework (Tutorial Video)

Intro Lab 1. Move-the-blob exercise (Tutorial Video)

Concepts: constant velocity, graphs of quantities versus time, motion maps, pythagorean theorem, qualitative idea of vectors

Intro Lab 2. Accelerate-the-blob (Tutorial Video)

Concepts: velocity, constant acceleration, graphs of quantities versus time, motion maps, pythagorean theorem, qualitative idea of vectors

Intro Lab 3. The Pong game! (Video Tutorial)

Concepts: velocity, kinetic energy, elastic collisions, energy conservation, solving for the unknown in a second order polynomial equation, beginner level logical statements

Intro Lab 4. Apollo Moon Landing (Video Tutorial)

Concepts: velocity, constant acceleration, Net Force, solving for the unknown in a second order polynomial equation

Intro Lab 5. Bird Launcher (Video Tutorial)

Concepts: velocity, constant acceleration, configuring a computer code to correctly plot a second order polynomial equation

Intro Lab 6. Bonk.io game (Video Tutorial)

Concepts: velocity, Forces, constant acceleration, intermediate level logical statements

Intro Lab 7. Bungee Jumping (to be created)

Concepts: velocity, acceleration from a spring force, solving a second order polynomial using the quadratic formula

Note: The Quantitative Reasoning has a Barbie Bungee jumping activity. Here, students would add the spring force into their projectile motion code. Use the quadratic formula to check the result for maximum stretch . Interestingly, the code only uses forces, so solving the energy equation with the quatratic formula to infer the maximum stretch is a good way to check the accuracy of the program.

Intro Lab 7. Planetoids (Tutorial Video)

Concepts: velocity, acceleration, Newton's laws, x and y components of vectors, trigonometry with right triangles

Part 2. Calculating the Digits of Pi and other interesting applications of trigonometry

1. Limitations of computer arithemtic (still to be created, code is here)

When adding 1.0 + small number, how small can the small number be and have the computer still recognize 1.0 + small number as being different from 1.0?

When doing multiple additions or multiplications, understand how small rounding errors can in some circumstances add together to produce a more substantial error.

When adding or multiplying numbers together, how large can a number be without the computer treating it as infinity? How large can a decimal number be? How large can an integer be?

Understand that different programming languages have different capabilities this way (python can do larger integers than javascript can for example)

The upshot: We should be able to calculate the digits of pi to at least 8 digits, but let's try calculating Pi with two different methods just to be safe

2. Graphical Estimation of Pi (Video Tutorial)

Concepts: Pythagorean theorem, x-y coordinate axes, area of square vs area of a circle, conditional statements (if)

3. Series estimate of Pi

Concepts: Trigonometry with right triangles, summing a series, lays groundwork for $\Sigma$ notation

4. Mathematical Flower activity (Video Tutorial)

Concepts: Trigonometry with right triangles, x-y coordinate axes, polar coordinates

Optional: Wave Interference coding activity (Video Tutorial)

Concepts: Maxima and minima of sine and cosine functions, trigonometric addition formulas, solving for y(x) from a polynomial expression

Part 3. Cybersecurity, Cryptography and Probability/Game Theory

Start with a lecture on Cybersecurity and how nothing is truly secure -- some methods are simply more secure than others.

Emphasize that there are situtions where you know that a message is going to be intercepted. We will talk about this situation later. First, we consider the security of passwords

1. Passwords versus passphrases (still to be created)

Your school has decided to update their recommendations about passwords. Is it harder to guess a short password that has lost of different characters and symboles in it, or is it harder to guess a password that has multiple words in it but fewer symbols (often called a passphrase)?

Write a computer program to randomly generate a three letter password including symbols and then pretend like you don't know this password and add a section to your program that systematically guesses letters and symbols until it finds the right combination. In cybersecurity this is called a "brute force" attack.

Now write a computer program to randomly generate a two word password and see how long it takes the computer to figure it out in a brute force attack.

What would you recommend for your school? Passwords or Passphrases?

What is the relationship between the length of the password, how many different kinds of characters are in the password (letters, numbers, upper-case letters, symbols) and approximately how many tries it would take to guess the password in a Brute force attack?

Concepts: Flat probability distributions, number of possibilities multiply with each type of symbol and length of password

2. Write a code to give users feedback on whether they have chosen a strong, medium or weak password

Use what you have learned to give the user a green, yellow or red light depending on how difficult it would be to guess their password in a brute force attack

Concepts: Apply probability concepts from previous activity

3. Caesar cypher activity from code.org (no coding involved) (Lesson Guide)

Concepts: Simple cryptography, frequency of letters in typical english writing

4. Public Key encryption coding activity (See Data Security section in free textbook from codebymath.com)

Concepts: Dividing two large integers and taking the remainder (modulus), applications of prime numbers

5. Game Theory: Probabilities in the Game of Risk

Concepts: Mapping all possible combination of dice to obtain probabilities, conditionals (if statements)

Part 4. Data Science

1. Night Sky Simulator (Video Tutorial)

Concepts: Dividing polynomial expressions, inverse relationships, sorting data in a spreadsheet by columns

2. Earth Day coding activity (Video Tutorial)

Concepts: Application of a cosine function, calculating max/min values in a spreadsheet, understanding the difference between climate and weather

3. Linear regression (to be created)