Over the last few years I have created a structure that I use in the course for every programming project. I insist on participants following the seven steps of algorithmic thinking. Doing this has helped participants in my course understand that programming is not a single skill, it's a set of skills.
The Stages of Algorithmic Thinking
Purpose:
to create machine* understandable
algorithms that solve a specific problem
First, Do
the Math with Paper & Pencil Part
• Analyze
the problem
Next, Do
the Algebraic Thinking Part
• Identify
the Variables
• Determine
the relationships between the variables
And Finally, Do
the Algorithmic Thinking Part
• Create
a Logic Flow diagram
• Translate
the relationships (math syntax) à (computer syntax)
[the
syntax of every computer language is fixed and can not be violated)
• Combine
the pieces of code (into the algorithm that solves the problem)
• Test
the algorithm (debug)
*machine = any device controlled by digital logic [computer, smart
phone, etc.]
Algorithmic Thinking Takes Place within a Problem-solving Environment
If you teach programming for nonprofessionals, what structure do you use?
No comments:
Post a Comment