Wednesday, July 19, 2017

Is Coding Really What We Should Be Teaching Our Students?

I'm going to play devil's advocate here and discuss a notion that coding using technology may not really be what our students should be learning. WHAT!!?? I know, I know, in all my previous posts I depicted coding like it was the be-all for making our students future ready. But, awhile back I read another blog post that is too interesting not to address. It's called: Rethinking the Coding Craze (2017) by Bea Leiderman. In the post she discusses the fact that when we make our students learn coding, whether they're interested or not, it just becomes another content they are "forced" to learn. Leiderman talks about how the process of coding isn't as important as "designing a process and making it happen." Isn't that what we ultimately want our students to be able to do? She believes that there are other ways the process of coding can be taught and connected to real-world situations other than typing words, symbols, and numbers into a computer. For example, cooking is one of the ways she mentions. Like coding, cooking requires a set of step to be completed in a systematic order to create an outcome (the dish being made). Leiderman provides other examples such as: movie editing and art. However, the take away from her post is that there isn't only one type of technology (coding) which our students need to master. What we should be doing is offering our students opportunities to learn "through projects and challenges that go beyond the classroom walls."

While I did find Leiderman's post interesting and appreciate the point she is making. Which makes sense, not all students are interested in coding. However, as a math teacher, I find the process of actually coding to be invaluable. The step-by-step approach students must take to code is so similar to solving a math problem. Most students, when they solve a problem, get the answer and move on. With coding, there's the error analysis that needs to be completed when a program doesn't execute. This is the same error analysis that students can use to go back and check their calculations., find there mistake, and fix it. This process teaches students that it's okay to make mistakes, but fixing them is just as important as solving the problem correctly the first time.

