一、绪论
计算机程序设计基础是高校理工科专业普遍开设的一门基础课,目标是引导学生理解编程的思想和方法,并掌握一门语言工具以编程解决实际问题[1]。近几年来,随着计算思维[2-3]的理念深入人心,用计算机学科的方法和工具,来解决各专业领域的实际问题已成为一种趋势,在这样的背景下,程序设计课程的重要性就越来越凸显出来。
然而在实际教学中,要实现程序设计课程的教学目标却并非易事。首先,要学好该课程,需要投入大量的精力去编写和调试程序,很多时候学生会对烦琐的语法规则望而生畏,并因为程序无法运行而对编程丧失信心;其次,编程的过程是一个逻辑思维的过程,而很多学生在刚入校时逻辑思维能力还比较欠缺,难以理解程序逻辑,需要一个循序渐进的培养过程;另外,程序设计课程中通常使用流程图来表达算法逻辑,但这种方式验证性差,即使花了很大力气绘制出流程图,也难以看到算法的执行结果,无法验证算法的正确性。(https://www.daowen.com)
近年来,国外出现了很多可视化的编程工具,最典型的有Scratch[4]、Blockly[5]、Snap[6]等。在程序设计课程中引入可视化编程,可以有效解决上面提出的问题。