Thoughts on a Word Problem

I created this post using OneNote. It was easier just to import a PDF>

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

Tiling-Cubical Solids : Felted Platters-Wooden Boxes

My crafty side needed attention. Hence the following.

Here are some boxes I made out of Port Orford Cedar and Combed Cedar siding. The cube has a sliding dowel hidden latch so it must be oriented in a certain position for the lid to open:

Two Wooden Boxes without Tops
Broad Wooden Box with Top and Wooden Cube

Broad Wooden Box with Top and Wooden Cube with Lid

I also experimented with monotiling felted platters. Here is the first true aperiodic monotile done in felt. The tiles need to be cut precisely to fit well and cutting felt (old scraps of army blankets) that carefully is nearly impossible. ”Adjustments” can be seen. Since cutting the entire figures involved cutting concavities, I assembled the shapes from kite-like figures. I had only two colors so the final image is not so satisfying.

Aperiodic Monotiling in Felt on a Circular Platter

Here is a pentagonal tiling that is on the obverse side of the above platter. Again precision was difficult and “adjustments” can be seen.

Pentagonal Monotiling in Felt on a Circular Platter

The following are other patterns I made.

Sierpinski Triangles on a Felted Platter
Four Big Squares and a Small Square on a Felted Platter
Square in the Middle of a Felted Platter
Checker Board Pattern on a Felted Platter

Finally some coasters I made with felt. These have the advantages of gripping the table and the glass robustly. Also the white rims make them easy to find in dim light, say watching TV at night.

Four Felted Coasters with White Rims
Posted in Math Explorations, Uncategorized | Tagged | 1 Comment

Make the Course Yours – A Response to AI in the Classroom

Response to the ubiquity of generative AI on college campuses must include rearticulation of both institutional and personal purpose.  Justin Wolpers’ excellent webinar laid out the problem in stark terms.  Nearly all college students use GPT for some of their college work.  They are really good at using it and will get amazingly better.  We label, rightly, much of this activity as cheating albeit hard to detect cheating.  It is cheating because it lies at cross purposes to university educational goals.  Universities have managed previous disruptive technologies through introspection, co-option, goal review and goal change. This should and will happen again.  I will contend here that emphasizing our personal purpose in our classes can help suppress student’s casual use of GPT.

Substantial assignments and midterm tests and final exams are given so that students can demonstrate what they, as individuals, have learned.  Homework assignments are designed to develop student learning.  Learning is hard.  Students, in my experience, will take great measures to avoid putting in the work. GPT gives them a new way to simulate thinking and learning with very little effort and very little chance of detection. A young person has many temptations – many opportunities to become skilled in nonacademic areas (video games, socializing, mountain biking, …), opportunities to work more hours, opportunities to enjoy mind-altering substances.  From an immediate gratification standpoint, the choice is obvious.  “In the long run” arguments for learning haven’t been persuasive in the past and won’t be today.  Students are acting naturally and rationally.

Justin Wolpers’ solution, admittedly temporary, is to make using GPT harder than doing the actual learning work. He suggests limiting the copy/paste function, formulating questions that are more difficult for AI to answer – multiple choice instead of true/false, using more diagrams and having answers requiring diagrams, for example.  My addition to the list is “Make the Course Personal.” Couching your assignments and tests as responses to what has happened in class and on homework and quizzes and tests on a granular level would make using GPT harder than doing the actual work of learning.  To do this, we need to revisit our individual purpose and ask, “Why is this particular individual standing in front of these particular students in this particular course?”  The more the instructor’s and student’s individual humanity is expressed in a course, the less that supreme amalgamator of human thinking, GPT,  will be able to deceive us.

I therefore suggest something along the lines of the following first day speech.  After some type of student-introduce-yourself activity, I might start as follows.

“I would like to talk about how this class will go – the expectations and the rules. I will try to relate these rules and expectations to university, department and my personal goals for this class.  The intention of this class is to change your brain.  That is what learning does.  It makes physical changes to your brain.  This class was approved by the university because it fits with the learning goals it has for its students.  The goals were approved by a  formal process that included students.  Why have these learning goals?  Because the university believes that, on the average, you will have more interesting, remunerative and responsible jobs and be able to make better decisions throughout your life with those learned skills and attitudes. Many of you are receiving financial support to be here.  Society is paying for you to learn because it thinks college educated individuals improve society.  The department has thought through specific learning goals for this class and reviews them periodically and of course you will be hearing my individual take on those goals.

“This means that I have an obligation to maintain the integrity of this class – to be sure that your individual brains have changed by the end of this class.  I certify this by the grades I submit at the end of the term.  These grades will be based on the evidence of learning that you provide. For example, we will have three “midterm” tests.  These tests exist to help you assess how well you have learned the material and in partial consequence how well your learning methods are working.  The lowest test will be dropped.  You will also have the opportunity to improve your grade by ten percent by correcting the problems you have missed.  The graded tests will for the most part only be marked correct or incorrect since you will learn more by discovering your errors with help from me or your classmates or your text or whatever.  The two tests will count for 40% of your grade.  Also, the tests will be open notes.  For those of you in physical class, you can find a pile of bound notebooks in the front of the classroom that you can take and use (one to a customer).  For those of you at home, when you take the test you will not have access to the class website so be sure to take extensive notes for each of the weekly modules.  All questions on the tests and the final will ask what date the subject of that particular question was covered in class.  The questions may also ask what homework problems were similar or ask that you work the problem with the specific method that we developed in class.  These questions must be answered correctly before the rest of the problem is graded.  Sometimes you may be uncertain about what was the relevant class. There will be an opportunity to explain that part of your answer. We will take some open note quizzes during the semester, so you can get the hang of it.  Each test will be scheduled for a two-hour block of time.  When you signed up for this class, you pledged that you would be available for those three two-hour blocks and a three-hour block for the final as described in the schedule.  The tests will be designed so that a B student can finish in 70 minutes and the final so that a B student with average typing skills can finish in two hours.

“The final exam will be summative. It is designed for you to show that you are leaving with learning objectives imbedded in your brain.  It will be open notes with the same format as the tests.  It will be worth 40% of your grade.  A spreadsheet with your currently estimated class grade will be periodically available.

