what should be taught?

8 views
Skip to first unread message

michel paul

unread,
Dec 19, 2009, 2:51:37 PM12/19/09
to sage...@googlegroups.com
Since most on this list probably work at the college level, as a high school teacher I'd be interested in the math expectations you'd have for incoming high school graduates today?  In an age of ubiquitous computational technology, what should they know?  What background skills should they have?  Both in a traditional math sort of way, but also in a computational sense?

I may have an opportunity after winter break to discuss why creating a computational math course would be a really good thing to do, and I'd like to be able to back up what I say.  I don't want to just make stuff up.

These are some points I've come up with.  Please correct me if I'm off, and please add anything else you consider essential. 

Thank you very much,

- Michel Paul
  1. Our secondary math curriculum arose in the age of handwriting and handcomputing (handcomputing includes the use of calculators), and most of what we teach has to do with the needs to express thoughts precisely and succinctly in order to minimize the number of hand calculations needed when evaluating expressions.  I'd guess that's not the entire reason for our traditional syntax, but I bet a lot of it does have to do with those needs.
  2. Our culture is shifting very rapidly because of technology, and literacy regarding it is important for general education.  This need can be answered efficiently and quite elegantly via math classes.  Computer Science classes are usually electives, but everyone has to take some math. 
  3. We often pay lip service to the assertion "Math is a language", but we really don't teach it that way.  We teach it as a set of techniques to use for solving certain kinds of equations we might run into.  We might 'use technology' to help us in that process, but we are still not thinking of math as a language when we do so.
  4. In a computational age, it is more important to grasp relations between concepts than to memorize particular formulas.  Better to learn how to analyze a concept as a set of inter-related concepts.  Example - the quadratic formula.  The traditional schoolish expression minimizes the number of hand calculations necessary.  However, a more conceptually valuable expression might be to express it as h +/- r, where h =axis of symmetry, and r = distance to the roots.  The traditional formula already does contain that relationship, but the structure of the related parabola is hidden for most students.  I think it would be a good exercise for kids to think about it in this slightly more analytical way, spell it out, code it, and test it that way.  Using Sage, it would be very easy to unite the articulation of the various components and the visual representation.  Especially with @interact!  Per the recent thread, even the ones who might not be able to code it could still interact with it and perhaps learn to understand the code that way.
  5. With Sage, students could be creating their own mathematical papers.  You want writing in the curriculum?  Well, there you go!  It's very easy to open up a text cell in Sage, so kids at many levels could create math reports that actually DID things.  I don't even think it's that far fetched to have the more advanced kids learn some TeX.  I just recently discovered the insert equation feature in Google docs.  It's cool.  Even if you don't know TeX, you can learn it just by using the editor.  With this kind of stuff in the environment, I think this might be good for kids to experience.
  6. There is always a tension between the use of calculators and 'showing ones work'.  Kids hate having to write it all out if the calculator has already done it.  All kinds of discussions go on about how 'much' work needs to be 'shown'.  All of this becomes irrelevant if we instead focus on the 'work' being a functional decomposition of a problem or a concept.  If one does ones 'work' correctly, the 'work' will then work for you!  You can use it!
  7. Instead of spending so much time teaching kids how to isolate variables in equations, perhaps it would be better for them to learn how to construct sutes of simple interacting functions? 
  8. China is already uniting Computer Science and math classes at the high school level.

--
"Computer science is the new mathematics."

-- Dr. Christos Papadimitrious

David Joyner

unread,
Dec 19, 2009, 4:21:38 PM12/19/09
to sage...@googlegroups.com
On Sat, Dec 19, 2009 at 2:51 PM, michel paul <mpau...@gmail.com> wrote:
> Since most on this list probably work at the college level, as a high school
> teacher I'd be interested in the math expectations you'd have for incoming
> high school graduates today?  In an age of ubiquitous computational
> technology, what should they know?  What background skills should they
> have?  Both in a traditional math sort of way, but also in a computational
> sense?


These are great questions. Thanks for opening this thread.
I'll reply with my thoughts, even though they may not be entirely Sage-related.

First, I think teaching programming using Sage is an excellent goal
and I hope you do and are very successful. Students like the interactive
aspects of Sage and if it helps them learn more, the more power to it.
I think, very generaly speaking, that there are two main components to
student learning: (1) repetition and working problems, (2) an
emotional connection
to the material. If students like Sage then they will learn
mathematics better for
item (2). (I could go off on a wild tangent and rant about the amount of
money speat on mathematics education which I think is merely a
expensive way to implement item (2) but I will not:-)

*However*, the symbolic "langauge" of calculus (what my student call
"super high-school algebra":-) is a language which must be learned by
any student who wishes to seriously pursue a technical major. It should be
drilled into their brain that if they neglect learning the "language"
and "grammar"
of symbolic manipulation they are making a decision as to how good
or bad they want to be in a technical career. By "technical", I
mostly mean engineering (electrical or systems) or physics or mathematics,
though there are some exceptions.

I think there is no question that, at least where I teach, the algebra skills
are getting worst. One can blame brain rot caused by the over-use
of symbolic calculators. The advantage is that students come in much more
computer-savvy, which in my view (being a Sage fan) is a plus.


>
> I may have an opportunity after winter break to discuss why creating a
> computational math course would be a really good thing to do, and I'd like
> to be able to back up what I say.  I don't want to just make stuff up.
>
> These are some points I've come up with.  Please correct me if I'm off, and
> please add anything else you consider essential.
>
> Thank you very much,
>
> - Michel Paul
>
> Our secondary math curriculum arose in the age of handwriting and
> handcomputing (handcomputing includes the use of calculators), and most of
> what we teach has to do with the needs to express thoughts precisely and
> succinctly in order to minimize the number of hand calculations needed when
> evaluating expressions.  I'd guess that's not the entire reason for our
> traditional syntax, but I bet a lot of it does have to do with those needs.
> Our culture is shifting very rapidly because of technology, and literacy
> regarding it is important for general education.  This need can be answered
> efficiently and quite elegantly via math classes.  Computer Science classes
> are usually electives, but everyone has to take some math.
> We often pay lip service to the assertion "Math is a language", but we
> really don't teach it that way.  We teach it as a set of techniques to use
> for solving certain kinds of equations we might run into.  We might 'use
> technology' to help us in that process, but we are still not thinking of
> math as a language when we do so.

Exactly.

> In a computational age, it is more important to grasp relations between
> concepts than to memorize particular formulas.  Better to learn how to
> analyze a concept as a set of inter-related concepts.  Example - the
> quadratic formula.  The traditional schoolish expression minimizes the
> number of hand calculations necessary.  However, a more conceptually
> valuable expression might be to express it as h +/- r, where h =axis of
> symmetry, and r = distance to the roots.  The traditional formula already
> does contain that relationship, but the structure of the related parabola is
> hidden for most students.  I think it would be a good exercise for kids to
> think about it in this slightly more analytical way, spell it out, code it,
> and test it that way.  Using Sage, it would be very easy to unite the
> articulation of the various components and the visual representation.
> Especially with @interact!  Per the recent thread, even the ones who might
> not be able to code it could still interact with it and perhaps learn to
> understand the code that way.


