Improving introductory programming with Scratch?

Programming is known for its complexity and difficulty. It is believed to be hard to teach and to learn and many pupils and students in programming courses have difficulties to master all required competencies and skills. At introductory level of programming that problem is even more notable. There are different approaches to improve the dropout rate at programming courses and to populate programming. Recently, special visual environments for visual programming are being used. Early research results show that visual programming can be more efficient than classical textual programming, students can be more motivated, less bored and not burden with the syntax of programming languages. This paper discusses the visual programming environment Scratch as one of the newer environments for teaching and learning introductory programming. Although it is primarily aimed for school children aged 8 to 16, it can be used also at faculty level. Scratch was experimentally used in primary school for introductory programming, the results of which are presented in the paper. The emphasis of presented results is on retention of opinion and attitude after some time passed from formal using of Scratch. Results are complemented with the results from the same survey on students that also used Scratch.

[1]  Kang Zhang,et al.  On the design of a generic visual programming environment , 1998, Proceedings. 1998 IEEE Symposium on Visual Languages (Cat. No.98TB100254).

[2]  Geoffrey G. Roy,et al.  Towards a visual programming environment for software development , 1998, Proceedings. 1998 International Conference Software Engineering: Education and Practice (Cat. No.98EX220).

[3]  Jiro Tanaka,et al.  Integrating data/program structure and their visual expressions in the visual programming system , 1998, Proceedings. 3rd Asia Pacific Computer Human Interaction (Cat. No.98EX110).

[4]  Vive Kumar,et al.  Teaching programming through games , 2009, 2009 International Workshop on Technology for Education.

[5]  Stuart Garner Learning to Program from Scratch , 2009, 2009 Ninth IEEE International Conference on Advanced Learning Technologies.

[6]  Donald J. Bagert,et al.  Iconic programming for teaching the first year programming sequence , 1995, Proceedings Frontiers in Education 1995 25th Annual Conference. Engineering Education for the 21st Century.

[7]  Masahito Hirakawa,et al.  Advances in visual programming , 1992, Proceedings of the Second International Conference on Systems Integration.

[8]  I.F. de Kereki,et al.  Scratch: Applications in Computer Science 1 , 2008, 2008 38th Annual Frontiers in Education Conference.

[9]  Mitchel Resnick,et al.  Scratch: A Sneak Preview , 2004 .

[10]  Cameron L. Fadjo,et al.  Urban Culture and Constructing Video Games , 2010 .

[11]  Hsien-Tang Lin,et al.  Teaching programming technique with edutainment robot construction , 2010, 2010 2nd International Conference on Education Technology and Computer.

[12]  Symeon Retalis,et al.  Using Educational Tools for Teaching Object Oriented Design and Programming , 2007 .

[13]  D. F. Tyler,et al.  Visual programming versus textual programming in automatic testing and diagnosis , 2001, 2001 IEEE Autotestcon Proceedings. IEEE Systems Readiness Technology Conference. (Cat. No.01CH37237).

[14]  Hui Yan,et al.  Reform and Practice of Programming Teaching Based on Applied Ability Building , 2010, 2010 10th IEEE International Conference on Computer and Information Technology.

[15]  Jack Dongarra,et al.  HeNCE: graphical development tools for network-based concurrent computing , 1992, Proceedings Scalable High Performance Computing Conference SHPCC-92..

[16]  Stephen Barrett,et al.  Pedagogy and Processes for a Computer Programming Outreach Workshop—The Bridge to College Model , 2010, IEEE Transactions on Education.

[17]  Ethan D. Bolker,et al.  Teaching programming by immersion, reading and writing , 2002, 32nd Annual Frontiers in Education.

[18]  Joze Rugelj,et al.  Pair Programming as a Modern Method of Teaching Computer Science , 2008, iJET.

[19]  Yubin Liu,et al.  Research on Controls-Based Visual Programming , 2010, 2010 Second International Conference on Multimedia and Information Technology.

[20]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..

[21]  Yoshiharu Kato,et al.  Splish: A Visual Programming Environment for Arduino to Accelerate Physical Computing Experiences , 2010, 2010 Eighth International Conference on Creating, Connecting and Collaborating through Computing.

[22]  B. A. Myers,et al.  Visual programming, programming by example, and program visualization: a taxonomy , 1986, CHI '86.

[23]  Tino Lourens,et al.  TiViPE - Tino's Visual Programming Environment , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[24]  I. F. de Kereki Scratch: Applications in Computer Science 1 , 2008 .

[25]  Takashi Oshiba,et al.  "3D-PP": three-dimensional visual programming system , 1999, Proceedings 1999 IEEE Symposium on Visual Languages.

[26]  Mitchel Resnick,et al.  Programming by choice: urban youth learning programming with scratch , 2008, SIGCSE '08.

[27]  Mohammad El-Ramly,et al.  On using 3D animation for teaching computer programming in Cairo University , 2010, 2010 The 7th International Conference on Informatics and Systems (INFOS).

[28]  Pierre Boulet,et al.  GASPARD: a visual parallel programming environment , 2002, Proceedings. International Conference on Parallel Computing in Electrical Engineering.

[29]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[30]  Janet Mei-Chuen Lin,et al.  Teaching programming concepts to high school students with Alice , 2009, 2009 39th IEEE Frontiers in Education Conference.