“The remaining 20% of your grade will be based on class participation, quizzes and homework.  These specific exercises are designed to help you learn the material and the 20% of the grade is the incentive for you to do so.

“Details of all this can be found on the first-day handout. I will be available during my office hours, in person, or by Zoom, or by email, if you have any questions.  I have also asked you to write me a letter that answers a few questions about yourself.  That would be a good place to tell me any personal circumstances that might affect your performance in this course.”

It isn’t hard to imagine what would happen if I gave such a speech. Few students would return for the second class and few students will sign up for my course next term.  The students will find another way to get credit for the course – taking it online from another school or from another instructor if possible.

I’m retired so some of the above is pie in the sky. But I have used various forms of those rules and I have supplemented my lectures with content unique and important to me.  Bottom line: In a generic course with generic students generic AI will prevail.

Posted in Classroom Happenings, Curriculum, Pedagogy, Rants, Teaching, Uncategorized | Tagged , , , | Leave a comment

Creativity Conference – Presentation Skills 

The sessions at the fifth annual Creativity Conference at Southern Oregon University triggered the following thoughts on the mechanics of  presentations. 

  • Use of phrases like “time immemorial” and “unlimited potential” show imprecise thinking. 
  • Avoid the use of the word “must”. No audience member likes being told to have to do something. 
  • Square up your Zoom image.  Be aware of the background.  Look professional.  If you are unfamiliar with the program, practice beforehand. 
  • Have respect for your fellow presenters. End on time and take only your share of the time when co-presenting. 
  • The way teachers present to colleagues is often very different from the way they teach, to the detriment of the presentation. 
  • It is worthwhile having someone listen to your presentation rehearsal for too noticeable inflections or droning or excessive fidgeting or odd rhythms. 
  • Think of a presentation like making a sale. Start with your result and then argue for it. 
  • Know who you are talking to. 
  • Shorten your talk to an exact point. 
  • Why ever small print? 
  • Why ever white print on a light background? 
  • Do not read a presentation. 
  • Make sure there is not going to be any noisy activity in rooms adjacent to the presentation rooms. 
  • Careful of going off tangent and thus not finishing. 
  • Avoid a recitation of news articles that most informed people have already seen. 
Posted in Teaching | Leave a comment

A Creativity Conference Triggered These Thoughts 

The sessions at the fifth annual Creativity Conference at Southern Oregon University triggered the following perceptions and ideas.  I will strive to cite specific presenters, when possible, given my, at times, nearly illegible notes. 

In general: 

  The sudden ascension of AI creation bots challenges current definitions of creativity and provides new tools for investigating creativity in addition to providing new creative artifacts. People are devising clever ways to measure creativity in action.  Working on creative endeavors is empowering. It was a joy to spend time amidst all that focused, intent, intelligent activity. 

Generative Artificial Intelligence (GAI) creates new things: 

Creativity entails newness, surprise and utility. New to whom?  It must be new to humans. Can something be new to a bot which can generate newness at will?  Using the term “at will,” in relation to a bot is just weird.  Only humans can be surprised, though bots may be able to act surprised.  Yet, if a bot routinely creates “surprising” artifacts are they any longer surprising? Will we be consigned to remarking, “Oh, another bot generated great idea. Ho-hum.” ? At this point, AI bots are constructing objects useful to humans, essentially because the humans asked for them.  But it is possible to think of asking a GAI bot to devise a tool that would allow it to do its work better. Or a meta thought: asking the bot to ask itself routinely to improve its processes. 

Humans will need to respond carefully to all these new creative objects: 

If humans are going to have any control over these AI bots, they will have to become better reviewers, judges and raters of creative artifacts.  In music and art, we speak of a work evoking emotions and even touching the soul.  Humans will need to learn to specify exactly what characteristics produce those outcomes, as reductive as that seems. This may be a way of separating human-created objects from AI- generated objects.  Unfortunately, GAI can spam us with thousands of new creations in response to a single prompt.  Human raters will need to have firm background in the space of a particular creation, though it might be possible to have an AI bot do the background search.  In any case, humans will need to judge the ethical content of AI artifacts. This step will be necessary and people will need to be trained in this type of review. Thus, an imperative to demand careful critical thinking and precision from these GAI’s, which means that humans will need to be better and more precise thinkers – like parsing a mathematical proof.  Knowledge of how to ask questions of an AI bot will be an essential skill. 

The role of humans amidst all these new creative objects: 

In any group endeavor, there is a need to communicate one’s thinking and to recognize that humans think in different ways.  If an AI bot is part of a group, it will need to communicate its thinking in different ways for different people.  The group facilitator may need to prompt the bot to explain itself in different ways.   Often human beings are persuaded by a story, will GAI have this mode of argumentation? Should we treat AI bots as a new intelligent species? 

What happens when the AI goes out into the real world: 

AI can train you.  Ai can give you more ideas.  If a teacher is a creative actor, then AI can help.  Still, we will need highly developed learning skills.  So far, the bots are creative in two dimensions but not generally in three.  But we live in three (four) dimensions.  Right now, there needs to be a translation step when interacting with AI about life in 3D. 

Errors in some statistical studies have been found when their results are compared to repeated human experiences.  AI results will also butt up against reality eventually.  Unfortunately, the feedback loop will take too long.  We will have to demand that GAI’s explain their art. 

What happens when you use AI as a tool: 

AI has access to all backgrounds so it will “know” more than any one of us.  Reliance on AI answers may result in a fixation on only those ideas that the AI has.  Writing is an essential tool in science.  AI bots can ease this burden, so its use needs to be taught and practiced.  One should be aware that complex processes often need delicate control often learned through trial and error.  AI may not be able to replicate this particularly if the processes are physical.  Asking a GAI enough times saturates the layers.  The AI may have blind spots like the latest discovery on how to beat a computer Go playing bot.  AI will be much more useful when it can work in 3D space. 

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

ChatGPT Takes a Precalculus Essay Test

Test days were good days. They were learning days. At least during those hours, students were actually thinking (mostly) about math. They were also good days when I was a student. I got to solve problems and skip the daily routines of class.

Teaching might be described as helping students change their brains. This is done by getting students to think about the subject matter. Such thinking is intended to be done by individual students while doing homework, taking quizzes and tests, writing essays, etc. The integrity of a course lies in being able to assure students that they have achieved the thinking goals on the syllabus.

