Scratch is the best way for students to get started with programming!
Scratch is a fabulous piece of software, and best of all, it's free! Scratch really helps students understand programming basics with the colorful, linking blocks of code. The website is incredibly easy to use (Scratch used to be software you installed on the computer). I love how students can play other student's games on the site & also look at how they were coded. They can then make a copy of the game and alter it themselves. Truly, Scratch is a highly engaging way to teach programming basics to K-12 students.
How I Use It
I use Scratch with my 9th graders. You'd think that perhaps the colorful, kiddy styling of Scratch would put off older students, but my students loved it! No one complained about the cartoony characters. In fact, students were excited to use the built-in characters.
In my class, we started off with making some basic programs like a racing game. Next, we moved onto students choosing one of several games they wanted to alter. There was a pong-like game, a wack-a-mole type game, and some others. Students were asked to change the graphics and add new elements into the game to make it more challenging and interesting. This seemed to work well, instead of just building a game from scratch (since we were limited with time).