Wolfram Blog » Wolfram Programming Lab Workshop http://blog.wolfram.com News, views, and ideas from the front lines at Wolfram Research. Thu, 14 Dec 2017 18:03:35 +0000 en hourly 1 http://wordpress.org/?v=3.2.1 Engaged Students, Happy Teachers with Wolfram Programming Lab http://blog.wolfram.com/2016/02/25/engaged-students-happy-teachers-with-wolfram-programming-lab/ http://blog.wolfram.com/2016/02/25/engaged-students-happy-teachers-with-wolfram-programming-lab/#comments Thu, 25 Feb 2016 17:15:19 +0000 Adriana Rose http://blog.internal.wolfram.com/?p=29900 For the last few days, we’ve been discussing Wolfram Programming Lab and how it is a tool for those teachers looking to incorporate coding into their computational classrooms. Today is the last day of the series, and I’m going to talk about the experiences I’ve had with Programming Lab. What I’ve seen from numerous workshops is that adopting a computational thinking approach increases engagement and supports creativity in the classroom. Having an engaged classroom is paramount; otherwise, teachers risk students falling into a dangerous spiral of disinterest that prevents them from learning and is likely to cause classroom management problems. Programming Lab gives teachers the ammunition to fight boredom and create exciting lesson plans.

My colleague Ishwarya and I have been visiting elementary, middle, and high schools for the past couple of years to teach workshops of various lengths. It’s been such a help to have the Wolfram Language in the cloud. Without downloading any software, students are able to go to a website and start programming immediately. I usually start off my workshops with the Getting Started and Draw a Sphere Explorations. Here are some of the kids that I’ve worked with in the past year or so:

Students working with Wolfram Programming Lab

During one session I heard a girl say, “Look, look at what I just did—I created a sphere. And I made it green! This is awesome.”

I realized that not only were the students playing around and having fun coding, they were also able to create in the digital space. In kindergarten through second grade, most students are accustomed to drawing, cutting, pasting, and creating things to showcase their understanding. Programming in the Wolfram Language gives students an opportunity to create a whole host of useful things digitally. All the students could point to their code and feel proud of their creations, even if it was only calculating 123*456 or generating a purple cone.

Students are accustomed to using phones, tablets, and computers. It makes sense to give students the opportunity to create for this digital space. It’s what they’re interested in, and it’s what they care about. Students were given the freedom to play with the code and make it their own. Yes, there were tons of syntax errors, but they helped each other out, and Programming Lab even has a feature that lets them start off from the original code. Collaboration and genuine learning go through the roof when students are engaged.

Wolfram Programming Lab

When I give these workshops, the majority of the students have never programmed with a text-based language. If they have coded before, even at the high-school level, it was most likely with block-based programming. I guide students through the various Explorations, asking questions along the way to get them thinking about their programs. After going through one of the Explorations with a fourth-grade class, I heard the teacher say, “Now this is coding! Not just moving blocks around.”

I think one of the great things about teaching programming, especially at the elementary level, is that students have the same experience—practically none. My students were starting off at the same point; everyone felt successful straight out of the gate. The result was that when I called on various students, I could see that almost everyone was engaged and understood what was going on. It was amazing! And what’s more, those students that could type faster and grasped the concepts a little better were helping their peers.

I understand the difficulty for teachers to incorporate yet another thing into their classrooms, but introducing programming and computational thinking is an excellent way to engage all students. Teachers don’t need to struggle to force a programming activity to be engaging; programming is inherently interesting all by itself.

There are more resources out there to help teachers get started. A more structured approach to learning the language is An Elementary Introduction to the Wolfram Language, which is available online for interactive use in Programming Lab.

Using An Elementary Introduction to the Wolfram Language with Wolfram Programming Lab

To get a sense of what students can create with the Wolfram Language, check out the Wolfram Demonstrations Project. It’s an open database of over 10,000 interactive knowledge apps that were all created using the Wolfram Language. We have had several online workshops that discuss incorporating computational thinking strategies into the classroom. All are recorded and available on demand here.