This is a good idea for a class exercise, agreed, but my personal feeling
is that it would be valuable in direct proportion to how it helps them
embed that formula into their brain. See points (1) and (2) above.


> With Sage, students could be creating their own mathematical papers.  You
> want writing in the curriculum?  Well, there you go!  It's very easy to open
> up a text cell in Sage, so kids at many levels could create math reports
> that actually DID things.  I don't even think it's that far fetched to have
> the more advanced kids learn some TeX.  I just recently discovered the


I could not agree more.


> insert equation feature in Google docs.  It's cool.  Even if you don't know
> TeX, you can learn it just by using the editor.  With this kind of stuff in
> the environment, I think this might be good for kids to experience.
> There is always a tension between the use of calculators and 'showing ones
> work'.  Kids hate having to write it all out if the calculator has already
> done it.  All kinds of discussions go on about how 'much' work needs to be


Sorry. Zero sympathy here. Of course, I *like* writing, so ...


> 'shown'.  All of this becomes irrelevant if we instead focus on the 'work'
> being a functional decomposition of a problem or a concept.  If one does
> ones 'work' correctly, the 'work' will then work for you!  You can use it!
> Instead of spending so much time teaching kids how to isolate variables in
> equations, perhaps it would be better for them to learn how to construct
> sutes of simple interacting functions?
> China is already uniting Computer Science and math classes at the high
> school level.


This raises an important issue in my opinion. There are some very technical
jobs where US citizenship is *required*. We cannot expect to outsource
Chinese technical proficiency for *everything*. This technical
training must start at
the US high-school level.

Thanks again for raising these questions.


>
> --
> "Computer science is the new mathematics."
>
> -- Dr. Christos Papadimitrious
>

> --
>
> You received this message because you are subscribed to the Google Groups
> "sage-edu" group.
> To post to this group, send email to sage...@googlegroups.com.
> To unsubscribe from this group, send email to
> sage-edu+u...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/sage-edu?hl=en.
>

Jonathan

unread,
Dec 20, 2009, 10:30:13 AM12/20/09
to sage-edu
I'd like to add to some of David's points and maybe disagree a
little :)

I teach chemistry, not one of the fields that David called technical.
However anybody who wants to pursue an advanced degree in chemistry
needs to get through a minimum of multivariable calculus by junior
year of college (diff. eq, linear algebra, general algebra and
significant computer programming experience is necessary too if you
end up working at the physical chemistry/chemical physics edge as I
do).

I second the comment about students being algebraically weaker than
when I started teaching. I also agree that students should be
required to write things out and show how it is done. This is the
same as requiring students to be reasonably proficient at computation
(+, -, x, etc..) before they are allowed to make extensive use of
calculators. It is easy to reach the wrong conclusion and not realize
it if you don't understand what the tool is doing. At the college
level in chemistry an example is quantum mechanical simulations of
molecules. All real computations of these types are done using
computer programs that numerically approximate the solutions (there
are few analytically soluble chemically relevant situations in quantum
mechanics). However, we expect our students to understand the
analytically soluble examples so that they have an understanding of
how valid solutions behave before they use the computational packages,
which give good answers most of the time, but can drift of into never-
never land...

So the students who are truly ready to pursue an undergraduate science
program (we get few of these, so have to bring most students up to
this level in college), will have the following mathematical
capabilities upon graduation from high school.

1) Specific technical skills (training, got mostly by rote practice):

a) be proficient at algebraic manipulations to isolate single
variables in symbolic equations (no numbers). It is usually much more
efficient to stick in the numbers for your particular physical
situation at the end. Most of our students want to stick in all the
numbers and then solve for the unknown. This leads to dropped digits,
copying errors and usually erroneous significant digits.

b) be proficient at solving simple systems of equations (2 variables).

c) able to sketch what a function looks like without having to put it
into a graphing calculator. Especially they need to know sine,
cosine, hyperbolas, exponential growth, exponential decay, gaussians,
circles and spheres. They should also be able to visualize what two
of these functions might look like when multiplied together.

d) able to look at a function of multiple variables and decide what
happens to the value of the function if a variable is increased or
decreased (yes, I know this is technically calculus, but it can be
done without taking derivatives).

e) (not required, but is what I would really like to see) understand
basic 1-D calculus. Able to take derivatives of functions of one
variable (including ln, exp, sin, cos, powers and can use the product
rule). Can do simple integrals as inverse differentiation. Even more
than that would be better, but I know I'm dreaming...

f) (not required, but is what I would really like to see) some
experience writing simple computer programs in any language. Even if
they are just games or little more than "hello world" or flash card
programs, it would be better than what we're getting now.

2) Higher level reasoning skills (what I consider education rather
than training):

a) able to read a story problem about a physical situation and combine
that with known relations among the quantitative pieces of information
in the problem to generate symbolic representations of these
relationships. Then they should be able (and willing) to play
(struggle) with manipulations of these relationships to extract the
information requested. We see many, many students who can only solve
story problems if they can plug them into an algorithm. These
students are "trained" but not "educated". The difference is somewhat
subtle. Trained students cannot solve any new quantitative problems
without being trained in a new algorithm. Thus someone needs to train
them to a each new situation. In college we try hard to educated them
to develop general strategies (play) for finding solutions to
unfamiliar problems. Although I would not expect most high school
graduates to be proficient at this play they should understand that
the struggle is what they are supposed to be doing. They don't have
enough room in their brains to memorize every single kind of problem
they will encounter. (((An aside: there are some students who are
only trainable and should probably not go to college, but instead
attend technical school and plan to get retrained when their skills
are no longer useful.)))

b) able to read for understanding and write their answers using
correct grammar, spelling and punctuation. High school students
should be required to do some proofs and they should get marked down
in math class for grammar, spelling and punctuation errors.

There are more things, but I think that's my fundamental list...

Jonathan

On Dec 19, 1:51 pm, michel paul <mpaul...@gmail.com> wrote:
> Since most on this list probably work at the college level, as a high school
> teacher I'd be interested in the math expectations you'd have for incoming
> high school graduates today?  In an age of ubiquitous computational
> technology, what should they know?  What background skills should they
> have?  Both in a traditional math sort of way, but also in a computational
> sense?
>
> I may have an opportunity after winter break to discuss why creating a
> computational math course would be a really good thing to do, and I'd like
> to be able to back up what I say.  I don't want to just make stuff up.
>
> These are some points I've come up with.  Please correct me if I'm off, and
> please add anything else you consider essential.
>
> Thank you very much,
>
> - Michel Paul
>

>    1. Our secondary math curriculum arose in the age of handwriting and


>    handcomputing (handcomputing includes the use of calculators), and most of
>    what we teach has to do with the needs to express thoughts precisely and
>    succinctly in order to minimize the number of hand calculations needed when
>    evaluating expressions.  I'd guess that's not the entire reason for our
>    traditional syntax, but I bet a lot of it does have to do with those needs.

>    2. Our culture is shifting very rapidly because of technology, and


>    literacy regarding it is important for general education.  This need can be
>    answered efficiently and quite elegantly via math classes.  Computer Science
>    classes are usually electives, but everyone has to take some math.

>    3. We often pay lip service to the assertion "Math is a language", but we


