Computer Programming for Kids – 2 of 3

In the weeks since my oldest child began to use Alice, I have bought an Arduino and talked a lot about making and programming robots. This activity and discussion about microcontrollers is positively influencing the older two kids’ interests in programming and electronics. Just last night, we pulled apart two old disk drives to see what we could salvage from them. We ended up keeping a couple motors, an LED, and lots of tiny screws that might come in handy one day. Today, they wanted me to hook up the Arduino and make some LEDs light up. There is opportunity to be seized here! Continue reading

Computer Programming for Kids – 1 of 3

In the past couple months, I’ve begun to teach my kids how to program. I have three young kids. The oldest is  9. I want to teach them to program because I learned how to program at an early age. While others had the good fortune of learning piano, I was messing around on Apple IIe computers learning Logo and BASIC in elementary school. A few years ago, I tried to have my oldest learn Logo. It did not work out too good. I guess it came down to lack of interest. She asked about it a few times, but never really got into it.
For this second go around, I decided to change my approach to emphasize self-direction and initiative on her part. My role would be to facilitate her learning to program any way that grabs her interest. To find some programming tools for kids, I searched for “programming for kids.” These three resources were pretty good:

  1. 5 Tools to Introduce Programming to Kids
  2. 7 Sites That Make Programming For Kids Fun
  3. Teaching your kids how to write computer programs

From these websites, I downloaded the software to introduce my oldest to the following learning approaches and here is what she thought of them.

  1. Scratch. While Scratch seems to be very popular, my daughter only used it for 10 minutes before getting bored. She went through the tutorial quickly and then decided she wanted to try something else. I think the interface was too young for her. She wanted something for “older kids.” Scratch has a GUI interface in which you drag and drop code snippets.
  2. Hackety Hack. Hackety Hack teaches Ruby. I was hoping she would like this one because then she might learn a language that could be useful to her later on. She used it for 15 minutes and tried to go through the tutorials. I think the problem with this is that it is text based. The lack of images and graphics failed to hold her attention. I shouldn’t have been surprised. One of the strengths of Logo is that the turtle provides young children with instant and visual positive reinforcement.
  3. Codeacademy.com. This site suffered the same demise as Hackety Hack for the same reason, lack of visual stimulus. Rather than Ruby, this one teaches Javascript. I’m sure it is awesome, but my daughter wanted out after 2 minutes on the website.
  4. Alice.org. Alice ended up holding her attention. Alice is like Scratch in that you drag and drop code snippets in a GUI interface. However, the interface is not as child-like and the programs create animations that can be output to video. The big difference here is that the tutorials really grabbed her attention. They quickly showed her how to drag and drop code snippets to move a dancer within an animation. She added speech bubbles to make her talk and interact with other characters.

Alice became her programming tool of choice. Sometime during the tutorials, she got the idea to create an animation using Alice for her upcoming science presentation. Completely self-directed, she must have spent over 40 hours carefully constructing her animation for the class. Mission complete!

Seeing his big sister doing programming, my son got interested as well. He is a bit younger, but fully able to grasp the concepts. I decided to try the same thing with him to see what programming environment would engage him the most. I introduced him to three applications listed in Marshall Brain’s Teaching your kids how to write computer programs post.

  1. Auditorium. This is a neat little game that teaches basic problem solving. He enjoyed it for a few days.
  2. Light Bot.  This neat little game teaches sequential thinking. The goal is to move a robot through a puzzle by specifying each individual action it must take sequentially. Once you chart the course, you hit “Go!” and watch the robot follow your directions. If your code gets him there, you complete the puzzle and move on. If he doesn’t make the blue box, the robot starts over and you get a chance to modify your code. My son really liked this game. He is still playing it.
  3. Scratch This approach worked for my son. He liked the simple and colorful interface and made a few little programs with it to move the cat around and say little things.

LightBot

Light Bot needs to get to the blue box.

Fukushima will not hurt California

For all those people in California and the rest of the United States who are worried about radiation from Japan, I made this simple chart. It shows how radiation from Fukushima scales to other sources of radiation. The important thing to note is that everyone gets 3650 microSievert per year from natural sources. You can’t escape that. This amount is 36,500 time greater than what a Californian might see from Japan. Put away your potassium iodide pills.

The Theory of Inventive Problem Solving

What is the Theory of Inventive Problem Solving?

The Theory of Inventive Problem Solving, also known as TRIZ, is a system of rules and tools aimed at practical problem solving. It was originally geared toward patents within the engineering community, but also applicable to many other disciplines including technology forecasting, strategic planning, etc. Basically, its an iterative process for systematic innovation that teaches you how to find answers to your problems, often by looking at other scientific fields. An underlying concept is that somebody, somewhere has already solved your problem —- the challenge is to find that solution and modify it into a new set of solutions to fit your circumstances.
Three key discoveries of TRIZ were:
  1. Problems and solutions were repeated across industries and sciences
  2. Patterns of technical evolution were repeated across industries and sciences, and
  3. Breakthrough innovations used scientific effects outside the field where they were developed.

