Tag Archives: computer programming

Book Review :: E-Textiles

In an effort to utilize my librarian background, I am embarking on a series of book reviews, to be published on Fridays. These reviews will cover science education books for and about children, as well as reality-based children’s books for a Montessori lifestyle.

A picture of the cover of the book e-textiles

Love the cover!

E-textiles

Ages: Teens and Adults
Toth-Chernin, Jan. E-Textiles. Cherry Lake Publishing. Ann Arbor, MI, 2014.

This book is part of the 21st Century Skills Innovation Library series. I have reviewed a couple of their other books (HTML and Game Design) and find them to be inconsistent with regards to content. Sometimes they are spot on, and sometimes the topic is too complex to be adequately covered in 30 pages.

Please don’t misunderstand me – I am thrilled that someone is publishing kid-friendly books on these new technological advances, but I don’t think all of these books are as useful as they market themselves to be. This one, in particular, was very scattered and not quite appropriate for their intended audience – middle school age and younger. It’s a thin book and was found in the Juvenile section of my public library – not the teen section and not the adult section.

A picture of the T.O.C. for the book e-textiles

The book includes five chapters covering the basics of e-textiles, sewing with conductive thread, beginning projects, microcontrollers and electroluminescent wire. While there are a few projects given,  none of these projects include pictures – either of the finished product or any step-by-step pictures of the process.

A picture of pages from the book e-textiles

Sewing stitches are really difficult to understand without pictures…especially for kids.

That being said, I was pretty disappointed with this book. I’ve made some e-textiles and I found the descriptions to be too advanced and choppy at best. The author assumes a working background knowledge of e-textiles that is inappropriate for a beginning book. It was as if the author had to cover a variety of topics, but was not given effective page space to do so.

For a 32-page book, it tries to cover too much information and ends up not covering anything in-depth enough to make any sense to the reader. This topic can be quite complicated – especially when they are talking about the use of Arduino microcontrollers, such as the Flora and Lilypad. Both of those microcontrollers were mentioned in the book and require a working knowledge of the Arduino programming language. If the purpose of the book was to introduce the idea of e-textiles – then yes, they are right on the mark. If that’s the case, why would the book include DIY e-textile projects?

A picture of a page from the book e-textiles

My suggestion would be to save your money and check out the project pages provided by the Exploratorium on sewn circuits. Or, for really advanced users, subscribe to AdaFruit’s web vlog on e-textiles.

A picture of a handmade bracelet made from felt with light up LEDs, embroidered to look like an alien spaceship. e-textiles

My homemade, hand embroidered, hard-wired e-textile.

Book Review :: Build Your Own Web Site

In an effort to utilize my librarian background, I am embarking on a series of book reviews; to be published on Fridays. These reviews will cover science education books for and about children, as well as reality-based children’s books for a Montessori lifestyle.

A picture of the book, Build Your Own Web site

Ages 10 and up
Martin, Chris. Build Your Own Web Site (Quick Expert’s Guide). The Rosen Publishing Group, Inc.:  New York, 2014.

Overview

This age appropriate guide will help young students learn more about the world wide web and the process of making a web site. The book starts out with a brief history of HTML and the significance of some of its properties, such as using tags to display content. The full-color pages will appeal to today’s students and the side bits provide relevant information.

Unfortunately, the book is also disorganized and poorly designed. There are WAY too many callouts. These can give extra information, but can also become a distraction when writing web pages. In-text definitions are a fabulous way to use callouts. Regrettably, the publishers have used callouts to occasionally provide step-by-step information. Consistency is not always easy to discern and that may make it difficult for students to follow along as they build their own web sites.

A picture of the table of contents for the book, Build Your Own Web SiteBuilding a Web Site

After some background information regarding HTML building, the author suggests that we start making our own web page. He begins by providing the tags needed. Unfortunately, any mention of where to type up this information is nowhere near this page. It may have been mentioned at the beginning of the book, but we have forgotten it as we began coding. This chapter needs to start out with a brief description on how to use a text editor – for Windows and Macs. I also didn’t see any mention of saving your document with an HTML extension.

IMG_2068Layout and Instructions