>    really don't teach it that way.  We teach it as a set of techniques to use
>    for solving certain kinds of equations we might run into.  We might 'use
>    technology' to help us in that process, but we are still not thinking of
>    math as a language when we do so.

>    4. In a computational age, it is more important to grasp relations


>    between concepts than to memorize particular formulas.  Better to learn how
>    to analyze a concept as a set of inter-related concepts.  Example - the
>    quadratic formula.  The traditional schoolish expression minimizes the
>    number of hand calculations necessary.  However, a more conceptually
>    valuable expression might be to express it as h +/- r, where h =axis of
>    symmetry, and r = distance to the roots.  The traditional formula already
>    does contain that relationship, but the structure of the related parabola is
>    hidden for most students.  I think it would be a good exercise for kids to
>    think about it in this slightly more analytical way, spell it out, code it,
>    and test it that way.  Using Sage, it would be very easy to unite the
>    articulation of the various components and the visual representation.
>    Especially with @interact!  Per the recent thread, even the ones who might
>    not be able to code it could still interact with it and perhaps learn to
>    understand the code that way.

>    5. With Sage, students could be creating their own mathematical papers.


>    You want writing in the curriculum?  Well, there you go!  It's very easy to
>    open up a text cell in Sage, so kids at many levels could create math
>    reports that actually DID things.  I don't even think it's that far fetched
>    to have the more advanced kids learn some TeX.  I just recently discovered
>    the insert equation feature in Google docs.  It's cool.  Even if you don't
>    know TeX, you can learn it just by using the editor.  With this kind of
>    stuff in the environment, I think this might be good for kids to experience.

>    6. There is always a tension between the use of calculators and 'showing


>    ones work'.  Kids hate having to write it all out if the calculator has
>    already done it.  All kinds of discussions go on about how 'much' work needs
>    to be 'shown'.  All of this becomes irrelevant if we instead focus on the
>    'work' being a functional decomposition of a problem or a concept.  If one
>    does ones 'work' correctly, the 'work' will then work for you!  You can use
>    it!

>    7. Instead of spending so much time teaching kids how to isolate


>    variables in equations, perhaps it would be better for them to learn how to
>    construct sutes of simple interacting functions?

>    8. China is already uniting Computer Science and math classes at the high

john_perry_usm

unread,
Dec 20, 2009, 11:27:56 AM12/20/09
to sage-edu
Hi,

On Dec 19, 1:51 pm, michel paul <mpaul...@gmail.com> wrote:

> Since most on this list probably work at the college level, as a high school
> teacher I'd be interested in the math expectations you'd have for incoming
> high school graduates today?

(1) Some kind of evidence that the student is accustomed to reading a
textbook on simple mathematics, and has the ability to read and
understand it. Honestly, if all you do is teach your students to read
mathematics, *really* to read it, everything else becomes trivial.

(2) The ability to perform simple algebraic operations without a
calculator. This includes arithmetic with negative numbers and
fractions.

(3) The ability to use a scientific calculator. (Not a graphing
calculator. Those things are bulky, overpriced, and obsolete.)

(4) The understanding that the only math problems that can be done in
a minute or less aren't worth the paper they're printed one (except in
grade school textbooks). Corollary: "exciting" and "flashy" problems
are often trivial, and therefore not especially worthwhile.

(5) *Most important* The habit of wondering about something you don't
understand, and asking questions with a sincere openness to learning
it. Mathematics is a kind of philosophy, which as Aristotle rightly
said, begins in wonder, yet the word "wonder" itself seems to have
fallen out of common parlance.

100% of the freshmen I have taught in the last five years lack (1). At
least 50% lack (2), which really slows the class down if I ask for the
result of a computation. Too many lack (3). I'm pretty sure all of
them lack (4); I remember my PhD adviser's remark that students' eyes
would glaze over the moment any process required more than 3 or 4
steps. And too many students who think they're good at math lack (5).

Students need more experience with challenging problems that require
them to stop & think about the solution starting in middle school.
Rote mechanism won't solve it; neither will technology.

>    4. In a computational age, it is more important to grasp relations


>    between concepts than to memorize particular formulas.  Better to learn how
>    to analyze a concept as a set of inter-related concepts.  Example - the
>    quadratic formula.

Yes to the first, but an emphatic no to the example.

First, the quadratic formula isn't really that hard to memorize. It
isn't so very complicated, and it's used so frequently on problems
that are actually useful at the high school and college levels that
memorization could come simply through practice. The cubic or quartic
formulas, now: *their* complexity exceeds their utility in high
school. (One of my undergraduate professors told me, twenty years ago,
that when she was a child they studied the cubic & quartic formulas in
high school.)

>   The traditional schoolish expression minimizes the
>    number of hand calculations necessary.

The adjective "schoolish" sounds disdainful here. Maybe you didn't
mean it that way, but "schoolish" expressions can be quite
sophisticated. An undergraduate student of mine recently used the
quadratic formula to devise a simple test of whether a biological
problem was feasible through algebraic methods. It impressed the
biologist we're working with. The coefficients were purely symbolic,
so a graph (and, by extension, a graphing calculator) would not have
helped. Without the quadratic formula, she would have had to complete
the square. Joy!

>  However, a more conceptually
>    valuable expression might be to express it as h +/- r, where h =axis of
>    symmetry, and r = distance to the roots.

I don't see how technology will help here; it isn't hard to draw this
on the board, or on a sheet of paper. I don't think an interact would
be helpful here, either, but I'm open to the possibility that it would
be.

Don't misunderstand; I think you have some good points; I just think
the quadratic formula is a terrible example.

>    6. There is always a tension between the use of calculators and 'showing


>    ones work'.  Kids hate having to write it all out if the calculator has
>    already done it.  All kinds of discussions go on about how 'much' work needs
>    to be 'shown'.  All of this becomes irrelevant if we instead focus on the
>    'work' being a functional decomposition of a problem or a concept.  If one
>    does ones 'work' correctly, the 'work' will then work for you!  You can use
>    it!

I don't think the discussion becomes irrelevant at all. It will always
be relevant because different people are interested in different
aspects of a problem.

>    8. China is already uniting Computer Science and math classes at the high
>    school level.

Doesn't surprise me, and it's a good thing. But,

> "Computer science is the new mathematics."
>
> -- Dr. Christos Papadimitrious

I disagree strongly. The statement implies that computer science
supersedes or replaces mathematics, when it is merely another subset
of mathematics.

regards
john perry

calc...@aol.com

unread,
Dec 20, 2009, 2:54:58 PM12/20/09
to sage...@googlegroups.com
>>
>>"Computer science is the new mathematics."
>> -- Dr. Christos Papadimitrious
>I disagree strongly. The statement implies that computer science
>supersedes or replaces mathematics, when it is merely another subset
>of mathematics.

True, but the new discipline may be best termed "Computing Science" or
"Scientific Computing" or "Mathematical Programming."

HTH,
A. Jorge Garcia
http://calcpage.tripod.com

Teacher & Professor
Applied Mathematics, Physics & Computer Science
Baldwin Senior High School & Nassau Community College

michel paul

unread,
Dec 21, 2009, 3:16:43 PM12/21/09
to sage...@googlegroups.com
First, thanks to everyone so far for the responses on this.  I appreciate the caliber of the dialog on this list.  It has been very helpful.


