Creativity Conference II – What Inspired Me

I was inspired  by the smart, sensitive and, yes, creative presenters at our second Creativity Conference here at Southern Oregon University.  Last year I listed what I had learned.  This year I will list what stirred me to action.

  1. Art, its disciplines and the mini-skills necessary for its practice, can inform learning in any field even with difficult (college students) or sad (refugee children) people.  I learned from the  Jessica Hunter-Larsen and Dez Stone Menedez from Colorado College that the discipline of seeing necessary to art can be transferred to other areas. Physics was an example.  I will be using this idea when I introduce graphs of functions and also the unit circle in precalculus.  Another thing I learned was that techniques used in teaching art can help break the barriers typical college students have to risk taking and owning their own learning.
  2. The classroom is for thinking – the higher level the better.  This I learned from Dr. Weiping Hu.  I have always said that I liked test days because I knew the students were thinking about math.  Dr. Hu’s presentation has inspired me to have more active, higher level thinking exercises in my classes.
  3.   The practice and joy of doing art improves learning and much more.  I was inspired by the Chula Vista elementary school district that committed fifteen million dollars to arts education to enrich the experiences of its students any of whom are traumatized by the fear of and the actuality of deportation of their parents, relatives and friends.  This was presented by Ivonne Chand O’Neal and Harun Tadik.
  4.  Through the tangle of creativity measures, three simplifications stood out.  Dr. Dean Simonton’s idea the creativity equals novelty times utility times surprise.  Michelle Neumayer’s prerequisites of safety, connection and learning.  And Dr. Jonathan Feinstein’s focus on creative guiding principles.  The first I will use as we develop ways to measure creativity.  The second I will use as a lens into my and others’ teaching practices.  And the third I will use as I engage with creative endeavors and products.
  5. There was so much more.  My notebook is full of light bulbs – ideas to pursue and “TD,s” – things to do – look up references, change class exercises, and more.

Thanks to everyone involved for such stimulating ideas and such grace.

Posted in Cool Ideas, Pedagogy, Teaching | Tagged , , | Leave a comment

Precalculus Essay Test

As something to do while waiting for new advisees at our first summer registration event, I attempted to turn a typical precalculus exam into an essay test – no calculations, just words.  Actually also diagrams.  You can see it at the end of this post.

What I found out:

  • Students would have to read too much.
  • The exercise helped me clarify what I really wanted them to know and is therefore recommended.
  • Sometimes just doing the problem is sufficient evidence of understanding.
  • I am dependent on the unit circle model for explaining and understanding trig functions.  Many of the problems were really to see if the students really knew it.
  • The questions were somewhat labored since I was converting a standard test rather than starting from zero.
  • The questions demanded precise language – never a bad discipline.
  • Students have to be primed and practiced for such an exam.
  • The test will be hard to grade.  I would need explicit rubrics for each problem – something I do naturally on the standard tests.

Precalc Test

Posted in Curriculum, Pedagogy, Teaching | Tagged | Leave a comment

Changing the Limits of Integration

It is possible to change the limits of a definite integral to any limits you want by using a linear u-substitution.  To go from the integral from a to b to the integral from a’ to b’, use a u-substitution of u = mx + c, with m = (b’ – a’)/(b – a) and c = (a’b – b’a)/(b-a) with du = mdx.  This technique is used in Gaussian Quadrature for instance.

This is simply a change of scale and a translation.  I was interested in what it looked like as the shape got deformed, always with the same area, to the targeted limits.  Here we ‘move’ a parabola from [3,6] limits to [-1,1] limits:  Moving Parabola to Adjust Integration Limits Here is the final frame:

Parabola now shifted to [-1,1]

Slightly more interesting was to watch this low three peaked object change to a narrow three peaked shape.  The scaling does not change the number of periods displayed because although the period changes, the plotting interval changes accordingly.

Three Peak Beginning Shape

Three Peak Ending Shape

You can watch the video here. That’s all.  I just used this exercise to learn how to create animations using Python.

Posted in Cool Ideas, Math Explorations | Tagged | Leave a comment

I Love Math – And It Makes Me Glad

I love the game of Go, I love golf, I love my wife, I love teaching, and I love math – and this makes me glad.

Eight years ago, I ended that sentence with the word, “sad.”  Eight years of minor and not so minor health problems. Eight years of increasingly ill golf buddies and relatives. Eight years of friends and relatives passed.  I have the sense that I am intently clinging to those activities and those people who give me the most pleasure. Now I marvel at those few new ideas that enter my brain.  I am paying closer attention to my friends, my students and my wife and sometimes reel in amazement at their creativity, their humor and their courage. I am still looking forward and striving to improve, though now there is a sense of impending limitation and fear of not finishing my small projects. So, I’m glad and grateful that I can still play and think and enjoy other’s company.  As you can see, I am no longer measuring or judging my performance. I am intentionally and self-consciously paying attention. I love living on the Earth in an Earth-designed body with an Earth-responsive brain and it makes me glad.

Posted in Rants | Leave a comment

Machine Learning – So, Explain Yourself

We humans are not giving up without a fight. Though computers are clearly outthinking us, see AlphaGo for example, we aren’t listening.  Cynthia Rudin, my latest hero, describes the issue in this video. Humans need reasons. In the paper, A Bayesian Framework for Learning Rule Sets for Interpretable Classification. Journal of Machine Learning Research (JMLR), 2017 Tong Wang, Cynthia Rudin, Finale Doshi, Yimin Liu, Erica Klampfl, and Perry MacNeille,  she and her researchers devised a machine learning method that provides compact understandable rules that define specified success. This post is a report on my experiments with the accompanying program that was posted here on github.

