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



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...