On Sun, Dec 20, 2009 at 8:27 AM, john_perry_usm <john....@usm.edu> wrote:


>    4. In a computational age, it is more important to grasp relations
>    between concepts than to memorize particular formulas.  Better to learn how
>    to analyze a concept as a set of inter-related concepts.  Example - the
>    quadratic formula.

Yes to the first, but an emphatic no to the example.

First, the quadratic formula isn't really that hard to memorize.

Sure, I agree.  And not only that, I also think they should be able to derive it from scratch.  However, in reality, wow ... there are some kids who really can get how to think about it that way, but the problem in so many cases is all they WANT is to be told is what to 'memorize' ... for a test.  It's so sad.  

So a huge issue is how to get them to reason.  Finding things they can do without getting frustrated and quitting, but things that are educationally significant.  I found that having them practice creating lists of ordered pairs for a function and a domain via list comprehension very good for that.  Simple enough, yet challenging enough for most of them.  And close enough to the pure algebra itself that no one can argue that I'm teaching 'Python' or 'Sage' rather than 'math'.  Those can be very frustrating kinds of discussions.  It's so bizarre trying to do this in a culture that considers this stuff as something 'outside' of math.

Perhaps it's because of the resistance I've experienced that I gravitated toward the Papadimitrious quote.  : )  But yes, pure CS is a subset of mathematics as a whole.

>  However, a more conceptually
>    valuable expression might be to express it as h +/- r, where h =axis of
>    symmetry, and r = distance to the roots.

I don't see how technology will help here; it isn't hard to draw this
on the board, or on a sheet of paper.
 
Oh sure, I agree with that.  Sometimes it's sufficient and even better to just hastily scrawl something that kind of resembles a parabola, just to empahsize that we're talking in general terms.

The point I'm trying to develop here isn't so much the issue of using Sage to create visuals but the issue of thinking in terms of functional decompositions.

Instead of seeing something like the quadratic formula as just a set of symbols in a kind of bizarre arrangement, students can hopefully learn to think of the formula as a set of related ideas, such as an axis_of_symmetry() +/- distance_to_roots().  The distance_to_roots function could be composed using a discriminant function, etc.

It's definitely the case that something like the quadratic formula would normally not require such elaborate treatment if we're just going to use it as is for solving quadratic equations.  But perhaps modeling a concept like that through a very simple suite of interacting functions, each of which performs a unique task and can be used independently, could give students a sense for how programs get constructed, plus give them a better grasp of what the formula is saying in the first place.

I guess I should also say that something like h +/- r would not be meant as a replacement of the traditional formula.  Sure, they'd still need to internalize the traditional formula.  But creating a suite of simple functions like that would be easy enough but also challenging enough for most of them, plus these functions could then easily be configured with @interact. 

Another example of what I'm trying to get at with this 'functional decomposition' theme: standard deviation.  We can define standard deviation as:

def stdev(L): return sqrt(variance(L))
def variance(L): return mean(squares(deviations(L)))
def deviations(L): return [(x - mean(L)) for x in L]
def squares(L): return [x^2 for x in L]
def mean(L): return sum(L)/len(L)

We are not just blindly coding the typical formula for standard deviation here.  It's a concept map, and it works!  (It's also the population rather than the sample formula, but that's easily adjusted.)

I've been using that little suite when we study standard deviation, and they are able to latch onto phrases like 'Variance is the mean of the squared deviations'.  I think this is better than trying to memorize a bunch of greek symbols.

I also know that the language R is built into Sage.  I haven't explored that yet, but even with that available, I think this kind of little functional analysis of the concept is good to understand.


>    6. There is always a tension between the use of calculators and 'showing
>    ones work'.  Kids hate having to write it all out if the calculator has
>    already done it.  All kinds of discussions go on about how 'much' work needs
>    to be 'shown'.  All of this becomes irrelevant if we instead focus on the
>    'work' being a functional decomposition of a problem or a concept.  If one
>    does ones 'work' correctly, the 'work' will then work for you!  You can use
>    it!

I don't think the discussion becomes irrelevant at all. It will always
be relevant because different people are interested in different
aspects of a problem.

Right, I don't mean to say that discussion of the problem becomes irrelevant or even that written discussion is irrelevant.  I mean that certain kinds of arguments will become irrelevant.  I'm trying to get at another sense for what it means to 'show one's work'.  If one's work is to construct a set of functions that will solve a problem, then one's work works!  It could make the discussion of 'showing work' more meaningful.  Instead of writing the math out by hand and using the calculator to handle the grunt work, I'd rather throw away the calculator and focus on how to get the kids to construct, articulate, a computational analysis of a situation.

Another example of how computational thinking can make the math more meaningful - the very concept of specifying the domain of a function.  Kids hate it and think it's just a formality, and usually that's how it's treated.  But in a computational sense, if you're not careful about your domain, your function can blow up!  This is what establishing pre-conditions is all about.

Thanks again for the dialog on this.

- Michel

Offray Vladimir Luna Cárdenas

unread,
Dec 27, 2009, 9:32:42 AM12/27/09
to sage...@googlegroups.com
Hi,

michel paul escribi�:
[...]


> But creating a suite of simple functions like that would be easy
> enough but also challenging enough for most of them, plus these
> functions could then easily be configured with @interact.
>
> Another example of what I'm trying to get at with this 'functional
> decomposition' theme: standard deviation. We can define standard
> deviation as:
>
> def stdev(L): return sqrt(variance(L))
> def variance(L): return mean(squares(deviations(L)))
> def deviations(L): return [(x - mean(L)) for x in L]
> def squares(L): return [x^2 for x in L]
> def mean(L): return sum(L)/len(L)
>
> We are not just blindly coding the typical formula for standard
> deviation here. It's a concept map, and it works! (It's also the
> population rather than the sample formula, but that's easily adjusted.)
>

Thanks for the example of concept mapping :-). I will try it in my contexts.

[...]


> Right, I don't mean to say that discussion of the problem becomes
> irrelevant or even that written discussion is irrelevant. I mean that
> certain kinds of arguments will become irrelevant. I'm trying to get
> at another sense for what it means to 'show one's work'. If one's
> work is to construct a set of functions that will solve a problem,
> then one's work works! It could make the discussion of 'showing work'
> more meaningful. Instead of writing the math out by hand and using
> the calculator to handle the grunt work, I'd rather throw away the
> calculator and focus on how to get the kids to construct, articulate,
> a computational analysis of a situation.

[...]

What I have done, not with kids, but with undergraduate students, is to
use the heuristics of George Polya in the solution of the problem, but
is in the same spirit of what have been said here. Argumentation and
analysis is first, calculation/computation comes after that. That's why
I try to use a scientific document processor linked with Sage as a
primary interface. Some times we don't use Sage at all.

Cheers,

Offray

michel paul