The immergence of robot writers like ChatGPT and the prevalence of computer algebra systems is challenging this sense of integrity for math classes. It is now possible, even likely, that some students can do their outside-of-class work without doing much if any thinking about the subject matter. Grades for such work would no longer incentivize subject matter thinking. Their use also disrespects all the students who are behaving honestly.

With these thoughts, I decided to give ChatGPT the essay precalculus test that I posted years ago.

My observations:

  1. The bot did well on some questions.
  2. The bot is gullible.
  3. The bot lies.
  4. The bot can’t feign some human affective qualities.
  5. The urge to help the bot do better is hard to resist.
  6. The bot makes the same common mistakes that students make.
  7. The bot is loquacious.
  8. The bot doesn’t listen and learn.
  9. The bot can’t calculate.
  10. The bot can’t reliably reason mathematically.
  11. The bot is obsequious.
  12. The bot doesn’t do diagrams – understand or produce, of course.
  13. The bot needs explicit context setting – no calculus in a precalculus course for example.
  14. The bot can tell you how to use a computer algebra system (Wolfram Alpha), sometimes.
  15. Bots do better with careful wording.
  16. Bot paragraphs do not have a tight logical structure.

Teaching Suggestions:

  1. Course grades should be based substantially on proctored work which, by the way, has always been the case. The problem is that students’ grades in timed situations will depend somewhat on how well and fast they can read complex instructions and how efficiently they can write in longhand. Testing may need to be done in computer labs or on school provided laptops with aggressive proctoring.
  2. Math tests should be more essay-like and emphasize reasoning. The ability to work a problem may or may not show that a student understands the underlying issues. Good practice would be to, the day before the test, give students the (detailed) instructions they will see on test day. Also give a general description of each problem and its intention and the rubric for grading it.
  3. We can also make our lectures and class essential to learning and later displaying higher level thinking skills. Why does teaching involve student presence unless to have an instructor, in their own individuality, help students with their nascent learning skills? Tests should explicitly require references to the thinking methods modeled in class.
  4. We can tighten our standards for logically constructed arguments noting that bots have trouble with more than one step inferences.
  5. For out of class work, we need to be explicit about our standards and what aids that can be used. If using bots is ok, then we can at least demand fully correct grammar and spelling for example.

General comments on ChatGPT sessions:

  1. My style of questions quickly evolved into a set pattern. I used “please” and “thank you” for instance.
  2. I found myself treating the bot like a student who came to my office to make up a test by oral exam. I would ask the question and then try to help the student dig deeper or get back on track.
  3. I got irritated when the bot repeatedly paraphrased the wrong or incomplete answer.
  4. I really wanted to help the bot do better.
  5. Note that the bot is responding to my personal style of inquiry and might take a different tact or tone with someone else.

The (edited) essay question sessions with ChatGPT follow. The question, sometimes rephrased if the bot was misinterpreting, is italicized.

  1. Write the formula for the circumference of a circle and explain how it comes from the concept that circles are geometric figures. Draw with labels the “rectangle” made up of thin sectors of a circle that we used justify the formula for the area of a circle.

The bot never drew the figure but did describe it in words. It did provide fairly useless diagrams like this.

The bot used calculus integrals when instructed not to. It used trig concepts when instructed not to. It has a canned apologizing response like “You’re absolutely right, and I apologize for the mistake in my previous response. Pi is indeed the ratio of the circumference of any circle to its diameter. Thank you for bringing that to my attention.”

For the integrity of an actual test, credit should only be given if direct reference is made to the lecture material.

2. The Pythagorean identity relating sine and cosine is directly derived from the definitions of the sine and cosine on the unit circle. Explain why.

The bot only considered triangles in the first quadrant and never used the definition of the unit circle – common student mistake.

3. The tangent function was defined using coordinates on the unit circle. Explain how this leads to a fundamental identity relating tangent to sine and cosine.

The bot didn’t recognize the importance of the word fundamental in the problem. This would have been based on a lecture explanation. Its answer started with the answer (sine over cosine) and lengthily derived an irrelevant trig identity. I tried to coach it with You started well. You only need to use the first 4 steps of your proposed answer. but it still didn’t produce the simple explanation. Here I first noticed that I was treating it like a student, say a student who missed the test and came to my office to have an makeup oral exam. I would ask the question and then give prompts to help the student get to the answer or at least show me they understood what was going on. This turned out to be irresistible fun but often frustrating. I also disciplined myself to speak to it politely and in full sentences.

4. Write the formula for exponential growth staring this way, “n(t) = ….” Based on the lecture, how do you know when to use such an exponential model?

The bot would get full credit for its answer. I chastised it for not referring to my lecture. Here’s the first two sentences of its answer: ” I apologize for not addressing your lecture in my previous response. Without more information about your lecture, I cannot specifically address how the content relates to it.” It went on with relevant but extraneous information. Like I said the bot is loquacious. I asked it to make its answer shorter and it stopped midsentence.

5. Locate cos(pi/3) on the unit circle roughly to scale, then draw the equilateral triangle that justifies its value. Do this by describing a drawing that you would be using.

The bot gave a nine step answer which was hard to follow and wrong. If it was a student, I would say it was thinking of a right triangle when I specified equilateral triangle. It had to be prompted to give the cosine value but that was probably because my wording was unclear. I tried How could I have rephrased the original question better? This sometimes works but not in this case. The revised question didn’t make geometric sense. This “student” clearly had no concept of the difference between the two types of triangles.

6. Express sec(pi/4) in terms of the corresponding coordinates on the unit circle. Describe how you would draw the triangle (important features labeled) that allows for the exact calculation of that coordinate.

The bot writes mathematical expression in LaTex a scientific document formator, for example, $\sec(\pi/4) = \frac{1}{\cos(\pi/4)}$. The bot’s answer had the correct steps but garbled and illogically sequenced. If its answer was scanned quickly as when grading, it might have gotten full credit but a close reading would have lowered the grade. An aside – I recall being accused of “scrutinizing” by a student.

7. Tan(90 degrees) has a problem. Explain why using a unit circle.

