Sean Tibor: Hello, and welcome to teaching Python. This is episode 112, and today it's all about Dash and Plotly. My name is Sean Tibor. I'm a coder who teaches, and my. Kelly Schuster Paredes: Name is Kelly Schuster Perez, and I'm a teacher who codes. Sean Tibor: We're joined today with a community manager from Plotly. Adam Schroeder is joining us. So welcome, Adam, to the show. We're happy to have you. We're excited to talk about Dash and how teachers can use it in the classroom. Welcome to the show. It's great to have you. Adam Schroeder: Thank you, Sean. Thank you for inviting me, Kelly. I'm honored to be here. Sean Tibor: Well, we're excited about this. Data is everywhere, and being able to visualize it and understand it is a critical skill for learners to take on and be prepared for jobs of the future. So we're excited to jump into the topic and figure out how Dash can help with that. : Cool. Adam Schroeder: Let's do it. Sean Tibor: All right, before we get into the main topic, Kelly, why don't we start with the wins of the week? Kelly Schuster Paredes: Sounds good. I actually have one this time. Sean Tibor: Go for it. It's all you. Kelly Schuster Paredes: No, we're going to make Adam go first. You forgot. Sean Tibor: All right, we'll make Adam go first. Go ahead, Adam. Adam Schroeder: Okay. Wins of the week. I would say one wing this week was that I was able to meet because I'm the community manager at Pauline, and I was able to meet this week with two community members, community managers from other open source libraries and companies. And I found that meeting very enriching because given that they have the same role that I have, we were able to share ideas, give feedback to each other about different initiatives that we were thinking about. For example, one of the community managers, she was asking us with her startup, well, where she works, probably about 50 employees, they're thinking about starting a discourse forum for people to talk. And she was asking was like, what do we think? Should we do it? Should we not do it? And the tips we gave her were very helpful, she told us. And then I asked about initiative that I'm thinking about for Plotly. So it was a very rich conversation, and connecting with others that are in the same mindset as Er is always a win for me. : Yeah. Sean Tibor: Isn't that great when you have a good conversation with people who are trying to figure out the same sorts of problems that you're trying to solve as well? And we're surrounded by all these people in our normal day to day life that have no idea the kind of work that we're doing. So to connect with someone who really gets it and understands it is a pretty special moment to have. Adam Schroeder: Yeah, definitely. And then they can share feedback about things that you've tried, right. You've tried in the past or you're sorry that you're going to try, and they can tell you, well, we've tried that. Don't do that look out for this mistakes, and it really makes the learning journey a lot faster. Kelly Schuster Paredes: Absolutely. I love sharing and talking to people, and it just gets my mind and my creative side going. And that's why we do this podcast, too, so we can do that. So that's cool. That's a huge win. Sean Tibor: All right, Kelly, I'll pass it to you next. Kelly Schuster Paredes: I kind of have two, so one, I checked off a huge summer project for school done today. We got the class VR headsets from Robo. I think RoboLab I forget RoboLab. Trying to remember where they come, exactly where they come from, but I should know this by heart. But we got them I got them up. I've got them all enrolled. I got them all named asset tags, and anyone who's listening, who is a teacher knows that when you're working with Ed Tech, doing asset tags is a huge project. 5 hours of that. But that wasn't a huge, huge win. I do want to harp on a really good win I had. And you'll laugh. I finally learned how to play Minecraft. Unknown: Yay. Kelly Schuster Paredes: I did a workshop a couple of weeks ago or not even last week or something, and it was all about cybersecurity, and I will share that information later at the end of the show about the worlds that's going to be available. So much fun. Did Caesar ciphers in minecraft? I actually built a house in Minecraft, which was funny, and my kids were laughing at me because I've had it in the classroom so long, and I've let kids use it as a lesson. I've always done empathy or other worlds in the class, but I've never actually played it, and it's addicting. It's so stupidly addicting. Sean Tibor: There's something to that whole Minecraft thing, right? Kelly Schuster Paredes: Yeah. I did realize it is called Minecraft for a reason, because the default is mining, which now makes sense. Not building. Yeah, I didn't either. See, you learn things every day, and that's why when you have to was it right click to build or throw a block or whatever? Yeah, it was fun. It was a lot of fun. And I got to learn a lot of terminology about maps versus worlds and all kinds of stuff, so huge win. Huge win on my part. I know I should be happy about that. Sean Tibor: In my day job, I'm surrounded by a lot of cybersecurity people, and we all have a lot of, like, 1ft in platform engineering, the other foot in cybersecurity and making sure that we're building it safely. And so I mentioned to them that you were taking that class. I was like, how cool is this? My friend is taking cybersecurity but in Minecraft. And they're all like, did that dog head tilt thing, like, wait, what? You can do that. And then I explained it to them, and I was like, no, this is legitimately amazing that you can teach it in this world. And a lot of them were like, okay, so where do I go download that? How do I start working with, okay. Kelly Schuster Paredes: Well, I have to share it then, obviously, right now. So there's actually two worlds that are published right now. They're CyberSafe, which home suite because all the NPCs go, which is why they named it. And that's for the younger kids, like your K five S. And then you have Privacy Prodigy, which is your six to eight. And that one's about cybersafety skills. Little ones like that. You have Cloudcraft, which isn't out yet, which is exploring data centers. That comes out in August. And you have what's the other one? I think cloudcraft. Yeah. Crowdcraft comes out in August. Data centers, cybersecurity, cyber Fundamentals, and Cyber Expert, which is for your 912s. That comes out in August. And then they have actually an 18 plus. So all your little interns and stuff that want to play minecraft, there's going to be a lot of deep, deep cybersecurity lessons going in there, and it's incredible. I'll tell you what the Caesar cipher was getting me, let me just say. Adam Schroeder: All right, I'll come back to you. Sean Tibor: For recommendations on which age level is appropriate for senior business leaders to take. Kelly Schuster Paredes: Sounds good. Sorry, that was a long win, but that was a huge one. Unknown: Nice. Sean Tibor: So my win this week is completely outside of my job and teaching and all of those things, although there's been some really good progress with the summer interns. For me, it was actually just a bit of fun. My lease is up on my car, and my wife has started a new job as of this week that involves a lot more commuting than usual. So we're looking into electric vehicles and trying to find something that will be more efficient for her to get to and from work. So we've been test driving a lot of EV cars, and it's a lot of fun to see what's out there and what's new. And I wouldn't say any of them are really in the super affordable segment, yet. Cars are just expensive now in general. Kelly Schuster Paredes: You know, rivian, rivian, Rivian's. Adam Schroeder: Cool. Sean Tibor: A little outside of my budget range, but I did test drive the Cadillac Lyric, which was pretty neat American made car. They have built in seat massagers in the back, so I felt very fancy driving that around. It was pretty fun. So the nerd in me is loving all of the technology and the integrations and the way that really cars are becoming more about the software that powers them in a way that has never been done before. So it really just reinforces this whole idea of that. Almost anything we build is going to require some sort of thoughtful approach to designing software and experiences for the users. And so it was just kind of cool to see the variety of different things that are out there. So far, I think Tesla is still probably the most connected, most polished software experience, but there's a lot of vehicles that are catching up really fast. Kelly Schuster Paredes: I feel like you have to wait a little bit to wait to those LLM whatever the large language models get built in, and then you can just talk to your car and chat GPT with it. Unknown: Right. Sean Tibor: Well, a lot of that is actually happening through all the speech to text and the voice assistant. So the Cadillac that we drove had Google Assistant built into it. Unknown: Wow. Kelly Schuster Paredes: Not too happy with Bard. Unknown: Wow. We'll get there. Kelly Schuster Paredes: Sorry. We digress that's too long. We spent too long on that. Unknown: Yeah. Adam Schroeder: Why don't we? Yeah. Sean Tibor: Let's get into the main topic. Thanks for everyone being patient with us on the wins of the week. It's been a while since we've gotten to share, so it's a lot of fun to talk through it. Let's talk about Dash and plotly. And let's start, I guess, by just kind of explaining what they are and how they fit together, because I know there's a really tight relationship there that has been very beneficial to the open source community and has worked as a pretty successful business model as well. Adam Schroeder: Yeah. Thanks, Sean. So Plotly is the company. I am Plotly, community manager for the Open source, but Plotly is the company. Within Plotly, we have two open source products well, packages. Right. Anybody around the world can use teachers, students, anybody. I worked at Big Brothers, Big Sisters in New York City before Plotly, and I used Plotly when I worked for the mentoring organization because I wanted to show my department some graphs and data trends with Dash. So these two products are called Plotly, and the other product is Dash. Both are open source. Plotly is a graphing library in Python. Both of these are Python. So if a teacher wants to teach their student how to go beyond the theory of what a scatter plot is, what a bar chart is, what a pie chart is, and how we can help us people understand and dissect data. Once they go past that theory and they want to show them how to build those kind of graphs, then they could use plotly because it's a graphing library in Python. And all you need is your computer and a Python IDE, and you have it. Right. Pip install Plotly, and there you go. Dash is a framework that allows you to build analytics web apps. In many cases, it incorporates polygraphs because the polygraphs is natively part of Dash. So you use Dash when you want to build more interactivity and showcase, like, a complete dashboard. So you can build with Dash, you can build the drop downs, the date pickers, the sliders, the radio buttons, and then you can connect them to graphs. Using Dash, you have this interactivity on your web page that you're able to achieve through Dash and using the polygraphs. Kelly Schuster Paredes: And this was huge. And I know Sean heard the whole story during my Data science boot camp because they make us go from the beginning. Teaching teaching people who probably who have never coded before, going through everything from JavaScript and HTML and then they take you and then they go and show flask. And you have to build your HTML index page and you're going through the whole thing. And at the end, they're like, okay, you need to make this entire Web thing, web visualization, out of whatever topic you want, and you only have ten minutes to produce it and one week to make it. And everyone's trying to manipulate all this stuff. And I found Dash, and I was telling my team, I was like, oh, my God, this is so easy. It's like one file, everything written inside, and it's just phenomenal. And not many people have heard of it, and they don't even teach that yet at Georgia Tech, so shame on you. Georgia Tech put Dash in the curriculum, and it was just amazing. And it kind of takes away that some people will probably be upset with this, but it kind of takes away that need to have to build your index HTML page. Adam Schroeder: Exactly. It's so nice that you brought that up, Kelly, because especially, like, Flask, because Dash sits on top of Flask. Flask is under the hood, so nobody really knows they're using Flask unless they're aware of it and they see similar syntax, but it just sits on top of Flask. And now you don't have to define all these separate files and functions. It's just one app PY file. You declare what you want to see in your HTML on that file, and that's it. It's all there. Kelly Schuster Paredes: It's so beautiful. It's so beautiful, actually, what version are we on and when did it start? Adam Schroeder: Yeah, I should have given you a bit more history here or context. So Plotly as the companyplotley graphing library came out in about 2013, and we had at first it was just a graphing library. We had also Chart Studio, which allowed you to build everything on the browser. You would build your graphs, you would connect to each other by less programming, more like, give me this drop down, let me drag this. And then at a certain point, we said, okay, that's not enough. We want something more powerful. And in 2017, we came up with Dash, right? Which is for those who are maybe listening to us and have a little bit more knowledge into Python or programming. What really Dash is is just a Python wrapper of React components. So you can do like, a drop down with React. You can do drop down with a checkbox, checkbox with React, deadpicker with React. But react is complicated. I don't know. React, JavaScript, React, these are really complicated tools, and you have to define HTML. You have to connect them. So we just wrap them in Python. Now, if you want to declare a button, you just say HTML button. You want to declare a drop down core component. Drop down core component. Checkbox. So using Python, as you probably know, it just makes things a lot easier because you know English, you know Python. Kelly Schuster Paredes: Absolutely. I love the tutorial, the 20 Dash in 20 minutes, literally. That's what I used. And when I was telling everybody, I'm like, that's done. What do we need? We need a header you can put in the bootstrap in there. It just copy that right in. I was like, what do you want? I got it. Adam Schroeder: Everything is in there. And continuing the line scaling of the history. So 2017 redeveloped Dash, and now you can create, like, interactive dashboards or real Python Web apps with adding Python plotly graphs in it. These are all open source and will forever be open source. But in 2019, a few years ago, we developed Dash Enterprise, right? And Dash Enterprise are more used by companies and maybe universities, because then that's like our product that we sell where people can really take their apps to the next level, right? Maybe they want multiple users and multiple usernames and passwords and authentication. And you want thousands of people externally visiting your web app. You need some more power to it. So that's what you do with Dash Enterprise. But plenty teachers reach out to me on a regular basis saying, Adam, I saw, like, Dash open source. How can I share this with my students? How can I use this? And so that's really happy. We have that. Unknown: Nice. Sean Tibor: And then you personally, when did you start working with Dash? Was it around that time that 2017 to 2019 time frame or a little bit later? Adam Schroeder: Sean, are you asking me when I started working with the package Dash or with the company formally as an employee? Sean Tibor: When you start working with a package Dash? Because from your bio, I see that there's some pretty interesting stuff that you've done as part of the community before becoming the community manager. Adam Schroeder: Yeah, good point. I was working at Big Brothers Big Sisters in New York City as the VP of Family and Volunteer intake and onboarding and up until the end of 2021. But I started working with I started with Plot, and my experience is often the experience of most community members and Dash users out there. I started with Plotly Graphing library because I had Excel, right? And I had some graphs that I could build with Excel. But for me, it seems complicated and limited. You can't create any type of graph you want, then you can't customize the graph in any way you want in multiple ways. And so I said, you know what? Maybe I'll learn Python because it seems like a very relatively easy language, because that's not what I studied. I studied masters in conflict resolution and diplomacy, and that's not like, okay, let me just learn Python. And once I learned Python, I started with seaborne graphing library. And then I was like, that's kind of cool. But I felt Plotly because it seemed easier to me than Seaborne and because it allowed at the time for more customization than seaborne. Then I started building graphs in Plot Leak, and I used it at my department to show my staff members different data trends. What's happening? Why are we getting I mean, we had some information in Excel, but it's a lot easier when you see it on a graph. Like long term trend. You can look at row by row and see what's happening with a certain volunteer or a certain family member. But if you want to see the overall picture, it's a lot easier with graphs and a dashboard. So that's really when it started getting into Plotly and Dash. Kelly Schuster Paredes: And you can't do, like, the hovers with all that information, right? Adam Schroeder: Right, exactly. Kelly Schuster Paredes: And the drop down and changing. So beautiful. I actually love plotly too. Sorry. Sean Tibor: Well, and I think this is kind of what leads into the meat of things now, which is like, so how do we use this in education? Unknown: Right? Sean Tibor: As I think your story about not being a data scientist or a computer science programmer, you're just someone who wanted to visualize some data, right. To be able to understand it better and use these trends and then share that with others, is, I think, a fairly common story that a lot of teachers have as well, which is, I have a lot of data. Unknown: Right? Sean Tibor: Or I have access to some data, and I want to be able to visualize and share that with other people. So we can talk about it or we can make decisions from it or learn from it. So when it comes to using Dash in this context, what are the sorts of things that you're seeing in the community around education and how teachers, administrators, faculty are using Dash as part of either teaching or understanding their students better? Adam Schroeder: They didn't really go into a lot of detail on how they use it within the classroom. I had a couple of university professors that use it, but that's part of, like, Data Science 101 and teaching them a little bit about visualization. And the others who did share a little bit from high school told me that they were using Dash to kind of supplement their subject matter. Right. So whether they were teaching I shouldn't remember what they were teaching. I can't remember what subject matter they were teaching. But they said that they use plotly in the graphing library as well as Dash on the dashboard to show the students, look, this is what on the grand scale of things, this is the data that we're looking at. Right. And maybe you want to go into the specifics of the data instead of using they often use Excel, let's say. Why don't you just use the drop down here or use this radio button to filter the data and spit out or plot the data on the graph according to the data that you want to see. So it seemed like, from what they told me, it seemed like it just made the learning experience a lot faster for whatever they were teaching because it just had more powerful tools in their hand. Yeah. Kelly Schuster Paredes: And I'm thinking, as you were talking, this is what I love about our show. I can imagine an econ class or an APECon class or someone in the high school. I mean, we could do it in the middle school, but there's not a lot of computer science teachers in the middle school. But I'm thinking then the high school with science, all they have to do is give them a template, even if the teacher is doing it, give them the template of the code and change out the data just to get a basic graph on site. So looking at the trends of what's going on with a certain thing in economics, or looking at the trends of whatever they've collected I know Sean first introduced me to the whole graphing thing when we first started teaching together with the what are they called, the race cars. Sean Tibor: I forget what they were called, but they're basically like they're little carved wooden roadster racers with a CO2 bottle in the back. And you puncture the CO2 bottle, they go shooting down the track. Adam Schroeder: Go ahead. Kelly Schuster Paredes: No, go ahead, you tell the story. Sean Tibor: I was going to say so what we did was we basically just did some Google Sheets work with them, right? So we had like a Google form and we had the students entering the data from their races. How much does your car weigh and how fast did it go? Like, what was its time at the end? And then what was pretty amazing with it was that we could project that on a screen. So as the responses were coming in, it was updating like a top ten list and it was doing like a graph and a scatter plot. And then one of the things we did afterwards was we went through and built a scatter plotly of the mass of their car versus their time. And you can see that really clear correlation that the faster cars were, the lightest cars. Unknown: Right? Kelly Schuster Paredes: Imagine like, you can do that with the dash and plotly, and then you actually have a live you could put a website, host it, maybe if you wanted to, but don't have to host it. And then you can actually hover on it and you can see that's Bob's car and they had this wheel axle, and so those thoughts like, that pretty cool. Adam Schroeder: And you could do it live. Like if you connect a data set data set database, we have a thing called cork interval, where every second you can decide how often you can say every second I want this to listen to a certain event or to listen to something that's happening and then it will renew the data or pull more data from the database. So from 1 second or once every minute or once a day, whatever you want, you can pull data and see your dashboard update live, which is great for I think you mentioned this, Sean, with your risk car. Seems like it's great for experimentation, right? Sean Tibor: And I think there were a couple of things that worked really well with this because and they're principles that I think Alberto Cairo, who's a professor at University of Miami in Visualizations, talks about a lot, which is that when you're doing infographs and informational visualizations in journalism, one of the things that helps engage people is when they can see themselves in the data. Unknown: Right. Sean Tibor: So if it's just a data set talking about other people, it's not as interesting as if it's a data set that includes me, right, or your region. Adam Schroeder: Or your neighborhood, right. This means a lot to me. Let me try to understand this violin. Sean Tibor: Chart or whatever exactly. So they can see it and they can say, okay, that's me, or this is my area, this relates to me directly. And in that case, with those race cars, I think we call them roadsters, right? They could find their data point in the graph. They could find their friend's data point in the graph. And so it becomes far more interesting when they see themselves in there and it becomes this process of discovery. So we talk a lot about data fluency, but I think we don't talk enough about kind of like data exploration as a component of that, the ability to explore and find new and interesting points within the data, whether it's yourself or trends or something like that. That data exploration concept is really powerful in the learning process. Adam Schroeder: Sorry, Kelly. Kelly Schuster Paredes: Go ahead. Adam Schroeder: I just wanted to reiterate, I think Kelly was alluding to this a little bit where there's more and more data every day, right? And it's not like in the past. When I was a student in high school, like two years ago, it wasn't like that, where you had very little data and you could just pretty much on an Excel sheet or it was easy for the teacher to say, okay, we're just going to work with this data. Now you just have access and easily because you have the hardware there to access gigabytes terabytes of data. And then, like you said, Sean, you can't find yourself. You have to use graphs and data visualization to better understand what you're working with and what you're looking at. And so the need, as we have more and more data, the need to understand the data with graphs and visualization, I think, becomes bigger, which is why we're seeing more and more users plotly. Kelly Schuster Paredes: That just blew in mind. So for our listeners, they know that my big goal was to make this sort of dashboard and I made a smaller version of it for the boot camp. And it was great. It was old data. The trends were kind of lame. The machine learning outcome was like 0.3, really bad, really bad predictability. But I'm thinking this while you guys are talking. We have this monitor in our classroom and Sean used to have a hand sanitizer and it would kill how many people hand sanitize their hands. This is during COVID but I'm thinking about all the possibilities. Just plug in a monitor, put a TV, not even a monitor or whatever you can grab, run the program through an old computer. I mean, whatever computer can handle the Vs code or whatever and you could have kids feed in. How are you feeling today? How was this topic? And that data. Just a quick little 1 minute survey, connecting in with that data collection live. Then you have a whole week of old data plus how they're feeling. Maybe you could see trends. There's just so many things that you can do that we don't really do in education on data collection because we use data that's old, right? So already past the point they got an A, kids moving on or they got an F, the kids moving on, but nothing that's real time, accessible data and all those ideas. That's pretty cool thinking that. And it's simple. Connect it to a Google sheet, connect it to a form or something, right? Adam Schroeder: I think it's one thing if I were a teacher that I would be thinking about, but this could be just because I did teach a little bit as I was invited here when I was teaching a little bit about climate change to middle school in the Bronx, and I was a teacher in my former life. I was teaching English. What I find from what I know is that more and more people are interested in learning Python, right? Because it's a simpler language in Java or JavaScript and because it's just being more and more used in the world. Like noipath Python can better prepare you for the world and jobs and careers and than most other languages. But teaching Python to children with lower attention spans, short attention spans, is probably not easy. I never done that. I did it in English. That was hard enough. And so I'm thinking if teachers would use plotly and dash to teach Python, that would engage them, in my opinion, a lot better. I have community members, not students, but adults may tell me I'm using plot and dash because it's so easy. I'm actually learning python. And this is what happened to me as well. Through plotly and dash. I really didn't have a reason. I wanted to learn Python, they say, but I didn't really know for what. But now that I know that I can explore data, I can create this beautiful dashboard. I'm going to learn Python as I learn plotly and dash. And because plot and dash. Are so easy. You only need to know Python lists and dictionaries that's it like functions. And then you know how to create your dash app so they can teach that at school as a way as a tool to teach Python. I think it will be beneficial. Kelly Schuster Paredes: Yeah. Sean Tibor: I think that it goes back to something that I think we've had guests repeat over and over again, which is it's almost always going to result in failure if you say, I want to learn Python. Unknown: Right? Sean Tibor: Right. It usually goes with, I have this thing that I want to do, and I'm going to use Python to do it. Unknown: Right. Sean Tibor: I have this data that I want to graph or visualize. I'm going to use Python to do that. And that leads me to dash and plotly. Unknown: Right. Sean Tibor: It leads me to some tool that I can use, and then I do the thing that I really want. And along the way, I'm learning how to use Python, I'm learning how to use dash, I'm learning how to use plotly. And that's where, as we think about education and kind of where we are right now, we're at this confluence between the way we used to teach these concepts, which is grounded in a lot of really good pedagogy, right. Like, there's a lot of really good science behind why we teach graphing data this way or why we teach understanding data in small sets first. Unknown: Right. Sean Tibor: But what we're missing is that the world is shifting towards that much more rich, complex, data oriented industry, society, whatever, and we haven't figured out the best way to bridge the gap from teaching those concepts in the traditional way. That's worked really well into the new skills and technologies that we need to use. Unknown: Right. Sean Tibor: So it's kind of like I see my own kids, elementary school, third grade, fifth grade, when they learn a lot of really good fundamental statistical stuff, like, here's how to get a mean mode, here's how to plot those numbers on the graph. The next step is how do we go further, right? How do we go from that sort of plot on paper pencil to now do it for 1000 points of data or a million points of data and showing them that it's something that they can do, that they can learn how to do that. It's not something that's insurmountable. Unknown: Right. Kelly Schuster Paredes: 100%. I want to sort of add but sort of switch topics like I always do. I want to talk about dash and Chat GPT. There's two sides of that story I want Adam to explain on. You have like, a competition that side. And also just talk about the hallucinations and stuff that I encountered. But I'll let you talk about it. Adam Schroeder: Oh, I'd love to also hear later from you, Kelly, what hallucinations you've encountered. But yeah, it happens. Hallucinations is not explicit to dash. It happens with anything else, really. So we at Plotly. Sean on the community side, the community forum. I've introduced Bimonthly every two months, an app building challenge. And this current challenge is building an app while incorporating an open AI API into it, like chat GPT into it. And so far we've had a nice amount of submissions. We usually get the submissions towards the end, which is in a week from now, because people are like, I want to win this contest, I'm not going to share my app now. Share like at the last minute. So we're excited to see what's going to turn out. But from playing around with Chachi PT. And I also made a video on YouTube at Plotly YouTube on how to work with chat GPT and dash. I see like two different, I guess in two different ways. One is you use chat GPT to enhance the learning process of Dash and chat GPT can help you create, understand how to program and create a Dash app right, incorporating Polygraphing library. And the other thing is building your own Dash app that incorporates chat GPT into it. So you have your own API key of chat GPT. You incorporate that, they have their API documentation. And I did this a couple of weeks ago, where there is like a chat bot inside my Dash app, right, so that other people can use my Dash app that has chat CHPD inside of it. So there are two separate things. The challenge that I'm right now is how to the app challenge is for people to incorporate chat GPD into Dash. The video I made is how to use chat GPD to actually create dash apps and enhance your learning. And both of them are very valuable depending on what stage of the learning process you are in. Kelly Schuster Paredes: Yeah. And when I found the code where you had just a little chat box into your prompt and I was like, oh, this is so cool. So many kids would love that, just even showing them that you could access, but you have to do the off key and that's a little bit more challenging sometimes for 8th graders and 7th graders. I can imagine high schoolers here's, my own little chat bot directly linked to chat GPT. And that to me is like definitely a dopamine hit for any kid. Wow. I directly hit on my website with Chat GBT, so that was out there. I just thought that was cool. What else was going to say, oh, the hallucinations with Chat GBT, that was fun. They sent me on a random road because this is me trying to get my app done in a week with all this data and multiple pages. And I was trying to make a drop down menu that was connecting and just the way that it was doing it was blocking out a port. And then the chat CBT was telling me to put a different port number and put this in and change the URL. And I was in a wild goose chase. And I was like, you know what, I'm not going here anymore. And it kept giving me deprecated code. Adam Schroeder: Yeah. And that's something to note. Like if you use chat to learn dash, it's going to teach you dash, but it will teach you depending on if you're using 3.5 or 4.0, it will teach you code that was used about a year ago, maybe a year and a half, which is not wrong, because all dash versions I think you kelly asked me. Right now we're on 2.11.1. All Dash versions are backward compatible. So if Chat JPT is giving you, you won't know what version it is, but it's giving you kind of like dash syntax that we used to use in 2.5, then that's fine, it's still going to work. It's just then you see examples, real life examples of current community members of the documentation. It was like, Wait, why is this code written differently? It might confuse you a little bit, but it'll work. So just keep that in mind. It's like you're a teacher and you want to learn Dash before you teach it to your students, or before you have your students go at it with Chat GPT and then start asking you questions. It's important that you also read the documentation and don't just rely on Chat GPT to become an expert in learning Dash. Kelly Schuster Paredes: I think that's a good takeaway for the teachers, though, right? So you can tell? I can always tell. Well, I could tell it's in summer right now, but I can always tell when the kids were using Chat GBT to do their assignments because really? Oh, yeah, it's beautiful because we talked about this last show, but they do the hashtags and they do perfect syntax and no 6th, 7th and 8th grader has perfect syntax with the double the spaces and everything. But that's something to note. Like if your kid comes, students come up to you and you say, well, I've done this visualization and it looks this way, and you're familiar with the library, it's always a fun little well, why did you do that? Have you looked at the documentation? Go back and change it and update it. So refactor the code. Go ahead. Sean Tibor: Well, and it does also, I think, encourage us to really be clear about what we want the students to learn. Unknown: Right. Sean Tibor: Are we there to have them learn the detailed understanding of how plotly works and the best syntax? In some cases, yes. Unknown: Right. Sean Tibor: Or is it do we want them to visualize some data and have the opportunity to work with it? Or is it something completely different? Because depending on what the goal is, then using generative AI to create the code might be like the fastest and best way to do it. Unknown: Right. Sean Tibor: In other cases, maybe there are serious drawbacks to doing it that way because you're learning the old outdated version. Unknown: Right. Sean Tibor: So I think when you're teaching and especially in this world, you have to get really clear about the learning objectives, like what do we really want them to learn, what's their key takeaway? And Adam, to your point earlier about making everything faster and smoothing out a lot of these speed bumps, right? That's where maybe using tools like this or using the documentation can help us smooth out those speed bumps that people run into when all they want to do is take this data set and visualize it in a specific way that they can see in their mind. But they don't know how to turn that into the code. Unknown: Right. Sean Tibor: So I really like the idea of having clear objectives for what we want them to learn, but then encouraging them to use all of the resources that are at their disposal. The chat, GPT tools, the documentation, the community leverage, everything to make sure you're coming up with the best answer for what you're trying to solve. Adam Schroeder: Right? What I really liked about Dash, especially now, but even when I started learning it while for joining Bali, is that it's really just a tool to allow you to create front end interface, right? So you don't have to. It might be even like you said, it might be easier for teacher to say instead of I'm going to teach you Python through that. It's like you're going to do some math and you know how to do some math with Python. But I want to see the results. And we're going to put everything on the web browser with dash. I want to see the user, the front end, or instead of you in the back end doing algorithms and clicking Execute code and see the result. Execute code because you want to change the inputs of your mathematical equation. Well, you do that everything on the front end. So you just change it by putting everything in the browser with your keyboard. So it just makes and you do best for math. You could do it for geography, you could do it for any subject matter where you just want to have a user interface on the computer and you want to interact with it with a lot more ease. You just use a dash in Python and you have it. So it's like a very good reason to teach it. Kelly Schuster Paredes: Sorry. And I know we're cutting on time, but one last little wow. Imagine this unit first day back to school. Here's my dash code and you're going to do an about me page. And here's all you have to do is just fill in the blanks of who you are and this is going to be your web page showing on your computer. You jump them into Vs code already. They have like a file structure already set up, maybe share it out as like a package deal. And look, you've got a week one about me, get to know your student. And I think about the time when I used to teach HTML back in 2005, seven, six, whatever it was. And that would be our first unit. It would take five weeks, but yeah. Sean Tibor: I mean, I like, I love the idea of the about me with data. Unknown: Right? Adam Schroeder: Yeah. Sean Tibor: Like, here's my my summer in data. And maybe they add things like, I went to these different cities, or I tried these different foods, or I beat 17 different levels on the latest Call. Adam Schroeder: Of Duty or whatever it is. Unknown: Right. Sean Tibor: But some sort of like, here's my summer in data presentation when everyone comes back to school. Kelly Schuster Paredes: Cool. You just wrote 8th grade curriculum for me. Unknown: There you go. There you go. Sean Tibor: I think this is my final thought is that the other thing that I like about using visualizations with data and using it with code is that one of the hard things for students, especially juvenile students, not adult learners, but students in middle school and high school, they're now learning things that their parents never learned. Unknown: Right. Sean Tibor: They're learning concepts in coding and computer science that unless their parent is a computer science person or is very technology focused, they might show them, like, look at this thing that I did. And the parent or the adult has no idea what they're looking at. Unknown: Right. Sean Tibor: But if you show them, hey, look at this web page that I made that has all of this data that I graphed on here from this data source or that I added myself or whatever, now you've got something that people can relate and respond to. And there's definitely this power of reinforcement in the learning when a learner can show what they did to someone else that they care about. And that person says, wow, that's so cool. Tell me more. So I love that aspect of learning with data and learning with data visualization. I think dash should be very well suited for it because you get some very beautiful, pretty visualizations for a very few lines of code, right? Adam Schroeder: Yeah. With like ten lines of code, you can get started. Kelly Schuster Paredes: Last thoughts? Adam Schroeder: Getting started? Oh, sorry, Kelly. Kelly Schuster Paredes: No, I was going to say last thoughts. We've got about a few more minutes. Adam Schroeder: Talking about getting started. Like, if listeners of the show are interested in learning a little bit more about plotly and dash, obviously you just plotly.com and you can see our documentation. My best recommendation, I think, would be to take our 20 tutorial. 20 minutes tutorial. You'll see it if you go into our dash docs, you'll see right on the top and 20, and it should take you about 20 minutes. We have experimented with the beginners, and it will really teach you the most important elements of dash, right? How to incorporate data, how to display things on the page, how to use a function callback in order to create interactivity, and how to add graphs to it. And then from there, you can decide how deep you want to go into it before you teach it. We also developed a curriculum, an open source curriculum, in case teachers are interested in learning more about it than using it to teach other students. So I'd be happy, Kelly, Sean, to share that with you as well. Kelly Schuster Paredes: We'll put it in our show notes. Unknown: Very nice. Sean Tibor: All right, so, for our audience, if you have questions for Adam or questions for Kelly or myself, you can always send them through our website at teachingpython FM, and we'll make sure they get to the right person. You can also interact with us on social media at Teachingpython, on Twitter. I'm at Smtiber on Twitter and Mastodon, and Kelly is at Kelly Pered on Twitter. Adam, any best places to follow you or engage with the work that you're doing through Plotly? Adam Schroeder: I would say, you know what's? Open an account on our Plotly forum and then you can find me there in Messages. A best way is probably to email me if you won't have any question, Adam@plotly.com. But also Sean Kelly. Feel free. If you get any questions or people are asking you to connect them with me, feel free. Just you have my email address, connect them with me, and then I'll be happy to follow up and meet with them if they want. Kelly Schuster Paredes: And I know from experience on LinkedIn, the Plotly employees are super nice and got me connected with Adam right away. And just a great just like most Python community, not to generalize, but most Python community members, always happy to help, always happy to answer questions, even for people that may not know exactly what they're doing. And I just encourage you to reach out to Plotly because it's a great group. I think it's now with my new favorite library, poor Matt Plotlib. Sean Tibor: Very nice. Well, I think that does it for this week. As always, we're happy to have had this conversation. Adam, thank you so much for the time today to talk about Dash and Plotly and how they can support learning. It really means a great deal to us that you took the time to do this. We're big fans of both libraries, and I think we'll be finding ways to use them in every possible situation we can from here on out. Adam Schroeder: Cool. Thank you, Sean. Thank you, Kelly, for the invite. Have a wonderful week. Unknown: You, too. Sean Tibor: So, for Teaching Python, this is Sean. Kelly Schuster Paredes: And this is Kelly signing off our channel subscribe.