unread,
Jan 1, 2010, 3:26:36 PM1/1/10
to sage...@googlegroups.com
After reflecting on the responses I received last year (and happy new one!), here is a condensed version of points I'd like to express to my administration:
  • Given the ubiquitous nature of freely available and powerful computational technology in our culture, what should high school students learn?
  • I believe they should learn math in a way that simultaneously empowers them to make the most effective use of this technology.
  • Fluency in graphing calculator use is not sufficient for contemporary computational literacy.  In fact, it is neither necessary nor sufficient.  The only possible reason for insistence on their continued use would be founded in an interest in promoting the product.  The AP and SAT exams promote the use of these products.  QED.
  • A problem in promoting the use of such products is the limited understanding of mathematics they encourage. 
  • The standard of mathematical and computational literacy required (not necessarily by current state standards, but in the larger world) by today's high school students can be addressed through the judicious study of computational language.
  • Not all programming activity leads to mathematical insight.  However, a central core of what we call programming is in fact a form of pure mathematics, and many aspects of this way of thinking are in fact relevant for the high school math curriculum.  The sooner America gets on task on this, the better off we'll be.  We can begin to address the deficiencies in both our secondary mathematical and technological literacy simultaneously.
Again, please let me know if I'm off base with any of this.  Is any of this irrelevant or tangential?

In my initial list

>7.  Instead of spending so much time teaching kids how to isolate variables in equations, perhaps it would be better for them to learn how to construct suites of simple interacting functions?
 
I think is clearly a mistaken expression.  It should not be 'instead of ..'.  Rather,

>7.  In addition to learning how to isolate variables in equations (and explaining their reasoning), kids also need to learn how to construct suites of simple interacting functions to model and test ideas.

Again, please correct me if I'm off, but I think this is one of the central differences between what we do in traditional high school math classes vs. what one does using a computational language/environment - construction.  When using something like Sage, most of one's effort is not engaged in 'solving equations' but in constructing computational models of ideas, and this is important for today's math students to learn to do.  Our traditional curriculum doesn't touch that kind of stuff - or only rarely.

I completely agree with and appreciate the importance of getting them to isolate variables in symbolic formulas.  I think that's where a lot of problems arise in students' understanding of what algebra even is (and I think the emphasis on calculators has promoted this misunderstanding) - they think it's all about finding particular numeric solutions for individual equations or for systems of, at most, 2 or 3 equations.  Then, when it's purely symbolic, their reaction is "Why are there so many letters?  Why can't you use more numbers?"  But this really is where they need to focus.  The reasoning required to manipulate symbolic expressions is directly related to the reasoning required for computational constructions.

There seems to be lots of agreement about the importance of writing in math.  Perfect.  I hope this can be a major point in persuading my administration that integrating something like Sage - not treating it like it's something foreign - would be extremely valuable.  Again, kids could create their own math reports in Sage, little mini-papers, that would actually do stuff while explaining ideas.

And along with writing - reading.  I deeply appreciate the recommendation that if kids learn to read a math text that everything else becomes secondary.  Yeah, that's great.  I'm going to make a point of incorporating that into my classes.

As for 'concept maps' I will replace the example of the quadratic formula with the example of standard deviation.  I think that conveys the point better.

What I now need is a simple, direct, knock-down, and hopefully fatal argument against the entrenched position that 'graphing calculators are enough'.  That's really the whole source of the opposition I constantly face in the high school world the AP and SAT are considered sacred and anything 'else' is too much.

My position has been that, no, this is not some other layer on top of the math, this IS math itself, this is how mathematicians do things these days.

How accurate am I in making statements like that?  I want to create as effective and accurate an argument as I can.

Also - has it become the norm for college math departments these days to use some form of CAS, whether Mathematica, Maple, MatLab, or Sage?  Or do only some use these things?  If it has in fact become the norm, and if we think we're trying to prepare kids for the world they'll be entering, well, why NOT show them these things?

Again, thanks very much for the constructive dialog on this.

Happy New Year.

- Michel Paul

calc...@aol.com

unread,
Jan 1, 2010, 4:34:27 PM1/1/10
to sage...@googlegroups.com
I like all your points. However, I think the statement:

"it is neither necessary nor sufficient"

a bit redundant. I would remove that statement, it does not really add
to the argument IMHO.

BTW, if its not necessary, how can it be sufficient?

HTH,
A. Jorge Garcia
http://calcpage.tripod.com

Teacher & Professor
Applied Mathematics, Physics & Computer Science
Baldwin Senior High School & Nassau Community College


-----Original Message-----
From: michel paul <mpau...@gmail.com>
To: sage...@googlegroups.com
Sent: Fri, Jan 1, 2010 3:26 pm
Subject: [sage-edu] Re: what should be taught?

After reflecting on the responses I received last year (and happy new
one!), here is a condensed version of points I'd like to express to my
administration:
Given the ubiquitous nature of freely available and

powerfulcomputational technology in our culture, what should high

school students learn?
I believe they should learn math in a way that simultaneously empowers
them to make the most effective use of this technology.
Fluency in graphing calculator use is not sufficient for

contemporarycomputational literacy.  In fact, it is neither necessary
norsufficient.  The only possible reason for insistence on their
continueduse would be founded in an interest in promoting the product. 
The APand SAT exams promote the use of these products.  QED.

A problem in promoting the use of such products is the limited
understanding of mathematics they encourage. 
The standard of mathematical and computational literacy required

(notnecessarily by current state standards, but in the larger world) by
today'shigh school students can be addressed through the judicious
study ofcomputational language.


Not all programming activity leads to mathematical insight.  However,

acentral core of what we call programming is in fact a form of
puremathematics, and many aspects of this way of thinking are in
factrelevant for the high school math curriculum.  The sooner America
getson task on this, the better off we'll be.  We can begin to address
thedeficiencies in both our secondary mathematical and technological
literacysimultaneously.

Again, please let me know if I'm off base with any of this.  Is any of
this irrelevant or tangential?

In my initial list

&gt;7.  Instead of spending so much time teaching kids how to isolate
variablesin equations, perhaps it would be better for them to learn how
toconstruct suites of simple interacting functions?

 
I think is clearly a mistaken expression.  It should not be 'instead of
..'.  Rather,

&gt;7.  In addition to learning how to isolate variables in equations

Happy New Year.

- Michel Paul


--You received this message because you are subscribed to the Google

jason...@creativetrax.com

unread,
Jan 1, 2010, 4:38:56 PM1/1/10
to sage...@googlegroups.com
calc...@aol.com wrote:
> I like all your points. However, I think the statement:
>
> "it is neither necessary nor sufficient"
>
> a bit redundant. I would remove that statement, it does not really add
> to the argument IMHO.
>
> BTW, if its not necessary, how can it be sufficient?
>
>

Here's an example of the general principle: an umbrella on a rainy day
is sufficient to keep dry, but certainly not necessary to keep dry.

Thanks,

Jason

David Joyner

unread,
Jan 1, 2010, 4:45:43 PM1/1/10
to sage...@googlegroups.com


Definitely many mathematicians use computers, but that is not how *all*


mathematicians do things these days.

In any case, as my wife is a teacher in the public school system,
I am not convinced that administrators are swayed by accurately stated
facts. They know their mission is teaching kids and if you can convince them
the school system do a better job educating kids using computer programming then
you can connect teaching programming to their mission. Hopefully, that is
something they can grasp.

