## C-STEM College Curriculum

#### Algebra I with Computing

This course guides students through topics in Algebra 1 in Common Core State Standards for Mathematics while simultaneously teaching students programming and computational thinking. Students use programming in C/C++ interpreter Ch to reinforce and extend their knowledge of mathematical concepts by analyzing real life situations, identifying given information, formulating steps that a computer program could calculate to find a solution, analyzing the results for accuracy, and revising/modifying the programming solutions as necessary. Topics covered include solving one-variable equations with multiple steps, solving and plotting absolute value equations and inequalities, linear equations, systems of linear equations and inequalities, polynomial functions, exponential functions, and step and piecewise functions, evaluating, multiplying, and factoring polynomial functions, solving quadratic equations with applications, probability, statistical data analysis and visualization, and arithmetic and geometric sequences. Group computing projects allow students to collaborate on critical thinking activities based on algebraic topics while developing their teamwork and communication skills.

**Teaching resources contain optional robotics activities.*

#### Algebra I with Computing and Robotics

The course guides students through topics in Algebra 1 in Common Core State Standards for Mathematics while simultaneously teaching students programming and computational thinking. Students use programming in C/C++ interpreter Ch to reinforce and extend their knowledge of mathematical concepts by analyzing real life situations, identifying given information, formulating steps that a computer program could calculate to find a solution, analyzing the results for accuracy, and revising/modifying the programming solutions as necessary. Topics covered include solving one-variable equations with multiple steps, solving and plotting absolute value equations and inequalities, linear equations, systems of linear equations and inequalities, polynomial functions, exponential functions, and step and piecewise functions, evaluating, multiplying, and factoring polynomial functions, solving quadratic equations with applications, probability, statistical data analysis and visualization, and arithmetic and geometric sequences. Robotics activities allow students to reenact physically derived mathematical problems through robotics technologies to visualize situations, associate linear and quadratic graphs with physical phenomenon, predict and identify key features of the graphs with robotic systems, and solve robotics problems through mathematical modeling and programming.

**Teaching resources contain robotics activities.*

#### Integrated Mathematics I with Computing

The course guides students through topics in Integrated Mathematics 1 in Common Core State Standards for Mathematics while simultaneously teaching students programming and computational thinking. Students use programming in C/C++ interpreter Ch to reinforce and extend their knowledge of mathematical concepts by analyzing real life situations, identifying given information, formulating steps that a computer program could calculate to find a solution, analyzing the results for accuracy, and revising/modifying the programming solutions as necessary. Topics covered include solving one-variable equations with multiple steps, solving and plotting absolute value equations and inequalities, linear equations, systems of linear equations and inequalities, exponential functions, statistical data analysis and visualization, arithmetic and geometric sequences, and geometric transformations, including translations, rotations, and reflections, and geometric construction. Group computing projects allow students to collaborate on critical thinking activities based on mathematics topics while developing their teamwork and communication skills.

** Teaching resources contain optional robotics activities.*

#### Integrated Mathematics I with Computing and Robotics

The course guides students through topics in Integrated Mathematics 1 in Common Core State Standards for Mathematics while simultaneously teaching students programming and computational thinking. Students use programming in C/C++ interpreter Ch to reinforce and extend their knowledge of mathematical concepts by analyzing real life situations, identifying given information, formulating steps that a computer program could calculate to find a solution, analyzing the results for accuracy, and revising/modifying the programming solutions as necessary. Topics covered include solving one-variable equations with multiple steps, solving and plotting absolute value equations and inequalities, linear equations, systems of linear equations and inequalities, exponential functions, statistical data analysis and visualization, arithmetic and geometric sequences, and geometric transformations, including translations, rotations, and reflections, and geometric construction.. Robotics activities allow students to reenact physically derived mathematical problems through robotics technologies to visualize situations, associate linear and exponential graphs with physical phenomenon, predict and identify key features of the graphs with robotic systems, and solve robotics problems through mathematical modeling and programming.

** Teaching resources contain robotics activities.*

#### Introduction to Computer Programming for Engineering Applications (a UC Davis Engineering Course)

This course introduces students to structured programming in C. Many algorithms for computer-aided problem solving are developed throughout the course to solve practical problems in engineering and science. The topics include number systems with internal representations of binary, octal, decimal, and hexadecimal numbers as well as binary two’s complementary representation; limitations and numerical accuracy of different data types; 32-bit and 64-bit programming models; unary, binary, and ternary operators; selection statements for making decisions; iterative statements for repetitions; modular programming and code reuse; storage classes; arrays for data processing; pointers; dynamical memory allocation and deallocation; ASCII Code; characters and strings; structures and enumerations; top-down and bottom-up design of large-scale software project; file processing; and computational arrays for matrices and linear algebra for engineering applications.