I first used their tic-tac-toe example to get all the Python parts running. The output, as I found out, was a set of rules defining what a win looked like. Then I decided to see if the method could generate the rules of the game of  Set in the same way. Set is played with a deck of cards. Each card has a symbol or symbols having four characteristics – number, shape, color, and fill type, each with three different possibilities. A set is three cards that have either all different or all the same possibilities for all four characteristics. To make the resulting rules from the program a little easier to understand, I chose to do the simulation with just three characteristics called a, b and c with three possibilities 0, 1 or 2 for each.

After messing around with random deals for a while, I found that the proportion (4%) of natural hits was too low for the program to handle. In my struggle, since nothing seemed to be working, I had added logical summaries to the input data columns. In essence, I preprocessed the information. Each deal of three cards was now accompanied by six columns describing whether each of the characteristics were all the same or all different. This felt like cheating. Since I had known what I was looking for, I set up columns that summarized those exact traits. For a while, I experimented with just this summary information. I had started by using all permutations of the deals, then changed to just all combinations since the program did just as well without the redundancy. The four percent success rate was not enough for the program to learn the distinctions so I turned the problem on its head and defined hits as non-sets. This lead to a succinct set of rules arrived at quickly. There were the three rules for non-Sets, to quote, “(‘cAllDifferent_neg’, ‘cAllSame_neg’) (‘aAllDifferent_neg’, ‘aAllSame_neg’) (‘bAllDifferent_neg’, ‘bAllSame_neg’)”. This translates as characteristic c can’t have all different traits and characteristic c can’t have all the same traits or  characteristic a can’t have all different traits and characteristic a can’t have all the same traits or characteristic b can’t have all different traits and characteristic b can’t have all the same traits. This is exactly how a human might describe the game of Set’s rules. Next I added columns for the specific characteristics on each card. The program properly ignored the more detailed information and reverted to the summary information since they gave a more compact set of rules. Finally, I eliminated the summary rules. The list of rules was longer than it needed to be and had evident overlap. It was tricky to parse, i.e., explain to myself. Anyway my learning curve has flattened out. Now I want to explore real data. This is in the works.

What have I learned? 1) The method of assigning added negation columns saves time and gives fewer, shorter rules. 2) Looking for rules that define non-hits is sometimes more efficient. 3) It is sometimes useful to preprocess the data into partial summary logical new columns. 4) Using someone else’s program without a understanding every line leaves a residue of uncertainty.

Also, a shout out to the Jupyter notebook system which made working with Python much easier and more organized. This type of notebook is particularly useful for the kind of casual experimenting that I did. Each time, I copied portions of the program’s run results and pasted them with some comments into a new HTML cell as documentation. The result was a crude narrative which I drew on for the above.

Posted in Cool Ideas, Math Explorations | Tagged | Leave a comment

Science Problems with an Apology

I added these two problems to the Precalculus homework list as part of my effort to incorporate science examples in my classes.

Science Problems for Precalculus

Science Problems for Precalculus

They were taken from solutions to some physics exercises and intended to give more practice on multi-variable systems. Afterwards I shared a copy with our science people accompanied by an apology. I had stripped the problems of meaning. They just sit there lifeless, without any scientific justification or reasoning. Our students will still benefit from seeing problems that are closer, if only in notation, to the ones they will see in their science courses. Anyway, if you think about it, the problems are least one level above the algebra abstraction where all variables are x and y.
I just got an email from our physics professor. He asked me to reword the first problem to emphasize that the tangent of theta is a function of several variables. What a good idea. This is a point of view that we introduce too late in mathematical curricula. I can’t wait to discuss this stuff with my students tomorrow.

Posted in Curriculum, Teaching | Tagged | Leave a comment

An Optimization Excursion

A student, Emily Wimmer, walked into my office.  She was trying to make sense of an optimization algorithm.  We worked it out and off she went to write a MATLAB program to test the algorithm on a well-behaved function. Of course, just as a mathematician instinctively looks for an counterexample to “break” a proof, I started to imagine a function that would be hard to optimize, in this case,  a prototypical hilly landscape with lots of local optima.  My idea was to use slightly perturbed Chebyshev polynomials over a restricted domain.  With a little tweaking, I had my hilly terrain.

The function is specified in this python code.

# Hilly Landscape Function

def T10X(x):
x = x +.2
y = -(512*x**10-1300*x**8+1120*x**6-400*x**4+50*x**2-1)+1*x**12+.4
return y

def T10Y(x):
y = (512*x**10-1285*x**8+1120*x**6-400*x**4+50*x**2-1)-1*x**12 – .2
return y

def func2dplot(x,y):
f = -T10X(x)*T10Y(y)
return f

In the course of this investigation I found these images of awesomely weird functions and learned about python’s scipy library of optimization methods.  I tried one of them, “basinhopping,” on my function.  Hence the garish ball locating the “optimum” on the graph above.  It is evidently not the global maximum.  Thus I “broke” that particular optimization method.

All this was an excursion in the middle of excursions.  I was working on a machine learning application.  Then Emily came in with an interesting problem.  Before I could think through that problem, a biology professor had a question about curve-fitting survival curves.  I got that one lined out, then returned to the optimization.  Now I can get back to my machine learning application but who knows what other interesting problem will walk through the door.

By the way, the Jupyter system of interspersing python code and HTML has been highly useful for all these types of explorations. Recommended.

Posted in Cool Ideas, Math Explorations | Tagged | Leave a comment