Thankfully, there is a brief sample of the actual code for a simple site. Unfortunately, that is followed by an explanation of ‘nesting,’ but there are no accompanying screenshots. The paragraph refers to the above listing of HTML, but inexperienced students might have a hard time visualizing why nesting is important with such a short bit of code.

Although there are a lot of images and color pictures, I wish there were more useful screenshots. The pictures from this book were taken from Shutterstock, and although they are catchy – actual HTML screenshots would have been much more useful.

IMG_2070

After typing our code for a simple document and adding links, the author shows us how to add an image to our page. The author does suggest it’s not okay to swipe images from the web, but he follows that sentence with a brief description of “fair use.” The line regarding fair use is valid, but it may be too complex for students to truly grasp. I would have liked for this topic to receive greater coverage.

There are also not enough step-by-step instructions; too many tidbits are scattered throughout various chapters. For example, knowing how to refresh your page is really important when building web pages. Unfortunately, this tidbit is not mentioned until page 24 – well after someone has theoretically been writing (and saving) HTML pages.

I really like the look and feel of this book, but found it too hard to follow. The author is obviously knowledgeable and included relevant information. Sadly, it’s scattered throughout the book.

IMG_2069Publishing Web Sites

This book does have one advantage over Innovation Library’s Web Design with HTML5. This book mentions how to publish your pages to the world wide web. Since most of these sites require parental permission for under age 13, students can learn more about online safety from a trusted adult. As a parent, I would have liked to see an actual warning about online safety. Instead, the author provides a list of organizations in the appendix.

A picture of the glossary for the book, Build Your Own Web SiteFinal Verdict

In conclusion, I think this might be a valuable asset to a teacher using HTML in the classroom, especially if combined with another book on the mechanics of how to type up an HTML document. The book provides a lot of opportunities to find out small pieces of information about HTML. Unfortunately, I would not recommend this book for a student to use on their own. The information is too random, not well-organized and lacks the appropriate warnings about publishing information online.  I find the organizational structure to be haphazard, which makes it a poor learning tool for self-teaching.

CS For All

A few days ago, President Obama announced a new initiative to promote computer science classes for all students – CS for All. The proposed funding will be $4 billion for states and $100 million directly to schools to fund this initiative. Apparently, it’s even supported by both parties! It’s a definite nod toward the importance of CS principles and certainly what many organizations, like code.org, have been advocating – and the purpose of ‘Hour of Code‘!

A picture from the book, Help Your Kids with Computer Coding.

A picture from the book, Help Your Kids with Computer Coding.

I’m excited right now to be a tech educator – especially one who focuses on programming and robotics. I’m excited to see the shift to this type of learning, especially for kids who might struggle with traditional, paper-based learning, which is usually the case with reading, writing and math. This will give those right-brain learners something to feel confident about. However, I am waiting to see how these programs will eventually play out.

CS for All

My biggest fear is that CS will become one more subject that students are required to learn – rather than integrating it across the curriculum. For elementary-age students, that doesn’t mean sitting them in front of a computer and teaching them to hard code. It means finding age-appropriate resources, such a Robot Turtles, Ozobots, and Lego WeDo kits (3rd grade and younger) and Scratch, mbots, and Lego Mindstorms (in addition to many others) for upper elementary and middle school.

It also means there needs to be a lot of room for creative free expression and in-depth tinkering. Coding is fun and empowering, but there needs to be a focus on mastery and it must have a personal purpose to it (a la Daniel Pink’s research in Drive). I’ve said it before, but I’ll say it again. I don’t want the teaching of computer science to be one more thing that a student has to learn.

A mini-project on the country of Greece. Programmed completely by R, age 9.5.

A mini-project on the country of Greece. An interactive presentation, designed and programmed by R, age 9.5.

I want Scratch to be integrated into math and language classes – not separated. I want logic games and math games to be integrated into daily lessons – not just pulled out as a ‘CS’ curriculum. I want students to learn how to make presentations to reflect their learning – whether that’s while learning about Greece, the Wright Brothers or the xy-grid. I want them to have time to explore and tinker, not just to memorize a piece of code.

So, I hope the National Science Foundation will look to the creators of Scratch and to Seymour Papert and base their grant funding on that type of CS teaching – creative expression and tinkering – which will lead to more students choosing computer-science-based careers.

 

 

