基于计算思维的非计算机专业C语言程序设计教学研究

来源 :教师·中 | 被引量 : 0次 | 上传用户:leihaibo880125
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文通过分析非计算机专业程序设计传统教学存在的弊端,提出融入计算思维能力培养的重要性,结合笔者多年的教学经验,从教学内容的组织、理论和实验教学、考核方式的体现等环节进行探讨,旨在培养学生的计算思维能力,促进学生以计算机科学的概念和方法对问题进行求解,激发学生的学习兴趣和编程欲望,达到教学改革的目的。
  关键词:计算思维;程序设计;教学方法
  高校为非计算机专业的学生开设计算机基础课程,目的是让他们掌握一定的计算机基本技能并能运用计算机工具获取知识或解决实际问题提供一个入门指导。C语言程序设计是非计算机专业计算机基础类课程的主要课程,既是影响最大也是难度最大和要求最高的课程。该课程一般安排在大一的第二学期,如何上好这门课,对学生今后的学习和工作起着不可忽视的作用。
  一、 计算思维
  美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette MWing)教授于2006年首次在美国计算机权威期刊Communications of the ACM上提出“计算思维”(Computational Thinking):计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解的思维活动。按周以真教授的理解,计算思维是建立在计算过程的理论上的,但是又超越了计算机本身。它是人的思维,而不是机器思维,计算思维最本质的内容是抽象(Abstraction)和自动化(Automation),是每个人的基本技能,而不仅仅是计算机科学家。
  计算思维是利用启发式推理来寻求解答,它强调的是如何求解问题及其操作过程和机器实现方法。高校非计算机专业的计算机基础类课程,重点加强程序设计类课程的建设,除了教会学生如何使用一门语言,更重要的是提高学生利用计算机思维来解决问题的能力,在程序设计教学中,融入计算思维能力的培养,实现单纯程序语言的学习到利用计算机科学的概念和方法对问题进行求解的能力培养。
  二、 非计算机专业C语言程序设计教学现状
  1学生基础薄弱
  作为新升格的本科院校,学生生源整体基础薄弱。尤其对于非计算机专业的学生来说,没有系统的基础知识背景,感觉程序设计这门课程难懂、难学,即使把语法格式和语句功能背下来了,也难以进行编程。
  2传统教学存在弊端
  传统教学很容易陷入程序语言为中心的误区,以传授程序设计的语法和语义为主,在以教师为中心的灌输式教学虽然能保证教学内容的系统性和连贯性,但是学生被动地听和记忆,难以在课堂上体会到程序的问题分析、程序思维和构造的方法。学生学习主动性差,教学效果也可想而知。
  3学生学习目标不明确
  非计算机专业学生学习程序设计,纯粹是为了考试而学习,没有把计算机分析和解决问题的基本过程和思路当作学习的目的,也没有真正理解程序设计课程的内容。
  三、 基于计算思维的培养途径
  1教学内容的重组
  教学过程中,为了突出算法和程序的整体框架,笔者在教学的过程中进行内容的重组。不用刻意去讲解某一个语法,教学过程以“程序设计为主,语法规则为辅”,结合一些具体的有意义的案例,分析编程的算法思想,涉及的语法穿插式地讲。这样保证了教学内容始终贯穿于教学过程,逐步培养了学生用计算机解决实际问题的能力,为以后其他专业的学习和工作实践打下良好基础。为此笔者自编了教材《C语言程序设计教程》和配套习题《C语言程序设计教程习题解答与上机指导》,主教材体现了“应用性”,由简到难、由浅入深,把算法和语法紧密结合在一起;习题为课堂的拓展做了有力补充,为学生从会编写简单的程序到使用算法解决实际问题提供了借鉴。
  2教学过程中的培养
  笔者在教学过程中精心准备一些实例,不一定按教材顺序讲解语法,以实例贯穿教学过程,适时呈现一些有趣的或上一届学生的程序。具体编写程序的引导过程中,尽量从学生角度出发,先把最能体现求解问题算法思想的代码写出来,然后再补充其他部分的代码,让学生的思路跟随教师的笔尖逐步完善,
  并在举一反三的教学过程中不知不觉地感受到算法在程序中的灵魂,如此循环,学生在轻松的互动学习中提高解决问题的能力,并能养成良好的编程风格。比如:求阶乘的程序。
  (1)建立程序的框架:
  (2)在函数体内填充循环语句:while(i  (3)补充变量的声明和初始化:int n,i=1,sum=1。
  (4)修改、调试、运行,并对第(2)步进行更改:用for或do~ while语句来实现。
  (5)对n的取值提出问题:当n<0时;当n=0或1时;当n>1时。
  (6)完善程序再运行。
  (7)思考并完成程序:1! 2! 3! … n!
  每一个问题的求解都可以有不同的算法和写法,通过由简单到复杂、并趁热打铁给出几个相似难度和升华的题目,积累解题和调试的经验。
  3实验课教学思维培养
  实验课的效果直接影响着程序设计课程的教学效果,实验课中学生不仅要学会编写代码的方法,还要学会调试程序的能力。为了提高实验课效率,我们课题组做了不同尝试,大体达成了共识:初级阶段,以填空式方式让学生完善程序并运行代码,写出实验结果;中级阶段:给出问题,寻求多种编程方式、方法;高级阶段:分组完成一些有意义的小程序,并进行交流验收。经过不同阶段的训练,旨在让学生加深理解程序设计学习的目的是解决实际问题,并在实验过程中体会到合作的力量,提升交流能力。
  4考核方式的体现
  近几年来,我们学校C语言课程的考试,不使用纸质考试方式,采取了在线考试系统,这种考核方式不仅减轻教师出题和改卷的繁重工作量,更重要的是激发了学生学习动力,在课程的第一次课,我们就让学生了解课程考核的方式,在线考试系统也分为期中和期末,另外还有考前测试模块,学生课程总成绩由期中,期末和平时成绩按2∶7∶1的比例构成。
  顺应计算机教育改革之风,作为应用型地方本科院校,我们进行了有益的尝试,取得了一定的成效。近年来,非计算机专业学生在全国计算机二级考试中通过率逐年上升,并在挑战“蓝桥杯”全国软件设计大赛中,获得一等奖的好成绩。基于计算思维的程序设计课程教学不仅提升了学生的计算机应用能力,而且对于提升学生的专业能力具有重要意义。
  参考文献:
  何钦铭,陆汉权,冯博琴计算机基础教学的核心任务是计算思维能力的培养——《九校联盟(C9)计算机基础教学发展战略联合声明》解读中国大学教学,2010(09).
  鲍洁新时期大学计算机教育改革前沿动向——第八届全国高等学校计算机教育改革与发展高峰论坛(计算机基础教育部分)综述计算机教育, 2013(07).
其他文献
出口退税制度对企业扩大出口发挥了重要作用,但不法企业骗税猖獗与守法企业退税难并存,使得出口退税成为企业最关心的外经贸政策问题之一.在今年3月的全国政协十届一次会议上
案例情况:一、基本情况夏某,男,17岁。存在情况:分班前,据了解,上课注意力不集中,经常会打瞌睡。学习积极性低,对自己的未来没有一个明确的目标,缺乏信心。二、原因分析第一,他
我国的珠心算教学在中国珠算协会的大力推动下,已走过了整整十个春秋,取得了显著的成效。但全国发展仍不平衡,速度相对缓慢。其主要原因,客观上以计算机多媒体和网络技术为代表的
<正> 珠算教学是一个双边的动态的发展过程。教师和学生处于同一个环境中,通过教师与学生、学生与学生之间的彼此交往,在心理体验上形成相对稳定的群体心理状态,这就是珠算课
摘 要:原始物理问题是学生最先接触和最终要解决的问题,文章从“学生认知规律”和“学生与原始问题亲密接触程度”的角度阐述了初中物理教学中原始问题导学的两个策略:顺势与时令,分三部分:话题的缘起、教学思路和实践探索、价值透析。关键词:原始问题;导学;策略;顺势;时令  一、话题的缘起  困惑:学生解决原始物理问题的能力去哪了?  现状:2011年《全日制义务教育物理课程标准》正式版颁布。十多年的教改,
随着信息化、网络化的发展,电子图书(传媒)的品种及数量也相对增加,有不少人认为电子图书(传媒)取代纸质图书的时代将要到来,究竟现实如何?我们将纸质图书(传媒)的优势和电子图书(传媒)的各自独有的优势相比较,就可从中得到正确的答案。  一、中国国情决定纸质图书(传媒)具有优势(1)中国仍是个农业大国,我国政府多次向世界表明,中国是一个发展中国家,是处于社会主义初级阶段的国家,广大农村及城乡群众如今还
教师是人类文明的传播者和智力资源的开发者,要把人类积累的科学文化知识转化为学生的精神财富,促进学生在德智体诸方面全面发展,需要教师用自己的聪明才智在学生的心灵上进
语言是一种交流的工具,日常生活中少不了它,学习各科知识也少不了它。近几年,中考、高考也涉及了语言综合能力运用的考察,其中对语言“得体”作了这样的概括:能够恰当地使用语言,体
摘要:运用反思促进教师的专业发展成为教育改革的趋势,也是当前英语新课程标准的需要,《高中英语课程标准》明确要求高中英语教师提高专业化水平,要求教师具有创新意识,包括反思自己的教学和挑战科研教学现状。从教学的本质上来看,反思性教学是学生“学会学习”与教师“学会教学”的统一体。而在现实的高中英语教学中,反思性教学的效果却并不尽如人意,实施过程中遇到了不少困难。因此,在新课改的大背景下,考查高中英语反思
吐鲁番阿斯塔那509号墓所出《武周天山府下张父团帖为出军合请饭米人事》中两件残片分属帖文和符文,是两件不同性质的官文书,前后无法缀合。在对同墓所出其他文书进行综合分