Why learn TRIZ?

TRIZ was formed to help solve technical problems without compromise. Solving a problem so that the problem disappears usually involves a highly inventive solution that is sometimes patentable. Here are some companies that are currently using TRIZ.

  • Samsung – When they first started using TRIZ, they had two consultants spend 8 weeks with a few of their engineers. They produced 50 feasible ideas and more than 10 patents. In 2003, Samsung used TRIZ on 67 R & D projects. They produced 57 patents and estimate saving $150 million in development time and energy. Samsung’s R & D budget was $2.9 billion and they had 4000 people trained in the methodology.
  • Proctor & Gamble – From 1985 to 1994, P & G produced less than 200 patents/year. Since introducing TRIZ in 1994, their patent output has grown by 100 patents/year. In 2000, they produced almost 600 patents.
  • HP has several hundred people trained in TRIZ.
  • Delphi has integrated TRIZ into all of their Six Sigma efforts.
  • 3M was a heavy user in the past and, after a period of stagnation involving a corporate reorganization, is again becoming a significant user.

People who would benefit from learning TRIZ are:

  • Researching Scientists – The regular TRIZ Inventive Problem Solving tools will help you to come up with innovative solutions faster. The goal is not to compromise. The goal is to make the problem disappear.
  • Design and Development Engineers – The regular TRIZ Inventive Problem Solving tools will help you break walls in the development effort. In addition, Technology Roadmapping will help you to see the next step in technological advancement and get a head start in its development and design.
  • Intellectual Property – A growing number of companies are starting to use TRIZ Technology Roadmapping to invent new technology and build patent fences around it. Money is then poured into R & D and, using Inventive Problem Solving, the company creates a product that sweeps the market. Even more troubling, companies are using TRIZ Inventive Problem Solving to circumvent and break patents. By using TRIZ to analyze patent applications, inventors and intellectual property lawyers can bulk up their claims, helping to protect the company’s IP. In some cases, the analysis comes up with additional inventions and more patents.
  • Managers – This method is a powerful tool for solving any type of problem. There are many examples where it has been adapted for use in business and social situations. TRIZ tools are useful as the problem resolution part of the Theory of Constraints and Lean Six Sigma. Lean and TOC identify and prioritize your problem. TRIZ assists in solving the stubborn ones.

Micro-Intro to TRIZ

This will give you a quick intro to the main problem solving algorithm.

What is the Theory of Inventive Problem Solving?

The Theory of Inventive Problem Solving (TRIZ) is a powerful algorithm for deriving highly innovative solutions to tough problems. TRIZ development was started in Russia by Genrich Altshuller. Altshuller analyzed 40,000 patents for the underlying principles behind the inventions. This study started the “science of invention” that was to be his life’s work.
The TRIZ algorithm has two main parts. The first part consists of thoroughly defining a problem. The second part uses TRIZ tools to develop innovative solutions.

The TRIZ Algorithm

  1. Define the Problem.
  2. Determine the Ideal Final Result.
  3. Create a Functional Model of the Problem.
  4. Identify Harmful Functions to Trim.
  5. Find Your Resources.
  6. Use The TRIZ Tools.
  7. Evaluate, Combine, and Implement Solutions.

45% of the time, your problem will be solved before you begin using the TRIZ tools in step 6. This is because the TRIZ algorithm demands a complete understanding of the problem before any thought of solutions takes place. This goes against the grain of typical problem solving. Most of the time, you see a problem and immediately start thinking about ways to fix it. Not much systematic thought is given to the reason for the problem. A TRIZ trained problem solver spends most of his or her time meticulously mapping the entire anatomy of the problem. Once mapped, the problem solver is then in the position to propose several possible solutions to the different parts of the problem.

Major TRIZ Tools

  1. Technical Contradiction Analysis – If you can formulate your problem into a contradiction where one improving feature is met with a worsening feature, you may be able to obtain new directions for innovation from the Contradiction Matrix.
  2. Physical Contradiction Analysis – For an inherent contradiction, one in which an object must perform two opposing functions, you can apply the “four ways” to remove them.
  3. Patterns of Evolution – This tool helps inventors see how their product will evolve. Such insight allows one to pursue large leaps in improvement. There are eight patterns of evolution that technological systems follow. The Patterns of Evolution are a key component in Technology Roadmapping.
  4. Scientific Effects – Once you have generalized your problem, you can then go out and look for solutions that do the same thing in other industries.
  5. Substance Field Analysis – Structures your system as two or more substances operated on by one or more fields. Once composed, Su-field Analysis provides a way for the user to replace substances and/or fields to remove problems. By doing Functional Analysis in Step 3, you will have performed a version of Su-field Analysis.