Computer Science without Computers

This is the last post, in a series of activities, that are designed to impart logic and computer science concepts without the use of expensive technology or one-on-one devices. Check out the previous posts about the game, Robot Turtles, extensions for Robot Turtles, the game of ‘Be the Robot’ and What’s Inside of a laptop.
computer science without a computer - workbooks

These are some resources I’ve found that teach logic and computer science skills – without a computer.

Since I am not a classically trained computer scientist (or programmer for that matter), my use of the term ‘computer science’ may differ from others (here’s a really great explanation of the differences). I use the term vaguely – to imply a lot of different computer-centered activities. That might include logical thinking, seeing things from a different perspective, noticing patterns, finding out about computer parts, learning about key programming concepts, such as repeat loops, and of course, using icon-based programming languages to write programs.

So, with that being said, I have gathered a lot of great materials and hands-on tools over the last few years, such as Lego WeDo kits, Ozobots and creative instruction with the icon-based language, Scratch. But, I have had times when I’ve needed activities that didn’t require a computer. I needed to teach computer science without computers. Sometimes these activities were used to fill a break in my coding or Robotics camps. Sometimes, I was asked to teach where there were few resources and only a couple of computers. We needed a way to rotate computer use, but still be working with programming concepts.

Computer Science Without Computers

This need led me to the DK Workbook, Computer Coding. This looks to be a companion to DK’s book, Help Your Child with Computer Programming, except that this slim workbook starts out by introducing the Python programming language, which I do not teach. Although I will be teaching a kids’ web design class this summer, most of my classes do not use text-based programming languages.

I know, we could have a whole other debate about how HTML isn’t a true programming language…but let’s hold off for now, shall we?

DK's book, Coding for Kids, is a good resource for kids who are ready to start using Python.

DK’s book, Coding for Kids, is a good resource for kids who are ready to start using Python.

If you skip ahead in the Coding workbook, there are some really cool exercises on “thinking like a robot” and writing out simple commands, such as ‘forward(50).’ I drew out some of these on the board and had us work together to complete them. Honestly, it wasn’t as much fun for the 9th graders who were my captive audience. They had a hard time making the connection to why this type of learning was important – and they weren’t intrinsically interested in coding. In that case, I really could have used some computers to set them free with Scratch. Usually, the free expression in Scratch can hook any reluctant teen programmer.

But alas, that wasn’t an option for a cash-strapped camp who wanted to offer some computer science programs. I did find a curriculum that looked interesting, but didn’t come across it until after my “no-computer” camp experience. This free “Computer Science-in-a-Box” curriculum is from the National Center for Women  & Information Technology. Although this curriculum is geared toward ages 9 – 14, I haven’t used it in my camps. It does seem a bit like “school” work and my campers are not so willing to take up paper and pencil during the summer. But, like most curriculum, I’m sure there will be some great insights that I can find to use with my students.

A good resource from Code.org.

A good resource from Code.org.

I’ve also looked over the curriculum from Code.org – “Intro to the Art of Computer Science.”  Both of the above items are well-researched, but most of the activities are too tedious or abstract for my younger students to appreciate or enjoy. Don’t get me wrong – I like the guides and learned a lot from them. I also think think they offer a lot of valuable information, but not for my age group (or for uninterested kids). They seem to be written for the computer scientist in mind – those kids who know they want to work with computers, have played with Scratch and maybe Python, and want to know everything about how binary works and how a computer thinks.

Many of the kids I encounter are unsure that they can even tell a computer what to do, so we have to find a way to break down the abstract concepts into something much more concrete. It’s why I love Scratch so much. Regardless, I do recommend the guides – if only as a way to gain more background knowledge and vocabulary for the teacher.

I would also recommend reading more about Seymour Papert and his thoughts on computers in schools and how children use them (or should use them). Palpert was at MIT, helped to develop the Lego Mindstorms concept and has left his lasting influence on the openness of creative learning, which is something that the creators of Scratch have carried forth into their teacher’s guide. I also think their article on computational thinking is well worth reading.

I am a huge fan of many of the workbooks from The Critical Thinking Co.

I am a huge fan of many of the workbooks from The Critical Thinking Co.

