基于计算机思维能力培养的程序设计课程教学改革

2013-08-15 00:51邓红卫魏书堤蒋瀚洋
衡阳师范学院学报 2013年6期
关键词:程序设计专业课程思维能力

邓红卫,魏书堤,王 樱,蒋瀚洋

(衡阳师范学院 计算机科学系,湖南 衡阳 421002)

0 引 言

程序设计是各普通高校非计算机专业的核心通识课程,C语言是程序设计课程的首选语言。教学实践证明,该门课程对引领学生进入编程世界、激发学生编程兴趣、完成从传统思维方式向计算思维方式的转变、培养学生分析问题和解决问题的能力、提高学生的实践动手能力和创新精神等起着决定性的作用。由于C语言涉及数据类型繁多、语言结构复杂、比较灵活,教学难度比较大。目前各高校C语言程序设计课程教学普遍存在以下几个问题:(1)教学目标比较单一,就是让学生通过国家或省级计算机等级考试。现行国家或省级计算机等级考试过分注重语法规则和程序结构等细节内容的考查,误导教师的教和学生的学纠缠其中,忽略了学生分析问题和解决问题能力的培养;(2)编写和所用教材中的选例缺乏针对专业问题的算法分析设计和程序编写,对学生后续专业课程的学习帮助不大,从而在一定程度上影响学生学习的积极性;(3)任课教师对学生的专业背景和后续专业课程的学习要求缺乏足够的了解,习惯用“专业”眼光去看待和要求非专业学生,教和学没能有效进行融合。

2010年7月,西安交通大学等九所985高校(简称C9)在西安召开 “九校联盟(C9)计算机基础课程研讨会”,并发表了《九校联盟(C9)计算机基础教学发展战略联合声明》。声明强调:必须正确认识大学计算机基础教学的重要地位,需要把培养学生的计算思维能力作为计算机基础教学的核心任务[1]。体现出985高等院校对计算思维培养的重视。

那么,在C语言程序设计课程教学过程中,如何训练和培养学生的计算思维能力,让学生学会更好利用计算机去分析和解决其学习工作中的专业问题,是一个非常值得商榷的问题。

1 计算思维

计算思维(Computational Thinking)是美国卡内基·梅隆大学华裔教授周以真在美国计算机权威期刊《Communications of the ACM》(2006.3)上提出来的。她认为计算思维是指运用计算机科学基础概念进行问题求解、系统设计、以及人类行为理解的思维活动[2-5]。计算思维是一种科学思维,与实证思维、逻辑思维一起构成了人类的三大思维,是信息社会中的每一个人都具有的一种技能,是人类改造世界最基本的思维模式。

随着电子科学技术的发展,计算机已成为人们生活工作中一种不可或缺的信息处理工具。人们利用计算机分析解决问题的能力成为衡量其工作能力的重要标志,这对高等学校的计算机基础课程教学提出了更高要求。各高校应重新审视计算机基础课程教学,着力培养学生的计算思维能力,提高其信息素养,让学生学会用计算机进行思维表达和信息加工处理,把掌握的专业知识更好地应用到生产实际中,促进社会经济的发展。

2 基于计算机思维的程序设计课程教学改革

2.1 树立基于计算思维的教学理念

计算思维是利用计算机对问题进行分析和求解的一种能力,需要不断地接近问题、分析问题和运用知识持续反复验证才能形成。因此,计算思维能力的形成是一个缓慢的过程。计算机基础课程的学习通常以学期为周期,学习的是某个方面知识点,课程教学注重的是基础知识传授,距离形成计算思维能力,还有一定的差距。学校和教师应树立知识传授与计算思维培养相结合的教学理念。教师的教学由“教给学生知识”向“教会学生学习”进行转变,帮助学生理解问题解决过程中如何使用计算机的“计算机意识”培养。在教学实践过程中,从教学模式、教学内容及教学方法等方面加以改革,把基于计算思维培养的教学理念贯穿到教学的各个环节,以适应时代发展的要求。

