“…Many approaches to teaching introductory programming have been proposed including a procedures early approach (Pattis, 1993), a top-down approach (Hilburn, 1993;Reek, 1995), a graphics approach (Matzko & Davis, 2006). Even within object-oriented introductory programming, many different approaches exist: objects early (Alphonce & Ventura, 2002), inheritance early (Schmolitzky, 2004), GUIs early (Wolz & Koffman, 2000), concurrency early (Reges, 2000), events early (Stein, 1998), components early (Howe, Thornton, & Weide, 2004b), etc.…”