面向计算思维能力培养的程序设计课程
摘要:针对传统程序设计课程教学存在的问题,提出将计算思维能力培养引入到程序设计课程中来,并从教学内容、教学方法、上机实践和考核方式等方面讨论程序设计课程的改革思路,培养学生计算思维能力和程序设计实践动手能力。
关键词:计算思维;程序设计;教学改革
0引言
程序设计作为计算机类专业基础课,是很多后续专业课程学习的重要基础和铺垫,在计算机类专业培养方案中占据重要位置。
程序设计是将分析和解决问题的思维活动转化成计算机程序的过程。从这个角度讲,程序设计最能够体现语言级的问题求解思想方法,学生在学习程序设计课程中,可以通过问题分析、算法设计、程序实现来体验问题求解的思维训练过程。所以,对于计算机专业学生来说,学习程序设计课程的目的不应是单纯掌握某门程序设计语言的语法规范,甚至不是单纯学习一门程序设计技术,而是学习利用计算机分析和解决问题的基本过程和思维方法。
1传统程序设计课程教学存在的问题
程序设计课程主要涵盖两大部分内容:一是程序设计语言知识,主要包括某种程序设计语言的语法机制、形式、功能和意义;二是程序设计思想和方法,主要包括数据和数据抽象,流程和流程控制,思考、设计、组织程序的过程、方法和技术等。
传统的程序设计课程将教学的重心主要放在第一部分,因而很容易陷入以程序设计语言为中心的误区,具体表现在以下几个方面:(1)教学内容过分关注程序设计语言的语法和语义细节,整个课程是以程序设计语言为纲来组织教学内容。由于程序设计语言具有大量繁杂语法知识点,教师只能采用灌输式教学模式,花费大量课时用于讲授琐碎的语法知识上,而不是花在程序设计思想和方法的传授上。(2)教学方法采用程序设计语言工具书的阐述方式,一般是先介绍一种语法结构的形式和意义,然后给出简单示例或示例程序,这些示例和示例程序的主要作用只是用于对语法结构使用方法的说明,学生并不能通过这些示例体会到问题分析、程序思维和构造的方法。整个课程也很少引入综合性的教学案例,让学生体会到针对要解决的问题,如何进行分析并逐渐将其精确化;如何针对问题的计算需求,设计解决问题的过程;如何将问题解决过程精确化,选择适当的程序结构实现它。(3)课程考核类似于某些计算机等级考试,偏重于考核程序设计语言的语法知识,有时甚至用一些生僻的语法知识折腾学生,而忽略对学生分析问题、程序设计和调试能力的考核。这直接r