2.2 教学改革

以培养应用型人才为主的地方本科院校,教学更应与社会需求接轨,积极推进教学改革,以适应信息化社会对应用型人才的要求。首先在专业人才培养方案和指导性教学计划上做好顶层设计,在教学过程中,加强教学内容和教学方法改革方案的落实。

2.2.1 调整各专业指导性教学计划

在各普通高校专业人才培养方案中,计算机基础课程的教学时间基本上集中在大学一年级,课程内容安排:第一学期为《大学计算机基础》;第二学期为《计算机程序设计》。二年级以后主要学习专业课程,个别学校虽然开设了计算机选修课程,但是实际选修学生数量不多,计算机课程和专业课程教学缺乏有效的联系。学生在后续专业课学习中遇到需要利用计算机解决的问题,不知道如何解决,也不知道去请教哪些教师,计算机课程缺乏对专业课程学习有力的支持。计算机课程的阶段性和孤立性与计算思维能力形成的长久性相悖,不利于学生计算机思维能力的培养。应及时调整专业指导性教学计划,将计算机课程教学划分为两个阶段:大学一年级课程内容安排:第一学期为《大学计算机基础》,第二学期为《计算机程序设计》;第六学期为《高级程序设计》,该课程针对各专业课程具体问题开展教学,教学案例和教学方法具有较强的专业针对性。

2.2.2 保持相对稳定的教师队伍

目前,国内的高校非计算机专业学生占全校学生比例约为90%左右,专业面广,学生人数多,教学任务重。为此,各高校组建专门的教学部门和专职的教师队伍。以衡阳师范学院为例,计算机科学系公共基础教研室负责非计算机专业计算机基础教学。该教研室的教师基本上是数学和物理本科专业毕业,硕博阶段学的是计算机专业。我校现有数学、物理、化学和生物等非计算机专业。在教学任务安排上进行有效对接,数学专业毕业的教师担任数学专业班级课程教学、物理专业毕业的教师担任物理专业班级课程教学。让有相关知识背景和专业背景的教师担任熟悉专业的计算机课程教学,就会更好把握专业发展方向,发现教学过程中可能存在的问题,更快地找到相应解决问题的方法,符合专业培养和计算思维能力培养相结合的规律,教学效果也就显而易见了。同时,也要保持教师队伍的相对稳定性,无特殊情况一般不作调整,保持教学的延续性,一个教师跟踪所教的专业班级到毕业,甚至毕业后的发展。

2.2.3 基于计算思维的教学项目案例选择

担任同一专业教学任务的教学团队深入各系部,与专业教师座谈,了解专业课程教学现状和未来发展趋势,专业教学中急需利用计算机来解决的问题,从这些尚待解决的问题选取一些典型问题作为教学项目案例。教学团队集体研究教学方案,确保来源于专业课程实际的教学项目案例贯穿于整个教学过程,课程教学内容涵盖完成项目所需要的理论知识和基本技能。

2.2.4 基于计算思维的教学内容设计