The bot’s initial response used the triangle definition of tangent instead of the unit circle definition. I tried, Can you shorten your response using the idea that it is impossible to divide by zero? and got a good answer. Then Use the unit circle definition of tangent. It still used right triangles. The 90 degree specification gave it a fixation. So I tried, Try this explanation for tan(270 degrees). Bot got wrong answer. Then, I thought the tan(270) was undefined. Where did I go wrong? Bot got right answer still talking triangles. Then, You are stuck on the triangle definition of tangent. Why not just use the extended definition of tangent as y/x? Got it but I needed to correct its wording, Shouldn’t you have said “the x-coordinate of the point on the terminal side of the angle is 0.” rather use the word “any”? At last. Here is the response, to give a flavor of our conversations.

“You are correct, I should have used the phrase “the x-coordinate of the point on the terminal side of the angle is 0” instead of “any point on the terminal side of the angle has an x-coordinate of 0″ in my previous response. Thank you for pointing that out and I apologize for any confusion that my previous statement may have caused. Using the extended definition of tangent as y/x, the tangent of 270 degrees is undefined because the x-coordinate of the point on the terminal side of the angle is 0, and we cannot divide by 0.””

8. You are given a picture of the unit circle with an angle sketched in the III quadrant. The reference angle has approximate coordinates (.83,.56). What are the approximate coordinates of the ray given by the angle in the III quadrant?

It got ahead of itself. So, Please answer the question without using inverse trig functions. Now it made the typical student mistake of confusing angles and trig function values. So, Why not use the quadrant I coordinates directly. By the way, your last two paragraphs did not make any sense. Still made the same mistake, so You confused taking the sine of an angle and the fact that the y coordinate is the sine of the indicated angle. It said, “You’re right, I apologize for the confusion in my previous response. I misunderstood the question and made some mistakes in my explanation. Let me try to clarify my answer:” etc getting the correct answer. I said, No need to apologize. You are just learning. It said, “Thank you for your understanding! As an AI language model, my responses are based on patterns in human language, and I strive to improve my responses and provide accurate information. I appreciate your feedback and help in improving my answers.” Boilerplate bs like would often come from a student. When I look back at the original phrasing of the question, I needed to be more precise.

9. An angle has a terminal ray ending in the third quadrant. Describe what the diagram of its reference angle in the first quadrant would look like and explain how you would get the terminal ray’s coordinates if you knew the x,y coordinates of the reference angle. Then use your method to find cos(210 degree) explaining your steps.

The bot’s answer was correct. I said, Nice work. It said, “Thank you! Is there anything else you would like me to help you with?”

10. Try this one. Describe how someone could draw a sketch of one period of sin(x).. Write its domain and explain what that means. Write its range and explain why by referring to the unit circle. Write its period and explain why also referring to the unit circle.

The answer was substantially correct but I asked it to define the domain using the idea of the unit circle a little more succinctly. The answer was worse and now incorrect. It never did get it right.

1. Write the conversion factor for converting degrees to radians. Explain where it comes from. Show how it would be applied to changing -262 degrees to radians including how the units cancel. How would it be applied to changing 88pi/45 to degrees?

I needed to coach it to reduce the answer to lowest terms. During the conversation, it would blatantly present wrong answers. I would ask it not to apologize but its boilerplate response still contained apologies. It finally made a lame excuse, “Regarding the initial divisor of 3, I believe it was a result of a typographical error on my part.” I eventually asked, What I meant was why would you ever make a typographical error? It gave me a list of reasons, one of which was human error! I said, But you are not human and can’t get tired and are not working on a team. It then provided excuses for general types of errors.

2. Finding areas of sectors and arc lengths on circles depend on proportional reasoning. Referring to a circle of radius 100mm and sector of 212 degrees, set up with all units written, a formula that finds the area of the shaded sector and its arc length. No calculations needed.

The answers were correct though I had a little trouble interpreting its LaTex notation. It was able to explain the meaning of the LaTex notation it used which was pretty cool.

3. You are given a right triangle with hypotenuse labeled c. The side adjacent to the angle A which is 43 degrees is labeled b and the opposite side is labeled a and has length 15 mm. Set up the equations you would use to solve this triangle.. You would use exactly the same setup if side a was 137 mm. Explain why.

The bot answered the first part correctly but it just worked the problem again with a = 137mm. I asked, Working the problem again with a = 137 mm is not an efficient way to address the “why” part of the question. There is a general principle involved. What is it? And then tried to help it, You could have made a more succinct answer by invoking the idea of similarity. Give it a try. And, Please make your explanation in two sentences. I would have given a human student full credit for the final answer but I think I should be able to hold a bot to a higher standard which it didn’t achieve.

4a. For angles between 0 and 90 degrees, it is easy to imagine and inverse function, say inverse sine(t). Explain how this would could be extended to the unit circle.

The bot ignores typographical input errors.

4b. The sine(theta) can be calculated exactly given a right triangle with just two given sides. Explain how this could be done given the length of the hypotenuse and the adjacent side to θ.

The bot didn’t care about my awkward phrasing. The answer looked good to me and the bot thanked me for that acknowledgement.

5. It is sometimes important to know in which quadrant the terminal ray of an angle falls for very large or very small angles. Describe the steps you would use to do so if given a very large negative angle in degrees. How would this change if given a large negative angle in degrees?

Again the bot ignored my misphrasing. I meant positive angle in the first instance. The bot didn’t use the fact that division is a fast way of repeated subtraction. So got the prompt, Repeatedly subtracting or adding 360 degrees can take too long. What other method could you use? The bot gave a correct but inefficient method. I prompted, A more efficient way for finding which quadrant a large negative lies in, is to divide by 360, add 1 to the absolute value of the integer part, add that number times 360 to the original angle and figure out the quadrant by just looking at the result which will be between 0 and 360. Now it had the better procedure but Not the best example. You should have used -1500 degrees like in your original answer. The bot performed the correct steps but when I asked, Use the same method for -710 degrees. It used the more inefficient procedure. Apparently the bot does not learn but just parrots the user.

6. Show your understanding of the unit circle and the corresponding trig functions by describing how you would plot, roughly to scale, the location of the point specified by cos(theta) = 5/13 with tan(theta) less than zero. Describe how you would find the missing coordinate paying particular attention to its sign. How would you use this information to find cotangent(theta)?