There is a Wolfram Programming Lab–specific online event on February 25. We’ll go over how to get started using Programming Lab, its built-in Explorations, and case studies from elementary schools and secondary classrooms, with plenty of time for Q&A. You can register here.

Wolfram Programming Lab Virtual Workshop

What: Introducing Wolfram Programming Lab: Virtual Workshop for Educators
When: February 25, 2016, 4–5pm EST
Where: Free online
Who: Anyone who’s interested—no coding experience needed!

]]>
http://blog.wolfram.com/2016/02/25/engaged-students-happy-teachers-with-wolfram-programming-lab/feed/ 3
An Elementary Introduction to Wolfram Programming Lab: There Is More Than Just Explorations http://blog.wolfram.com/2016/02/23/an-elementary-introduction-to-wolfram-programming-lab-there-is-more-than-just-explorations/ http://blog.wolfram.com/2016/02/23/an-elementary-introduction-to-wolfram-programming-lab-there-is-more-than-just-explorations/#comments Tue, 23 Feb 2016 14:57:13 +0000 Ishwarya Vardhani http://blog.internal.wolfram.com/?p=29863 I hope you’re enjoying the Wolfram Programming Lab series. Today I will be sharing more classroom experiences using Programming Lab and what it makes possible. I will also describe the resources available to interested educators. So let’s get started!

One of the local middle schools here in Champaign-Urbana conducts a community enrichment program for its students. When we heard about this, we knew that we wanted to participate and continue investing in our local community and school districts. So I’ve been working with a group of sixth graders for the past few weeks.

One of my favorite things about Programming Lab is that it can be accessed directly from a web browser, making workshops run smoothly without needing to download software. Once students create a free account in Programming Lab, all their work is automatically saved and they can always go back to it. And some always do! I love it when students come up to me and say they tried to do something and it worked, or ask for my help when it didn’t. Both of these feel awesome, as every teacher knows.

As always, every workshop begins with the basics. When we have the opportunity to work with students for an extended duration over multiple weeks or a semester, there is another cool feature of Programming Lab that we use. Stephen Wolfram wrote a book that also appeals to a younger audience, to introduce them to programming. An Elementary Introduction to the Wolfram Language is obviously a great place to start.

An Elementary Introduction to the Wolfram Language

The entire book is available for free online, and is also available fully within Programming Lab.

Wolfram Programming Lab

While it is a textbook, it does not assume or require any prior programming knowledge. What makes it unique and especially suited to a middle-school classroom is that it also does not assume any knowledge of math beyond basic arithmetic. It really does start from scratch.

An Elementary Introduction to the Wolfram Language

This gives educators a lot of freedom on how to proceed with their goal of introducing code to their students. For a younger audience and for students who have had no previous exposure to coding, Programming Lab is an ideal choice. It packages powerful ideas in small, accessible pieces of code. Students learn by doing, and they have a large variety of Explorations to choose from. A natural next step after this would be to present the material in a more formal fashion. This is where the book comes in. It provides a perfect introduction, and because it is available free online, students can code along with the book. This makes for better learning, where students are actively working on the book and exercises as they learn.

Exercise 3.4 in An Elementary Introduction to the Wolfram Language

Choosing appropriate sections of the book, the students and I covered the foundations of the language. I asked them questions like, “What is a function?” Illinois students learn these concepts from the input-rule-output problem, so they were able to quickly transfer this to a computer science setting. I couldn’t ask enough questions about the code to keep up with them. Usually when one or two students are enthusiastic and answer many questions, the others slowly follow. Here everyone was enthusiastic, and it was raised hands all the way!

We’ve said it before, and it’s true: the material in Programming Lab and the book is inherently interesting to the kids. I have observed this multiple times. They can produce significant results quickly, and who doesn’t love that? While the Wolfram Language powers some of the most robust software applications today, it is also accessible enough that a young middle-school student can create with it. When we started exploring Programming Lab, it was clear they were hooked. We went beyond the Explorations in Programming Lab, creating word clouds of their favorite songs. I heard many students say, “This is cool. I want to print this.” I was watching these students connect their interests to code, and the results were wonderful to see.

Do you recognize this song?