Since we are talking about abstract concepts – I am a huge fan of logic problems and really like the ones put out by the Critical Thinking Co.  Last summer, I made some copies for a few kids in my camps because I knew that they would finish up faster than the other kids and might like a good challenge. Some of my other students found these too difficult and had a bit of a fixed mindset about discovering the solutions. Either way, having them look at information in a new way (which is what logic problems do) is a great skill for any kid (or adult) to try.

Lauren Ipsum

Finally, this book has been sitting on my shelves for many months now…just waiting for the right opportunity to read it aloud to my six and ten-year-old sons. Of course, we had to get through The Magician’s Nephew, Harry Potter and the Sorcerer’s Stone and now, we need to finish The Odyssey (abridged), but we’ll get to it because I’m really looking forward to reading a fantastical story that has computer science elements.

All told, there are a number of resources to impart logic and computer science concepts – without a computer. As noted above, you can check out my previous posts on Robot Turtles, extensions for Robot Turtles, Be the Robot and Making a Paper Laptop.

Unfortunately for those schools (or camps) that do not have the resources for a computer lab, these non-computer activities will only take you so far with computer programming. As far as other materials that teach “programming,” I am a huge fan of the 1.0 Ozobots since they have their own “color” language and students can use regular markers and a large sheet of paper to write some programs. They don’t require as much space as laptops or desktops, and students could work together as a group, so it would cost less money. To see how I’ve used Ozobots in my camps, check out “Using Ozobots in a Classroom” and “Making Maps with Ozobots.”

A student is testing out the programming codes for an Ozobot.

A student is testing out the programming codes for an Ozobot.

Book Review :: Sylvia’s Super Awesome Project Book Vol. 2

In an effort to utilize my librarian background, I am embarking on a series of book reviews, to be published on Fridays. These reviews will cover science education books for and about children, as well as reality-based children’s books for a Montessori lifestyle.

Sylvia's Super Awesome Arduino book

Sylvia’s Super Awesome Arduino book

Be the Robot

This is the third post, in a series of activities, that are designed to impart logic and computer science concepts without the use of expensive technology or one-on-one devices. Check out the first post about the game, Robot Turtles and extensions for Robot Turtles.
A made-up game that acts kids to be both programmers and robots.

A made-up game that allows kids to be both programmers and robots.

As I prepared for my camps this past summer, I knew I wanted to have some other activities that could teach computer science concepts – without a computer.

Why?

This past summer, my camps ran from 9:00 a.m. – 4:00 p.m. and although we had some outside time, it wasn’t as much as I would have liked. Last June, the afternoon temperature here was 100 degrees. But, I didn’t want them sitting in front of a computer for more than a couple of hours at a time. it’s not good for kids (or adults), even if it is a camp for computer programming. There is a lot of value in having other activities which make you think.

So, inspired by this post from Dr. Techniko, I came up with my own game, Be the Robot.

