Showing posts with label coding. Show all posts
Showing posts with label coding. Show all posts

## Friday, November 13, 2015

### Factorial

This project computes Factorial N written as N!
Here is the definition of Factorial N.
Writing code is not a one-step process. Over the years I've found that breaking the coding process into three parts helps students understand that first of all, coding is an exercise in problem-solving and breaking the coding problem into a series of smaller problems is the most efficient method for coding.
Here are the three Parts and seven Steps I encourage students to use when coding.
I Do the Math with Paper & Pencil Part
• (1) Analyze the problem
II Do the Algebraic Thinking Part
• (2) Identify the variables
• (3) Determine the relationships between the variables
III Do the Algorithmic Thinking Part
• (4) Create a Logic Flow diagram
• (5) Translate the relationships (math syntax) into (computer
syntax)
• (6) Combine the pieces of code (into the algorithm that solves
the problem)
• (7) Test the algorithm (debug)
I describe in detail how to apply this method to the problem of coding a Factorial algorithm in a six-page document. Any interested reader can obtain a copy of this copyright-free document in pdf format by sending an email to grandadscience@gmail.com
Here is the opening screen of the project. The user is asked to input N! The number 11 was typed into the blue-lined box at the bottom of the screen.
In this picture the computation of 11! is reported as 39,916,800.
This project can be viewed and downloaded by clicking on the following link to the Scratch web site.
https://scratch.mit.edu/projects/87399897/

## Tuesday, April 15, 2014

### Angle Mouse and Other Scratch Geometry Projects

Years ago I was asked to teach Benjamin Bloom's Taxonomy of Learning Domains to teachers. If I had to pick the one most important statement in the taxonomy it would be this; the ability to paraphrase is a test of comprehension. In other words, the more ways I can state a concept (paraphrase) the better I understand (comprehend) the concept.
For example, consider the Distance Formula from analytic geometry.
Is the ability to use the above formula in a Scratch program that computes the distance between an ant and the mouse-pointer a test of the programmer's comprehension  of the formula? That is, the Scratch program is a paraphrase of the distance formula. I've answered that question in the affirmative because I know how to express the formula in code that Scratch understands.
Watch this short video that will hopefully convince you that the project is truly a paraphrase of the distance formula. As the mouse-pointer is moved, the distance between it and the ant is continuously updated.

The Ant Chases the Mouse-pointer project can be viewed and downloaded at
http://scratch.mit.edu/projects/16266075/
Here is a second example. This Scratch project is an effort to dynamically 'explain' the angle concept. The project is dynamic because it actually constructs the requested angle.