This has been another fantastic workshop series with Wolfram Programming Lab. The more workshops we conduct, the clearer it is that the material resonates with students. Halfway through the series, we decided to take their learning further by giving them a programming project! Now the students are working in teams to create their own Mad-Libs-like website. We have sixth graders doing everything—coming up with their Mad Libs story (fun!), designing the web form, and writing the code necessary to make this all work. They are using a general project template that guides them, but they are ready to do this after just four sessions using Programming Lab and the textbook together.

Tips before you get started

This just shows me yet again that if we provide our students with the right tools, they can create magic with them. I am very excited to see the Mad Libs they come up with!

Wolfram regularly hosts virtual workshops for educators, and we are holding one specifically to discuss Wolfram Programming Lab.

Wolfram Programming Lab Virtual Workshop

What: Introducing Wolfram Programming Lab: Virtual Workshop for Educators
When: February 25, 2016, 4–5pm EST
Where: Free online
Who: Anyone who’s interested—no coding experience needed!

We’ll go over how to get started using Programming Lab, its built-in Explorations, and case studies from elementary schools and secondary classrooms with plenty of time for Q&A. You can register here. I look forward to seeing you there.

]]>
http://blog.wolfram.com/2016/02/23/an-elementary-introduction-to-wolfram-programming-lab-there-is-more-than-just-explorations/feed/ 0
Support Computational Thinking for the Entire Curriculum http://blog.wolfram.com/2016/02/18/support-computational-thinking-for-the-entire-curriculum/ http://blog.wolfram.com/2016/02/18/support-computational-thinking-for-the-entire-curriculum/#comments Thu, 18 Feb 2016 17:05:06 +0000 Adriana Rose http://blog.internal.wolfram.com/?p=29843 Today is the second post in our Wolfram Programming Lab series, and I’ll be highlighting how the Wolfram Language supports the development of computational thinking skills for almost any subject matter. Students solidify concepts and practices by making connections to all of their subjects, not just a few here and there. By incorporating computational thinking across the curriculum, teachers give their students an opportunity to develop twenty-first-century skills to automate processes and solve messy problems with real-world data. In this blog post, I’ll take a look at several Explorations in Wolfram Programming Lab to show the possibilities of programming in the Wolfram Language.

Before getting into the specifics, I want to start off with a working definition of what computational thinking actually is. “Computational thinking involves solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to computer science” (Jeannette M. Wing). We’re seeing a shift toward analyzing real-world data and the automation of processes. Have students build a web-based calculator instead of just using one. Use the entire population of a country as sample data instead of just the people in the classroom. Wolfram Programming Lab Explorations showcase that with only a few lines of code, teachers can bring computational thinking activities into any classroom.

The first activity I’m going to focus on is Draw a Sphere, which could be for a math or geometry class. In this starter Exploration, students are taken through the process of creating three-dimensional objects. Students in lower grades are exposed to the concept of functions along with exploring properties of 3D shapes, since these shapes are interactive. Older students are introduced to the fundamentals of Wolfram Language syntax and geometric computing.

Draw a Sphere Exploration

The next Exploration, Palindromes of English, could be used in an English class. After learning the definition of a palindrome, students solidify the concept by writing a short program to automatically find and produce all the palindromes in the English language. This is a fantastic starting point to foster creative ways to apply computation to words and larger pieces of text. Students could analyze Twitter feeds of major corporations to determine customer satisfaction, or do sentiment analysis on political blogs to determine the popularity of candidate issues. The possibilities are endless once teachers have embraced computational thinking in the classroom. And for those students looking for more, in most Explorations there are Go Further sections to provide additional coding challenges.

Palindromes of English Go Further Exploration

For my third Exploration, I’m going to look at an activity called Flag Colors, which could be used in a geography or history class. After completing the Exploration, teachers can lead students in an open-ended discussion and further extend activity by analyzing and drawing connections between countries and their flag colors. Are flags of neighboring countries similar? What is the dominant flag color for each continent? This same type of activity could be replaced with corporate logos, movie posters, album covers, etc.

Flag Colors Exploration

