Scratch is a fantastic application - free at scratch.mit.edu - for teaching students how to design algorithms as applied to a coding environment suitable for upper elementary, middle and high school students. (and adults!) See below for links to get started.
Getting Started with Scratch Guide: This guide shows you how to make a project in Scratch. http://cdn.scratch.mit.edu/scratchr2/static/__b2dc2836d117baa9e3ce10062e4bd649__/pdfs/help/Getting-Started-Guide-Scratch2.pdf
Video Tutorials http://scratch.mit.edu/help/videos/ A series of introductory video tutorials on how to use Scratch.
Scratch cards Scratch cards provide a quick way to learn new Scratch code.
Creative Computing Curriculum Guide http://scratched.gse.harvard.edu/guide/
Search for lessons on specific topics (e.g. algorithms)