Goals for this session:
For the last 20 years, NCTM has worked to present a roadmap for teaching preK12 mathematics. In the 2000 publication, Principles and Standards for School Mathematics, NCTM advocated the use of technology to explore mathematical ideas through its Technology Principle: Technology is essential in teaching and learning mathematics; it influences the mathematics that is taught and enhances students' learning. http://standards.nctm.org/document/
The latest development in guidelines for school mathematics is the approval in June 2010 of The Common Core Standards. http://www.corestandards.org/thestandards/mathematics
From the website: “The Common Core State Standards Initiative is a stateled effort, launched more than a year ago by state leaders, including governors and state commissioners of education. . .through their membership in the National Governors Association Center for Best Practices (NGA Center) and Council of Chief State School Officers (CCSSO). . . .
NCTM is working on a report to help teachers understand how the Common Core State Standards for Mathematics fit with NCTM’s Principles and Standards for School Mathematics, Curriculum Focal Points, and Focus in High School Mathematics. This new report, Making it Happen: A Guide to Interpreting and Implementing the Common Core State Standards for Mathematics, is expected to be published within four to six weeks.
In the Common Core Standards, there are six areas addressed for high school mathematics, and several have computational aspects:
Functions: Interpret functions that arise in applications in terms of the context.
4. For a function that models a relationship between two quantities, interpret key features of graphs and tables in terms of the quantities, and sketch graphs showing key features given a verbal description of the relationship. Key features include: intercepts; intervals where the function is increasing, decreasing, positive, or negative; relative maximums and minimums; symmetries; end behavior; and periodicity.
Functions: Analyze functions using different representations.
7. Graph functions expressed symbolically and show key features of the graph, by hand in simple cases and using technology for more complicated cases.
Geometry: Make Geometric Constructions
12. Make formal geometric constructions with a variety of tools and methods (compass and straightedge, string, reflective devices, paper folding, dynamic geometric software, etc.).
Statistics and Probability: Interpret linear models
8. Compute (using technology) and interpret the correlation coefficient of a linear fit.
Modeling: Modeling is the process of choosing and using appropriate mathematics and statistics to analyze empirical situations, to understand them better, and to improve decisions. . . .When making mathematical models, technology is valuable for varying assumptions, exploring consequences, and comparing predictions with data.
PART II: Some Canned Examples
1. Function and Data Flyer
2. Regression Tool
3. Derivative Explorer
http://www.mathsci.appstate.edu/~hph/sc2010/
PART III: Sage




























Many commands are what you might expect...



Click to the left again to hide and once more to show the dynamic interactive window 
@interact is a facility within Sage to allow you to create an input area  either a slider for a range of numbers or a text box for entering text such as a math expression. There are a number on the website to copy and paste into a Sage notebook and experiment with.
http://wiki.sagemath.org/interact
First, Sage makes extensive use of classes




This example illustrated the fact that Python variables by default are "programming variables" and must be initialized.
To create a symbolic variable we must declare the variable with the var command.
The variable x is a special case for convenience.

This example illustrated the for loop in Python.
First, the for statement walking through a list of objects and it ends with the colon.
Second, the block inside the loop is indented. There are no begin ... end constructs in Python.
Good programming style strongly suggests that you indent subordinate blocks of code.
Python insists that you indent and rewards you with shorter programs.

This example underscored the fact that the single "=" is assignment and the double "==" is equality.
It also showed that multiple statements can be on the same line when separated by ";"

In this example, the solution is returned in a list. Lists are the principal data structure workhorse.

In this example we used the dictionary, which is the most sophisticated builtin data structure in Python.