The last Exploration I want to highlight is Picture Patterns. Students create a piece of digital art using automated processes with mathematical concepts such as reflections and translations. It’s an intermediate Exploration, which means it might be slightly more difficult than the previous activities. It’s an excellent example of taking a computational thinking approach, where students automate the process of reflecting and assembling the new image. It also allows the students to have a choice in what their new art contains. With natural language input capabilities, the Wolfram Language has information on virtually everything. As with most Explorations, students not only create a single instance of the program, but create a web form to share with the world.

Picture Patterns Exploration example

These four Explorations are merely a glimpse of what is possible with the Wolfram Language. Teachers can use Programming Lab Explorations as the hook activity at the beginning of a unit or as an extension to an in-class discussion. Yes, the teacher will need to do a little work to understand what functions you could use with your particular subject area, but the effort is well worth it. Students will make connections throughout the curriculum and gain necessary problem-solving and coding skills for their life outside the classroom.

I encourage you to check out the rest of the Explorations in Wolfram Programming Lab. If you don’t have a Wolfram Account, view them in the Wolfram Open Cloud. There are numerous resources out there to help teachers prepare for adopting a computational thinking approach. An Elementary Introduction to the Wolfram Language is a more structured approach to learning the Wolfram Language. It’s also built directly into Programming Lab to ease switching between Explorations and sections in the book. If you’re interested in sample lesson plans, my colleague Rob Morris and I wrote a blog series called Using the Wolfram Language in the Classroom. There is also a nice summary of activities and resources for the Hour of Code.

Wolfram Programming Lab Virtual Workshop

What: Introducing Wolfram Programming Lab: Virtual Workshop for Educators
When: February 25, 2016, 4–5pm EST
Where: Free online
Who: Anyone who’s interested—no coding experience needed!

We’ll go over how to get started using Programming Lab, its built-in Explorations, and case studies from elementary schools and secondary classrooms with plenty of time for Q&A. You can register here. I look forward to seeing you there.

]]>
http://blog.wolfram.com/2016/02/18/support-computational-thinking-for-the-entire-curriculum/feed/ 2
Bringing Wolfram Programming Lab into the Classroom http://blog.wolfram.com/2016/02/16/bringing-wolfram-programming-lab-into-the-classroom/ http://blog.wolfram.com/2016/02/16/bringing-wolfram-programming-lab-into-the-classroom/#comments Tue, 16 Feb 2016 14:43:45 +0000 Ishwarya Vardhani http://blog.internal.wolfram.com/?p=29807 Welcome to the first in a series of blog posts on experiencing Wolfram Programming Lab. In this series, my colleague and I will share our thoughts on using Wolfram Programming Lab as a tool to develop a computational thinking mindset in students. Modern industry has recognized a serious lack of problem solving and critical thinking in recent graduates. In a world going digital, there is an ever-increasing demand for a curriculum that is current and equips students with skills they need to succeed outside the classroom. Adding a computational thinking approach in the classroom addresses these issues. With Wolfram Programming Lab, injecting computational thinking activities to support the curriculum has never been easier. In fact, with the tools and methods we are going to describe in this series, it is possible to do this across a wide range of subjects, not just math and computer science.

Wolfram Programming Lab is an immersive programming environment that is also fun! You can run Programming Lab through a web browser as well as on desktop systems. It is compatible on Mac, Windows, and Linux. Though Wolfram Programming Lab officially released earlier this year, the education folks here at Wolfram have been using it for a while now. Apart from constantly adding and tweaking content, we have been very busy conducting workshops in schools and libraries in Champaign-Urbana and nearby cities. Today I’ll discuss experiences from two workshops that I led using Wolfram Programming Lab.

Programming Lab is a hands-on introduction to the Wolfram Language and everything it makes possible. It is a practical tool even for users who have never programmed before. For students who are familiar with introductory block-based programming languages, the Wolfram Language is a natural next step into the world of text-based code. The students at my workshops frequently refer to this as the “grownup’s coding language.” They love that they are able to create something in a language used in almost every university in the country.

Workshop

A notable workshop experience was at a middle school in Rantoul, Illinois. I worked with students there for a two-week workshop series. The students had zero experience with programming, block or text based. They were some of the most enthusiastic and eager kids I have worked with.