在教学过程中,理顺计算思维能力培养和计算机知识传授之间的关系,把计算思维的观念注入程序设计课程教学中,需要做好教学内容设计工作。教学内容设计以教材和教学内容为基础,对教学内容进行适当的取舍和组合,降低难度、分散难点。教学内容设计分为理论教学内容设计和实践环节设计两部分。① 理论教学内容设计。内容设计以培养计算思维能力为目标,采用“以程序设计为主线,编程应用为驱动,通过案例和问题引入内容”的方式组织内容。教学内容划分10个教学单元,主要包括:C语言概述、基本数据类型与运算、语句与流程控制、函数、数组、指针、结构体、编译预处理与外部函数、文件操作、工程化程序设计。重点讲解程序设计的思想和方法,淡化语法教学,由单纯的语法教学向实用型教学转变,及早引入函数和指针的概念,明晰使用函数和指针的原因和方法,再循序渐进讲述函数和指针组合编程,加强练习分散难点,让学生能够学以致用,真正理解程序设计思想和方法。② 实践环节设计。实践教学是理解理论知识和掌握计算思维方法的必需环节。为了达到更好的实践效果,将实验分为验证型、设计型和综合型三种类型的实验。细分为9个实践单元,主要包括:熟悉VC++编程环境、解决一个简单的问题、结构化程序设计、函数、数组、指针、结构体、文件操作、综合实验。每个实验单元包含5~6个实验内容,精心设计实验题目,实验题目的难易程度形成一定的梯度,以适应具有不同基础学生的学习。验证型实验要求学生能够使用老师所教的思维方法完成实验内容,引导学生跟踪调试程序的运行过程,观察变量内容及内存地址、函数调用栈等运行信息;设计型实验运用多种计算思维方法分析实例,构建数学模型,描述算法,编写和调试程序,分析运行结果;综合型实验选择专业性比较强的案例,以课程设计的形式完成,要求学生分工合作设计和实现一个小型的应用系统。不仅培养了学生自主发现、解决问题的能力和探索创新能力,而且也培养学生团队合作精神,是计算思维方法进一步升华。

2.2.5 基于计算思维的教学方法改革

讲授这门课程的第一章——C语言概述,不要按部就班讲解其中的内容,可以直接在VC环境下现场手动录入、编写一个简单的算术运算题,编译、链接和执行程序验证结果,让学生感知计算机如何进行解题的。这一过程不但体现了C语言的程序结构在解题过程所起的作用,又向学生展示了人们利用计算机解题的思维方法。这种自然引入是学生比较容易理解和接受的,从而激发他们对该课程的学习兴趣。然后告知学生,在经过一个学期的系统学习后,不仅要掌握程序设计的基本知识,更为重要的是培养和训练他们的计算思维能力和创新能力,为后续的专业课程的学习打下良好地基础。在理论教学环节中,通过“案例驱动”教学方法,以具体专业特点的应用实例作为切入点,分析实例想实现的功能,为实现这些功能需要C语言中哪些知识点,如何用C语言的语法表述知识点,从而推进计算思维的理解,强化逻辑思维能力的培养。在实践教学环节中,采用“验证一调试一设计一反馈训练”教学法,让学生可以逐渐掌握编写程序的语法规范及思维技巧,让学生理解、习惯算法构造的思维方法,促进对学生逻辑抽象能力和创新能力的培养。

3 结束语

计算思维是信息化社会对普通高校人才培养提出的新培养要求,学校和教师需要重新认识并审视程序设计课程对学生计算机思维培养的重要性,树立基于计算思维的教学理念,积极稳妥推进与之相称的程序设计课程教学改革。教师应加强对计算思维能力教学方法的研究,从培养学生计算思维能力的角度来看待所讲授的课程,将计算机思维的方法贯穿于程序设计相关知识点的讲解中,着力培养学生利用计算思维来分析和解决问题的能力。

[1]佚名.九校联盟(C9)计算机基础教学发展战略联合声明[J].中国大学教学,2010(9):4.

[2]周以真.计算思维[J].中国计算机协会通讯,2007,3(11):83-85.

[3]陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1):7-11.

[4]何钦铭,陆汉权,冯博琴.计算机基础教学的核心任务是计算思维能力的培养[J].中国大学教学,2010(9):5-9.

[5]牟琴,谭良.计算思维的研究及其进展[J].计算机科学,2011,38(3):10-15.

猜你喜欢
程序设计专业课程思维能力
培养思维能力
基于Visual Studio Code的C语言程序设计实践教学探索
培养思维能力
电大学前教育专业课程改革探讨——以福建电大为例
从细节入手,谈PLC程序设计技巧
基于“互联网+”的应用经济学专业课程教学改革研究
高职高专院校C语言程序设计教学改革探索
中美综合大学在音乐专业课程上的比较与启示
中俄临床医学专业课程设置的比较与思考
PLC梯形图程序设计技巧及应用