前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇程序设计实训总结范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
[关键词]java语言教学手段阶段性实训项目综合实训项目
中图分类号:G71文献标识码:A文章编号:1671-7597(2009)1120172-01
java作为现今主流的计算机程序设计语言之一,越来越被高等院校的计算机专业及相关专业所重视,高职院校的学生高考分数低,良好的学习习惯没有养成,缺乏自学的意识,容易放弃,因此如何培养他们的学习兴趣,开展具有创造力的教学活动,最终使他们成为真正的专业应用型人才,是当前计算机专业教师十分关注的问题。下面针对java语言[1]的特点,结合作者近几年来讲授《java程序设计》的教学实践经验,提出以下几点体会供读者思考。
一、抓好前继课程《C程序设计》的教学
作者所在的学校C程序设计开设一学年,前一学期理论与实训1:1,注重C语言语法及结构的掌握;后一学期增加实训时间,采用理论与实训1:2的教学模式,在此期间注重程序算法思路、模块化等编程思想的灌输与练习。经过一年的C语言编程训练,这些学生已经具备一定的面向过程的程序设计能力,具备了从编程角度去思考问题的能力,学会了如何用C语言规范的解决具体问题。而java语言在基本语法上与C语言类似,因此,讲授《java程序设计》时联想C语言的语法结构能够使学生很快的入手。抓好C程序设计的教学可以使我们把java程序设计这门课的重点放在后面的面向对象思想等重要模块上,而从java语法中解脱出来,同时也可以使学生较简单的把一些算法应用到java程序设计中。当然了,有条件的院校如果能够把C语言与数据结构结合教学更好。
二、应用多种教学手段
(一)教学过程中要演示程序运行结果,多设问。根据作者近几年的工作经验,发现高职校院的学生普遍上学习耐力较差。在传统的程序设计理论教学中,遵循的方式一般是讲授语法、语句、程序实例,这些程序实例一般情况下由老师讲解,分析结果,然后再开始下一个语法等知识点的介绍,在整个课堂上都没有“演示结果”这一项工作,这种方式存在很大的弊端,它会使学生一直处于一种紧张的状态,久而久之就出现了“填鸭式”、“满堂灌”的现象,使学生对课堂内容产生厌烦。所以在教学过程中,讲完语法语句后,对于程序实例的结果,我们一般采取设问的方式供学生选择程序结果,如下面的程序:
给学生二种选择:(1)a+b=9;(2)a+b=54;让学生举手示意各自的选择,然后演示最终的结果,使学生亲目所见;再把(a+b)的括号去掉,再给学生同样的答案进行选择,再演示结果,一目了然。因此演示程序结果不仅可以缓和课堂紧张的学习气氛,还可以发挥学生的主动权,让学生亲眼所见,心中有“底”,久而久之就不会对程序产生畏惧。
(二)采用坡度式教学方法。在设计案例的时候,考虑前后照应的问题,每次增加一些难度或采用新的处理方法,这样的做法可以激发学生的学习兴趣[3]。比如:求一个圆的面积。先求出一个给定半径的圆的面积,然后再扩展到通过键盘输入半径求圆的面积,最后再扩展到把圆的面积作为类的一个方法来实现。这样循序渐进,让学生在学习的过程中慢慢的提高自己的知识。
(三)合理的布置实训作业。每次的实训内容里要包括必做题和扩展题,难易结合。围绕理论课程讲授的知识点,必做题包括理论课所讲的重要知识点,可以通过多方面的题型来锻炼学生要掌握的基本知识,要求学生对于必做题一定要做出来,避免程度差的学生课外时间不学,课堂内容又消化不了,造成学不会慢慢的对本门课程失去耐性;扩展题可以给出一些要扩张学生知识的程序,在理论课上对类似的扩展知识点已稍微提到了,但这些扩展题还需要学生自己查相应的资料,这样可以提高学生的自学能力和独自分析解决问题的能力。
(四)组建学习小组。在学习的过程中,我们不能一味的让学生把自己孤立起来苦思冥想,应该培养他们的团队协作精神;同时由于老师要辅导的学生很多,但精力有限,因此,组建学习小组是非常有必要的,也为期末的课程设计做好准备。通常一个小组由3-4名学生组成,从中挑出一名基础好的当小组长,这样建立一个小团队,老师定期指导或分配任务给小组长,小组长再转告或帮助其它小组成员,最终共同完成老师所分配的任务。
三、开展好阶段性项目实训与综合项目实训
根据java语言的特点,在教学过程中进行分模块教学,基本的大模块有图形用户界面、多线程、输入输出流、网络编程、数据库编程等。在每个大的模块后开展阶段性项目实训是非常有必要的,比如在图形用户界面这一个模块里,可以选择记事本或计算器作为本阶段的项目;在多线程这一部分里,可以选择游戏俄罗斯方块作为阶段性实训项目。这些阶段性实训项目由学习小组课外时间完成,指导老师定期召开小组长会议,及时解决学生在项目中遇到的问题及提示编程思路;最后老师应留足够的时间对这些内容进行评比,激发学生的自我竞争力。通过这些阶段性的实训项目可以锻炼学生分析问题解决问题的能力,使他们能采用java语言来处理一些实际问题,最终的结果能使他们有成就感,从而提高自信心,增加学习兴趣。
只有阶段性项目实训还不够,还应该有综合项目实训,即期末的课程设计,课程设计的内容应该尽量的包括整本书的所有知识点,一般我们选择信息管理系统,如排课系统、图书管理系统等。根据教学经验,作者认为期末至少停课两周的时间来单独完成课程设计,因为综合项目实训主要培养学生的程序设计能力、数据库设计能力、文档编写能力、团队协作能力和沟通能力,可交付的阶段成果为详细设计说明书、数据库设计说明书和项目所需数据库及其对象,最终能够表现出他们的自学能力、分析问题解决问题的能力,以及团队协作精神,通过长时间的综合实训,学生能够学到比平时更多的东西,因此留足够的连续时间进行课程设计是非常重要的。
四、总结
《 ava程序设计》这门课要让学生确定自己一定能学会java语言,并能采用java语言来处理一些实际问题,能做出来像样的中等项目,有成就感,最终为后继课程的学习或以后就业做好充足的准备。
参考文献:
[1]钱银中,java程序设计案例教程[M].北京:机械工业出版社,2008.
[2]苏健、翁文勇,java程序设计的教学实践与思考[J].教育与教学研究,2008,24:147-149.
关键词:技工 计算机 理实一体化
VisualFoxpro作为技校计算机专业的一门专业基础课,在以往的教学中存在着诸多弊端,为此,学院计算机专业教师调研市场与企业对技校计算机专业学生的要求,从课堂与实训两方面入手,力求使技校生能够快速入门,并熟练地掌握相关操作、设计技能。
一、VisualFoxpro课程的建设
VisualFoxpro是微软公司推出的基于Windows环境的关系数据库管理系统,是目前流行的小型数据库管理系统中性能优良、功能强大的优秀软件之一。它采用了面向对象的可视化程序设计方法,极大地简化了应用系统的开发过程,既具有完善的数据管理功能,又提供了足够的程序设计能力,同时还具有操作方便、简单实用、界面友好和兼容性完备等特点,所以适合技校学生学习程序设计与数据库应用技术。教师在教学过程中,既要充分考虑本校学生掌握计算机基础知识的现状,还要参考教育部全国计算机等级考试二级VisualFoxpro考试大纲,参考人力资源和社会保障部全国计算机信息高新技术考试数据库应用技术考试大纲,按照数据库应用基础教学基本要求规定的课程性质和任务,重点培养技校学生使用数据库管理系统处理数据的能力,初步培养学生的程序设计能力以及学会针对问题建立数学模型,并在解题编程的实践摸索中,能够掌握从程序编码、上机测试、调试到最终成功运行的全过程,并探索其中的规律性,具备举一反三的能力。此外,考虑到技工院校教育对象的特殊性,在教学过程中,应以初步掌握Windows基础知识为教学起点,以中文VisualFoxpro6.0为蓝本,向学生详细讲解关系数据库管理系统的基础知识和基本操作方法。
二、理实一体化教学模式
以往,技工院校的计算机专业教学始终存在着一个难题,即理论与实训教学如何安排才能更符合技工院校的培养要求。一方面许多技工院校受制于计算机实训条件的限制,在实训课程设置的内容与时间上往往“捉襟见肘”,特别是现在计算机课程已成为学校各专业的通用课程,加之电子商务、机电等专业都有的上机实训课程,导致计算机专业的实训课程进一步压缩;另一方面,技校学生的生源素质逐年降低,笔者发现许多技校学生学习简单的操作还能接受,但随着教学的深入,课程难度逐步加大,学生的学习效果越来越差。因此,采用理实一体化教学模式,可以打破以往计算机专业教学中理论与实训教学“条块分割”的现状,通过设定相对应的理论、实训教学任务与目标,做到理中有实、实中有理,从而大大激发学生学习的热情,增强学生的学习兴趣,学生边学、边练、边积极总结,可以达到事半功倍的教学效果。同时,要提高理论教师的实践能力、实训教师的理论水平,培养一支高素质的师资队伍。
三、VisualFoxpro课程理实一体化教学模式的实施
关键词:计算机语言;逻辑性;抽象性;过程;对象
中图分类号:TP311.1 文献标识码:A文章编号:1007-9599 (2010) 05-0000-01
Teaching Reform in Computer Program Curriculum
Wu Wenyun,Deng Yaming
(Hunan Biological and Electromechanical Polytechnic,Changsha410127)
Abstract:How to do a good job teaching computer program is the teachers embarrassing question.In this paper the author many years teaching experience,teaching on the characteristics of computer programs, teaching problems,reform needs of teaching and teaching methods to make plain the reform of areas for reference.
Keywords:Computer language;Logic;Abstract;Process;Object
一、计算机程序课程教学的特点
计算机语言具有很强的理论性、抽象性,学生学习起来难度大,很难激起他们的学习积极性;并且计算机语言发展速度非常快,种类繁多,并且都有各自的适用范围。基于各个学校的实际情况,课堂教学内容也远远滞后于计算机发展速度,只能将那些具有代表性的语言(面向过程程序设计语言如c语言、面向对象程序设计语言如C++等)引入到教学课堂。因此,搞好计算机程序课程教学难度很大,如何上好计算机语言课程也是大家都在探求的问题。
二、目前计算机程序课程教学中存在的问题
(一)教学方法存在有问题
在计算机程序的教学过程中,传统的教法是按照教材编排的顺序讲授,即先介绍一条条语句及语言的语法规则,然后做适当的练习和实训。这种传统的教学方法存在以下几方面的问题:
1.堆积的语法规则和语句学生很难在短时间内消化;
2.学生不能明确课程的学习目标和方向;
3.按步就班的教学顺序会导致学生的厌学情绪;
4.达不到预期的教学效果。
(二)计算机程序课程教学中存在的客观问题
实际中的语言程序课程教学又存在几大棘手问题:
1.众多的语言规则让初学者望而生畏;
2.灵活多变的使用方法又令人捉摸不透;
3.课堂讲授时间非常短暂,所学知识得不到及时巩固;
4.学生不好的学习态度:学习思维、行为懒惰。
基于以上存在的问题,计算机程序课程教学改革势在必行。我们在教学中应该有的放矢,不断探索新的教学理念和方法。
三、教学改革方法
(一)突破传统的思维方法,根据市场人才培养需求确定课程目标体系
1.认知目标:通过项目实践,掌握程序、程序设计的基本概念、程序设计思路与方法;
2.能力目标:小组合作或独立操作,简洁明快,易于识别,寓意准确,内涵丰富,特征明显,编写精细的应用程序;
3.情感态度目标:培养学生的学习情趣,通过观察,实践,感受成就感,设计感,空间感,体验程序设计的乐趣。
(二)精心选取教学内容
课程教学内容可以模拟一个软件公司的设计部门,以一个普通的设计人员在工作中所遇到的实际问题为主线,将客户的要求转化为实际的任务,要求学生解决。整个教学过程共模拟若干个工作场景,设计教学过程于工作(生产)过程中的职场环境,将课程教学内容和要求都融入到这些案例中。
(三)认真设计并精心组织实施教学过程
本课程基于案例模拟真实公司环境的情景下,以项目案例驱动学生动手操作,进而对项目中的知识点进行总结。具体内容包括:
1.实训项目:可根据课程教学需要来确定
2.实训目标:掌握模块结构设计、面向对象程序设计及程序设计风格,掌握程序基本结构设计及实现方法。
3.基本做法
a参与人员:全体学生(分组)
b实训地点:教室+专业机房
c实训途径:设计+上机操作
4.实施步骤
策划:情景引出―明确任务―教师引导分析任务,设计讨论具体的解决方案。(由于学生初学,对代码设计的掌握还没有达到游刃有余的状态,所以前期以教师引导,帮助设计解决方案为主。后期可减少策划时间,将实施时间延长,让学生自由发挥)
实施:事前要求学生分组设计模块流程图,设计实施方案,动手设计代码,完成项目,巩固知识点。(巡查学生的掌握程度,对实施过程中出现的问题进行辅导)
总结:小组互评设计的优劣
a紧扣实训目标,总结达标程度。
b思考与互动:你学会了这个实训项目,对你的毕业论文/设计,职业资格证书考试有什么帮助?
(5)课程评价
a教学效果考试方式
平时成绩:考察学生的学习态度(20%)
学生自评:紧扣实训目标,总结项目达标程度(20%)
老师评价:理论考试和实训评价(60%)
b教学效果评价:
i组织学生参加软件水平考试的合格率
ii毕业生在相关行业就业情况:毕业生就业信息反馈获取数据
四、教学改革过程中应该注意的问题
(一)注重学生计算机思维的培养
在讲课中,应集中精力对章节的知识结构进行详细阐述、对所要解决的实际问题进行深入剖析,不应花太多的时间放在对语句语法的过多讲解。当遇到实际编程时,需积极引导学生把“要想干什么”的问题,直接转化为“要解决什么”的问题。当问题确定以后,必须选择正确的算法。当然,计算机编程中的算法和数学中的算法存在很大区别,需要教师对学生们的计算机思维进行长期而有针对性的训练和培养。
(二)启发式教学激发学习主动性
计算机语言教学的关键是培养学生的编程思维,我们可以大胆采用启发式教学,引导学生尽快明确编程思路,掌握基本编程方法。在课堂上,可以尝试让学生自己去编程实现,教师只扮演“打字员”的角色,直接把内容输入到语言环境中,一边输入一边和大家交流,如果实在有困难,教师停下来再加以详细分析,直到程序编译、运行和显示出正确结果。启发式教学很容易让学生掌握程序设计的完整过程,也可以大大提高我们授课的效率。
(三)抓住重点、化解难点
讲授重点内容时,应放慢速度、加重语气,从而吸引学生的注意力。当遇到难点时,善于化解,把问题逐渐细化,所有小问题解决了,难点自然就解决了。
(四)强化实践
计算机语言的实践就是上机编程,是培养学生综合运用相关知识解决问题的重要途径,也是我们了解教学反馈信息的直接渠道。只有亲自动手、亲自实践,才能真正体会到语言编程的乐趣,才能发现自己的智慧闪光点。通过上机练习也可以进一步加深对理论知识的掌握,也将有利于培养学生的创造思维、独立分析问题和解决问题的能力以及培养学生实际编程的能力。需要强调一点,实验内容安排上应由浅入深,开始时给出引导性实例,后期提出问题,让学生分组自主发挥,教师抽空进行总结讲解,这样更能激发他们自主学习的主动性和积极性。
(五)搞好总结
课堂教学以后,授课教师特别年青教师多写写教学心得体会,多回忆回忆课堂情况,多和授课对象交流反馈,成功的有哪些,不足的有哪些,以后就能做到有的放矢,扬长避短,更好更快地提高我们教学能力和业务素质。
总之,要教好计算机程序课程,不能按照单一的“黑板―书本”教学模式,应大胆进行课程教学改革,采用丰富多彩、满足学生需要的教学模式,精心设计并认真把握各个教学环节。只有如此,教学质量才会有本质的提升。
参考文献:
[1]吴振峰.信息技术基础,北京理工大学出版社,2001,9
[2]彭邵东.信息技术教育研究,湖南师范大学出版社,2002,6
[3]龙佑喜.C语言程序设计教程,湖南人民出版社,2004,9
关键词 C语言程序设计;过程监控;螺旋式上升
中图分类号:TP311.1 文献标识码:B
文章编号:1671-489X(2017)06-0084-03
1 引言
C语言程序设计是理工科专业(如电子信息与科学、通信工程、物联网技术和应用数学等)的基础课程,嵌入式系统中的单片机与DSP程序设计,采用C语言编写应用程序比汇编语言可读性更强,且更易于维护[1]。该课程的学习目标是不仅要使学生学习程序设计的基本概念和基础方法,学习编程规则,还要培养学生的计算思维能力、理论与实践相结合的解决专业领域问题的应用能力,提高专业化教育过程中的创新培养层次。
然而绝大多数学生在刚开始接触C语言程序设计这门n时,对计算机语言、算法和数据结构知之甚少,更不具备抽象建模、程序设计技巧的相应知识[2]。加上这是第一门程序设计课,大量的新概念、新名词让学生感觉应接不暇,在刚刚接触编写程序时毫无头绪,只能仿照现成的例子照猫画虎,进行浅层次的验证性实验,根本掌握不到程序设计的精髓,更达不到计算思维能力的培养,以致该门课程教学质量普遍不高。
为了解决这些问题,笔者在长期教学实践中总结教学经验、探索教学方法,提出“基于专业内容,以解决本专业问题为导向,以计算机围绕专业问题服务为原则,促进学生个体发展,增强学生创新意识,产生创新能力”的教学思想。针对C语言程序设计课程特点,从教学理念、考核形式、教学方法、课程内容等方面做了大胆的改革与创新,采取多种教学方法和教学手段相结合,提高学生学习兴趣,取得良好的教学效果。
2 精心设计以解决本专业问题为导向的教学案例
在以往的教学活动中,大部分学生的基础知识虽然掌握得不错,但在灵活解决实际问题方面,还是有不小距离的。他们虽然心中有一些解决问题的模糊思路,但不会将想法转换成程序,甚至还有一些学生直到最后也不会把实际问题变换成算法设计。针对上述问题,课程组教师在教学内容的安排上注重在C语言教学中紧密结合本专业特点,本着“精讲多练,重实用,重算法”的原则,结合专业方向对C语言程序设计课程教学内容的差异化要求,确定分专业分层次的教学内容,制度详细的教学任务,选择各专业的经典问题作为课堂教学案例。以专业知识为基础,以解决专业问题为目标,采取任务驱动、因材施教的方式,创建多元化的教学体系,能够激发学生的学习兴趣。
将单纯的C语言程序设计教学与专业领域应用相结合,把计算机程序设计作为解决专业问题的工具,有利于学生了解C语言程序设计作为“专业工具”的作用,便于学生对C语言精髓的掌握,能够培养学生的计算思维能力、逻辑思维能力和逻辑推理能力,以及利用计算机解决本专业问题的能力,提高学生学习本课程的主动性、积极性,促进学生个体充分自由地发展,培养学生的应用能力和创新能力。
3 项目递进驱动教学法
在实验教学过程中,制定各专业领域相关实训项目,以由易到难、循序渐进为主线,采取多层次的项目拓展训练、递进式的螺旋式教学方法,让学生整体提高程序设计能力。整个教学设计分为三个阶段。
编程基础准备阶段 本阶段的教学内容主要是以本专业的经典问题作为课堂教学案例,引出本课程单元基础知识。在这一部分教学中通过教师对教学案例的讲解,学生通过实训项目的上机操作,会出现输入、编写等问题,通过解决实训时出现的问题加强对语法、编程规则的掌握。本着“精讲多练,重实用,重算法”的原则,用大量典型案例进行实训,起到拓展学生编程思维的作用。如在为数学专业设计程序三大基本结构项目时,本阶段的教学案例分别为分支结构为分段函数的计算、循环结构为求1到10之间的自然数的和。
项目拓展阶段 通过基础阶段的训练,学生已经初步对程序设计有感性认识,并有一定的计算思维基础,本阶段的任务设计上以第一阶段的任务为基础,将与此相近、相关的案例进行总结,主要是通过实训项目的形式来巩固基础阶段的训练成果,养成良好的编程习惯。如在为教学数学专业设计程序的三大基本结构项目时,本阶段让学生完成的项目有:求1到100之间自然数的和、判断某数是否为素数、求1到100之间的素数、打印杨辉三角形、输出各种形式的九九乘法表等。实训题目按类别设计,同类的实训项目一般设计多个,每个题目又根据难易程度设置不同的分值(方便后期的多元立体化评价),学生可根据自己对知识掌握的情况和自己的兴趣爱好选择一部分题目来练习。但不管是容易的题目还是难度较大的题目,都必须严格按照要求提交相关文档以及编写的程序代码。
项目递进阶段 本阶段让学生自由组合成3~5人的互助式小组,以大作业的方式对整个学习阶段的效果进行巩固,同时进行测试和验收。由于任务量比较大,所以该阶段主要在课下完成。在本阶段中,教改组成员在对不同专业做了详细调研的基础上,精心设计若干个与大学生各类竞赛紧密结合的、贯穿整个教学过程的大项目作为本阶段的任务。教改组成员为数学专业学生设计的课程大项目是学生成绩管理、分析系统,该系统用到大量的数学分析函数来实现对学生成绩的统计分析,要求学生尽量自己编写这些数学分析函数,然后和系统提供的函数做出比较。为电子信息科学与技术专业学生设计的课程大项目是汽车导航系统,该系统用到硬件之间的通信和C语言基础编程,让学生看到原来C语言还可以做出如此高级的产品。这一阶段主要以学生自主完成作业、教师负责答疑的形式进行,教师对学生提出的问题并不直接给出答案,仅仅给予学生一定的指引,引导学生通过各种途径查找资料,促使学生自觉利用互联网、校园网、图书馆、BBS教学网站系统来辅助本课程的学习,帮助学生学会文献检索的技能,为学生在以后的学习和工作中保持继续学习打下坚实的基础。在这一阶段中,要求学生必须提供完整的项目文档并完成教师组织的简单答辩。
以上三个阶段中,除第一阶段由任课教师为学生写出项目文档大纲、学生进行补充完善外,其他两个阶段学生都要独立撰写项目文档。在第二、三阶段中,教师将学生分成若干小组,每个人作为小组的成员,都有分工,每个小组选出一名小组长负责整个小组内部以及小组之间的协调和管理工作,小组和小组之间以竞赛的形式完成各个实训题目并相互评价。教师H仅起到“导师”的作用,帮助学生打开解题思路,及时引导学生总结归纳编程技巧和语法知识,为学生提供技术支持。通过小组学生之间的讨论和协作,提高他们学习C语言的主动性,同时也锻炼了学生的团队协作能力[3]。最终要求学生以小组为单位提交相关文档以及编写的程序代码来检验本阶段的教学效果,避免了以前个别学生抄袭别人报告的现象。
4 制定合理的过程监控机制,有效记录学生的学习过程
积极探索有效记录学生学习过程的监控机制,以上每个阶段结束,任课教师都会及时对学生项目中的亮点和不足进行分别讲解,并认真对学生的每个项目进行批注,以便学生进行改进。同时为每次作业划分等级,让学生明确自己本次学习所处的层次,让学生既有学习的兴趣,又有学习的压力和动力。期末考核方式参考平时作业成绩,采取“笔试+实验考核+开放式作业+课程论文”的形式进行过程考核,积极探索C语言程序设计课程的“嵌入式”考核方式。
5 以解决本专业问题为导向的教学法的教学效果
基于专业内容的案例教学,培养了学生的学习兴趣 以“加强基础、拓宽专业、注重实践”为原则,以案例教学、任务驱动、螺旋式上升模型等多元化的教学体系引导学生学习,把计算机程序设计作为解决本专业知识的工具,以本专业经典问题为导向的课堂教学案例,促进学生对专业知识的加深理解,使学生体会到C语言程序设计课程在专业学习中的地位,培养学生的计算思维能力、逻辑思维能力和逻辑推理能力,以及利用计算机解决本专业问题的能力,提高学生学习本课程的主动性、积极性,促进学生个体充分自由地发展,培养学生的创新能力。
螺旋式上升的项目任务,激发了学生的求知欲 项目递进驱动的教学法,通过一个比较实际的切入点,特别是再通过附加一些微视频,微视频中教师一步步的详细演示使学生感觉能够入手,解决了学生学习程序设计课程的恐惧心理,然后再将此实例不断修改、扩充,加大难度,引出与此实例相关的一组例子。在这样的案例教学中,因为有提出问题、解决问题、扩展问题、再解决问题、对解决问题的方法进行评价、优化设计等几个环节,实际上是一个循序渐进、螺旋式滚动上升的过程[4]。
在案例教学过程中,学生和教师相互提出问题、共同解决问题、深化和扩展问题、再提升解决问题、并对问题解决方法进行评价,这就是一个不断渐进、提升的过程,在这个螺旋式上升的过程中,能够非常自然地调动学生的参与。通过不断扩展一个问题的多种解决方案并对多种方案进行对比,有效开阔学生的思维,强调学生的学习主体地位。这种层层推进的教学方法避免了学生“三级跳”式学习,而有了“走台阶”的扎实基础,使学生在解决实际问题的过程中完成学习任务,实现计算思维能力培养与专业实际应用的无缝融合,激发学生的求知欲,增强学生的自信心。
立体化的过程监控机制,克服了学生临时抱佛脚的学习劣习 “笔试+实验考核+开放式作业+课程论文”的“嵌入式”过程考核机制,使得学生重视学习过程,避免考试前临时抱佛脚的学习劣习。这种监控机制和“课堂教学实验教学创新实践”理论与实践相结合、相辅相成、相互促进的螺旋式上升模型新教学手段,更符合各专业的教学需求。
6 结语
综上所述,从专业内容出发,以解决专业实际问题为导向的C语言教学方法是以建构主义学习理论为指导,通过选取专业领域的经典问题,以协作学习的方式开展学习,通过完成最终的工程项目来达到意义建构。它突破了一般的教学模式,通过解决学生本专业的经典问题来实现学生对C语言程序设计知识的掌握,学生通过螺旋式上升的递进教学法的学习,计算思维能力、解决专业领域实际问题的能力有了极大提高,大大提高了学习本课程的积极性和主动性。本文的教学理念和教学方法不但对非计算机专业学生的C语言课程教学效果比较好,对计算机专业学生的C语言教学也是很好的借鉴。特别是针对目前学生学业水平差异大、自主学习能力差的现状,加上本课程应用性强的特点,本文的教学方法有其卓越的表现。
参考文献
[1]马玉春,汪文彬,王冬,苏静.面向工程技术的C语言程序设计教学实践研究[J].琼州学院学报,2011,18(5):64-68.
[2]姚志宏.中等职业教育中C语言教学改革[J].实验教学与仪器,2013(6):45-47.
【关键词】翻转课堂 C语言程序设计 教学改革
【中图分类号】G 【文献标识码】A
【文章编号】0450-9889(2017)03C-0070-02
C语言程序设计作为高职高<扑慊专业的基础课程,传统的教学模式一般采用课堂教学讲授和上机操作相结合的方式。由于课时有限,课堂上教师大部分时间用于讲授基本语法及程序结构,对具体问题的解题思路及算法设计分析得不够深入透彻,而大多数高职高专学生学习能力和动手能力较差,因此学生的实际编辑能力普遍较差。虽然教师也在C语言程序设计课程中积极使用项目化教学法,但是实践证明教学效果不理想。本文将翻转课堂模式应用到C语言程序设计课程教学中,对该课程进行教学改革探索。
一、翻转课堂模式在C语言程序设计教学中应用的可行性
C语言程序设计是计算机专业的重要课程,其教学效果的好坏直接影响计算机专业后续课程的学习效果。由于课程数据类型繁多、语法灵活,理论知识和实践操作联系紧密,实践操作性、应用性强,学生要在理解和掌握理论的基础上,建立程序设计的基本思想,找到思考和分析问题方法。而翻转课堂将教学的教学模式由“课上传授,课后内化”转化为“课前传授,课上内化”,突破了传统教学模式的局限,充分调动学生学习的兴趣,启发学生的学习积极性,使学生由被动学习转换为主动学习,有效提高了学生的学习效果,增强了学生的学习成就感,延升了课堂时间与课堂空间,学生可以反复利用已经的网络资源进行学习,有效提高各个层次学生的学习成绩,发展了学生高阶思维能力,很好地解决了传统教学中群体教学和个体差异之间的矛盾,对教学结构进行了重构,改变了课程的评价方式和评价内容,更好地评估了学生对知识技能、综合能力的掌握情况,也促进了教学质量的提高。
C语言程序设计课程的授课老师大多数都是计算机相关专业毕业的,能充分利用“互联网+”的资源进行开发、制作和教学资源。再加上计算机专业的大学生的个人电脑持有率高,高职高专院校普遍配备有机房、电子阅览室等资源,这些都为实现C语言程序设计的翻转课堂提供了条件。
二、基于翻转课堂模式的C语言程序设计教学模型
要做好一节“微课”不难,做好一门“微课”才是最难的。本文汲取众多翻转课堂的成功案例和经验,探索出一套适用于高职院校C语言程序设计课程的、切实可行的翻转课堂教学模式,将其教学模式分为课前自学模块、课堂讨论解惑模块、课后总结反思、课程考核体系等部分。
(一)课前自学模块。首先,根据C语言程序设计的课程特点,教师结合所教学生特点,制定出相关的教学目标,合理安排设计教学内容,提炼出每节课的知识点和相应习题,给学生设计由浅入深掌握知识点的学习流程。并通过平台将学习的内容制作成视频进行上传,以及自我学习后相应知识点的训练和测试。同时,教师可以针对已设计好的问题和视频等学习资源,给学生构建《课前自主学习任务》。通过平台与学生互动交流,在课前针对学生普遍存在问题确定课堂讲解的方向,进而提高教学质量。
由于在每个知识点讲授之前,都有问题的导入,学生可以带着问题学习视频,学会自我解决问题。学习过后可以根据自身情况通过平台进行自我检测,对知识点进行思考和整理。并完成教师布置的《课前自主学习任务》,通过平台和教师进行交流。
教师在课前需要将学生反馈的问题汇总,并分析总结学生提交的《课前自主学习任务》,以教学大纲为依据,制定详细的《课堂活动计划》,并在课前将学生以5-6人分好小组,以便学生能积极主动地参与课堂讨论。
带着问题进入课堂,与学生进行讨论,引导学生与老师进行交流,从而不断地强化知识点的学习。
以循环结构中的for循环为例,课前自主学习任务单如表1所示。
(二)课堂讨论解惑模块。翻转课堂的关键在于教师在课堂上组织学生进行讨论解惑。教师作为组织者和指导者,会根据课前制定的《课堂活动计划》,通过提问、讨论等形式完成对课前所学知识点的内化和创新。
以循环结构中的for循环为例,课堂活动计划单如表2所示。
对课前学生自学过程中普遍存在的问题,教师可以以答疑的形式进行讲解;也可以针对《课堂活动计划》要求每小组进行讨论,先由教师对疑难问题进行简单的概述,然后提出之前设计好的更具讨论性的问题,引发学生更深层地思考和讨论,并组织和指导学生进行上机编写程序实训操作,最终以小组代表或个人提交实训报告的形式进行展示结果;而对个别学生提出的个别问题,教学可以采取一对一解答的方式。以多种形式帮助学生在“思考―讨论―实践―总结―在实践”的过程中不断提升自己的编程能力,进而帮助学生完成课堂内容的学习。