More Tool Than Text: Making Mathematical ebooks

Eric Schultz built interactive math textbooks using Mathematica, starting with a Calculus book in 2010 using CDF and a fully interactive Precalculus with no print version. His approach separates code from narrative, generates figures programmatically, and uses interactive visualizations like unit-circle animations to create teaching moments students can manipulate themselves.
Chapters
Hello, everyone. Thank you for joining us today. We are very lucky to have Eric Schultz with us, who has published multiple textbooks on mathematics and has taught for more than 30 years. I'm Noah Chartoff. My background is in math education, working here at Wolfram Research in the Academic Innovation Support Team, along with John McNally, who I will allow to introduce himself.
John. So of course, I also had a background in education before joining Wolfram Research. And so I'm really excited to talk to Eric today. So, Eric, hello.
Well, hello, John. Thank you especially to be here.
Oh, excellent, excellent. We're very glad to have you. So I wanted to ask you, as a longtime user of the Wolfram language and a person who has been working with mathematics in an educational context for quite some time now, what first brought you to the Wolfram language and how.
Did it keep you so that the story goes back decades? I received my first copy of Mathematica. It was called the Wolfram Language back then in 1992, version two. And it came on a stack of floppy disks, three and a half inch floppy disks. I was a new faculty member. I started teaching in 1989. I know my interest has always been on leveraging technology to help people see the mathematics that dance around in my head. And so, you know, prior to Mathematica, I, I was using spreadsheets, you know, not Excel, but something called as Easy as I think, you know, to do computations. I was doing using Drive and Ms. DOS long before Windows came out. And then I was introduced to Mathematica and around that same time, a copy of Maple. And so I was exploring Maple and mathematica. In the 90s, I also messed around with mathcad. I also messed around with a product called Scientific Workplace, Scientific Notebook. I used those extensively. I'm getting back to the story.
Noah, this is interesting to hear that it wasn't just the only thing you ever encountered that you had experiences with a wide range of softwares.
Yeah, I also used Latex. And in fact, I do remember that when my resume, when I did my resume for my job at Walla Wall Community College in the on the spring of 1989, I typeset it with Latex. And that was really unusual back then. Very unusual. And that stood out in the interview pool. Anyway, through the 90s, I sort of focused on Maple and Mathematica back then, and I was trying to use both to stay fluent in both. But after a few years that got really frustrating because they're both very syntactically picky. And I made a decision. I think late 90s. I'm just going to pick the computer algebra system is what we call them back then, that I enjoy using. And for me it was Mathematica and the Wolfram language. And then from that point on, I didn't pay a lot of attention to MathCAD, Maple Drive, you know, all the other ones. Scientific workplace.
Can I ask what it was that made this the one that you enjoyed?
Yep, precision. The syntactical precision that I, I was frustrated with early. I came to really appreciate that is I could predict syntax without looking in documentation because I started to understand how the commands and how the options were formatted. I really appreciated the fact that commands were not abbreviated, they were long, but they made sense. Parametric plot, you know, that kind of parametric plot, 3D. And then I'll tell you what also got me back in the 90s, late 90s, is the look on screen. Wolfenree, you know, Mathematica with the graphics and with typesetting has always been, I think, really beautiful on the screen. And that was satisfying when you're spending hours working with something that, that was important to me then.
So going back to the beginning, you had this focus on, on the visual aspect of things as well. Right. So I know that a lot of, especially your, your recent works have to do with creating beautiful visualizations. And so was this consciously the, the focus even from your early explorations, or did that just kind of emerge as you were poking around and figuring out how the software worked?
No, I mean, it was, it was an issue back then because I was still using. I would bring Mathematica visualizations into the classroom. I would do animations. But back in the 90s, animations didn't look like they do today. In essence, what you would do is you would create a collection of frames of images, say of a graph. Maybe you'd have 20 or 30 of them, and then you'd collapse them into an output, into a single cell, and then you could play through those images.
It was basically a flip book.
Yeah, exactly. And so I would build images to bring into the classroom on, on the college campus in the 90s, we didn't have. Our students didn't have access to Mathematica, let alone did they really have access to computers. To share with everybody. When I showed up on campus for my faculty position and your direct faculty position in mathematics in 1989, I had asked the president of the college or he, he asked me what it is that I would like. Are there any things that I would like when I show up And I said, well, I gotta have a computer and it's got to be a color monitor, you know, I gave him specs because I'm a nerd. I showed up in August of 1989 to find out I was the only faculty member at the institution with a computer on their desk.
Oh, my goodness.
We're talking early ages of computers and education. I couldn't have students interact with the software. We didn't even have a facility for them to go to. And they didn't own their own computers back then.
It is an interesting change now that even though computer access is still an important topic in a lot of context, that many students now can at least visit a URL.
Right.
And I know that later you're going to show us some, you know, ebooks on cloud that, you know, just by going to URL. So the, the, the means by which we share these, these electronic things is greatly evolved since when there was only one computer on one desk.
It has. And I'm going to share this just for the benefit of those that are listening. You know, Stephen Wilfrim could share similar things, but we did not have Internet access at the College until about 1998. There was no Internet in those early years. And so, yeah, times have really changed. I think over the decades, I've changed along with them, which is good. I never, I never sat down in my office wishing for the old days to come back. I always liked the challenge of how does this tool impact students learning? How does it impact their doing? How should content change? That is, I always wanted to teach students not for the world that I learned about Matic. I wanted to teach them for the world that they were experiencing.
Yes.
And that they would experience. And so much sense. I could, you know, I could leave my history behind as I went through the decades of teaching. It was there, but there's different ways of doing things, you know.
Now, speaking of changes in technology and in education, I understand that you actually helped develop some of the features of Mathematica that are still in use today, specifically some of the pallets. And, and I'd love to hear a little bit about that. And also, I do recall you mentioned that there are some palettes that you created just for yourself, and I think everyone would love to see what that entails.
So. No, let me share my screen.
Sure.
And I will show folks that are with us where these little tools reside. And I will also demo some additional tools that I have in my palettes menu, but others don't.
And for anyone watching right now, the Things that are about to be showcased will also be available as a document after this live stream is put into a persistent format. So tune in later to be able to get links to anything that you'd like to see in more detail.
Okay, let me share my screen. And we will turn our attention to demoing some things in. I still say Mathematica. I know we're moving to the Wilson language. All right, so I'm going to open up a new notebook, and when I did start using Mathematica with my students and they would sit down at a computer and they would open up a new notebook and they're looking at this white screen, it's very intimidating for a new user of the software to be looking at empty white space and wondering, what do I do now?
I fondly remember this well before any of the great, you know, inventions that now make this easier for people.
So.
So, yeah, I can certainly say as someone who was introduced to the software before, some of the things that you yourself were about to introduce, that, yeah, that was an interesting experience.
Yeah, the blank page problem.
Right. I spent years studying the language and learning things so I could just start typing. Like, if I wanted to plot, I just type. Let me magnify this for folks. Maybe you should ignore that when I type plot, what you just see happening on the screen, that didn't exist. So you had to know that it was capital P, L, O, T. And then it of course, had to be a square bracket. Parentheses are not allowed. But anyway, as I just type stuff, this is stuff that I had memorized. And so I could just type it in and evaluate it and I get my picture. But for somebody who's learning that, that was more challenging. So in 2000, late 2007, actually, December 2007, I had a thought which is if you were to take the keyboard away from a computer, there was no way to get material into a notebook, into this white space. Nothing. You. You had to type. And so if the keyboard was unplugged from the computer, there were. There was no alternative way of inputting. At the time. That thought came to me because we had just installed an interactive whiteboard in a classroom. I was the division chair at that time, and so I was really excited to come back from Christmas break and use the interactive whiteboard. And then the realization hit me that when I'm standing at the interactive whiteboard, I don't have a keyboard. Yeah, there's some, you know, some screen on screen keyboards you could bring in, but I didn't find that very satisfying. So I started to build a palette. Now I'll click on the palettes here. This is a bit of history. When I started building the palettes there, when I learned how to write palettes, there was no Create palette command. And so it was really writing for those of you that know this, at the raw text level, ASCII code in a text editor. And I could show that if anybody's interested. But, but it's probably best to leave that. We'll just say off the table today.
We, we will proceed with the understanding that it was much more complicated, much more.
Okay, so I clicked on my palettes menu, and you'll see much, many more pallets than what you would have on a fresh install of Mathematica. If you, if you install Mathematica and you click on the palettes, the very first thing you're going to see is called the Basic Math Assistant. The second thing you'll see on that list is the Classroom Assistant. And then the third is the writing assistant. And those three palettes that ship with Mathematica today, I created, I, I envisioned them, I coded them, I went through user testing and perfected them, all that kind of stuff. They exist in English. I also built them in Spanish with the help of the, the localization team at Wolfram Research, as well as Japanese and Chinese. So I'm going to go ahead and click on the Basic Math Assistant. And there we go. It comes up. Now, be. Well, there was nothing like this prior. Well, I don't. Let's not get into history of palettes, but the, the way this worked is if I don't touch my keyboard now, if I just use my pointing device, I could come down here and say that I want to do some 2D plots, and I'm going to click on plot and I want to plot the sine function. So I've got that right up here. The sine of I'm not going to touch the keyboard X tab as x goes from 0 to PI. And then I'll click Enter. And so I generated the same graph without having to touch a keyboard, only a pointing device. The other benefit of the palettes is I leverage tool tips. So, for instance, if you leave your pointing device on Enter and you are using a keyboard, a tooltip comes up and tells you what the keyboard equivalent is of clicking on that button. And those tooltips, if you're looking at this on a Macintosh, they're going to give you the Macintosh shortcuts. If you're looking with a Windows machine, they'll give you Window shortcuts. And a Linux machine would give you Linux shortcuts. That is the palette actually has some dynamic code in it that looks at the OS it's being run on and reports shortcuts for that. So the Basic Math Assistant was something that was contributed to Mathematica and has been shipping for a number of years now. I didn't want to spend all today going through the palette. I just wanted to point out it's there.
And I have to say I also find it very useful even when I am using a keyboard, because I can't for the life of me remember some of the keyboard shortcuts still. Right. And so, you know, even if you do have keyboards, you know, they're still incredibly useful.
Well, I'm glad you mentioned that. The other thing that I find useful is down here where my pointing device is looking at plot. If I click next to that onto more, I get re related commands that, you know, there's parametric plot, you know, on down the list and further down I can see things like maybe I click on the ticks. These are options that you can include in the plot command. So for example, I'll go back up to the plot command and I will now click on ticks. And maybe I want, oh, I'll, I'll choose this one. And so I want to start X at zero, I want to go to PI and I want to do increments of PI over 8 and for Y values I want to go from 0 to 1. Okay. And so I'm able to modify the tick mark. So I. The palette has lots of tips in it in terms of options and again there are now drop down things that are happening inside the, you know, in, inside the environment. But I still find the palette to be useful.
This is wonderful. So there's enough information in here that a new user would be able to access it immediately, but there's so much information in here that a veteran will still be learning new things from it.
This is wonderful, correct? Yes, that is true. That is true.
I could go on about this for all day, but I would love, if you wouldn't mind, to transfer to talking a little more about the textbook materials that you've created. We might have a chance to swing back to this moving forward, but.
Great.
I wanted to ask you, just to start off, what's your highest priority when you're creating textbook materials?
So I think what I'm after is the experience that students have when they finally get a concept. It's the aha. I, I see that I Love that.
I call it the eureka moment.
Yes. I, I learned from the experience of creating these textbooks and visualizations that mathematics is very visual to me in my mind and how I see and understand connections. I've learned that that's not the case. Go ahead, John.
No, as you say, I definitely share this, this feature of my math education with you. Right. And as I think you were about to say, this is a big difference among, you know, math students sometimes is the degree to which they explicitly visualize what it is they're talking about. Like, personally, when I'm teaching, I never feel satisfied that I have explained something unless I can also show a picture of it. And so the work that you do, I think is really valuable in terms of being able to connect these various modes of thinking about it in terms of a picture or in terms of some other representation.
John, that's a great point. I think many, many teachers have drawn thousands of pictures in their life because they are trying to convey that information to students.
Yep.
And it's, you know, if you're talking about, let's say basic algebra and you're, you're talking about linear functions, the pictures are not that complicated to draw. However, if, if you're talking about, say, you know, triple integration in spherical coordinates or something like that, the hand drawn pictures are a bit more challenging.
It's incredible art. For I've had a few professors who are great at those pictures and a few who do not have the artistic skill. I do not have the artistic skill. So I, I need software to be able to make those pictures.
Yeah. So I, I tell you, when I did the calculus book, it was like opening my brain and dumping out images that have been dancing around since I learned calculus. You know, this is how I understand it. You know, to convey to the student who's visual what's going on. I should say, I should say another project that I worked on in the last year, and this is specifically in calculus, and it's specifically focusing on images that are three dimensional, is I built a, a library that is going to continue to grow of three dimensional solids that can be printed out. And so students can not only see things on screen, but they can feel them in their hands. And the driving force there was thinking about visually impaired students that couldn't see what's on the screen. So leverage 3D printers for this.
Oh, that's wonderful.
Right?
It sounds like you're still expanding just accessibility access, because the, I know accessibility access is redundant, but the fact that the palette started with thinking, what if I Didn't have a keyboard that made me think of people who have difficulty typing, that this, this sort of thing is, is saying math is for everyone.
Well, I'll tell you, I'll tell you, Noah, I have worked with some brilliant people. They have PhDs in chemistry and other subjects who need to point and click on something in a software environment and to say, oh, just type the command. That's not how their brain works. It's not their problem. It's the software's problem. So I think we need to provide as many modes as possible for folks to interact with. I'm going to say with Mathematica, with Wolfram, but I'm in general, other things. You know, I have a very dear friend who's a dentist who found working with, I'm going to say Windows, although Macs are challenging as well, really difficult. You know, they had heard that this stuff was user friendly and they're having a hard time and I'm thinking, well, the problem isn't that brilliant mind, that's a dentist. The problem might be the software, you know.
Yeah, yeah. As you say, as we get into seeing some of these examples, you have. Yeah. This way of representing things in terms of multiple modes so that people can either whether it's the way that they're wanting to input things, whether the way it's. They're interacting with the results of computation. It's great to see all the work you've done to, you know, take things that are important to those of us who just care about math because we do, and be able to represent them in such a diverse variety of modes so that they can be easily accessed.
Speaking of seeing the examples, do you have an example that particularly springs to mind when you think about that aha. Thing you're trying to help students to reach?
Oh no. Do you think I have an example? Go ahead, Pickle. Wild guess. Yes, of course I did. Of course I do.
I knew you had many examples. What I wondered is if one in particular.
Yeah, I'm going to go ahead before I go down to those figures, since I'm on this slide, I want to go ahead and show the textbooks just quickly. So I will go ahead and click on pre calculus first. What you're looking at at this moment is, is a MB file, a Mathematica notebook that lives in the Wolfram cloud. And this is the table of contents. So if I wanted to go say into chapter four and maybe I want to go into four one. I'm now in section four one, the unit circle Trigonometry angles and their measures, we can make the fonts a little larger. That's not a big problem. And maybe I want to go to Radiant measure. Okay, so I did the calculus book with Bill Briggs and Lyle Cochrane and Bernard Gillette before pre Cal. And there is a significant difference between, between how the two books were created. And let me explain that as before I go into this figure. When I joined the calculus team in 2008, the book had been in development for about five years at that point, and our first edition was published in 2010. And I brought the calculus book alive as an interactive textbook. Back then, it was using CDF technology. There was no Wolfram Cloud, and we would use the CDF software either on a Mac or on Windows to deploy the notebooks and you could run them. The calculus book was very successful and is still very successful. It's one of the major ones used in the US and also gaining usage around the world. And I was asked to do a pre calculus book, and I got Julianne Sachs to join me to do most of the writing. And then Bill Briggs, we have some calculus content in here. But the way that this book was written, pre calculus, is very different from the calculus book. I knew it was going to be an interactive book. And so when I started writing the section for angles in their measure, before I wrote a word of the section, I built the figures that formed the foundation for the content. So the figures were built and they had their place in, in the section. And then it was time to write the narrative. And so when the narrative is. Go ahead.
I'm happy you brought this up because I was going to ask you this question of, you know, what are the really important things to keep in mind and what do you think are the differences when you know that at some point there might be a version of the materials that isn't interactive for whatever reason. Right. As compared to when you're designing it, that, you know, the interactivity is going to be, you know, there all the way. And so this is exactly what you're getting into. And so I'm very happy that you brought this up because this is a really important question for people who are thinking about, you know, what things can be done interactively and what things can be done interactively as like a supplement versus, you know, the interactivity is the lesson.
Right? Yeah, that is a. I mean, that is a really important question to answer before you embark on something like this. We knew, I knew that pre calculus, I wanted it to be a truly interactive textbook. We never, Pearson, never printed A print version of this book to this day. I actually created a PDF of the book, you know, is 862 pages. But, you know, if you look at the content here for just a moment, you know, I'm just going to read a little bit of it. I'm not going to read a lot. But in Figure 4 4, which is below, that's this figure right here. Compare the length of the green arc S to the radius R in blue. So we have a green arc and we have a radius. The radian measure of theta is the ratio of these two lengths. That is, theta is the number of radii contained in the length of the green arc. Select show radiant tick marks and one in the figure. To see integer radii lengths marked along the circle, change theta and observe the radian measure for various angles. So, you know, in a static print book, this would be an image, a single image printed on the page where now there are things for me to do. I can change, I can change the radian measure, I can pick particular radian measures, I can ask for radian marks. So there's some radian marks around the circle. The circle that you're looking at here is not a unit circle, okay? It has a radii. Well, we should probably put a grid on here so it will come up in the graph. So the radii is a bit over 2. I'll go ahead and click on 2. So the radius now is 2 of that circle, and yet I have the PI over 6. I have the PI over 4 going all the way around. If I click on the one tick mark. Okay, now you have tick marks again, but the tick marks are 1, 2, 3, 4, 5, 6. So for instance, as I move along this green arc, by the time I get up to the one tick mark, I've gone one radii, or in this case a distance of two. By the time I've gone to the tick mark that has two, I've gone two radii of that circle or a distance of four. And the radian measure is not this arc length. The radian measure is the ratio of the green, the arc length of the green arc to the radius of the circle. Right? So if I were to let me go to a radian measure, that's going to show up nicely here. So there's a radian, there's a rate, an angle with radian measure two. Okay? So I've gone four units along the circle and I divide that four by the radius two and I, I get two and I can Bring that stuff back in there.
So for, for each of the. Leaving aside for a moment, the infinite variety of sizes of circles and everything that you could do here just with these five tick boxes on the bottom and the 1 or PI fractions options, you have 64 different graphics that you automatically can make for every single arrangement of this thing. I see what you're saying that it would be an entirely different book if it was non interactive.
Correct.
And the thing that I like about having both the, you know, integer as opposed to fraction of radian representations there. Right. Is that's a great way for students to build number sense because, you know, you're going to, for the most part, want them to be working and just thinking in terms of fractions of 2 PI. But, you know, that's not immediately intuitive to people. Right. You have to do it for a while. And so the ability for them to decide what level of scaffolding they want there in their image. Right. You can toggle it on and off if you're in the middle of a problem and you don't get sidetracked thinking, oh, wait a minute, is this closer to 2 or 3 as an integer valued thing? When I'm thinking in terms of fractions of radians here, well, you can just turn your tick marks on and check real quick and then turn it off. So I like this level of interactivity for being able to have students help figure out what level of scaffolding they want for internalizing these concepts as they're working on. It's great.
You said number sense. I've worked with many students over the decades that think of PI over three as something sacred. And they don't think of it as just a little bit bigger than one. I mean, PI over three is the real number. It's just a little bigger than one.
Right.
And one of the things that I always try to get students to achieve is to what I describe as own the radian. So when I talk about an angle of measure 0.5 radians, I don't want them to be thinking of a degree equivalent. I want them to be thinking of the, the circle and thinking of what an angle of Radian measure 0.5 looks like. You know, it's just half a radius in the green arc, which is astonishingly.
Something that people can not realize after years of using that notation they can be using. They can understand that, you know, you need to go PI radians to go halfway around the circle, but not understand that a measure of an arc in radians is how many radii around the circle you've gone. It's, it's very easy to just mouth the words without really understanding them. And before anyone thinks that I am on my high horse here, that was me for years. I used this methodology, this, this naming convention. I understood it well enough to, to, to use it. I didn't think about why it was called that or how it worked.
Yeah, this is a figure I find really powerful. And this is one that allows me to, to pull students into those aha moments.
I think I would have had mine a lot earlier if I had had access to this.
And I will say for the people that are with us today, this figure I didn't go find online somewhere. This figure is in the textbook. And so I pull this figure up. I teach from this figure in the classroom. Right. This is on the data projector. I'm doing things, we're interacting, classes over. People disperse the figure that was in the classroom. They don't have to go somewhere online and find it. It's in their book. And not only is the figure in their book, but the narrative preceding it and following it is helping explain what's going on in that figure. So I'll tell you, this goes back to sort of a, an original how did the calculus book come to be story. And I'll go show the calculus here in a minute. This is back in 2008, I had set as a goal for myself to come into every class I was teaching. I taught at a two year commute at a two year school. I taught anything from beginning algebra to statistics, the finite math, the survey of calc differential equations, the linear algebra to the full calc series. I taught everything that we offered and I set as a goal to, to come into the class with an interactive visualization that would help students understand the topic or the ideas that we were talking about. And so that that work sort of became known, I was asked to give a presentation where some publishing reps from Pearson were present. Word got around Pearson that this guy Schultz and Walla Walla knew how to create some interactive figures. So an editor of this calculus book that was in development came to visit me in Walla Walla. Bill Hoffman was his name. And he wanted me to create 20 or 30 figures, standalone figures that the publisher could include in the website. So when somebody adopts the book, there's 20 or 30 figures that they could teach from or teach with. And I have to share with you guys that I looked at Bill Hoffman and I said, no, I'm not going to waste my time doing that. And I felt very strongly about that at this point in my teaching career, because Java applets and standalone figures, they had been out all even before the Wolfhumb demonstration site existed. And they weren't as effective as folks thought they were because each figure was on it island of its own. It might not be related to the next figure. And the notation used in a figure may be different than what was taught in class and different than what was written in a book. And if you knew the mathematics, it didn't matter. You got the idea, and this was the greatest thing to interact with. But a student who didn't know the mathematics was just confused by all these differences. And I told the editor, no, I wouldn't do that. But what I would do is I would build an interactive E text where there would be hundreds of figures, but they would just be embedded in the text, and they would agree perfectly with what was written in the text, and they would bring to life the concepts that were being explained in the text. They would replace static figures in the printed text. And Bill Hoffman and Pearson, to be honest, at that time, had no idea such a thing could be created. I did because I was a user of Mathematica. I was plugged into what's happening at Wolfram. I attended the Wolfram Tech conferences. I knew the CDF technology was coming, computable document format with the CDF player, and I knew how to build Mathematica notebooks that would support this vision. And so I said, I'll create you a section of proof of concept that went in. And I went all the way up through the hierarchy and within Pearson Publishing, to the president of the college publishing area, convinced them I could do it, got Wolfram and Pearson together and so they could do the licensing. And a couple years later, the interactive text was deployed when the book was published.
I love this so much because I've heard so many people in their default approach to Mathematica as a program, is seeing it as a new kind of calculator. And for me, it's always been a thing which should be looked at as a new kind of textbook, that it's something where visualization and text and interactable mathematics are all playing together in a way that a calculator just does a couple of things really well. And Mathematica can do all of this at the same time. It sounds like you saw the potential in that very early on, and I'm so glad that it continues.
I. I'm gonna. I'm gonna push that even Farther, Noah. Back in the 90s when I was exploring a lot of software, I got frustrated with the ways in which mathematical content was being basically printed. I knew latex, I was using it. You know, if you just had a lot of text and formatted mathematical formulas, it was good. But if you wanted to bring graphics into it, it was a bit of an issue back then. And word processors, I tried more than one. Oh my goodness. What you see is what you get. Word processors with equation editors and I got frustrated with those. I turned Mathematica, this is in the late 90s and early 2000s. I turned Mathematica into my. My word processor. It's all I use to write. I write exams with it, I write syllabis with it. I write reference letters with it. It is my word processor even if I don't do any graphics or computations and my drive to do that. That is why I'm just going to say in the palettes menu, hang on here, let's see.
We also have a writing assistant.
That's why the writing assistant exists. I wasn't asked to build a writing assistant. I chose to take my tools that I built for myself to turn Mathematica into my own word processor and build the writing assistant palette to help other people create documents. And to this day, I still use it. I used it today.
Can I share my screen for a moment, Eric?
Yes, thank you.
Just wanted to say to everyone that if you're at all interested in making palettes of your own, there's a nice little guide to it here@reference.wolfram.com the suffix is creating palettes has a lot of materials that Eric had to do without when he was developing his. But nowadays there are some options that can help people who work with particular types of functionality an awful lot in Mathematica. So wanted to let people know that that was an option out there as well.
Thank you very much, John. No, Noah, no problem.
We are a team.
Resources today are richer than they were in the past.
And you also mentioned that you have. So you. First of all, you mentioned that you wanted to show some examples from the calculus text, but you've also mentioned you want to show some examples of other custom palettes that you've made that you found helpful. So which are you more eager to share first? Because we definitely want to get to all of those.
Oh yeah, all of that sounds.
I can show the calculus very quickly.
Okay, excellent.
Let's see now we're back. Yep. Let me go ahead and say bye bye to the palette and I'LL click on the calculus link and once again, this is running out of the Wolfram cloud. I'll explain how Pearson deploys the textbook here briefly. But let's say I'll come into functions of several variables. I'll come into partial derivatives. Good stuff. And I'll look at derivatives with two variables. Okay, so here we. That's a static figure that I'm going to pass by. And we're coming into an interactive figure. The material leading into this is talking about the partial derivative of a function of two variables with respect to X. And here we have a potential surface, we have a plane that's cutting that, and we're going to understand really how we're going to find the slope of a tangent line. We can come up and change H, you know, the formulas are all there. We can change B, we can tell the surface to go away. And we can understand this really as a two dimensional thing in a three dimensional world, finding a partial derivative, and there's another one where we're finding a partial derivative with respect to Y, another direction. So we jumped way ahead into calculus, into the three dimensional world. But I think from the little examples, I think participants with us today can understand how powerful this can be just by having that level of interactivity inside your textbook.
It also really shows, I think, if people are looking for inspiration for, well, what are the sorts of things I should make interactive? I mean, you've clearly put enormous amounts of thought into what are the things that people are going to want to change and why might they want to change them.
Right.
So the fact that you can change what viewpoint, you can make the 3D surface go away so that you can understand how it's related to the 1D problem you might have been learning previously. These are all great examples of. Oh, and there's also. This is a fantastic gallery as well.
So what I, I took you to the figure index I build. Again, this is all stuff that I build, but I build a figure index that shows little thumbnails of all the images. There's the two that we just saw in section 15. 3. Maybe I could, you know, go. These are. If I click on the thumbnail, I'll go ahead and click here on Figure 15.7. It then will open up a live version of that figure on its own, not inside the text. So you could play with it, you could teach with it if you want, or you could investigate. So again, there's a little over 700 figures in the calc book.
Great example of the connection between calculus and Solving optimization problems, which, you know, I think is something students oftentimes don't realize, is that. And one of the reasons for learning a lot of this mathematics is that aside from just being interesting, is it can help you solve some very applied and down to earth problems.
Oh, yes, absolutely. I've done home improvement projects where I've used calculus, and people have looked at me surprisedly to find out that I was actually using this stuff. But yeah, it can come up every day. I wanted to ask you, you mentioned teaching with this. You mentioned how you use exactly the, the same materials in some of your classrooms. I, I wanted to ask, do you ever need to alter classroom materials to use them in the textbook or vice versa or, or does the way that you prioritize these things mean that they're identical in, in both environments?
So when I build an interactive figure for the textbook, I'm thinking of the fit in the textbook. So in the flow of the narrative, it needs to fit there. But I'm also thinking of students who are interacting with it as well as faculty who may want to use it in a, in a classroom setting. So the figure is built for teachers, students, as well as the narrative. Does that make sense?
Yeah. So you're imagining the educational situations that you're supporting by creating the figure and then creating the figure so that, you know, you've got some idea for the sorts of things that people might want to explore interactively and then allowing them to do that. Is that a fair summary of your Correct.
So here's an example. I'll go back to this Radiant. This figure for the radian. I can take the labels off. I don't have to show the labels now for student learning. I think they would probably want labels there.
Yeah.
Okay. But if, if you're teaching with it, you might want to take the labels away and maybe do something with your student to figure out what the radian measure of this is. Like approximate it, you know, or, you know, pick something different. Okay.
So the task might be different, but the tool is the same.
Correct. So here's, here's an example. How about you're writing an exam question and you want to give the students an image and ask them to approximate the radian measure of the image. So I create the image I want. I do a quick snapshot, actually, I can go to Mathematica, I can paste that in and write a question like approximate the radian measure of the angle. That makes sense. Yeah. So I have pulled a particular state of an interactive figure into an exam because we Worked on the figure in class, we talked about the concept, and then instead of recreating an image for the exam, I'll just grab the figure in a particular state and write a question.
It's actually quite impressive to see the amount of different things that one can do with one figure. Right. And I'm now curious. So we're seeing this is what your work with this looks like after you've been doing it for all this great experience that you have from the beginning, were you imagining that this was the correct design? You mentioned that you had strong opinions about this early. Was this something that you had encountered early on in teaching or what caused you to arrive at this, this excellent philosophy for how to design these?
Yes, because I started. My intent before any of this existed was to create interactive visuals that I could teach with. Right. That. That was how I started. And so. And then I also work with students and I have a sense for how they learn and how they want to interact with it. So, yeah, I didn't. Yes, I started that way. The other thing I want to mention to folks is in building figures, it is very easy when you start to put too much on a figure. Build a figure that tries to. It has lots of controls and it does a lot and you think it's really cool, but that takes away potentially from its effectiveness to get a point across. And so I prefer to have a lot of figures that focus on points rather than have one figure that covers everything.
Yep, yep. Neil Gaiman in his novel American Gods said, it is well known that the map is not the territory. But the extension of that thought is that the only way for a map to be truly accurate would be it for it to be the size of the territory. This would make it completely accurate and also useless for what a map is for.
Yeah, yeah, yeah.
That's a very excellent point to. To not, you know, in other words, make the things interactive that support a particular learning goal. Right. So. So this is. People frequently talk about the connection between what you're covering in the classroom and then what you're assessing. But if you're a person who's interested in designing the things that you're going to be using to teach and the things that you're going to be using to assess. As we've seen, you can pull exam or homework figures from the one interactive tool, having one design from which you can pull all these sorts of things, and then have the same general, oh, I'm making an interactive figure. But now for this next figure, it's a different learning goal that I'm making interactive. It's a different part of the curriculum that I'm, it's a different aha moment I'm trying to create.
Absolutely. And that's, that's one of the challenges is, you know, you have to have that sense for what it is you want to display. And for myself, decades in the classroom has helped, you know, fine tune that. But then you also need to bring it alive and write the code, which is a very different mindset that you're in. Coding versus visualization. But the, the way I describe it, when I'm really in the midst of doing a lot is, and somebody asked me, I find creating figures a very, very creative endeavor. People are surprised because they don't think mathematicians or mathematics is a creative endeavor. But for me, the figure it is in my mind and the way in which I bring it alive is I write code just like a painter who has an image that they want to bring alive. They do it with a brush and oils and a canvas. I do it by writing code. The code is not the point. The image is the point. Code is the tool.
Speaking of, I noticed that there isn't visible code in the images that you've shown us. Are, are you creating these lessons in such a way that you're expecting students to be able to write code to create something similar to this? Or, or is, is this created with just the tool being complete and, and, and they don't need to be monkeying with that?
Yes.
All right.
I, my experience, I tried, I tried integrating code with teaching mathematics. That was, for me, a less than satisfactory experience here. I set as a goal that I did not want any code visible anywhere in these books. It was focusing on mathematics, and that's coming from a guy who loves code. But that's not the point of these books. Code is not the point of the books. And I'm going to show participants who are with me today the code that's behind this particular figure and the way in which I'm going to show it to you is I'm going to pull up a palette that's a custom palette for myself. This would not make sense for somebody else. I'm going to choose. These are the E techs that I have built. I'm going to pick PC2 Cloud, which is the second edition of pre Calculus. For the cloud, I'm going to choose chapter four, section one, and then I'm going to click on the support button. So I'm going to open the support file for this section and this is where I write code. And I'm going to go down until you see the figure that we've just been experiencing.
And you can actually see some of your thought process and coming up with the intermediate steps I saw as you were scrolling through down to this part.
Yeah, absolutely. I was just trying to get to the figure. So that's the figure that's in the book that we were playing around with. And now I'm just going to highlight the code. So everything in blue is what I wrote to create that figure. This is. Go ahead.
I noticed that you were really getting down into all the options of setting, you know, particular thicknesses and things and really making it exactly the way that you wanted it.
Absolutely. That's. That's the difference. I mean, you can make something interactive in Mathematica using Manipulate fairly quickly, but to make a really. How do I want to say this beautiful, precise image takes a bit more work.
You have all these design decisions about what colors should go where, how should the display, should it be a dashed line or solid line? Should it be framed? As you're making all these design decisions, you're incorporating what you've decided into the code so that exactly what you wanted to do is then what happens when someone is playing with the controls?
And of course, you could make none of those decisions. You could leave everything to the default, and it would often create something functional. But every single decision that you make is going to change the message. It's going to change what this visual tells someone who's looking at it, especially someone who doesn't know this material. And I can definitely understand what you mean about the code not being the point. I see beauty in this code. I see there as something which is appealing to me as someone who knows the code. But it's an entirely different visual lesson to be looking through that than to be looking at the finished image. It's. It's going to be expecting people to be doing a different kind of thinking about a different sort of topic. So I can see why you wanted the. The two to be separate.
Here's the other thing I'll share, since I. I have the palette here. Real quick, I'm going to go ahead and open up the section file. This would be. This would be the file that write in the narrative. I don't like writing narrative and code in the same place. So I write code in one notebook, I write narrative in another notebook, and then to bring them together, I have a command that will pull the image into where I write the narrative.
Can I ask why you Want them in separate places.
Not just how my mind, it's how my mind prefers it. If I was writing narrative, I have, say, a paragraph right here, and then I could have a couple screens full of code to produce an image and then more narrative. And so when I'm fine tuning the narrative, I don't want to see a couple pages of screen. I don't want to have to go over here and focus apps. It. The other reason I do it this way is every figure is given a unique name. And I build figure files. For instance, I'll go ahead and evaluate this notebook. I just highlight everything and evaluate it. Okay. And so now every figure is stored in a variable. And if I want to build the iFigs, the standalone iFigs for this section.
Which is interactive figures.
Yep. I'm sorry, I'm going to click my button here in the palette and then. Yeah, you don't see it, but it's now building those figures that will be available for download inside of Pearson's my lab.
One thing I want. Oh, go ahead.
Well, programmatically, if you're going to build something like this, you gotta. You gotta do things programmatically, man. So, you know, I, I have a lot of code. I can be clicking on a palette or I can run a command to create this stuff. You guys saw I currently have four complete textbooks that are running in the Wolfram Cloud inside of Pearson's my lab. There's one person that does all this. Those are thousands of files. You have to manage things programmatically. You can't do it manually. I don't know. Go ahead, go ahead. No, you said.
John, I was just gonna say one thing that you mentioned earlier was the ability for students to leave the classroom. And then they still have access to the same figure. Right. Because when you've built them in this.
Way.
The somewhat interactive figure that's on the whiteboard, in the sense that you can change what you're drawing, well, that might not be exactly the same interactive figure as if you've created something where they can click and someone has put design into. What are the different things that can be adjustable? So I was wanting to bring that point back up. And so what else might you have to say about the way that.
Students.
Can be supported by technology not just while they're in the classroom, but then that same artifact, the interactive figure or whatever it happens to be, can also be something they're using to learn outside of the classroom environment.
Yeah. Let me, let me go to Pre Cal, where we did something that really addresses. Although I could just show you. I tell you what I'm going to show you here. I'm not getting into the figures, but I'm going to pick something. I'm going to go ahead and pick angles in there. No, we'll go somewhere different. Let's go to. Let's go to functions and let's do transformation of functions.
And I should say this is so hard to get across unless you're working with interactive pictures. It's just something that, you know, if you're not imagining those things in your head or being able to show it interactively, it's very challenging in my experience to convey some of these ideas.
I agree. What I wanted to point out here is in pre Cal there's at least 100 figures in the book where not only might they be ones I teach with, but there's also a video that Julie and I. You're going to hear either myself on this video or you're going to hear Julie on the video recorded to help students with it as well if they miss something in class.
That's fantastic. That that's embedded just as a hyperlinked thing.
Well, and I'll show you something else that's in here and that is. This is. I'm just scanning because I'm looking for something very specific. Okay, so here's one. Graphing, vertical transformations. Given the graph. Graph each of the following. And then since it's a textbook, there's, you know, worked out solution. But there's also maybe a hundred or so of these solutions in the textbook where we know that students say things like, well, I can't learn from reading the textbook. And so what we did for a hundred or so examples is we went through the same solution step steps and created a video so a student could watch the video and experience the same thing that we wrote in the solution right there. So again, another mode. Okay, so I think videos are a great resource and we also have teaching videos, you know, actually teaching concepts both for CAL and pre. Calculated. Yeah, interactive figures, videos. Another thing that I could tell you about pre calculus. Just since you're all here, I'm going to open another palette. The orange cells that you see are for an index. And I, I wrote code to create the indices for the book. But I wanted to go down to the exercises and I'll go ahead and magnify this a little bit. So for all the exercises that are in pre Cal, I'm just going to scan here to find something. Okay, here's, here's an example so number 73, it's a wind turbine. A three bladed wind turbine makes one complete revolution every six and a half seconds. By the way, this problem came from myself experiencing wind turbines in our area of Washington state, where we have a lot of wind turbines, and asking the question, when I see the wind turbine spinning, how fast is the tip of that wind turbine going?
Right. Pretty quick. Surprisingly quick, at least.
So what you see here is you see the exercise written. This is a Mathematica notebook. And then immediately following the exercise, there's two highlighted cells. One has solution, one has answer. Every time we wrote an exercise, we wrote detailed solution, including steps, and we wrote what you would call an answer that you would find in the back of the book. And from this notebook, I have code that I wrote that strips out the pertinent information and builds the student solution manual for the textbook and builds the instructor solution manual for the textbook and puts the answers to the odd exercises at the end of the section.
So again, this idea of doing things programmatically right, and you. So you're about to make another point about that, right?
I don't know how many people with us today have gone through the process of publishing a textbook, but what I just described is a massive time saver. We don't have solution writers working to write solutions for the exercises. We wrote the exercise. I know what the solution is. So we write the solution in Mathematica and then write code that builds those standalone PDF documents that students can view or pull down in my lab and put answers at the end of the section.
It's weird to think about how often there could be a disconnect between these various sections. You were talking before about how you wanted to make sure that all of the interactive figures simply would be able to build off of each other. But just think, even within a single figure, a single problem, often these things are written by two or three people. When it comes to the text, the image, the solution, the answer. I'm so glad to hear that this is something you guys are prioritizing, actually conceptually fitting each other.
And I'll say thank you because yes, it is important to us.
One thing I caught my eye that maybe we could do a real quick demo of is if you scroll up just slightly, I noticed that you did something which is very valuable when students are staring at equations that solution and answer has, you know, various terms and things. It's got some additional explanation there aside from just the mathematical notation. I found this sort of thing very helpful with students. I strongly suspect that the writing Palette or some other palette was involved in creating that. Could you just quickly show people how they can do things like that?
You're talking about this right here?
Yep.
Okay, sure. So we'll go into a new notebook. I'm going to. I'm going to go ahead and try to make this both visible. So let me pull up. I'll just pull up the writing assistant palette.
Yep. Sounds.
I'm going to pull up. I won't use a custom one of mine. And I'm going to make one more change just to make it a little more. Okay. So I'm going to say I need a text cell. So let's put a text cell in today. I will show something that's really original. Sure.
Put you on the spot a little bit there. No worries. And of course, now, if we really wanted to, we could get a large language model to write some. Some pillar text.
Right.
But anyway, this is about the.
Yeah, yeah. You're going into a new area. We won't go there Now. I'm going to insert what I call an equal sim equal symbol line mast cell. By the way, this structure that's in the writing assistant palette, it is due to my experience with tech and latex. That's why I needed a structure like this. So I'm going to put a fraction in here. I'm just going to recreate what you see off to the left. And. Oh, I should just. I'll. I'll tap button. So I'll put a fraction A divided by PI R squared. I use some keyboard shortcuts. Is equal to theta divided by 2 PI. So I use the number of keyboard shortcuts there. They're all on the palette. So now I want this under brace. You see the under brace, a fraction of a whole. So I'll highlight the fraction. I'm going to magnify it even more. And let's see, is there a button down here with an under brace? Oh, there's a. Let's try that one. That's an over brace, but I'll stay with an over brace. Is that all right, John?
That's. Yes, that's good.
And then I want two rows. So I'll put fraction of whole. And then on the other side, I'll do the same over brace. And two rows. And I'll do fraction of whole. Oh, I should have at least followed what I had going there. And I'll even highlight it. And maybe I want it to be blue, since it's. Now it's blue. And now it's blue.
And Yeah, I was just gonna say if people have not tried to do these sorts of things before in various platforms. Right. It can be quite a headache learning how to do this in various sets of tools. And so having the ability to just click, you know, you use some keyboard shortcuts. And again, I wanted to emphasize to people that, you know, even if you are using keyboard for certain things, these input palettes can still be quite handy for being able to do things like this much, much faster than figuring out other ways of accomplishing this.
Not to mention the fact that this doesn't just allow you to create visual writing like something like Latex will. You can actually use this format as runnable executable code. I mean, in this particular case, we're dealing with a lot of variables, so it wouldn't produce much. That's very interesting. But if these fractions only involve numbers, you could run that and see what that division, that fraction actually created.
I'm going to show some, some folks that are with us today the following which pushes it. Imagine that you were going, you're, you're now teaching an algebra course. This, this can apply to others. I'm just going to pick algebra, nothing fancy. And I'm going to write a question here, like factor, whether you think this is important or not. I, I don't want to have the discussion about. I'm just going to show you factor the following. Now I'm going to put a trinomial in here that I want somebody to factor. Okay. Now, I know many teachers who are going to grab a pencil and on a piece of paper, and what they're going to do is write down something like 2x minus 1 and 3x plus 4. So they're going to write down the factorization they want, but they multiply it out. Right. And here I'm just going to highlight this and click the expand button.
Nice.
So I just created my trinomial that I want students to factor, and I did it by giving the answer Go. Try doing that. And what you see is what you get. Word processor, right?
Yeah. No, you, you would actually have to multiply it out. No, that's fantastic. Because it is nice sometimes to pick exercise problems that, you know, have clean solutions. Right. And so the inverse problem is frequently much faster to do, sometimes for computers, sometimes for people. Right. So you pick something, as you just saw, that has like a known nice, clean solution. And then. So what are some other use cases that you've personally found? You know, I, I don't know. Most productive is the Right word. But what are some ones that have stuck with you of, you know, the sorts of examples that you've done using this method where, where you've used that, that palette you were just showing.
Oh, any sort of algebraic simplification or it's just a. I mean I don't even think of it these days. I'm just flying along. It's like, oh, I can do that real quick.
Uh huh.
Does that make sense? Yeah, that. That particular palette has been in Mathematica for a long time. I think Stephen and Tayo may have been. I don't know for certain, but I think they might have done that back in the 90s. Compared to the basic. The assistance that I showed earlier, this is pretty simple. Simple palette.
I, I didn't even know that you could highlight an existing entry and click the button and have it run that by. I've. I only knew about being able to put the expand command in your notebook and then put something else inside of that and run it. That's. That's a nice functionality right there.
Well, okay, so you can do exactly what you just said in an inline math cell. I could do expand square bracket 2x +1. I don't remember what it was, but it doesn't matter. 2x + 1 3x + 5. You can highlight it and let me just highlight it here and then do the shift enter and you can do that in place. So you can click the button or you can actually type the command.
Wonderful.
And you could also, if you wanted to highlight it and click factor and.
There'S your answer and go backwards and. Yeah.
One thing I'm just sort of curious about from design and speaking as a teacher, do you find any big difference in your thought process for designing the 2D interactive examples compared to the 3D interactive examples or do you think about them mostly the same way?
I think mostly the same way. Although I, I could share. I'll just leave it that, I'll just leave it at that. You know, the viewpoints are important. A cluttered three dimensional circ image can be easy to get and you don't want a cluttered one. You got to be really careful about what you're putting up there. Yeah. But no, I stay in a similar mindset.
Just to ask you a very, very specific question about that. Do you use like region function and these sorts of things to help unclutter them or what do you find useful ways of uncluttering? Like, let's say that you, you go to make a 3D image and you See it and you say, oh, this is more cluttered than I anticipated. What would you reach for to fix that?
Well, the clutter would, for images I'm thinking of right now would probably be too many labels or, you know, font selection, things like that. And so trying to trim back on labels or even having you already saw it once, a checkbox on the side where you could take all the labels away. I, I do that quite frequently.
I love seeing how much this is a tool that you're using to translate the way you think into something that's visible to other people. Like the I, I hear so many people when they're describing their experience with technology is being it outside of our technology especially is tricking it into doing something you know, is figuring out how, how it needs to work in order to approximate what they want to do. And it definitely seems like this is a direct translation from your mind onto the page. On that sort of note, I did want to ask. You've been teaching for a while, you've been writing textbooks for a while. I know your priorities are very similar now to when you started, but is there anything you're doing differently now? Anything that you've come around to thinking differently about in terms of how this information should be communicated, how it should be explored?
That sort of stuff I'm going to say absolutely, as it should. I said earlier something about how I wanted to teach students using the tools of their world, not the way that I happen to learn something that 30 years before, but it, it also, I think, is important to note that with tools like Mathematica, I have Mathematica, I have computers with me all the time. I, I, you know, I have laptop, I have desktop. It's not like I have to go to a computer lab somewhere. And so it affects how I think about stuff as I think it should. Does that make sense? It's a tool that I have that I'm very comfortable with. So I tackle things in ways that I would not have tackled things 20 years ago.
And a. Somewhat. Maybe this is a little bit different than what we were just talking about, but when you're thinking about breaking down, okay, I want to create this curriculum material. Do you think about style sheets at the same time as that? In other words, the way that you add additional formatting to some of these notebooks.
Oh, my goodness.
Oh, this is a large topic. Which, which maybe.
Yeah, you had to bring this up, John.
Oh, dear.
Oh, dear.
I'm glad you did.
Let me, yeah, let me focus on that. I have seen folks sit down at a computer and start writing a document with a WYSIWYG word processor and get drawn in to doing stylistic things instead of writing content. And they do stylistic things on a very local way. That is, they'll highlight a particular word and they'll say, I want that word to be bold and I want it to be size 14, and pick the font and maybe make it red. But everything they did only applies to that particular word. That drives me bananas. Because if you have two places in your document where you've done that styling, if you decide to change it, you have to go change it in two places.
Oh, my goodness. Not to mention doing it twice every single time that you were setting it up in the first place.
So I think style sheets for a large project, style sheets are absolutely critical to master. And I'm going to do a style sheet example right here in this notebook that you see in front of you. All of my work has custom style sheets, very much so. But I'm going to go to format. I'm going to say I want to edit the style sheet, and I don't like the font that's being used in this notebook. So I'm going to say I'm going to pick text, and I'm going to do something different to the text. Now you're in a style sheet. So if I edit this style, it's going to apply out in the associated document. I'm going to edit this by using the writing assistant palette so I don't have to get too deep. And I'm going to. With the text cell highlighted, I'm going to say I want that to be red. Okay.
So notice now all your text is red.
Yep. And if tomorrow I wake up and I say, I really didn't want red, I wanted blue, and I want it to be 24 point, and I want it to be a different font. I don't know what Rockwell is. Maybe there it is. It's that apparently, yeah, I'm doing things to the style. I'm not doing things locally in the notebook, so it's easy to change.
And also, just to illustrate some of the extra power of this, what if we add a, like a code text cell or just some other sort of cell so that we can show how we can, you know, adjust some of these independently from one another.
And then I'd be curious, add a John style.
Oh, awesome.
Okay, so. And I'm going to say John is going to inherit things from text. Okay, now for the text cell, I'm going to clear out Some of the. Let me just clear it. So it's now back to text and I'm going to say I want it to be red and I want notice that John is changing as well right now. But we're going to fix that. Now I'm going to go pick John.
And that's because you set the inheritance right?
Correct. So now John is blue. Okay. So no, I don't want blue. I don't just too many choices. I'm going to choose green just to be different. Okay. Now if I pick one of these cells and I said I want that to be John, okay, that's now a John style, which is not a text style. And I could make the John style, I related it to text, but I don't have to relate it to text. There's any number of things I could do to this and margins, frames, like maybe every John style, I want a. I want a background around it, I want light blue, I want a frame, little three dimensional drop. So that's going to be true for John and not text.
But if you were to change say the font size of text, do I understand that John would also change because it's, it's still deriving some things from the text.
Well, let's find out. So I'm going to increase the font size and there it goes.
Yep. The John text behind it, the green text.
Because I did not. I could set the size for John and now John is different and when I change the font size of text, John is not changing. Right. And if I want to get rid.
Of that, specifically what you wanted John to be.
Correct. I could go back to. Oops. I could go back to default text size. Why didn't that change?
Peculiar.
Oh, there it just was waiting to. Yeah, yeah. So I, for somebody who wants to write documents and be consistent with their look and feel, style sheets I think are absolutely critical. Wonderful.
And speaking of Eric, this all has been amazing. I know we are out of time on our scheduled time. Do you have any additional time to wrap this up or.
I do if there are some questions, some comments, some input, some other topics we didn't have.
We did have a question that I want to get to in just a second. So on the topic of these style sheets, you mentioned sort of having a coherent style as an author. So you know the style sheet that you've made here, if that's something that you like, you could save that and apply that to other notebooks. Right. So in other words, this problem of how am I going to style something and come up with my identity as an author. You can make that a separate work question than what's the actual content going to be to some extent at least.
Correct. Correct. I have more tips to give. I don't know if I want to head down this path. If we have some participants with us today that want to get into programmatic modifications of notebooks, I want to show something that a friend in Wolfram Research shared with me many years ago. And I don't think they thought it was a big deal. I just saw them do it when we were working on some other problem. They did the following. They went into a notebook. I'm at the top of this above. Today I will show something. I'm going to type NB equal to selected notebook. Square bracket, square bracket. And I'm going to evaluate that. Okay, so NB is now referring to this particular notebook objects. All right. All right. I'm now going to open up another notebook. Okay, now from the second notebook, I'm going to do something to the Today I will show something notebook. I will say set options in NBC background yellow.
Okay, this is getting into the programmatic control of notebooks that you were. You were just mentioning.
Yes, yes. So from the second notebook I opened up, I can now start experimenting and exploring with the different ways that I can control the NB notebook. I can find things in the NB notebook. I could write a command that would find certain things. I could change certain things. I could do options from NB style definitions. Okay. And I'll put that in a variable called temp. Okay, so this is now the style definitions that we've sent set in the notebook. Now, the yellow background is not a part of the style. I should probably change it back to inherited. Okay, now let's. In a new notebook. Well, let me copy this stuff that we have in here. Let me copy it out. I'll put it in a notebook. It doesn't look the same. That's because the new notebook doesn't have the style sheet. Right. The style sheet is associated with the notebook. And so I could go into this notebook and I could say set options. This is an input notebook, just referring to what I'm sitting in. And I could say style definitions. Temp. Hang on here now.
Oh, is it evaluation notebook rather than input notebook or.
Yeah, I think input notebook got deprecated, didn't it?
I. I think evaluation. Evaluation notebook is the way that I usually do it. Be something else here.
Oh, I'm sorry. Style definitions is already there. I don't have to have style Definitions. I just have to.
There we go.
There we go. Okay. It was sitting there's. Right at the beginning, you can see the style definitions. So I just took the style definition out of this notebook, I saved it into a variable, and I just applied it to a new notebook. If you could imagine having a textbook that has 100 files, this is in essence what I do. If I have to change the style, I changed the style in a notebook that has the custom style sheet. I then programmatically pull out the style and then apply it to the hundred and some files that are in the textbook. And then the textbook is updated with the new style. I think managing.
And then if you open style later.
Go ahead, Noah.
Well, I think, I think I first of all want John to say what he was about to say because I, I know the audience comment that he's referencing.
It's worth saying, I think, Yeah, I think, I think we had an Internet flow down there that we all. We all three were waiting for each other to talk. But we do have an audience comment saying that, you know, it's never occurred to them to do this before. And likewise, you know, before I saw someone do it for the first time, it had never occurred to me to do something like this before either. So, Eric, thank you for showing these sort of tricks for. How do you. How can you work with notebooks programmatically so that you're able to save yourself time at the end of the day.
Right.
Is what it's about. You're working more efficiently if you're thinking about them this way.
Yeah. I want to follow up with the audience member. It did not occur to me to do something like this either until I was faced with a massive E text and managing it and changing styles. And I knew I couldn't do it by hand and get my necessary sleep and eat and exercise and everything else. It would consume me. So it was, how can I do it programmatically? But I have learned so much from this little trick right here. Just taking a notebook, doing NB equals selected notebook, then go into another notebook and start programmatically changing things, moving the insertion point, searching, inserting, all that kind of stuff. So I don't know.
The other audience comment that we. We had is a question about not in this context, but it is a related question is when in the student's learning. So in some cases, the student might be professional development of some person who wants to make curriculum content. So when in the student's learning, is it a good idea to introduce this idea of code and Doing things programmatically. Because on the one hand you'd specifically mentioned that for the learning goals you had in mind for a very particular course and curriculum, you didn't want coding to be part of those learning goals. And that's a totally valid curriculum decision.
Oh yeah, absolutely.
But at some point, you know, so how does one think about this issue of like, you know, when, when do I want to introduce code and doing things programmatically to students?
I want to, I want to say, remember I taught at a two year school. So that's going to be the focus. I mean, that's going to be the contact for my answer, context for my answer.
Sure, sure. The answer might be different for different teachers.
Right. And we have in the recent years we had a site license to Mathematica that allowed students to have their own personal copy on their own computer. And virtually all my students had their own computer. So I would teach calculus. And then in the second year I'd have those students in Calc four multivariable and vector calculus, linear algebra and differential equations. In that second year I would give students take home exams that required them to use Mathematica. They had picked up some stuff in the first year just seeing me do it, although they weren't tested on it, weren't required to, but a few students gravitate to code. And those second year students I've had take off and do some really cool stuff. So for me, I would say the sophomore year worked really well. In the more advanced math courses I could also layer on more Mathematica because they had seen so much of it. They wanted to create and do some of the same stuff and they had their own ideas. And so I was there. You can say a tutor or an advisor or a mentee mentor, I should say, I would help them out. I wouldn't do it. I wouldn't bring code into the context of a pre calculus course with students at that level.
Now is that because the pre calculus course is one where people are at a certain level of mathematics and you would want them to be at a higher level of mathematics? Or just because the pre calculus course is the first in the series that you teach and you want people to have had a full course experiencing the power of this tool as run by an expert and wouldn't want them to need to be manipulating it before that?
In the pre Cal course you do have students taking that course who are not headed down a quantitative major path. Surprisingly, by the time you get to calculus, at least for our calculus students that are small to Your school at that level, they were headed down a quantitative path, whether that be physics or computer science or mathematics or chemistry, you know, something along those lines. And so the additional load of learning some Mathematica on top of learning some mathematics was bearable.
Because you knew that the tool would be something that was useful. Especially you mentioned that this is your word processor, but yeah, I understand you saying that this could be especially useful for quantitative people.
Yeah, absolutely. It's my word processor. It's my quote, PowerPoint, you know, PowerPoint in quotes. It's how I present stuff in class. It's how I, it's how I roll. Darn. There was a, there was an idea I, I wanted to share and it was an important one and just dropped out. I may have to interrupt you guys when it comes back to me.
Please do. While you're thinking of it, we did have another audience comment who, who was curious to hear more about this idea that when they're, let's say writing assessment, they could frame what they're typing as the answer and then run a piece of code to turn all the answers into what would the question have been? Right. In the case of expand, you showed one. It looks like our audience member is wanting to hear more about that. If there's any other examples of that that really stick out to you as being things that you found personally handy or any other examples of that sort of thing where in other words you write the answers. And because you know what the question format is, you can programmatically generate, well, what is the question?
I mean, not only is that something I've done on exams or assessments, but that's something that we do in the textbooks, both pre calculus and calculus. My co author, Lyle Cochrane on the calculus text is also a very good Mathematica user. He's a very good man, but he's also very competent is what I should say in using Mathematica. So we will use Mathematica to create problems as well as to solve problems. So it's not just in the assessments. It's hard for me to pick one place because it's all over the place for me.
I, I personally remember it can be if you're just making up numbers for matrices, if you're talking about matrix operations or linear algebra or something and you want the answer to be a nice clean value. Right. But you're doing some non trivial operations and so, you know, it's nice to be able to automate the checking and the finding of examples that. Okay, yes, all the numbers that went in are nice integers and all the numbers that come out are next integers.
Yes, great example. Done that a lot in linear algebra.
Yep.
Yeah. Yeah. Even creating a data set saying statistics, you know. Yes, I know I can go online and I can find a lot of data sets, but I can also create data sets easily. I can do coin flips easily. Yes, I brought a couple hundred pennies into the classroom before, but I can also, you know, once that idea is understood, I can also do simulations, you know, with random number generators and things like that.
I love that sort of thing. But one of the, one of the first examples I ever saw of Mathematica's power was someone simulating the Monty hall problem. Three doors. One of them has a prize behind it and it's, it's a very counterintuitive problem. One that a whole lot of people, you know, wrote in when they first showed up in a magazine telling the, the, the woman who had a PhD that she was definitely wrong about her interpretation of it. And just being able to see, actually run this problem 10,000 times in a second and see what happens is, is just so incredibly valuable.
Yeah. Reminded you of a particular example here.
Well, I was going to go down the statistics path.
Oh, heck, yeah.
Well, what this is, you know, now that I look at that, this is a notebook that I wrote to create curves and show areas that I would put on exams and exam keys. So let me magnify this here real quick. And I could plot distribution, Z distribution. So there's a left tail command, the right tail command. And so let's say, you know, for the standard normal, I, I had, you know, 2.13 and I want the right tail. I should just gone to the next one. I want a graphic. So there's a graphic with the area and then I would pick that up and, you know, go put it in an exam key. And as long as I'm there in Stats, I'm going to go into exams and maybe I'll go down here and I'll look up an exam. How about. So here you're looking at an exam that I wrote for statistics in Mathematica. I told you it was my word processor. And printing that out, I'll go ahead and create a preview real quick and I'll show you a feature that is surprising. Notice the amount of space that is between questions. Okay. If you come back into the exam, probably have to magnify this quite a bit. You'll see. Where I wanted to show.
It's all over the place.
You'll see a Bunch of this file that I'm pointing at or this cell, see, it says vertical space 1.0. That's a specific cell that I insert. It's not taking up one inch of space on the screen, but when it prints, there will be one inch of space there. So this is part of a custom style sheet that I have for writing exams that goes with an exam writing assistant that I wrote for myself and have shared with other faculty.
I strongly suspect that, you know, a lot of our viewers might be interested in knowing more about this exam writing assistant. You know, is there, obviously they can reach out to you? Is there some other way perhaps, that. That you can think maybe sharing this with people would. Would be in the cards?
All right. Yeah, I'm happy to share it with folks. Excellent. I have a number of colleagues and other folks that have used it. Yeah. I don't know how many times I've said this. I write virtually everything related to me being a professional with Mathematica.
And I've also noticed that it seems to be that you probably have done it a couple of times, and then you notice I need a palette for this. And then you make a palette, and then every time you do it afterward, it's easy because you have a palette. Is that more or less if I.
Okay, yeah. There was another. We're getting near the end of our extra time. There's one other pal that I. I had mentioned that I hadn't showed yet. I did this one a number of years.
Given how awesome the rest of them have been, I'd definitely like to see it.
Years ago. Yeah, I wanted to master the manipulate command, which came out in version six of Mathematica. So this was. It wasn't in version six. It was after that, but it's before I started writing the textbooks. And it's called the Manipulate Assistant. It's in beta because I've never really polished it off. But let me show you how it works. So I'm going to put manipulate in here. I'm going to put a plot, and I'll put a sign, and I'll put ax as x goes from 0 to 2 PI. And I'm going to put a plot range in here as well. So plot range goes from negative five to five. Okay. I don't think is A. A has content. So I'm going to clear A out just to be safe. There we go. Okay, let me back this back down. So here's the thing about manipulate. Once you decide you're going to manipulate a command, you have parameters and you have to specify controls. To do a control, I could say something like A runs from negative one to one. Okay. And then I evaluate. So I'm not specifying the type of control. I'm letting the language determine that it gave me. A manipulator is what it's called. Call. Okay. I always specify the type of control I want. I don't allow the language to pick because I'm picky, I think is the way to put it. But in this manipulate command, manipulate has options itself. Yep. So for instance, it has a label style. I can give a list of directives, so I'm going to choose that. And so I wanted the label to be blue and I want the font to be large. So I'm going to go ahead and evaluate that.
Oh, looks like we need a square bracket at the. Oh, no, there is.
Yeah. I don't.
As you said, this. This particular one is a beta that you've been working on, but.
Oh, yeah, yeah. I mean, even this idea. I don't know if you've seen this idea coming from Wolfram. The idea of instead of typing a color, like I could type red.
It does seem to have done what you wanted. It just did it blue.
I know I'll have to look into this because this I'm using a pop up.
Right.
So I'm using interactive. An interactive control inside of options for manipulate. Does that make sense? And that was an idea I had a number of years ago. Again, I don't think I've seen it anywhere else within Wolfram. But the point of this palette is it lists options. You have the manipulator control. So if you know specifically, like, maybe I don't want a manipulator, I want a slider. So I pick, I want slider. And so you'll see that it says slider and I say the variable and it goes from negative one to one. Now get rid of label style. Okay. And now you don't have a manipulator. You have a slider, and the slider has options. And in the palette you can see what options you have. Enable, exclusion. Anyway, I put this palette together because I was learning to master the manipulate command and I wanted to know what I could do and what I couldn't do with controls and where to put them and a variety of other stuff. So that's probably a topic for maybe another live stream.
Sure. No, that's. That's great.
Yeah. A little more information on that and I'd be happy sharing it and maybe I could even get it Past the beta stage. I just had so many other opportunity.
To do that because I'm loving all of this. I. I'm. I'm reminded of an anecdote where, ostensibly, Michelangelo, but I've heard it attributed to several artists, was asked to explain how he could create such amazing sculptures of, say, a horse out of a block of marble. And he said, I start with a block of marble, and I take away everything that isn't a horse. And I see that artistic sensibility in what you're doing, the refinement that you do of all of these materials, saying, yes, the.
The.
Default will work. It's something that I can work with, but I want all of these elements, and I can find them. And there is beauty to all of this, and I'm really glad you're sharing it with us.
You're welcome.
Go ahead.
Well, I was just noticing. Time. Five minutes to our absolute end.
I was going to say, do you have any real quick words of encouragement for faculty members that might be out there who think, you know, I could probably figure out this, you know, palette stuff, and I could hand palettes that do the things to everyone else in my department, and then, you know, they can create all these amazing things because I've done the palette. I think. I think you've sort of played that role for many people where, you know, you created the tool that let other people easily create more things. Things. So do you have any just real quick advice or words of encouragement for. For people who might be watching, they're in that position and think, oh, I. I can only imagine what my colleagues would do if I just gave them the tool.
I'd say, go for it. Be patient with yourself. You know, I can look back at the path that I walked. I did so much exploration not knowing how I was going to apply it or utilize it. But all of the exploration and the learning had to be done to put me in a position to say, oh, yeah, I could do that, if that makes sense. So start experimenting. Start small and let it grow.
It's fantastic advice.
Yeah. Don't be hard.
Awful lot of disciplines there.
There are areas that I have showed you today, today that doesn't historically have not had a lot of great documentation within the Wolram documentation. For instance, customizing style sheets. I've learned that from experimentation. Yep.
And even though we did link to some documentation, it's entirely possible that you who are viewing this now will find something that no one else had even thought. Thought to mention, because it's just this way that your mind works best with it and it will be a game changer for you. So. Yeah, absolutely.
And definitely experimentation is the way that we make things concrete, even after we've sort of been exposed to them for the first time. Which again, takes us full circle back to the interactive figures. Right. Is this. This is the whole motivation educationally for why, you know, you wanted to make this part of the curriculum that you were designing.
Yeah, yeah.
Well, I want to say, Eric, thank you again so much for joining us. Thank you, everyone who's joining us live. Thank you everyone who is watching this as a recording later. It's. It's been a delight for me. I think it's been extremely helpful to a lot of people. I know I'm one of them.
And I want to thank you for the opportunity. I love sharing, sharing and spreading this stuff.
Wonderful. Well, we've loved having you. I see a comment from the viewers who says, thanks, Eric, and that's absolutely our perspective as well. So hope we'll have a chance to have you back again because there's been quite a bit hinted at that I would love to hear more about, but for, I think that'd be great. Yep, absolutely. But thank you again for everything you've given us. And to everyone watching, we will see you next time.
Bye. Bye, everybody.
More from Guy

Cheryl Strauss Einhorn | The Human Edge: Smarter Decisions in the Age of AI | Talks at Google

Rachel Glennerster | Innovation and the Center for Global Development | Talks at Google

Rebecca Winthrop | Rethinking the Purpose of Education in the Age of AI | Talks at Google

Dr. Robert Wachter | A Giant Leap: How AI Is Transforming Healthcare... | Talks at Google