I think Kirby Urner http://www.4dsolutions.net/ocn/index.html
has thought about tese things. You might want to email him directly
(I'm sure he is not on this list) to see what his opinions of your proposal
is.


>
> Also - has it become the norm for college math departments these days to use
> some form of CAS, whether Mathematica, Maple, MatLab, or Sage?  Or do only
> some use these things?  If it has in fact become the norm, and if we think
> we're trying to prepare kids for the world they'll be entering, well, why
> NOT show them these things?
>
> Again, thanks very much for the constructive dialog on this.
>
> Happy New Year.
>
> - Michel Paul
>

> --

calc...@aol.com

unread,
Jan 1, 2010, 8:35:57 PM1/1/10
to sage...@googlegroups.com
You can now visit my website

http://calcpage.tripod.com

and click on the link to my blog near the top of my homepage to see my
post for New Year's Day!

Enjoy,

john_perry_usm

unread,
Jan 8, 2010, 8:15:35 PM1/8/10
to sage-edu
Hi,

Sorry for the late reply.

I don't know if this is helpful, but something people have told me
before is that if you can get it started independently (i.e. without
administration support/money but with permission), and you
subsequently demonstrate success, then you have a more powerful
argument for progress than merely an argument, no matter how coherent--
ESPECIALLY if money is involved.

So I would ask: do you have a computer lab available? Can you maybe
convince some below- and above-average students to take on a new after-
school activity once a week, where they experiment with math in Sage?

(My personal experience was that SOME below-average students would
perk up if you gave them attention, and might even engage; the above-
average students were usually up for something new & exciting. Maybe
you can combine them in teams.)

For the program itself, you could start by teaching them rudimentary
programming, using as much as possible "real-world" problems to
motivate each step.

If you don't have access to a computer lab, then--as much as I hate
graphing calculators, they do at least have programming facilities. So
if nothing else you could get students working with that.

Last remark: having read the AP exam twice, I understand why they
require graphing calculators. They want to ask certain kinds of
questions on the AP exam, and those are generally beyond the scope of
what one can do by hand. QED. I don't like it much, but parts of the
AP exam are calculator-free if I recall, and I allow graphing
calculators on my exams anyway, so I guess I can't complain too much.
If this sounds like I'm contradicting something I wrote earlier,
well... it's possible. :-)

But I like the idea. I've remarked to people in Math Ed at my
institution that I think computer programming should be required in
high school, and they look at me funny. :-)

regards
john perry

On Jan 1, 2:26 pm, michel paul <mpaul...@gmail.com> wrote:
> After reflecting on the responses I received last year (and happy new one!),
> here is a condensed version of points I'd like to express to my
> administration:
>

>    - Given the ubiquitous nature of freely available and powerful


>    computational technology in our culture, what should high school students
>    learn?

>    - I believe they should learn math in a way that simultaneously empowers


>    them to make the most effective use of this technology.

>    - Fluency in graphing calculator use is not sufficient for contemporary


>    computational literacy.  In fact, it is neither necessary nor sufficient.
>    The only possible reason for insistence on their continued use would be
>    founded in an interest in promoting the product.  The AP and SAT exams
>    promote the use of these products.  QED.

>    - A problem in promoting the use of such products is the limited


>    understanding of mathematics they encourage.

>    - The standard of mathematical and computational literacy required (not


>    necessarily by current state standards, but in the larger world) by today's
>    high school students can be addressed through the judicious study of
>    computational language.

>    - Not all programming activity leads to mathematical insight.  However, a


>    central core of what we call programming is in fact a form of pure
>    mathematics, and many aspects of this way of thinking are in fact relevant
>    for the high school math curriculum.  The sooner America gets on task on
>    this, the better off we'll be.  We can begin to address the deficiencies in
>    both our secondary mathematical and technological literacy simultaneously.
>
> Again, please let me know if I'm off base with any of this.  Is any of this
> irrelevant or tangential?
>
> In my initial list
>
> >7.  Instead of spending so much time teaching kids how to isolate variables
>
> in equations, perhaps it would be better for them to learn how to construct
> suites of simple interacting functions?
>

> I think is clearly a mistaken expression.  It should *not* be 'instead of
> ..'.  Rather,
>
> >7.  *In addition to* learning how to isolate variables in equations (and


>
> explaining their reasoning), kids also need to learn how to construct suites
> of simple interacting functions to model and test ideas.
>
> Again, please correct me if I'm off, but I think this is one of the central
> differences between what we do in traditional high school math classes vs.

> what one does using a computational language/environment - *construction*.


> When using something like Sage, most of one's effort is not engaged in
> 'solving equations' but in constructing computational models of ideas, and
> this is important for today's math students to learn to do.  Our traditional
> curriculum doesn't touch that kind of stuff - or only rarely.
>
> I completely agree with and appreciate the importance of getting them to
> isolate variables in symbolic formulas.  I think that's where a lot of
> problems arise in students' understanding of what algebra even is (and I
> think the emphasis on calculators has promoted this misunderstanding) - they
> think it's all about finding particular numeric solutions for individual
> equations or for systems of, at most, 2 or 3 equations.  Then, when it's
> purely symbolic, their reaction is "Why are there so many letters?  Why
> can't you use more numbers?"  But this really is where they need to focus.
> The reasoning required to manipulate symbolic expressions is directly
> related to the reasoning required for computational constructions.
>
> There seems to be lots of agreement about the importance of writing in
> math.  Perfect.  I hope this can be a major point in persuading my
> administration that integrating something like Sage - not treating it like
> it's something foreign - would be extremely valuable.  Again, kids could
> create their own math reports in Sage, little mini-papers, that would

> actually *do* stuff while explaining ideas.


>
> And along with writing - reading.  I deeply appreciate the recommendation

> that if kids learn to *read* a math text that everything else becomes

calc...@aol.com

unread,
Jan 8, 2010, 9:15:54 PM1/8/10
to sage...@googlegroups.com
>>
I don't know if this is helpful, but something people have told me
before is that if you can get it started independently (i.e. without
administration support/money but with permission), and you
subsequently demonstrate success, then you have a more powerful
argument for progress than merely an argument, no matter how coherent--
ESPECIALLY if money is involved.
<<

Sounds like one of my heroes' mottoes: "do first, ask later!" That was
Grace Murray Hopper. This is exactly how I got Linux in my school. I
just decided to install it one day and acted all apologetic when they
told me I wasn't supposed to do it. By then it had been so entrenched
in my CompSci that they couldn't get rid of it! Of course, the
powers-that-be had all kinds of arguments against Linux:
(1) "isn't it copyrighted?" no it's copylefted,
(2) "isn't it expensive?" no it's FLOSS,
(3) "what about tech support?" you're looking a him.....

HTH,

calc...@aol.com

unread,
Jan 8, 2010, 9:25:45 PM1/8/10
to sage...@googlegroups.com
>>
So I would ask: do you have a computer lab available? Can you maybe
convince some below- and above-average students to take on a new after-
school activity once a week, where they experiment with math in Sage?
<<

This is exactly what I've been up to the last few years. Are you a
mind reader, John? I have a "Computing Independent Study" class that
meets once a week after school where we are playing with Clusters. We
also do research on using various scientific computing environments
(SAGE, Octave, R) in a PC Classroom setting. Hence the approval to run
a "Calculus Research Lab" every other day for my Calculus students to
use SAGE (in addition to the TI-89s they use in Calculus class).