I love that even elementary code can have a big payoff. To make things convenient, the Explorations in Programming Lab are divided into Starter, Basic, Intermediate, and Advanced levels.

Wolfram Programming Lab

We started with, of course, the Starter activities (“Get Started”). The students created a variety of geometric shapes and figures, and loved playing with colors. We tried the “Draw a Sphere” Exploration, and I frequently heard laughter as they tried wacky colors like “turquoise-sea-foam.” But this experimentation is a big part of being a programmer, and they were already taking their first steps with it. We moved on to styling text and creating mini-websites that displayed names in multiple colors and fonts. We created a ninja name generator website (“Create a Ninja Name Generator”), always a big hit. We created melodies (“Random Melodies”) using the Wolfram Language, and even had their music teacher stop by and listen. She loved it! This was a very successful workshop, by the end of which we had students saying, “I want to become a computer programmer.” Their teacher was so proud, frequently commenting that he had rarely seen his students so engaged as a group.

One of the first schools I worked at is a middle school in Champaign, Illinois. Here I worked with a STEM teacher who was interested in bringing programming into her curriculum. I conducted coding sessions with her students for two quarters. Along the way, we discussed functions, variables, input parameters, and other concepts. We worked our way through sample Explorations in Programming Lab step by step until the students knew their way around. By this time, students were helping their neighbors. This is a definite win from a teacher’s point of view, when students are engaged enough to work together constructively.

After this, we began creating coding activities specific to what they were learning in class. For example, in a home design unit we built web forms that calculated the water you would save if you reduced your shower time by one minute. Students were surprised at how much water they use annually, and how a small change can make a big difference. We built a neat program that used public city data to map the electricity consumption in major Chicago suburbs. The kids were tasked with building foam board models of their dream homes, and together we built a web survey that would determine if your house is energy efficient using Wolfram Language code. For a forensics unit, we built a tool that would automatically count the bugs in a picture using some quick image processing transformations. Interestingly, a couple months later we met a biology major at a talk who recalled that he spent a summer internship at his university doing exactly that—counting bugs in images. He was amazed that middle schoolers were able to help build a tool that would have reduced his summer workload significantly. We saw yet again that good code, no matter how small, can have big possibilities.

Counting Bugs

It is easy to see with these units that students are especially engaged when they understand the relevance of the code they write. These activities felt more real-world to them, directly related to their lives, as opposed to following stock tutorials on websites. Programming Lab already contains Explorations that span a wide range of subject areas, from astronomy to English to, of course, math.

All our workshops have a few things in common. The first time students create something using Wolfram Language code, there are excited squeals and “Look what I did!” and lots of surprised laughter. Students love seeing an instant payoff, and this happens all the time with the Wolfram Language and its characteristically short and readable code. This is perfectly suited for the younger audience, as they present programs in small, accessible steps that are easy to understand and modify. Furthermore, as the Wolfram Language is text based, students learn much more than “coding” during these sessions. They learn about programming syntax and logic, among other things, and oftentimes even improve their spelling!

With my experiences at all these schools, I feel that Wolfram Programming Lab is the perfect companion for teachers who are interested in integrating code into their classrooms. Whether it is by giving students a general exposure to computer programming or creating coding activities that are directly related to their curriculum, this is really the perfect choice. There is something in Wolfram Programming Lab for every student, and every subject too, as we will demonstrate in the next post of our series.

Wolfram regularly hosts virtual workshops for educators, and we are holding one specifically to discuss Wolfram Programming Lab.

Wolfram Programming Lab Virtual Workshop

What: Introducing Wolfram Programming Lab: Virtual Workshop for Educators

When: February 25, 4–5pm EST

Where: Free online

Who: Anyone who’s interested—no coding experience needed!

We’ll go over how to get started using Programming Lab, its built-in Explorations, and case studies from elementary schools and secondary classrooms with plenty of time for Q&A. You can register here. I look forward to seeing you there!

]]>
http://blog.wolfram.com/2016/02/16/bringing-wolfram-programming-lab-into-the-classroom/feed/ 0