The bot used the correct procedure with the answer, “Therefore, cotangent(theta) is approximately -5/12.” I prompted, Didn’t you mean exactly? It replied, “Yes, you’re right…exact value of cotangent(theta) is -5/12. Thank you for pointing that out!” I wanted to see if the bot now could distinguish between approximate answers and exact answer, thus: Show your understanding of the unit circle and the corresponding trig functions by describing how you would plot, roughly to scale, the location of the point specified by cos(theta) = 5/14 with tan(theta) less than zero. Describe how you would find the missing coordinate paying particular attention to its sign. How would you use this information to find cotangent(theta)? Correct procedure but incorrect calculation. Hence, The very last calculation was not correct so you don’t get full credit. And, -0.892 is still incorrect. Leading to another incorrect answer. So, I get -.38236. Can you check if I am correct? It parroted back the answer. So, How did you check your answer? It claimed to use a calculator yet gave an incorrect answer, Actually the answer was -.396789. It parroted that one back. The bot is gullible and obsequious.

7. cos(x-pi) =0.8 and cos(pi-x) = 0.8. Why?

This time the bot questioned the question which was really cool but nonsense in this case as follows

And then “This equation has no real solutions because the range of the cosine function is [-1, 1], and 0.8 is outside this range.” But, 0.8 lies in the range [-1,1]. Now egregious error,

How about a hint: Can you explain the problem using the fact that cosine is an even function? The bot included extraneous work but was beginning to get the idea. This conversation elicited the correct answer. Me: I am trying to get you to prove a simple trigonometric identity. Can you do those? It: “Yes, I can help you prove simple trigonometric identities. What is the identity you would like me to prove?” Me: cos(x-pi) = cos(pi-x) using only the even function property of cosine. I can now see why the ability to efficiently phrase questions to ChatGPT is becoming a profitable skill.

8 and 9. Find the error. Given ln(6^(x+2) = ln(4^3x), then x+2ln(6) = 3xln(4).

The net result was that the bot couldn’t do this type of problem without extensive prompting. Along the way, It looks to me that you can not find errors in algebraic arguments. It answered, “As an AI language model, my role is to assist and provide guidance, including identifying potential errors in algebraic arguments. While it is true that algebraic arguments can be challenging to find errors in, it is still possible to identify common types of errors, such as missing or mismatched parentheses, incorrect use of properties, incorrect substitution of variables, etc. However, it is also possible that some errors may be more subtle and challenging to detect, and in some cases, it may be necessary to consult with a human expert for a more detailed analysis.”

10. Sorry I didn’t specify the problem completely. Bacteria grow according to this model, that is the initial number is 800 and the rate of growth is .16 per hour. How many hours to the nearest tenth of an hour will it take to have 20,000 bacteria?

Again calculation errors and erroneous responses when informed. We call the first problem a “Plug and Chug” problem. The bot is ok at “plugging” but poor at “chugging.” A better question aimed at getting at understanding was The above problem would have the same answer if the 800 was an 8 and the 20,000 was a 20? Explain why. It just repeated the steps, hence First you got a different answer. Secondly you could have answered the problem using an underlying understanding of the source of the equation you used. The bot came close when it said, “When we change the units of the initial and final populations, we are essentially changing the scale of the problem,” but I would have preferred seeing the units cancel like we would have done in class.

11. Giving a half-life is just another way of giving a decay (negative) rate constant. Explain why, particularly the negative sign. What do you have to be careful of if a problem says that, say, 85 per cent is gone?

The bot used calculus in the answer. I should have set the context – No Calculus. The answer sounded a little odd but I determined that was because of my imprecise specification of the 85 per cent. There a simpler answer, I like to think that the natural log of a number less than one is negative so the decay problem takes care of itself if you use a generalized exponential growth model. The bot responded, “Yes, that’s a good way to think about it! Since the natural logarithm of a number between 0 and 1 is negative, the exponential decay equation (which involves taking the natural logarithm of the ratio of the initial and final amounts) naturally gives a negative value for the decay constant.” Note the exclamation mark. It also included some unnecessary general remarks. I was looking for a more complete answer, so As part of the answer, I would have said in the case of decay, the ratio of initial to final amounts is a fraction less than one. And, “Yes, that’s a good point! In the case of decay, the ratio of the final amount to the initial amount is always less than 1 (since the amount is decreasing), so taking the natural logarithm of this ratio gives a negative value. Therefore, the decay constant is always negative in the exponential decay equation. Thanks for pointing that out!” Note the bot added “always”.

12. Explain the principle that allows one to change from angular rates to linear rates. You are converting from revolutions/sec to miles/hour for a wheel whose diameter is measured in inches. Write the expression(s) you would use with all the conversions and units written carefully.

I was looking for the style I would have used in class. The explanation of the principle was accurate and could have been copied from somewhere on the internet. The rest of the explanation was useless. Again I was looking for the method I would have demonstrated in class. I now see that I should have been stricter when I graded this question.

13. Why is hydrogen ion concentration in mole/liter measured using a logarithm scale? Explain the existence of the minus sign in the conversion equation from concentration to pH. Give a typical pH and its corresponding hydrogen ion concentration.

The bot made a complete textbook answer. It can calculate pH from molar specifications accurately. It caught my input error of an impossible pH but though it can solve the pH formula for concentration, it gives miscalculated answers.

14. You have two points on one side of a river 800 feet apart. The angle from the upriver point to a point on the other side is 80 degrees with the left side of the river as one ray. The angle of the downriver point is 53 degrees. What are two (or more) equations that can be used to find the width of the river?

This problem presumes some familiarity with a diagram that would have been presented in class. I had to add, I was assuming you didn’t know the law of sines and Actually you still used the law of sines. I gave up trying to coax it into getting the correct expression. I asked it what to ask Wolfram Alpha and it recommendation was uninterpretable though before (see this post) it had given me a useable expression

Conclusion:

The general availability of chat bots will force teachers to more carefully and emphatically emphasize thinking skills in their courses. Good grades will be issued for sophisticated reasoning using course materials applied to complicated problems. Standards for out-of-class work should be high.

Posted in Math Explorations, Pedagogy, Teaching | Tagged , , | Leave a comment

ChatGPT Can Answer Calculus Essay Questions

In a previous post, I gave an example of calculus essay questions that could be used to separate testing for understanding (The “why” of the steps) from testing for skills (The “how” of the steps). Here we will see what ChatGPT, OpenAI’s highly capable conversation robot, does with them. The process will turn us naturally to questions of quality and meta-thinking.

Let’s look at the part a) question in italics and ChatGPT’s answer in this font.