The initial commands. (As they get more advanced and stay interested, I introduce repeat loops.

The initial commands. As they get more advanced and stay interested, I introduce repeat loops.

To demonstrate how to play, I would ask one of the older students to “be the robot.” I was the programmer and gave them a few commands from the handout.  After we worked out how to “read” the commands, I would pair the kids off and they would take turns writing a program for their robot. Each student had a chance to be the programmer and the robot.

The entire time they were working, I volunteered to “be the robot” and run their code. I would execute it based on their written down code and they were often surprised when I didn’t pick up the pencil or go around an obstacle. You could see their brains making the connections of specific instructions.

I first tested the game with my younger campers (ages 7 – 10) and found that my directions were not specific enough. I had also tried to introduce it to them before playing Robot Turtles and it was harder for them to understand. Thereafter, I made sure that each group of younger students (under age 9) had played Robot Turtles before attempting this lesson.

For the older students (5th-9th grade), I ended up giving them a “challenge” for their robot.  Rather than just play around with the commands,  they seemed to need more of a purpose. I asked them to write a program for their robot where the robot would start on one side of the room, pick up a pencil, return to the other side of the room and place it on the floor. Honestly, I can’t say the group of 9th graders loved this aspect of the game, but they did understand the concept afterward.

I think this game still needs a bit more tweaking – maybe a bit more demonstration in the beginning? Perhaps it should be preceded by a coding treasure hunt, as mentioned by Dr. Jackie Gerstein?

Regardless, it’s one more tool to place in your programming toolbox. You can download my hand-drawn sheets here  (PDF File of Be the Robot).  Obviously, please use these with your summer camp or classroom – mass-produced commercial use is prohibited. Hopefully, you and your students will find it useful. And, if you get a chance, post a comment so we can all learn from each other and craft a better lesson.

Example of how commands would be written for the game, Be the Robot.

Example of how commands would be written for the game, Be the Robot.

 

 

 

Hour of Code

Monday, I volunteered at our local library to help students work their way through an hour of code. Hour of Code is a worldwide movement to introduce coding to students. The organization also hopes to get computer programming into every school curriculum.

Trying out the hour of code. A is testing our new student computer for Artisan.

Trying out the hour of code. A is testing our new student computer for Artisan.

I love the logical thinking that comes with programming. I love the idea that we can create something out of “nothing.” And, I like the idea that students will learn to create rather than consume – if they know code.

But…rather than piling one more thing onto our already stressed out kids, I’d like to see it incorporated into the entire curriculum. Personally, I think it could be a great way to showcase self-directed projects, but since project-based learning isn’t ubiquitous, what about replacing part of the math curriculum with a computer science curriculum? Do kids really need to know mean, median and mode in 3rd grade? What if we spent four weeks teaching them how to use Scratch?

For example, when my oldest son was eight, he began working with the programming language, Scratch. He was introduced to the xy-grid. We had to talk about angles and degrees when recreating the game Pong. He has never been formally taught about coordinate planes, but he understands them because he’s written programs using coordinates.

Many of the upper-level programming languages require complex math equations. What a fabulous way to include real-world applications for math. In fact, this man thinks math could be taught through computer programming.

Of course, once kids know Scratch, they could then use it to replace some of their written work – book reports could be written in code. What about projects in geography class? Why have everyone stand up in front of the class with PowerPoint when they could make an interactive game or map that tells about their country?

Think of the possibilities! What a fabulous chance to help our students become creators, not just consumers.

 

 

Review :: The Game of Robot Turtles

This is the first in a series of activities that are designed to impart logic and computer science concepts – without the use of expensive technology or one-on-one devices.

Robot_Turtle_GameSince I am a trained Montessori teacher, I try to incorporate a Montessori approach for all of my lessons. The Montessori Method focuses on hands-on learning – starting with concrete concepts and then moving on to more abstract concepts. Each child has a chance to work with the materials individually to gain mastery. Repetition is a desired goal. Group work is encouraged, but only with certain materials and only once the key concept is gained. Watching another child do the work is considered learning and is often encouraged.

Educational organizations do not always have the resources to provide hands-on materials for each child.  So, how do I apply this way of learning – concrete to the abstract – without expensive tools and materials? How have I taught computer programming without a computer on which to program?

Thankfully, there are a lot of inventive people out there working on this problem.  The game of Robot Turtles is one of the solutions.

Round one of Robot Turtles - everyone starts at this very easy level - even if you are 9-years-old!

Round one of Robot Turtles – everyone starts at this very easy level – even if you are 9-years-old!

A few years ago, I was introduced to Robot Turtles and my first impression was not that great.
I felt like it left out a lot of information and didn’t make the transition to the type of programming I was teaching. But, then again, I probably should have actually played the game instead of just glancing over while my kids played it. At that time, I was only using WeDo Robotics and the programming language, Scratch. I thought it was too simple for my students.

Then, I realized that some of my WeDo campers weren’t always able to transfer some of that learning to the Scratch programming environment. So, I began to wonder if Robot Turtles might address that problem. I was also looking for something that would allow my campers to work individually with the WeDo software, but still allow the other campers to learn about programming. Buying more Lego® sets and adding more computers wasn’t really an option. Also, I taught a few classes for a non-profit summer camp and we only had two computers to use for an entire class of 15 kids. I needed something else to teach these core concepts.

Last summer, I had a group of four students (ages 7 – 10) play the game and I acted as the robot computer. I read the rules out loud and they all laughed because it required the “computer” to make computer noises. They snickered as I tried to make goofy sounds. I loved reading the rules out loud because it diffuses the tension with the kids.  Immediately, they realize they aren’t going to move their own turtles – at least not in the beginning. And since the rules said it, there’s less chance of a power struggle.

There are multiple levels to the game and even my older students have to start at the beginning. They will often grasp the concepts quicker than the younger ones, but it puts them all on a level playing field.

Since I work with older students, I introduce the ice towers and the laser cards at the same time.

Since I work with older students, I introduce the ice towers and the laser cards at the same time.

The first three rounds typically take 20-30 minutes and the more comfortable they get with the game and the concepts, the more I let them take the lead. After running through the board with ice blocks, lasers and solid walls, I ask them to set up the board however they like and then “write” their own program to retrieve their jewel. I act as the computer and use their turtle to “run” the program – with the students calling out the commands. I was surprised at how many made an error or two in this stage, but it’s quickly remedied by slapping the “bug” card and fixing their program.

Set up your own path and "write" your own program.

Set up your own path and “write” your own program.

At this point, the game loses the interest of most of the kids, though, you still have a few who want to try different set-ups. All told, they’ve understood some basic concepts and it’s easy to bring it back again to reinforce the concept that a computer doesn’t know what you are thinking – you have to be specific when you tell it what to do. A programmer also needs to be aware of limitations (rocks, ice walls) and be aware of bugs in their programming.

This is a fun game that works really well for ages 6 – 11. It’s actually designed for 4-year-olds, but since I don’t have any of them in my camp, I’ve never tried it with kids that young. With my students, they don’t always go back to it, but they’ve gained a new way of internalizing programming concepts.

To find out new ways of using Robot Turtles– using pencil, paper, markers and colored pencils – check out my post on Extensions for Robot Turtles.

Robot Turtles - command cards.

Robot Turtles – command cards.

 

The Brick Chronicles :: Lego® WeDo Household Appliance Challenge

The Brick Chronicles feature unique creations made with Lego® bricks. Hopefully you, and the children in your life, will find them as inspiring as I do!

Check out these Vimeo submissions for the “Household Appliance” Challenge. After a few days of working through the classic Lego® builds (i.e. the ones where you follow the instructions), I challenge the students to come up with their own creations. Of course, they have to do all of the programming all by themselves!

 

 

Book Reviews :: Web Design with HTML5

 

In an effort to utilize my librarian background, I am embarking on a series of book reviews, to be published every Friday. These reviews will cover computer programming books aimed at children, as well as reality-based children’s books.

html_for_kidsAt first glance, I thought this thin book had too many words and not enough pictures. And, in some ways, I was right. My visually-oriented, computer-geek loving nine-year-old didn’t really go near this book after a first perusal. And for reference, he’s on his 4th re-read of the Harry Potter series in 3 months. The boy loves to re-read books that interest him. Especially non-fiction books.

Ms. Van Lent did a great job of laying out the parts of a web page, but I think she assumes just a little too much from students. She recommends that you use Notepad (Windows) or TextEdit (on Mac) to write out your HTML code. This is a great first step and it allows students to use the materials they have on hand. I would have liked to seen a brief description of why you can’t just use word processing software, but I may be getting ahead of myself.

Throughout the book, she walks students through steps to create a basic web page. All of which is great! Until she recommends they test it in their browser. Unfortunately, she doesn’t tell them how to open up a file in their browser window and I think that new HTML5 users may have trouble with this step.

So, I am hesitant to recommended this book as a stand alone book. This definitely needs some adult guidance, at least with the younger set of kids. But, it is a really good first step into creating an HTML page from scratch. The last two chapters give even more formatting codes and recommendations (and warnings) about publishing your page to the web. Though she gives basic suggestions about domain names and servers, there are no recommended kid-friendly web hosting sites listed. So, interested kids need to turn to parents to find out this information and that may be a huge let down if a child’s parents are not tech-savvy enough to manage that next step.

Overall, I think this is a helpful book, but only for a tech-savvy parent who is comfortable with the questions they might get from their children. I would also suggest that this might be a good book to use in conjunction with Code Academy’s HTML interactive course. The course breaks down each concept and the hands-on work ensures active participation from your child.