I had one problem with this Lab, however. The new course proposal was
approved very late last year so guidance couldn't schedule kids into it
for September. I'm trying to get kids to sign up for it now for the
Spring (every day) but their schedules are so packed that I don't think
I can get enough students for a section although I have had a lot of
interest in the course.

calc...@aol.com

unread,
Jan 8, 2010, 9:29:11 PM1/8/10
to sage...@googlegroups.com
>>
For the program itself, you could start by teaching them rudimentary
programming, using as much as possible "real-world" problems to
motivate each step.
<<

What real world problems do you suggest? Is there a good textbook out
there for this? Would you advise using SAGE and python as the
programming environment even if you have noobs in class?

calc...@aol.com

unread,
Jan 8, 2010, 9:33:49 PM1/8/10
to sage...@googlegroups.com
>>
Last remark: having read the AP exam twice, I understand why they
require graphing calculators. They want to ask certain kinds of
questions on the AP exam, and those are generally beyond the scope of
what one can do by hand. QED. I don't like it much, but parts of the
AP exam are calculator-free if I recall, and I allow graphing
calculators on my exams anyway, so I guess I can't complain too much.
If this sounds like I'm contradicting something I wrote earlier,
well... it's possible. :-)
<<

No contradiction here, I know exactly what you mean. I still have to
use a GC in AP Calculus, but I can't say I'm happy about it either.
However, I was in at the beginning of the Calculus Reform movement and
the Rule of Three in the early 90s. GCs were the only game in town
back then.

In fact, I'm convinced that the low res LCDs without color or back
lighting that I used a lot for many years contributed to my needing
reading glasses now....

michel paul

unread,
Jan 9, 2010, 3:02:53 AM1/9/10
to sage...@googlegroups.com
On Fri, Jan 8, 2010 at 5:15 PM, john_perry_usm <john....@usm.edu> wrote:

>So I would ask: do you have a computer lab available? Can you maybe
>convince some below- and above-average students to take on a new after-
>school activity once a week, where they experiment with math in Sage?
>
>(My personal experience was that SOME below-average students would
>perk up if you gave them attention, and might even engage;

Well, something like that has actually started happening within class, and I'm very happy about that.  Around mid-semester I asked my FST (Functions Statistics Trig) kids if they'd like to learn Python, and they said yes.  I was thrilled, so I took them up on it.  I started showing them some Python and Sage, and some of them who've never particularly liked math could see some sense in this.  One girl told me one day that she really got what sigma was all about for the first time.  Their math is really weak, but they're able to follow the logic of simple list comprehensions and functions.  I've had them look at Python's turtle, Visual Python, and Sage.  One day in the lab we created parabolas made out of 3d spheres floating in space using Visual Python.  They liked that.  Very simple, but doable and something different.  They liked being able to zoom in and around the figures, and I liked the fact that they were getting a sense for list comprehension, which is really just set builder notation.

Then in Analysis class we hit matrices this week, and Sage was perfect for this.  I was able to show the kids how a matrix is just a list of lists, and I showed how simple it is to create a 'dumb' matrix in Python and then how to make it a 'smart' matrix in Sage.  The kids really got how this was very useful, not that all of them have rushed out to master using it, but some have started to take a look at it.  Frequently the attitude is why learn it if we can't use it during tests?I haven't been able to do as much pure Python with them - very, very little in fact, because of curricular pressures and larger numbers of kids that are resistant to exploring such things (worried about their gpa).  But from what I've seen, if the kids have a reason to buy into it, they really can handle it.  That's the main issue - getting them to see that this is a good thing to learn, and that's why I'd like to get a class dedicated to this where everyone was on the same page from day one.

I think it was very fortuitous that I got this particular group of FST kids.  They've been great, even though, again, their math is really weak.

Last remark: having read the AP exam twice, I understand why they
require graphing calculators. They want to ask certain kinds of
questions on the AP exam, and those are generally beyond the scope of
what one can do by hand. QED.

Yep.  And that's the whole problem.  This seems 'challenging enough', and it looks enough like 'computational thinking', so no further discussion seems necessary.  Why bother with computers when we already have these nifty hand held devices?  That is precisely the level of the conversation.  So ... wow.
 

calc...@aol.com

unread,
Jan 9, 2010, 10:37:55 AM1/9/10
to sage...@googlegroups.com
>>
Then in Analysis class we hit matrices this week, and Sage was perfect
for this. I was able to show the kids how a matrix is just a list of
lists, and I showed how simple it is to create a 'dumb' matrix in
Python and then how to make it a 'smart' matrix in Sage.
<<

Could you give an example of this? I'm familiar with this in
MATLAB/Octave, but not so much in SAGE or Python. If I could see how
to do all the stuff I do in Octave using SAGE instead, I'd have no
reason to use anything but SAGE!

TIA,

calc...@aol.com

unread,
Jan 9, 2010, 10:50:03 AM1/9/10
to sage...@googlegroups.com
>>
Yep. And that's the whole problem. This seems 'challenging enough',
and it looks enough like 'computational thinking', so no further
discussion seems necessary. Why bother with computers when we already
have these nifty hand held devices?
<<

This is a hard arguement to overcome, especially if the school has a
large investment in class sets of GCs as my school has. Its even
harder if you have TI-89 with CAS already. So, I don't make this
arguement. I say, TI-83 plus some Scientific Programming is great in
math class is fine, even a TI-89 and some CAS in Calculus. However,
take a look what we can do with SAGE in the PC Classroom. Its like
night and day, the GCs look like toys!

I made this exact arguement at our last Superintendant's Day (Election
Day) where I volunteered to give a presentation entitled: "Look Ma, No
Calculator!" My supervisor loved it! That's partly why I have a new
course approval for a "Calculus Research Lab" using SAGE to enhance the
learning of Calculus. Now I just have to get some enrollment....

BTW, I'm giving the same talk at LIMACON at SUNY Old Westbury
(4/16/2010) if anyone's interested. I also will be showing how I
record all my lessons for YouTube using a wireles mic and PC Tablet (a
lot like a SmatBoard).

Also, I think I'll give this presentation at the next T^3 (Teachers
Teaching with Tecnology) at Molloy (11/2010). Do you think TI will be
upset? You see, TI is the main sponsor of T^3, so I don't know if they
will appreciate a talk entitled "Look Ma, No Calculator!" To be fair,
the speaker invitation I recieved from Molloy just yesterday said I
could talk about SMartBoards. Also, I do use a TI emulator (VTI) on my
PC desktop.

HTH,

michel paul

unread,
Jan 9, 2010, 11:22:31 AM1/9/10
to sage...@googlegroups.com
On Sat, Jan 9, 2010 at 7:37 AM, <calc...@aol.com> wrote:

Then in Analysis class we hit matrices this week, and Sage was perfect for this.  I was able to show the kids how a matrix is just a list of lists, and I showed how simple it is to create a 'dumb' matrix in Python and then how to make it a 'smart' matrix in Sage.
<<

Could you give an example of this? 
 

Sure -  here's a 'dumb' matrix in pure Python:

M = [[2, 7, 6], [9, 5, 1], [4, 3, 8]]