Teaching students to code isn't trying to force them all into computer science careers, and it isn't beyond what students can do. Coding programs, like Logo and Scratch, that I mention in my prior posts are kid friendly and not complicated to use (notice I didn't say simple? Remember, I coded with Logo too!!). Starting students off with lessons from Hour of Code is the perfect way to allow them to "dip their toes in the pool." Overall, I think whether providing students opportunities to use computers to code or use coding with other contents, they will be applying those future-ready skills needed in the real world.

Wednesday, July 12, 2017

LCPS Brings CAMS to Middle School

While researching this week's blog topic of case studies/examples of coding and robotics in school, I remembered that LCPS had created a new class for middle school students for the 2017 - 2018 school year called CAMS (Coding At Middle School). How CAMS will work is it is a year-long elective class which will meet every other day for an entire block (90 minutes). Students will be introduced to computational thinking and computer science in hopes they will continue with these types of classes during high school (and beyond!!). The class will be taught by a teacher certified in Math, Computer Science, or Business and Information Technology. Using project-based learning and collaboration, students taking CAMS will use the program Scratch for the first semester.

Scratch is a programming language which was developed at Massachusetts Institute of Technology (MIT) Media Lab. Don't forget, this is the SAME EXACT lab where Seymour Papert developed his Logo programming language! Scratch was developed especially for children ages 8 - 16. With Scratch, children learn to program and can create interactive stories, games, and animations. Plus, there's an awesome Scratch online community so students share their creations and interact with others. The MIT Media Lab has done so much research on Scratch that it's too much to even list! Check out this link to view research papers and presentations from the Scratch website; it's great stuff!

Back to CAMS...for the second semester, students will use AgentCubes online, a 3-D game-designing program. AgentCubes online is an immersive, project-based learning program that teaches students how to code and computer program. Like Scratch, students can share their creations in an online community as well as play others' game creations. I couldn't find any research or scholarly papers on AgentCubes, but I did locate this blurb on their website (AgentSheets is the actual company name):

AgentSheets has been evaluated in large scale studies with 8000 students across the USA by the University of Colorado at Boulder School of Education and external evaluators. The results are overwhelmingly positive and suggest particularly high levels of motivation across gender and ethnicity by also indicate that students really gain measurable computational thinking skills.


Though I am thrilled that our students are being offered a coding class, I checked the 2017 - 2018 LCPS Middle School Program of Studies and was disappointed to see that CAMS has not been added as an elective course. I also checked LCPS curriculum guides and searched the LCPS home page-I found nothing about CAMS or course standards. So the only way parents and students would know this elective is an option would be through their guidance counselor as classes were being scheduled for this upcoming school year.

Sunday, July 9, 2017

Research and Current Trends

One of the trends that is popular in schools to introduce students to coding is the Hour of Code. The hour takes place during Computer Science Education Week (for 2017, it will be December 4th - 10th).  It's a global grassroots campaign that reaches tens of millions of students in over 180 countries and over 45 different languages. But why participate in Hour of Code? The partners who developed this movement believe that all students should be introduced to computer science and coding. They believe that introducing computer science early will "demystify" coding and show students that anybody can learn to code with hopes of sparking interest in the field of computer science. Research has shown that coding helps "nurture problem-solving skills, logic, and creativity." Computer programming jobs are the number one source of new wages in the United States, and these jobs are growing at twice the rate as other jobs. Can you believe that only ten states have created standards related to computer science and Virginia is NOT one of them! The best part about Hour of Code is as a school or educator, you don't have to try and figure all this out on your own. There are over 200 lesson plans and activities from beginner to "comfortable." There is even robotics coding activities if a school is lucky enough to have access to robots. Hour of Code makes it easy by providing so many resources: how-to videos and help with technology needs.

Check out this link to find out more about Hour of Code and to view more stats!

    

Even if your school doesn't participate in the Hour of Code, it doesn't mean opportunities to code can't be easily integrated into everyday instruction. Websites like edutopiaPBS, and code.org offer tips, tricks, workshops, tutorials, and advice. Your schools' Technology Resource Teacher (TRT) is also an invaluable resource to help get started with coding. The best thing to do is to just jump right in and DO IT!

Tuesday, July 4, 2017

Thoughts on Papert, Coding, and Math

Prior to reading Seymour Papert's book, Mindstorms: Children, Computers, and Powerful Ideas, I had the benefit of trying out coding with the Logo computer language. Logo was developed by Papert, along with his colleagues at MIT, because they believed that, "[C]hildren can use computers in a masterful way, and that learning to use computers can change the way they learned everything else." I experienced first-hand, the exact examples that Papert expressed in Mindstorms which are required for this learning process. Papert emphasizes the importance of making, fixing, and learning from mistakes, which he calls "debugging." Logo helps to support and develop new ways of thinking. It's through this process a powerful thing occurs-learning. Like Piaget, Papert believed in the theory of "learning without being taught" and learning through doing. Since programming is mainly a self-directed activity, children learn at their own pace through their own trial-and-error. It's this process of doing that is the basis for learning. I would not have been able to simply read about coding or watch my professor code then set out to write a program on my own; I needed the opportunity to code to learn how to code. The process of writing smaller programs, or as Papert calls them "structured programming' is a big help with coding. By dividing a program into parts when coding, it becomes much easier to find and correct mistakes. It also allows the programmer to incorporate previously written program code into new code which saves time, especially when the pre-written code has already been debugged of errors. In my case, I wrote a code to make a square then added code for a triangle to make a house. The code for the square was written separately, as was the code for the triangle, but added together, they created a program for a house. But trust me, this was not an easy process. it took a lot of trial-and-error. However, once the program for the house was run, and an actual house was created, I can't even describe the feeling of accomplishment that occurred!

"Mathophobia," or the fear of math, is a big part of why Logo was created. Children are taught early on (most likely from a parent or a teacher) that they are either "good" or "bad" at math, which sets their identity on their ability to learn math. Those who are "bad" at math think that no matter how hard they work at it, they aren't going to "get it" anyway and will always be "bad" at math. Papert believed that teaching rote mathematics was completely the wrong way to teach math or anything else for that matter (Papert was also an opponent on using standardized testing to measure what a child understands and knows). Papert's aptly named Turtle geometry incorporates learning principles which have "more structure to the concept of an appropriable mathematics." In traditional Euclid's geometry, which is taught in schools, a point is defined as "a primitive notion upon which the geometry is built. Being a primitive notion means that a point cannot be defined in terms of previously defined objects." WHAT?! Can you imagine trying to teach this abstract concept to any student? It is done each and every day in schools. Turtle geometry is a "computational" type of geometry. It's a different way that children can learn math, because they identify with the Turtle. The Turtle (it resembles a triangle-shaped cursor) "serves no purpose other than of being good to program and good to think with."  Children learn to control the Turtle because it becomes an object they can control and think with, thus making their thinking visible. 

"One learns that the most powerful idea of all is the idea of powerful ideas."
~Seymour Papert



Wednesday, June 21, 2017

What Would Seymour (Papert) Say?


Seymour Papert, author of Mindstorms: Children, Computers, and Powerful Ideas, would relish in the fact that coding and robotics in education were even topics up for discussion today! Papert wholeheartedly believed that allowing children to use coding, especially while learning mathematical concepts, making mistakes, and reviewing and correcting those mistakes is the key to overcoming "mathphobia," the fear of learning math. Stanford University's Paulo Bilkenstein wrote in his article, "Seymour Papert's Legacy: Thinking About Learning, and Learning About Thinking," that Papert's work with his programming language LOGO, "convinced him [Papert] that children learned more efficiently if they could see a tangible result for their learning efforts." 

Papert believed that just as we use pencils, paper, paint brushes, and crayons in our every day lives, so will we add the use of computers. As you will see from the video clip below, Papert also used robotics to enhance learning. With Lego LOGO, children are, "playing with toys in a very sophisticated way." They build with construction Lego sets then interface what they have built by programming with the LOGO computer language to add motion. Papert believed in what he called the "fundamental fact about learning: Anything is easy if you can assimilate it to your collection of models. If you can't, anything can be painfully difficulty." Most importantly, he believed that children learn that, "knowledge is a unified thing. That mathematical and scientific knowledge is not separate from their passion for toys and from things they did from when they were small children." 

Watch the video clip below to see Seymour Papert discuss his beliefs on how computers and technology in the classroom will change how children are educated:



Mindstorms: Children, Computers, and Powerful Ideas Part II

More on Seymour Papert's Mindstorms: Children, Computers, and Powerful Ideas:

It's Okay to Make Mistakes. In Fact, We Encourage it:

Through his research on computers and education, Papert stresses that a child will have difficulty learning if they do not assimilate newly acquired knowledge to previous knowledge. Through his coding program, LOGO, “children learn to use computers in a masterful way, and that learning to use computers can change the way they learn everything else.” (pg. 8) The reader learns just how coding “transforms” learning by allowing children to take a more self-directed, active part of their learning. The biggest part of this is making mistakes and “debugging,” a process where the learner finds and fixes their errors on their own. Debugging is an important part of the learning process and “is the essence of intellectual activity.” (pg. xiii) Papert believes that, “people seldom get anything right on the first try.” (pg. xiii) It’s this beliefs that permits Papert to present a compelling argument as to why students need opportunities to use computers and code.

Math Can Be FUN!:

One of the biggest ideas Papert writes about is how students of math learn to be “mathophobias” early in their educational careers. This “phobia” of math, “is often the first step of an invasive intellectual process that leads us all the define as… “mathematical” or “not mathematical” (pg. 8) thus setting the tone for children’s relationship with learning math. Papert found that when children could make connections with math concepts and their previous knowledge of body movement and how it works, they could apply this knowledge to learning geometry (what he calls Turtle geometry). Papert writes that, “Turtle geometry, a kind of geometry that is easily learnable and an effective carrier of very general mathematical ideas.” (pg. 63) Turtle geometry is learnable because it is syntonic learning; it’s in harmony with the student’s learning environment.

My Conclusion:

Mindstorms presents a compelling argument that “new knowledge often contradicts the old, and effective learning requires strategies to deal with such conflict.” (pg. 121) It’s these effective learning strategies such as coding, debugging, and project-based learning that allow students to take control of their learning through use of computers and coding to engage them in activities that are meaningful in their real world. I must agree with Papert on his findings because as an educator myself, I have seen first-hand how effective project-based learning can be for students. When given opportunities to use real-world scenarios, students are better able to assimilate their learning. Also, I have used the LOGO program myself. As Perpert writes, I too, found the process of writing the code and debugging invaluable to my learning. Mindstorms is a book that was well before it’s time, and what Papert writes is as relevant today as it was in 1980 when it was first published.

Mindstorms: Children, Computers, and Powerful Ideas Part I

Introduction:

Mindstorms: Children, Computers, and Powerful Ideas is a must read for anyone, especially educators, who think that coding and programming are only for computer science engineers. When Papert wrote Mindstorms in 1980 (revised and republished in 1993) he was at the forefront with his beliefs of how computers and technology in the classroom would change how students learn.

Who is Seymour Papert and What's This Book About?:

“[There are] two central themes of [this] book . . . children can learn to use computers in a masterful way and that learning to use computers can change the way they learn everything else.” (pg. vii) Papert had the opportunity to work closely with Jean Piaget earlier in his career from 1959 until 1964 at the University of Genova at Piaget’s Center for Genetic Epistemology. From there, in 1964, he used his time as a professor of math and the co-director of MIT’s Artificial Intelligence Laboratory to build on Jean Piaget’s framework of constructive learning theory to develop his own model on how children learn which he aptly named constructivism. Papert’s constructivism learning theory believes that students learn best by discovery and use information they already know to acquire more knowledge. Participation in project-based learning is essential in order to make connections between new ideas and previously-obtained knowledge. The case studies Papert presents in Mindstorms highlight the benefits of his learning theory along with the addition of computers and coding.



Is Coding Really What We Should Be Teaching Our Students?

I'm going to play devil's advocate here and discuss a notion that coding using technology may not really be what our students should...