Jim asks:

a) (10 points)  List the steps with brief explanations that you would use to show that x=2.55 exactly locates a local minimum of this function: 2x^3+3.18x^2-55.233x+6.84? You may assume that you know all the calculus skills and concepts we have discussed since the beginning of the term, have all the algebra skills taught in high school and can perform arithmetic operations (+,-,x,/) by hand to as much precision as necessary.  Note you are not working this problem, just telling how you would work it.  The assumption is that you do not have access to a calculator or any other (on-line) computer algebra system like Wolfram Alpha.  Consideration should be given to efficiency.  Fewer steps are usually better and fewer arithmetic operations are also usually better.

ChatGPT answers:

To find the local minimum of the function $2x^3+3.18x^2-55.233x+6.84$, I would follow these steps:

  1. Take the first derivative of the function: $6x^2 + 6.36x – 55.233$.
  2. Set the first derivative equal to zero: $6x^2 + 6.36x – 55.233 = 0$.
  3. Solve for x: $x = \frac{-6.36 \pm \sqrt{6.36^2 – 4(6)(-55.233)}}{2(6)} = \frac{-6.36 \pm \sqrt{6.36^2 + 672.3999}}{12} \approx 2.55$.
  4. Check if the value of x found in step 3 is indeed a local minimum using the second derivative test: Take the second derivative of the function: $12x + 6.36$. If the second derivative at $x=2.55$ is positive, then the value of x found in step 3 is a local minimum.
  5. Confirm the minimum by evaluating the function at $x=2.55$.

Note: It’s good to remember that the first derivative test only confirms the existence of a critical point and the second derivative test confirms whether the critical point is a local minimum, local maximum, or a saddle point.

Jim comments:

ChatGPT made the same mistake many students would make by actually solving for the zero rather than just checking for zero. It also didn’t follow the directions to just use a four function calculator. The instructions asked that the critical point be proven exact. ChatGPT ignores that. The phrase “confirm the minimum” is used incorrectly. But all in all, it knew what it was doing. ChatGPT knows Latex.

Jim asks:
b) (5 points)  How would you answer the above question if in addition you had access to a graphing calculator like the T-83 we use in class but with only the graphing capability with zooming and tracing and only access to the zero and value functions in the CALC menu?  Note we still want to insure we have an exact answer.

ChatGPT answers:

If we have access to a graphing calculator with only the graphing capability, zooming, tracing, and access to the zero and value functions in the CALC menu, we can still find the exact location of the minimum of the function $2x^3+3.18x^2-55.233x+6.84$.

  1. Graph the function: Use the graphing calculator to graph the function to get a visual representation of the function.
  2. Zoom in on the region around $x=2.55$: Using the zooming feature of the graphing calculator, zoom in on the region around $x=2.55$ to get a clearer view of the behavior of the function in that region.
  3. Use the tracing feature to locate the minimum: Use the tracing feature of the graphing calculator to locate the minimum of the function. Move the cursor around the graph and observe the corresponding $y$ values. Move the cursor to the point where the $y$ value is the lowest, which represents the minimum of the function.
  4. Use the value feature to find the exact $x$ value: Use the value feature of the graphing calculator to find the exact $x$ value of the minimum. Enter the $y$ value obtained from step 3, and the graphing calculator will give the corresponding $x$ value.

By following these steps, we can find the exact location of the minimum of the function $2x^3+3.18x^2-55.233x+6.84$ using only a graphing calculator with limited functionality.

Jim comments:

Again ChatGPT ignores the exact imperative. It also didn’t recognize the utility of the Zero and Value functions of the calculator. Still an okay answer.

Jim asks:

c) (5 points) How would you use a computer algebra system like Wolfram Alpha to answer the problem in part a).  Specify the exact queries you would use.

ChatGPT answers:

To use Wolfram Alpha to find the exact location of the minimum of the function $2x^3+3.18x^2-55.233x+6.84$, the following queries could be used:

  1. Find the first derivative of the function: To find the first derivative of the function, we can use the query “d/dx (2x^3+3.18x^2-55.233x+6.84)”.
  2. Find the critical points: To find the critical points of the first derivative, we can use the query “solve d/dx (2x^3+3.18x^2-55.233x+6.84) = 0”.
  3. Find the second derivative of the function: To find the second derivative of the function, we can use the query “d^2/dx^2 (2x^3+3.18x^2-55.233x+6.84)”.
  4. Determine the concavity: To determine the concavity of the function at the critical points, we can use the query “d^2/dx^2 (2x^3+3.18x^2-55.233x+6.84) at x = [critical point value]” for each critical point.
  5. Determine the minimum: Based on the results from steps 3 and 4, we can determine which critical point corresponds to the minimum of the function.

By using these queries in Wolfram Alpha, we can find the exact location of the minimum of the function $2x^3+3.18x^2-55.233x+6.84$.

Jim comments:

Amazing. I pasted ChatGPT’s suggestion into Wolfram Alpha and it worked. Again ChatGPT worked the problem rather than checked it. The AI robot doesn’t seem to recognize the possible rounding off of answers that Wolfram Alpha may be doing. ChatGPT seems to be able to recognize and understand various forms of mathematical expressions.

Jim discusses:
The upshot is that ChatGPT can do an adequate job of answering a calculus essay question. This based on a sample of one of course. This means that this type of question could never be given on a take home test. In fact, if students know that they going to be given this type of question, they could use ChatGPT to get templates for good answers. It looks like a lot more thought will have to be given when making tests. In some sense, this is a good thing since the instructors will have to think more deeply about what skills and understanding about calculus a human should really have.

The urge to probe ChatGPT’s understanding is irresistible.

Here are follow up questions to ChatGPT’s answer to part a:

The objective in the above question was to show x = 2.55 was an exact minimum. Can you provide the reasoning?