It is quite literally just a list of lists.  Structurally it's a matrix, but it doesn't yet know how to act like a matrix.  However, with just this much you can illustrate indexing:  M[0] returns [2, 7, 6].  M[1][1] returns 5, etc.

Now we can make it a 'smart' matrix:

M = matrix(M)

Magic!  M can now do all kinds of useful matrixy things.  Indexing works just as before.  If we want to find out what else we can do, we type 'M.' followed by TAB.  Wow!  I don't even know what most of that stuff is!  : )

One little detail - if we want our matrix to be able to handle rationals or reals we have to indicate that with a 'QQ' or an 'RR' in the parameter list, but one step at a time.

In a truly integrated computational thinking math class, I think it would be a good exercise to think about how to write at least some of the typical matrix functions to handle dumb matrices from scratch.  For example, dot product:

def dot_product(row, col): return sum([r*c for (r, c) in zip(row, col)])

I love that!  From there we could write columns(M), a function that would extract the columns from a dumb matrix, and from there we could create matrix_product(A, B) that would build another dumb matrix from the dot products of the rows in A and the columns of B.

And if the kids were really good, we could even create our own simple little matrix class, just to get a sense for these things.  But clearly this would be overwhelming in a typical Analysis course.

 - Michel

jason...@creativetrax.com

unread,
Jan 9, 2010, 12:52:11 PM1/9/10
to sage...@googlegroups.com
michel paul wrote:
> On Sat, Jan 9, 2010 at 7:37 AM, <calc...@aol.com
> <mailto:calc...@aol.com>> wrote:
>
>
> Then in Analysis class we hit matrices this week, and Sage was
> perfect for this. I was able to show the kids how a matrix is
> just a list of lists, and I showed how simple it is to create a
> 'dumb' matrix in Python and then how to make it a 'smart' matrix
> in Sage.
> <<
>
> Could you give an example of this?
>
>
>
> Sure - here's a 'dumb' matrix in pure Python:
>
> M = [[2, 7, 6], [9, 5, 1], [4, 3, 8]]
>
> It is quite literally just a list of lists. Structurally it's a
> matrix, but it doesn't yet know how to act like a matrix. However,
> with just this much you can illustrate indexing: M[0] returns [2, 7,
> 6]. M[1][1] returns 5, etc.
>
> Now we can make it a 'smart' matrix:
>
> M = matrix(M)
>
> Magic! M can now do all kinds of useful matrixy things. Indexing
> works just as before.


This is a great way to approach this subject. Thanks for sharing it!

A small technical note about indexing. While M[1][1] works (i.e., it
gives you the entry), M[1,1] is much, much more powerful. For example,
M[1, (1,2)] gives you a submatrix, M[1,:] gives you row 1; M[:, 1] gives
you column 1, etc. It's even more powerful than that, because you can
easily do operations involving submatrices. For example,

M[:, (0,1)] = M[:, (1,0)]

swaps columns 0 and 1. Do you see what is happening here? The right
hand side is giving you a matrix consisting of columns 1 and 0 (in that
order). You are assigning those to whatever is on the left side of the
equals, which is a placeholder for columns 0 and 1 (in that order). So
you've swapped the columns! You can't do this sort of thing with the
M[][]-type indexing.

Also, M[:, -1] gives you the last column.

For documentation, see M.__getitem__? and M.__setitem__?

We should make the indexing stuff examples in the reference manual (I
don't believe it's there now since it's for a "__" function). I've made
http://trac.sagemath.org/sage_trac/ticket/7877 to address this problem.

Thanks,

Jason

Harald Schilly

unread,
Jan 9, 2010, 5:55:14 PM1/9/10
to sage-edu
On Jan 9, 5:22 pm, michel paul <mpaul...@gmail.com> wrote:
> def dot_product(row, col): return sum([r*c for (r, c) in zip(row, col)])

I was reading this and i just want to add a more advanced example for
that (it's a bit faster, too):

import operator
def dot_product(row, col): return sum(map(operator.mul, row, col))

and spicing it with imap from itertools:

from itertools import imap
def dot_product(row, col): return sum(imap(operator.mul, row, col))

h

michel paul

unread,
Jan 10, 2010, 11:15:51 AM1/10/10
to sage...@googlegroups.com
On Sat, Jan 9, 2010 at 9:52 AM, <jason...@creativetrax.com> wrote:
A small technical note about indexing.  While M[1][1] works (i.e., it gives you the entry), M[1,1] is much, much more powerful.  For example, M[1, (1,2)] gives you a submatrix, M[1,:] gives you row 1; M[:, 1] gives you column 1, etc.  It's even more powerful than that, because you can easily do operations involving submatrices.  For example,

M[:, (0,1)] = M[:, (1,0)]

swaps columns 0 and 1.  Do you see what is happening here?

This is excellent!  Thanks very much.  And very timely - it will be perfect for illustrating things coming up, like expansion by minors.




 
 The right hand side is giving you a matrix consisting of columns 1 and 0 (in that order).  You are assigning those to whatever is on the left side of the equals, which is a placeholder for columns 0 and 1 (in that order).  So you've swapped the columns!  You can't do this sort of thing with the M[][]-type indexing.

Also, M[:, -1] gives you the last column.

For documentation, see M.__getitem__? and M.__setitem__?

We should make the indexing stuff examples in the reference manual (I don't believe it's there now since it's for a "__" function). I've made http://trac.sagemath.org/sage_trac/ticket/7877 to address this problem.

Thanks,

Jason


--
You received this message because you are subscribed to the Google Groups "sage-edu" group.
To post to this group, send email to sage...@googlegroups.com.
To unsubscribe from this group, send email to sage-edu+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sage-edu?hl=en.






--

michel paul

unread,
Jan 10, 2010, 12:02:03 PM1/10/10
to sage...@googlegroups.com


Thanks, this kind of stuff would be good to know about for kids experienced in programming.

It's always a difficult balance in high school math - efficiently illustrating math concepts in code without pushing buttons that flash 'Warning!  This is no longer math!'.

In an actual computational math class this would provide an excellent example for differentiation.  'Differentiated instruction' is a big buzz word these days at my school.  OK, if that's what they want, here's an example.

h

Offray Vladimir Luna Cárdenas

unread,
Jan 26, 2010, 2:18:29 AM1/26/10
to sage...@googlegroups.com
Hi,

On 01/01/10 16:34, calc...@aol.com wrote:
[...]


> -----Original Message-----
> From: michel paul<mpau...@gmail.com>
> To: sage...@googlegroups.com
> Sent: Fri, Jan 1, 2010 3:26 pm
> Subject: [sage-edu] Re: what should be taught?
>

[...]


> There seems to be lots of agreement about the importance of writing in
> math. Perfect. I hope this can be a major point in persuading my
> administration that integrating something like Sage - not treating it
> like it's something foreign - would be extremely valuable. Again, kids
> could create their own math reports in Sage, little mini-papers, that
> would actually do stuff while explaining ideas.
>

[...]

This remembers me the idea of "active essays" from the people of
squeakland.org and their position about simulation as a way of
argumentation using the computer. May be you should check it.

Cheers,

Offray

Reply all
Reply to author
Forward
0 new messages