Visual programming and automatic evaluation of exercises: An experience with a STEM course

Programming capabilities are important to the new professionals. Although several initiatives all over the world haves been proposed for teaching programming to people at all levels. Many undergraduate students still fail in the programming courses. Proposed strategies have included visual programming and automatic evaluation of exercises. Nevertheless, there is still a lack of knowledge about students' perceived difficulties in using these strategies in practice: that is, their challenges to learning how to program. In this paper, we report a study aimed at understanding these difficulties and strategies in a STEM course. We used an environment comprising a visual programming tool to introduce algorithms, iVProg with iAssign, and the virtual programming lab (VPL) to introduce programming in C, both with automatic assessment integrated to Moodle. We report quantitative and qualitative results and future directions. Teachers and tool designers can leverage these results to better support programming learning.

[1]  J.G. Moura,et al.  A web-based learning management system with automatic assessment resources , 2007, 2007 37th Annual Frontiers In Education Conference - Global Engineering: Knowledge Without Borders, Opportunities Without Passports.

[2]  Zenón José Hernández Figueroa,et al.  A Virtual Programming Lab for Moodle with automatic assessment and anti-plagiarism features , 2012 .

[3]  Bruno Guimarães,et al.  Análise da carga de trabalho de analistas de sistemas e dos distúrbios osteomusculares , 2011 .

[4]  Chittaranjan A. Mandal,et al.  A System for Automatic Evaluation of Programs for Correctness and Performance , 2006, WEBIST.

[5]  Anthony V. Robins,et al.  My Program is Correct But it Doesn t Run: A Preliminary Investigation of Novice Programmers Problems , 2005, ACE.

[6]  Ephraim P. Glinert,et al.  Pict: An Interactive Graphical Programming Environment , 1984, Computer.

[7]  Colleen M. Lewis How programming environment shapes perception, learning and goals: logo vs. scratch , 2010, SIGCSE.

[8]  Steven M. Hadfield,et al.  RAPTOR: introducing programming to non-majors with flowcharts , 2004 .

[9]  Seymour Papert,et al.  Mindstorms: Children, Computers, and Powerful Ideas , 1981 .

[10]  Patricia Alves Rodrigues,et al.  Interactive assignment: A Moodle component to enrich the learning process , 2010, 2010 IEEE Frontiers in Education Conference (FIE).

[11]  M. Crowne,et al.  Why software product startups fail and what to do about it. Evolution of software product development in startup companies , 2002, IEEE International Engineering Management Conference.

[12]  Leon E. Winslow,et al.  Programming pedagogy—a psychological overview , 1996, SGCS.

[13]  Ewan D. Tempero,et al.  Understanding the syntax barrier for novices , 2011, ITiCSE '11.

[14]  Randy Pausch,et al.  Alice: a 3-D tool for introductory programming concepts , 2000 .

[15]  Romenig da Silva Ribeiro,et al.  Programming web-course analysis: How to introduce computer programming? , 2014, 2014 IEEE Frontiers in Education Conference (FIE) Proceedings.

[16]  Kirsti Ala-Mutka,et al.  A study of the difficulties of novice programmers , 2005, ITiCSE '05.

[17]  Romenig da Silva Ribeiro Construção e uso de ambiente visual para o ensino de programação introdutória , 2015 .

[18]  Dianne Hagan,et al.  Does it help to have some programming experience before beginning a computing degree program? , 2000, ITiCSE '00.

[19]  Leônidas de Oliveira Brandão,et al.  A system to help teaching and learning algorithms , 2012, 2012 Frontiers in Education Conference Proceedings.

[20]  Marco Aurélio Gerosa,et al.  As Disciplinas de Introdução à Programação na USP: um Estudo Preliminar , 2015 .

[21]  John Mason,et al.  Why the high attrition rate for computer science students: some thoughts and observations , 2005, SGCS.

[22]  Michael Kölling Greenfoot: a highly graphical ide for learning object-oriented programming , 2008, ITiCSE.

[23]  David J. Malan,et al.  Scratch for budding computer scientists , 2007, SIGCSE.

[24]  Filiz Kalelioglu,et al.  The Effects of Teaching Programming via Scratch on Problem Solving Skills: A Discussion from Learners' Perspective , 2014, Informatics Educ..

[25]  Jens Bennedsen,et al.  Failure rates in introductory programming , 2007, SGCS.