To show that $x=2.55$ is an exact minimum of the function $2x^3+3.18x^2-55.233x+6.84$, we can use the second derivative test.

The second derivative of the function is given by $12x + 6.36$. If we evaluate the second derivative at $x=2.55$, we get $12 \cdot 2.55 + 6.36 = 33.12$. Since the second derivative is positive at $x=2.55$, it follows that the first derivative is increasing at this point. This means that the original function is concave up at $x=2.55$.

Since the second derivative test confirms that the first derivative is increasing at $x=2.55$, this tells us that $x=2.55$ is a local minimum. In other words, if we look at the values of the function in the neighborhood of $x=2.55$, the function will have a minimum value at $x=2.55$.

Therefore, we can conclude that $x=2.55$ is an exact minimum of the function $2x^3+3.18x^2-55.233x+6.84$.

You forget about evaluating at the first derivative. How would you do that?

I apologize for the oversight. To complete the process of showing that $x=2.55$ is an exact minimum of the function $2x^3+3.18x^2-55.233x+6.84$, we also need to evaluate the first derivative at $x=2.55$.

The first derivative of the function is given by $6x^2 + 6.36x – 55.233$. If we evaluate the first derivative at $x=2.55$, we get $6 \cdot 2.55^2 + 6.36 \cdot 2.55 – 55.233 \approx 0$. Since the first derivative is approximately equal to zero at $x=2.55$, it confirms that $x=2.55$ is a critical point of the function.

Combining the results of the first and second derivative tests, we can conclude that $x=2.55$ is an exact minimum of the function $2x^3+3.18x^2-55.233x+6.84$.

Describe the steps you used without any specific evaluations.

To show that $x=2.55$ is an exact minimum of the function $2x^3+3.18x^2-55.233x+6.84$, we can use the first and second derivative tests. The steps are as follows:

  1. Find the first derivative of the function: Using calculus, take the derivative of the function to obtain its first derivative.
  2. Evaluate the first derivative at $x=2.55$: Substitute $x=2.55$ into the expression for the first derivative to obtain a numerical value.
  3. Check if the first derivative is equal to zero: If the first derivative is equal to zero at $x=2.55$, it confirms that $x=2.55$ is a critical point of the function.
  4. Find the second derivative of the function: Using calculus, take the derivative of the first derivative to obtain the second derivative.
  5. Evaluate the second derivative at $x=2.55$: Substitute $x=2.55$ into the expression for the second derivative to obtain a numerical value.
  6. Check if the second derivative is positive: If the second derivative is positive at $x=2.55$, it confirms that the function is concave up at that point, meaning that $x=2.55$ is a local minimum of the function.

Based on these steps, we can conclude that $x=2.55$ is an exact minimum of the function $2x^3+3.18x^2-55.233x+6.84$.

Jim’s comments:

It actually apologized! It still continued talking about an approximate zero. Note that the last query if it would have been used with the statement of the problem would have induced a pretty good answer.

The most mindboggling ability of ChatGPT is that it is capable of helping you or the student better use its functionality. Look at this meta question.

Jim asks:

How would I use ChatGPT to answer this question? List the steps with brief explanations that you would use to show that x=2.55 exactly locates a local minimum of this function: 2x^3+3.18x^2-55.233x+6.84?

ChatGPT answers:

To use ChatGPT to find the exact location of the minimum of the function $2x^3+3.18x^2-55.233x+6.84$, the following steps could be used:

  1. Find the first derivative of the function: To find the first derivative of the function, we can ask ChatGPT to find it for us by typing “What is the first derivative of the function 2x^3 + 3.18x^2 – 55.233x + 6.84?”
  2. Find the critical points: To find the critical points of the first derivative, we can ask ChatGPT to solve for the zeros by typing “Solve for x in the equation d/dx (2x^3 + 3.18x^2 – 55.233x + 6.84) = 0”
  3. Find the second derivative of the function: To find the second derivative of the function, we can ask ChatGPT to find it for us by typing “What is the second derivative of the function 2x^3 + 3.18x^2 – 55.233x + 6.84?”
  4. Determine the concavity: To determine the concavity of the function at the critical points, we can ask ChatGPT to evaluate the second derivative at each critical point by typing “Evaluate the second derivative of the function 2x^3 + 3.18x^2 – 55.233x + 6.84 at x = [critical point value]” for each critical point.
  5. Determine the minimum: Based on the results from steps 3 and 4, we can ask ChatGPT to help us determine which critical point corresponds to the minimum of the function.

By using ChatGPT, we can find the exact location of the minimum of the function $2x^3+3.18x^2-55.233x+6.84$.

Jim’s final comments:
ChatGPT breaks down the problem in steps and gives exact instructions on what to ask it. How cool is that? Still maybe not understanding the nuance of the word “exact”. Students could use it learn the steps they need to do their homework. There is a lot of thinking to do about teaching and tests even in math classes. ChatGPT can be a little aggressive in its answers.

I am going to continue exploring ChatGPT capabilities, first with a calc III problem and then with a Precalculus essay test.

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

Dirichlet Distribution in 4D

I use a four parameter Dirichlet distribution for my Rubrics as Data explorations. I “knew” that its behavior would be “similar” to the three parameters distributions shown in my last post, but I wanted a visualization. A 3D simplex is a triangle, so the distribution value can be rendered as a height above the triangle.  A 4D simplex is a tetrahedral solid.  The distribution value is attached to each point in the solid.  I wanted to visualize that somehow. I also wanted to avoid using different colors for different values.

With the additional dimension w, the 4D simplex is given by x + y + z + w = 1, x,y,z,w all positive. This graph shows slices through a tetrahedron in 3-space corresponding to various values of w.

Slices Through a Tetrahedron

So all points in this solid tetrahedron correspond to values in the hyperplane, x + y + z + w = 1. If we are actually interested in w values, we can just relabel the axes.

Solid Tetrahedron

So, there will be a distribution value for each point in the solid.  The challenge was to show this without using a color scale, to create some kind of 3D histogram. My first problem is that the tetrahedron can’t be tiled with a single solid shape.  I had hoped that I could just stack up a bunch of smaller tetrahedrons.  Didn’t work as you might be able to see here.

Smaller Tetrahedron Don’t Tile a Larger One

