Download.it search icon
Advertisement

Educational software that teaches students the basics of programming with eye-catching games

Educational software that teaches students the basics of programming with eye-catching games

Vote: (6,286 votes)

Program license: Free

Developer: MIT

Version: 461

Works under: Windows

Vote:

Program license

(6,286 votes)

Free

Developer

Version

MIT

461

Works under:

Windows

Pros

  • The best, least intimidating introduction to software development!
  • Mimics many features of "real" languages
  • Grants access to supportive online community
  • Can be used whether connected to the Internet or not

Cons

  • Does not teach a common programming language
  • Doesn't touch on many advanced features of modern languages
  • OS differences may make downloaded Scratch programs not work

MIT Scratch 2 is a utility designed to introduce younger students to software development principles.

MIT's original "Scratch" was a web application that allowed students to learn basic software development principles online through hands-on tutorials. Since that was a huge hit, MIT developed a second "Scratch" application for multiple operating systems, including Windows.

Since many students struggle to learn concepts in Computer Science, Scratch is an ideal introduction. It abstracts out the gritty details most programming languages have that can get in the way of learning. First, students are greeted by an animated figure they can control through "commands," introducing them to the concept of a command line, something crucial in software engineering.

Once students have mastered the art of performing basic commands, they can begin "programming" inside this interactive utility. They're given "story blocks" that run in a linear sequence. Initially, this is just a series of commands they learned previously that run in order (just as a basic PHP script would). They can move around and swap these blocks.

Over time, students can create graphical blocks that contain what is essentially pseudo code, resembling "methods" or "functions" (the terminology differs by the language) that would be used if they were engineering an actual program. After all of this, the software then introduces them to the complexity of actual programming languages. This part of the software is intentionally difficult, showing students that writing complex scripts and programs can be hard. However, there is documentation for the scripting language made for Scratch, and there are plenty of examples of completed projects online.

After completing all the tutorials and puzzles, students are free to make whatever programs they wish in Scratch. Whether it's just a small series of commands, a complex animation, a game, or even a new utility, they can finalize and "publish" their program as long as it's complete. That means that the program is shared on the official Scratch website hosted by MIT (only if the student gives permission). A script is also output locally that the student can upload wherever he or she pleases.

Assuming the student chooses to send it off to MIT, fellow students and teachers alike will view the program and offer suggestions and critiques. Collaboration on new programs using new techniques is encouraged and often happens on the platform.

In short, Scratch 2 is the best introduction to software development out there. Rather than throwing a textbook at students and having them write code without real instruction, Scratch 2 gives them an opportunity to truly learn material. Once they have completed the initial series of tutorials, students will have mastered the art of thinking in terms of programmatic algorithms, mathematical logic, and other skills necessary for a career (or even just a hobby) in software development.

All of this, combined with the ability to give and receive feedback on completed projects, mimics a software engineering job in the real world. New engineers often have to learn new languages and apply them while working on a team of developers. Scratch 2 was carefully created with all of the items software engineers are tasked with on a daily basis. In just a matter of weeks, students can go from having absolutely no knowledge of what's behind programs they use every day to making their own programs!

While Scratch 2 does not actually support commonly used languages in the development industry, like Java, Python, C++, and C#, it helps students get ready to learn these languages. Although it's geared towards younger students, people of any age are welcome to join the friendly Scratch community and learn how to "program from Scratch"!

Pros

  • The best, least intimidating introduction to software development!
  • Mimics many features of "real" languages
  • Grants access to supportive online community
  • Can be used whether connected to the Internet or not

Cons

  • Does not teach a common programming language
  • Doesn't touch on many advanced features of modern languages
  • OS differences may make downloaded Scratch programs not work