The K-12 Curriculum below is modified based on the Google's computational thinking for K-12 Common Core Standards and California K-12 Content. You can also find the demo programs in Ch for math curriculum in middle and high schools.

In addition, UC Davis C-STEM Center offers comprehensive integrated C-STEM curriculum for elementary, middle school, high schools as well as colleges.

 Introduction to Ch: IntroductiontoCh.doc, add.ch, product.ch, tall.ch, average.ch, points.ch, guess.ch, guess2.ch, guess3.ch, count.ch, earnins.ch, earnins2.ch, game.ch, game2.ch, All grades Get started with some hands-on experience using Ch as both a powerful calculator and a programming language. After completing this lesson, educators and students should be familiar with the programming concepts introduced and used in the subsequent computational thinking lessons, examples, and programs. Elementary Pre-algebra Students learn to visualize the multiplication of fractions and identify patterns between the multiplicands and their product Calculate the class mean. It contains classmean.ch and StudentData.txt Middle Pre-algebra Students learn how to calculate the average of a set of data using both Ch with an emphasis on the algorithm used to perform the calculation. Ratios and Proportions. RP_cars1.ch, RP_cars2.ch, RP_lengthandwidth.ch, RP_miles1.ch, RP_miles2.ch. Middle Pre-algebra Use a computational thinking approach to develop an algorithm for answering questions involving ratios and proportions. Students will develop algorithms based on the patterns they identify after decomposing questions Percent change Middle Pre-algebra Use a computational thinking approach to teach students to calculate percent change between any two numbers. Students will identify patterns in percent change and decompose an algorithm to help strengthen their understanding. Elementary Pre-algebra Use this program to apply students’ knowledge of how to perform long multiplication on two-digit numbers, for example, 23 x 46. Have students analyze, fill in parts of, or use the program to check results to exercises they are already working on. Middle Pre-algebra Use this program to help students check whether two fractions are proportional. Have students analyze, fill in parts of, or use the program to check results to exercises they are already working on. Middle - High Pre-algebra Use this program to apply students’ knowledge of the midpoint formula and automatically calculate the midpoint between two points (x1, y1) and (x2, y2). Have students analyze or fill in parts of the program to help reinforce their understanding. Complementary and Supplementary Angles Middle Pre-algebra Use this program to apply students’ knowledge of complements and supplements and automatically compute the complement and supplement of a given angle. Have students analyze or fill in parts of the program to reinforce their understanding. Birth/death rate populations Problem Middle - High Pre-algebra Use this program to help students determine how long it will take to reach a certain target population, given a starting population, birthrate, and death rate. Have students analyze, fill in parts of, or use the program to check results to exercises they are already working on. work rate ( 2 workers) problem Middle - High Pre-algebra Use this program to help students conceptualize work problems by solving word problems with two people working together at different rates. Have students analyze, fill in parts of, or enhance the program to solve more sophisticated work problems. work rate ( 3 workers) problem Middle - High Pre-algebra Use this program to help students conceptualize work problems by solving word problems with three people working together at different rates. Have students analyze, fill in parts of, or enhance the program to solve more sophisticated work problems. Middle Pre-algebra Use this program to help student conceptualize word problems, specifically: A rock climber wants to know the height of a cliff. The climber measures the shadow of her friend, who is 5 feet tall and standing beside the cliff, and measures the shadow of the cliff. If the friends shadow is 4 feet long and the cliffs shadow is 60 feet long, how tall is the cliff? Similarity basketball Middle Pre-algebra Use this program to help students conceptualize word problems, specifically: A basketball rim 10 ft high casts a shadow 15 ft long. At the same time, a nearby building casts a shadow that is 54 ft long. How tall is the building? Wordproblem lemonade Middle Pre-algebra Use this program to help students conceptualize word problems, specifically: Sam has a jar with 5 cups of fresh lemonade. Jack has some glasses which hold 1.5 cups each of liquid. How many glasses of lemonade can Jack serve of Sam’s lemonade? Interest simple Middle Algebra Use this program to help students understand how to calculate interest based on the savings amount, interest rate, and number of years of investing. Have students analyze, fill in parts of, or use the program to check results to exercises they are already working on Middle Algebra Use this program to help students conceptualize word problems, specifically: Charisse is buying two different types of cereals from the bulk bins at the store. Granola costs \$2.29 per pound, and muesli costs \$3.75 per pound. She has \$7.00. Use x as the amount of granola and y as the amount of muesli. How many pounds of granola can she buy if she buys 1.5 pounds of muesli? Wordproblem dvd Middle Algebra Use this program to help students conceptualize word problems, specifically: Shanti has just joined a DVD rental club. She pays a monthly membership fee of \$4.95, and each DVD rental is \$1.95. If Shanti’s budget for DVD rentals in a month is \$42, how many DVDs can Shanti rent in her first month if she doesn’t want to go over her budget? Wordproblem line Middle Algebra Use this program to help students conceptualize word problems, specifically: There are 90 people in line at a theme park ride. Every 5 minutes, 40 people get on the ride and 63 join the line. Estimate how long it would take for 600 people to be in line. T Table Middle Algebra Use this program to help students compute the T table for a given function. Have students analyze, fill in parts of, or use the program to check solutions to exercises they are already working on. Middle Algebra Use this program to help students understand ratios by solving for x in the equation a/b = c/d, where x can be in any location in the two fractions. Have students analyze, fill in parts of, or use the program to check solutions to exercises they are already working on. Quadratic formula Middle Algebra Use this program to apply students’ knowledge of the quadratic formula and automatically compute the quadratic formula given the values of a, b and c. Have students analyze, fill parts of, or use the program to check results to exercises they are already working o Middle Algebra Use this program to apply students’ knowledge of FOIL on zero-variable or one-variable expressions and automatically solve various expressions. Have students analyze, fill in parts of, or use the program to check results to problems they are already working on. Middle Algebra Use this program to help students factor binomial expressions into the form (x+c)^2 if the expression fits the pattern. Have students analyze, fill in parts of, or use the program to check results to exercises they are already working on. Middle Algebra Use this program to help students automatically compute distance, rate, or time, given two of the three variables. Have students analyze, fill in parts of, or use the program to check results to exercises they are already working on. Middle Algebra This program calculates the binomial product of an equation of the form: (ax + b)(cx + d) = acx^2 + adx + bcx + bd Middle Algebra Use this program to help students see the connection between a mathematical function and a programmatic function by defining a function in Ch and seeing what it means to pass a value to that function. Middle Algebra Use this program to apply students’ knowledge of quadratic equations to automatically complete the square of a quadratic equation and find the location of the vertex. Have students analyze or fill in parts of the program to reinforce their understanding Geometry: Area Of A Circle. GeometryAreaofaCircle.doc, CA_Program1.ch, CA_Program2.ch, CA_Program3.ch, CA_Program4.ch Middle-High Geometry Use a computational thinking approach to teach students one derivation of the formula A = pi*r^2. In this lesson, students will complete Ch programs that calculate the area of a circle as well as individual sectors. obtuse acute Middle Geometry Use this program to help students precisely define the relationships between the angles for the different types of triangles (acute, obtuse, or right). Have students analyze, fill in parts of, or use the program to check results to exercises they are already working on. Middle Geometry Use this program to apply students’ knowledge of surface area formulas to automatically calculate the surface areas of several geometric objects: cube, rectangular prism, cylinder, sphere. Have students analyze, fill in parts of, or use the program to check results to exercises they are already working on. Middle-High Geometry Use this program to apply students’ knowledge of the Pythagorean Theorem to calculate a third side of a right triangle given the other two sides. Have students analyze, fill in parts of, or use the program to check results to exercises they are already working on Middle-High Geometry Use this program to apply students’ knowledge of the formulas related to polygons by displaying several results based on the number of sides of a polygon to show the differences in polygons. Have students analyze, fill in parts of, or use the program to check results to exercises they are already working on. Middle Geometry Use this program to apply students’ knowledge of the distance formula and automatically calculate the distance between two points (x1, y1) and (x2, y2). Have students analyze or fill in parts of the program to reinforce their understanding. Middle Geometry Use this program to apply students’ knowledge of area formulas and automatically compute the area of various geometric objects. Have students analyze, fill in parts of, or use the program to check results to exercises they are already working on. License Plates: exponents and total_cars High Statistics Use a computational thinking approach to teach students how to compute the number of possible arrangements of a given number of digits in a given number of spaces. In this lesson students will identify patterns in relatively easy cases that lead them to an algorithm which applies to all cases. High Algebra Use this program to help students understand fractional exponents by automatically computing one based on a given base and fractional exponent. Have students analyze or fill in parts of the program to reinforce their knowledge. Geometric Series: High Algebra Use a computational thinking approach to teach students the derivation of the formula for the sum of any geometric series. In this lesson, students will write algorithms that can be translated into Ch code so that they can easily calculate the sum of several finite geometric series. Middle-High Algebra Use this program to apply students’ knowledge of how to substitute and solve for variables using two equations. The first equation can be any equation; the second must be of the form variable = ... where variable appears in the first equation. Have students analyze the program or predict the substitution given the two equations. High Algebra Use this program to apply students’ knowledge of how to calculate the vertex for any given quadratic and automatically calculate the vertex (h, k) for a given quadratic in the form of y = ax^2 + bx + c. Have students analyze or fill in parts of the program to reinforce their understanding. High Algebra Use the program to help students solve for the roots of an equation. Have students analyze or fill in parts of the program to reinforce their knowledge. High Algebra Use this program to illustrate how the coefficients of functions representing conic sections can be used to determine the type of conic section (circle, ellipse, hyperbola), and then display results based on that conic section. Have students analyze, fill in parts of, or use the program to check results to exercises they are already working on. High Algebra Use this program to have students check solutions to exercises they are already working on related to combinations (n choose k). Students may also analyze or fill parts of the program to reinforce their understanding. High Algebra Use this program to help students understand logarithm notation by automatically computing the result of a given base and exponent and displaying it in log notation. Have students analyze or fill in parts of the program to reinforce their knowledge. High Algebra Use this program to help students find the determinant of a 3x3 matrix. Have students analyze or fill in parts of the program to reinforce their knowledge. High Algebra Use this program to help students find the determinant of a 2x2 matrix. Have students analyze or fill in parts of the program to reinforce their knowledge. High Data Analysis Use this program to help students learn how to process data sets using a simple sorting algorithm. This program can also be used to illustrate how sorting might be done automatically by an application such as Ch.