So, I experimented with different ways of showing the density at sample lattice points.  The first idea was to surround each lattice point with a cloud of points whose frequency corresponded to the Dirichlet density value, as here.

Density as Clouds of Points

The asymmetry can be seen but I never could get very good attenuation.

Next, I tried using cubes at the lattice points to represent the densities.  I used the cube root of the density for the side of the cube, since I wanted the volume of the cube to represent the density.  The graphs looked like this.

Density using Cubes with Corresponding Volumes

Cubes inside a tetrahedron seemed aesthetically unpleasing.  So I tried embedded spheres, again with the volume representing the density, like this.

Density using Spheres with Corresponding Volumes

And finally, I tried embedding tetrahedrons similar to the bounding shape.  Again their volume represents the distribution value.  This seemed to be best.

Density Using Smaller Tetrahedrons

The images are blurry but the differences – emphasis on the center or on the extremes and asymmetry – can be seen. Enough of this. Back to exploring rubrics as data.

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

Dirichlet Distribution in 3D

I wanted to better understand the Dirichlet distribution that I was using for my prior in my “Rubrics as Data” model but couldn’t find a set of images that showed the variety of surfaces different alpha parameters induce. So I wrote a Python program that produced the following images. The first shows the simplex on which the three parameter distribution is defined. Note all parameter equaling one equates to a uniform distribution. If the parameters are all greater than one, the distribution favors the center around (1/3, 1/3, 1/3) and if all are less then one, it favors the extremes, near (1,0,0), (0,1,0) and (0,0,1).

Dirichlet Distribution in 3D

Posted in Math Explorations | Tagged | Leave a comment

Rubrics as Data – Part VII

This is a progress report on my “Rubrics as Data” explorations. The intention is to get estimates for a stratified population using ordered categorical data (rubric scores) from subpopulations. Search on “Rubrics as Data” for earlier blog posts on my past progress or lack thereof.

At this point, I have a model that seems to give acceptable estimates for the frequencies in each category of the population. The estimated frequencies are found by taking a weighted average of partially pooled estimates for the subpopulations. A graph comparing the various methods I tried and a table are at the end of this post. Compare weighted sample frequency totals with weighted sample estimates from partial pooling. Note these should correspond closely since a five percent sample was taken from each subpopulation and each category. A summary bar graph is also below.

So what have I learned. I can implement a partial pooling of variation by using the population estimate from the totals of subpopulation data as the parameters for a prior Dirichlet distribution on each subpopulation. This works fine unless a sample has zero counts in some category. Then the Stan model will have some divergencies. Since I am interested in the population as a whole, a low percentage of divergencies (150 out of 4000) is acceptable for small subpopulations. The issue turns out to be fairly subtle. See Michael Betancourt’s work. I read his article to mean that there is a fair chance what I am doing is faulty.

I also learned that I can do two different but disconnected models in one Stan script. Estimated unpooled and pooled frequencies are accomplished in one model as can be seen below. The alpha parameters for the Dirichlet distributions were uniformly 1.5.

What is next. Since my Stan model doesn’t like sample sizes of one, I want to make a way to incorporate that data into the population estimate without estimating the subpopulation frequencies. Since rubric data tends to favor the middle, I might want to try parameters for the Dirichlet prior that do also. I want to do some simulation experiences to test the reliability of the variation estimates and finally I want to run the model on real data, in my case, around 30 departments with missing data and small subpopulations.

stancodeAIO = "
    data {
      int<lower=0> n; // total number of measurements
      int<lower=0> k; // number of subpopulations 
      int KK[k]; // vector of subpopulation sample sizes
      int<lower=0> max_sample_size; // fixed maximum subpopulation sample size
      int all_rubric_scores[n]; // all population measurements combined
      int sub_rubric_scores[k,max_sample_size] ; // subpopulation measurements
      vector[4] alpha_v;
      real phi; // placeholder
        }
    parameters {
      simplex[4] p;  // probabilities for the total population. they add to 1
      simplex[4] sp[k]; // probabilities for subpopulations
      simplex[4] spp[k]; // probabilities for subpopulations with pooling
              }
    transformed parameters {
      vector[3] cum_p;  // total population cumulative probabilities
      vector[3] cutpoints; // total population cutpoints
      matrix[3,k] cum_sp; // subpopulation cumulative probabilities
      matrix[3,k] sp_cutpoints; // subpop cutpoints
      matrix[3,k] cum_spp; // subpopulation cumulative probabilities
      matrix[3,k] spp_cutpoints; // subpop cutpoints

      cum_p = cumulative_sum(p[1:3]); // total pop - only three needed since cum_p[4] is always 1
      cutpoints = logit(cum_p);  // total pop -logit is the inverse logistic
      
      for (i in 1:k) {cum_sp[,i] = cumulative_sum(sp[i,1:3]);  // subpop cumulative probabilities
                      sp_cutpoints[,i] = logit(cum_sp[,i]); // subpop cutpoints
                      };
      for (i in 1:k) {cum_spp[,i] = cumulative_sum(spp[i,1:3]);  // subpop cumulative probabilities
                      spp_cutpoints[,i] = logit(cum_spp[,i]); // subpop cutpoints
                      };
      
                        }
    model {
    // Total population separately
     for (j in 1:n) {
        all_rubric_scores[j]~ordered_logistic(phi,cutpoints);
                      }
      
        p~dirichlet(alpha_v); // probability priors dirichlet with constant alpha
                       
      // Sub populations separately
      for (i in 1:k)  {
              for(j in 1:KK[i]) {
                         sub_rubric_scores[i,j]~ordered_logistic(phi,sp_cutpoints[,i]);
                                  }
                       }
    
     for (i in 1:k)  {
                                sp[i,]~dirichlet(alpha_v); // probability priors dirichlet with constant //alpha
                    }
// Sub populations with pooling
      for (i in 1:k)  {
              for(j in 1:KK[i]) {
                         sub_rubric_scores[i,j]~ordered_logistic(phi,spp_cutpoints[,i]);
                                  }
                       }
    
     for (i in 1:k)  {
                                spp[i,]~dirichlet(p); // probability priors dirichlet with pop freq priors
                    }
    }
"

A table of the data follows.

Comparison Table
Bar Graph Summary
Posted in Math Explorations | Tagged , | Leave a comment