计算机开发语言培训十篇

发布时间:2024-04-25 17:10:39

计算机开发语言培训篇1

   [关键词]企业英语培训实际应用水平模式

   优胜劣汰的市场法则使得计算机企业要想发展壮大不仅需要了解市场、科学决策,更需要不断更新计算机技术,与世界顶端技术接轨,学习外国先进的技术与理念,而英语作为一种交流的介质所起的作用不可小觑。国内计算机企业要想发展更快更好就需要专业素养高又熟练掌握英语的复合型人才。本文结合对国内计算机企业的从业人员英语水平和国内计算机企业英语培训状况的分析,旨在从英语的传授和学习的角度提供一些更有效、更实用的英语培训模式。

   一、国内计算机企业急需提高员工英语的实际应用水平

   近十年,计算机技术发展势头迅猛异常,到今天已将各种计算机技术多层次、多方面交叉融合在一起。但是与此同时相当一部分的计算机技术人才尤其是计算机研发人员面临着一个相当大的瓶颈,即英语的实际应用水平低下。虽然一部分的计算机从业人员在校都应学过计算机专业英语,知道一些专业术语,通过了大学英语四、六级,但当他们与外国专家合作时,甚至连基本的语言交流也成问题更不必说是专业方面的沟通,甚至计算机专业的研究生甚至博士生也同样面临尴尬的境地。英语开不了口,即使开口别人也一头雾水,英语听不懂,无法使各项工作顺利进行。员工英语实际水平在与外国计算机专家的沟通和协作中就显得格外重要,尤其是英语的口语表达和英语的听力理解。而与此同时,企业也因为企业员工无法达到一定的英语实际应用水平而不得不到社会上去聘请外事专家或翻译人员,但效果也不甚理想,毕竟隔行如隔山,因为太多的it专用术语和缩略语,以及很强的专业知识使得没有计算机背景的英语专业翻译无能为力,一些技术上的问题无法仅凭语言层面所能解决的。所以越是市场化的企业对英语培训越重视,对员工的英语能力的要求越高。所以企业迫切需要计算机从业人员的英语实际应用水平的提高,而提高员工的英语实际操作能力,英语培训班则势在必行。

   二、开展英语培训班应注意的问题

   1.针对不同学员情况,培训班水平级别化

   计算机人员的英语培训也要根据员工的实际英语水平和工作需要界定其学员的英语所属大致级别。根据实际英语水平,可简单地以通过大学英语四级考试(Cet4)作为标准,即如果其通过了Cet4,则表明其英语水平为中高级,词汇量接近五千,不存在基本的语法问题,有一定的读写能力;如果若没有通过Cet4,则表明其英语水平为初中级,词汇量不足四千,可能存在一些语法问题,读写能力较弱。另外与工作性质相关,可将计算机人员划分成计算机研发人员、泛it人员两种,对计算机英语的要求也不同。简言之,应按照学员自身英语水平和工作的性质把培训班分成初、中级班和高级班两种。

   2.培训师资源缺乏,培训质量良莠不齐

   计算机企业的英语培训目前尚处于发展阶段,除了尚未形成完善的内部机制,即从企业内部人员的挑选到对其实施培训这一整套系统中,优秀的教师资源的贫乏是左右培训质量的关键。而目前的培训师水平鱼龙混杂,情况是不容乐观,既懂计算机专业知识又能熟练运用英语的培训师少而又少。其中,有不少培训师仅仅是英语专业出身本身对计算机知之甚少而且对计算机方面的知识也没有深入研究。所以可想而知,其培训质量怎能不让人堪忧。

   3.注重教材和参考资料的选择

   计算机专业英语的教材选文一般都是具有很强的代表性的英文原版文献。它涉及了计算机的技术基础、系统和应用等各个方面内容,涵盖面极广。一般说来,一本优秀的教材,在内容上应该做到取材新颖、技术前卫、系统性强、可读性好。学习者在学完了全部内容之后,就应该对计算机各方面的技术理论、常见的专用术语的含义、本学科领域的文献体裁和风格有一个大体了解。但计算机技术发展如此之快,称得上是日新月异。因此,任何一本计算机专业英语的教材都不可能涵盖计算机领域的新名词和新术语。所以在对计算机专业英语的学习上,选择难易程度适合的教材,太简单则不利于提高、太难则容易使学习受挫。根据教材的专业侧重的不同,在选择计算机英语教材时,可从实际工作需要出发。

   三、更有效更实用的英语培训模式

   1.初、中级班进行基础英语的培训

   初、中级班进行的是基础英语的培训,其学员英语水平处于初级或稍高的水平,这就要求应注意计算机英语的趣味性,激发学员学习的兴趣。可以通过联想把许多看似枯燥难懂的词汇和句子赋予形象生动的色彩。例如,计算机网络中关于www(全球信息网)的学习,可以想象为在波涛汹涌的大海里畅游(因为www很用以令人联想到波浪)。在培训时应注意掌握专业词汇和语法时技巧。首先,对构词法的掌握是学习计算机专业英语词汇的关键之一。许多的计算机术语词汇都似曾相识,这时可从英语构词法的角度去理解和分析。譬如说词汇“subnode”(次结点),若熟知“node”是“结点”的意思和前缀“sub-”是“次要”,那么subnode的意思就清楚了。事实上,在科技英语中派生词很多,这也是它的一大特点。只有既具备丰富的计算机知识,又精通英语中的构词法知识,很快地猜出文章中生词的含义,从而提高阅读的速度和水平。其次是对语法的培训,虽在计算机专业英语中语法结构相对简单,但一些复杂的长句子在文章中也会时常出现。

   2.高级班弥补英语的实用水平不足

   高级班的学员已经通过对计算机英语的系统学习掌握了一定数量的专业词汇,加上有金山词霸这样的工具,阅读原文并不很困难,但阅读速度和阅读质量仍是培训的一个重要的方面,系统学习计算机英语,这里的系统性包括了计算机体系的系统性和英语语言的系统性,同时必须时刻牢记:除了借助计算机英语教材系统地了解计算机诸方面的英语表达和专业词汇外,还要对英语语言本身从听、说、读、写四个方面下功夫,以免出现偏废。有些计算机人员就是因为在听和说方面偏废,以至于影响到自身发展和企业的工作。如何加强听和说的训练即是提高培训学员的实际应用英语的水平重要一环,也是其中较弱的一环。听力和口语的训练可在传统的教学课堂上培训,通过具体情景模拟来习得,也可以在高科技手段多媒体帮助下实现,如多媒体软件、网络英文广播、英文电影、英语节目和教学资料等。培训班开设期间,开办英语角的活动并保证此活动的延续性,设计现场英语运用的场景使学员能在模拟现实情景中更深刻地体会英语实际运用的乐趣等此类活动都能有效提高学员的听说等英语实际运用能力。

   3.培训老师自身的计算机专业知识的修养

计算机开发语言培训篇2

编程实训教学程序设计

对于多数学生而言,在学习了程序设计语言后,除能应付计算机等级考试外,不能应用计算机语言去解决实际的问题,而社会对人才的需求要求学校所培养的学生不仅要具备较扎实的理论基础,而且要具备相应的专业技能和素养,具有解决实际问题的能力。要具有解决问题的能力首先应该掌握计算机语言的理论基础,然后是把计算机语言作为工具来解决实际问题。理论知识的获取无疑要通过理论课堂,应用能力要靠实践,现在的计算机语言课程设置也都是按照“理论+实践”模式,那为什么学生学过语言课后普遍认为不会写程序,不会应用计算机语言这个工具呢?本文在分析计算机语言教学存在的问题以及各个环节对学生学习的影响情况的基础上,通过优化综合实训的组织方式,让学生更好地利用程序设计综合实训的机会,锻炼学生综合程序设计的能力。

一、实践教学现状

1.实践教学的目标

通过实践教学使学生加深对理论知识的理解掌握;培养学生的基本技能和专业技能,使学生具有较强的实际操作和创新能力;培养学生良好的社会公德、责任意识和敬业精神,培养实事求是、严肃认真的科学精神、探索精神和创新精神,提高综合分析解决问题的能力,塑造初步的创新能力。

2.目前实践教学的各个环节及对学生的影响分析

实践教学由课堂实践教学、综合实训、课外实践活动以及毕业设计环节组成。

课堂的实践教学针对教学内容的,内容相对单一,缺乏综合性;课外实践教学对于程序设计来说锻炼机会较少;毕业设计的完成往往是专业知识的综合训练,要求学生已经具备一定的程序设计能力,能够通过程序设计解决实际的专业问题,因此,在校阶段的综合程序设计实训尤为重要,要通过综合实训锻炼学生进行程序设计的综合能力,为专业服务。

二、理论课注意调整学生对课程的认识

心理作用对学习的影响非常重要,学生对于计算机语言类课程的评价大多数是一个字“难”,普遍感觉课程很难,会把这门课当做一个独立的学科来对待,本人认为这样对学习语言课是不利的,计算机语言和我们日常讲话说的“汉语”是一样的,都是交流的工具,只不过汉语是人和人之间交流的工具,而计算机语言是人和计算机之间交流的工具,我们学习计算机语言,目的是和计算机进行交流,就如同我们学习英语,是想和不会说汉语的人进行交流和讨论一样,那我们要和计算机进行交流和讨论,就需要计算机明白我们的意图,计算机如何知道我们想要做什么呢,就是通过约定好的计算机语言来表达我们的想法,所以计算机语言是表达我们人类想法的工具。只有让学生从根本上明白计算机语言在日常生活中扮演的角色,才会更好地建立让计算机帮助人类解决问题的思维模式,才会更好地应用计算机语言转换自己的思想,才会意识到只有通过多编程多练习才能熟练使用计算机语言这样的工具。

三、调整课程设置模式,加强课内实践环节

目前,计算机语言类课程教学安排大多采用“2+1”的课程模式,也就是每周2个学时的理论课和1个学时的实践课,实践课的安排一般采取“两周一次”的方式,即每两周才上一次实践课,每次课2个小时。例如,对于结构化程序设计的语言来说,三种控制结构会在2~3次课完成,但是学生会用控制结构处理实际问题需要多练习多编程才能建立这样的思维模式,对于刚开始接触计算机语言的学生,应该针对每一种结构(例如选择结构)给出多道练习题,让学生通过自己写程序来解决实际问题,这样才能建立遇到同一问题多种解决路径的实际问题时,会自然而然地想到采用选择结构。但是按照“2+1”的课程设置模式,课内实践的时间不足以保证对单一知识点的很好掌握。因此,加大课内实践的时间是有必要的。近几年,我们将网络工程专业c/c++语言课程调整为“3+2”模式,每周有实践课,每周的理论课中增加对实际问题的分析和实验课前分析,学生对单个知识点的掌握程度明显提高。

四、程序设计综合实训的组织和实施

进行程序设计综合实训是要求综合运用所学的知识解决实际问题,增强对程序设计的理解并体验团队的合作精神。因此对于综合实训的内容安排、指导以及考核都要以综合实训的目的为核心。

1.综合实训的内容安排

学生能编出具有完整功能的实用程序时,会具有强烈的成就感和自豪感,这是最好的原动力,可以很好地激发他们的潜能,使他们的算法设计能力、程序设计能力和程序调试能力得到快速的提升,因此确定一个能激发学生兴趣的题目很重要。

关于内容的安排有两种方式:

一是在一系列现有题目中选择。我们编写了程序实训指导书,在书中列出了24个题目供学生选择,这24个题目分数据库管理、游戏设计、图形、算法设计等分类,学生根据兴趣自己选择实训题目。

二是根据不同的专业学生自己选题。鼓励学生根据本专业所学专业课,自己选择在专业课中要解决的问题,然后通过程序设计实训过程来完成。这种方式需要学生提前写一个报告,包括简单的选题内容,以及准备采取的方法,指导老师根据报告决定该选题是否能作为实训选题,并且提出补充建议。

2.综合实训的指导方法

综合实训采用结对编程的模式,两个学生选择一个选题,互相合作,共同完成。整个过程要以学生为主体,因此指导老师的作用是引导学生自己查找资料,鼓励学生通过多种途径解决出现的问题。

3.成果考核和成绩评定

考核是督促学生学习的一种手段,因此考核必不可少。一个完整的实训过程必须要有总结报告,总结能使学生发现收获和不足,为以后的进一步学习打下基础。

(1)实训结束要求提交的资料

完成题目的基本要求,提供正确的源程序;

提交实训报告,实训报告符合要求,给学生一个实训报告的模版,其中包括实验内容、设计步骤、程序流程、主要算法设计、总结与体会等。

(2)考核方式

按照平时考勤、程序源码、实训报告三方面,按照2:3:5的比重考核打分,最终成绩实行优秀、良好、中等、及格、不及格的五级评分制。

五、总结

从多个年级学生的实践结果来看,加强课内实践,重视综合实训,并且严格实训组织和内容选择,不仅能提高学生对程序设计的兴趣,极大加强学生的实践动手能力、解决问题的能力,也较好地培养学生的创新精神。

参考文献:

[1]李凌.“程序设计实践”课程教学怎么做[J].计算机教育,2006,(8).

[2]李丽琼,刘彦宾.从培养创新能力入手改革程序设计实践教学[J].遵义师范学院学报,2006,(8).

计算机开发语言培训篇3

关键词:C语言;非计算机专业;教学改革

作者简介:陈伟宏(1976-),女,湖南益阳人,湖南城市学院信息科学与工程学院,副教授;何建新(1975-),男,湖南益阳人,湖南城市学院信息科学与工程学院,高级实验师。(湖南益阳413000)

基金项目:本文系湖南省普通高等学校教学改革研究项目(项目批准号:湘教通[2011]315号345)、部级大学生创新创业训练计划项目(项目批准号:教高司函[2013]8号7112)的研究成果。

中图分类号:G642.0文献标识码:a文章编号:1007-0079(2013)34-0101-02

随着计算机技术的发展,计算机与其它学科的结合越来越紧密,C语言程序设计已经成为我国高校非计算机专业学生的一门必修课。作为普遍认可的程序设计工具,C语言功能丰富、灵活性强,兼有高级语言和低级语言的特点,是一种面向过程的结构化程序设计语言。[1]该语言适合没有程序设计经验的学生了解程序设计思想、学习程序设计方法。但是,C语言非常抽象,逻辑性和实践性都很强,学生普遍反映难学,如果以传统授课方式对非计算机专业学生进行教学,难以达到理想的效果。因此,本文以高校非计算机专业学生为研究对象,积极探讨C语言课程的教学改革思路,提出“创新教育、理论实践、个性指导、能力培养”的教学理念,并形成行之有效的C语言教学实施方案。

一、C语言教学现状分析

C语言是一种通用性程序设计语言,大多数高校非计算机专业是在大一下学期开设该课程,其先修课程是“大学计算机基础”。C语言课程的教学目标是:掌握语言的基础知识和程序设计方法,培养学生程序设计的基本能力;教学重点是培养学生的实践编程能力。传统的教学方法中,先讲概念,然后介绍语法,最后讲解例子和上机练习,这种教学方式不利于将知识转化为能力。C语言很枯燥,即使上课弄懂了语法知识,但是要独立完成程序的编写经常感到无从下手。根据教学情况,目前C语言教学普遍存在以下几个问题:[2]

1.学习目的不明确,没有学习兴趣

有的学生认为,C语言课程是针对计算机专业的学生开设,而非计算机专业的学生学习C语言对以后的学习和就业没什么帮助,所以没有兴趣。有些爱好计算机的学生认为C语言程序设计编程效果没有VisualBasic、Java等程序设计语言那么直观,总想超前学习当前流行的一些开发工具。甚至有少数学生死记硬背,感觉枯燥无味,进而失去学习兴趣,达不到理想的学习效果。

2.对编程的逻辑思维不熟悉

作为高校非计算机专业学生的一门必修课,C语言程序设计内容多,逻辑思维严密。而他们还是大一学生,还只学过计算机基础课程,没有形成编程的逻辑思维方法,对C语言的语法、程序编译与调试等都不熟悉,导致出现学生学习困难的情况,容易产生两级分化。

3.语法繁琐,兴趣不浓

C语言语法知识点多,语法格式要求相对严格,有常量、变量、运算符、三种程序设计结构、函数、指针等。要写出正确的程序,首先要掌握这些语法知识,然后需要流畅的思路。大多数C语言教材先给出一般的语法格式,然后讲解语法要点,然后举例说明。如果教师按照这种模式授课,繁琐的语法很容易让学生厌倦,再加上程序设计偏离实用性,学生没有兴趣,最后的教学效果可想而知了。

4.实践教学环节薄弱

C语言是一门实践性很强的课程,高校非计算机专业的C语言程序设计教学环节包括随堂实训和实验两部分。由于C语言课时少,内容多,因此随堂实训的时间少。对于实验内容,通常教师布置与语言教材知识点相符的任务,容易出现与解决实际问题脱节的现象。以往的课时设置一般理论课时大于实验课时,这也是影响学生实践能力弱的一个重要原因。如何加强实践环节、培养学生的编程能力是教学改革的一个重点。

二、C语言教学改革思路

多年来,笔者和科研团队成员一直从事C语言课程的教学工作,并对该课程进行了深入研究和实践,形成以学生为中心、以案例教学为手段、以网络学习为补充、强化学生主动学习和实践能力培养的改革思路。

我校是一所地方本科院校,以培养应用型高级专门人才为宗旨,因此,结合C语言课程特点,定位我校非计算机专业C语言课程的教学理念为:创新教育、理论实践、个性指导、能力培养。也就是,以创新教育为最高目标,坚持理论与实践相统一,加强学生的个性化指导,注重学生面向应用解决实际问题能力的培养。C语言的创新教育不是要学生发明一种新技术或新方法,而是在教学过程中不断发挥学生主动应用C语言程序设计手段解决实际问题的意识和能力。[3]理论实践是指教材上的理论知识只有通过实训或实验等手段,才能真正掌握并能在实践中应用,达到理论与实践的统一。对于个性指导,根据学生的计算机水平不同,采取实验内容分层设置等方式,通过灵活多样的教学手段培养学生;用优秀学生的示范效应激励一般学生,利用大多数学生积极向上的学习氛围带动少数后进生不断提高。能力培养是目标,这里的能力是指C语言编程能力及利用C语言工具解决实际问题的能力,可以通过大学生的创新项目、程序设计竞赛、社团活动、实验实训等形式提高学生的实际动手能力。本文在提出的教学理念指导下,对C语言课程在教学方法、实践环节、教学手段和教学内容方面进行了合理有效的改革,并在实践中形成了一套行之有效的教学方案。

三、C语言教学改革实施过程

1.灵活多样的教学方法

教学是课程学习的首选方式,不同的教学方法直接影响教学效果。

(1)先进的教学理念。C语言是计算机类课程的核心和基础,也是非计算机专业学生的必修课,其目的是让学生通过程序设计方法了解计算机解决问题的过程,训练学生的逻辑思维能力,达到能利用语言工具解决实际应用问题的目的。要让学生学好这门课,首先老师要树立先进的教学理念,引导学生自主学习。在教学过程中,把握好三个阶段:上好开学第一课、指导好的学习方法、正确引导学习兴趣。

非计算机专业学生在开学第一次上C语言课程,他们还只学过大学计算机基础,这与程序设计课程的学习方法不同,所以在上第一堂C语言课时要介绍课程的教学要求和学习目的,并让学生结合自己的专业制订有兴趣的学习计划。有了学习计划,还要强调自学的重要性。在介绍C语言课程特点时,提出适合不同层次学生的学习方法。当遇到问题时,鼓励学生学会网络求助和与同学相互交流,引导学生对知识的探究,培养学生自学和解决问题的能力。

(2)案例教学法。案例教学是一种经典的教学方法,它采用互动模式,以案例分析为基础,一般要求涉及丰富的知识点,具有针对性、系统性、可实践性和启发性。[4]C语言教材内容繁多,有十多章,一般第一章为概述,第二章为语法知识,如果按部就班进行讲授,第一节课内容会抽象枯燥,学生容易厌烦。如果通过案例直接引入主题,例如求圆的周长,能尽早让学生建立程序框架概念,并开始模仿编程。对于这个案例,先用语言描述问题及解决步骤,然后现场在C语言编译器中输入代码、添加头文件和主函数,再编译、运行,得到输出结果,这样学生通过这个实例认识了程序框架、语句、常量、变量、函数等,这种解题步骤符合人们的思维,容易被理解和接受。

使用案例,还能对教学内容进行适当取舍和组合,起到降低难度、分散重点的作用。例如,循环结构程序设计是教学的重点和难点。对于一个多重循环结构的程序设计,如果引入案例讲授,采用手工执行循环和编译器单步跟踪调试的方法分析程序,循环体的功能就会变得清晰了。[5]

(3)多种编程方法拓展思维。同一个问题,鼓励学生采用多种方法编程实现,并让学生分析它们的不同之处。例如,求1到10的累加和。这是一个很简单的计算题,但是可以用多种方法实现,如for、while、dowhile三种不同结构,scanf、gets、getchar等不同输入输出函数,变量的不同设置等。学生通过尝试用不同方法解决问题,不但能加深对知识点的理解,还能锻炼学生的编程能力,使学生养成积极思考的习惯,做到将所学知识融会贯通。

(4)分层管理,因材施教。根据学生的程序设计水平不同,设置验证型、综合设计型和研究创新型三个层次的案例和练习,对学生分层次管理,不同学生选取不同的教学方法;对C语言感兴趣的学生,充分调动他们的积极性、主动性和创造性,鼓励他们进行超前学习;每组选取一个优秀学生为组长,充分发挥优秀学生的示范效应。通过这种方式,优秀学生激励普通学生,大多数学生积极学习的氛围感染少数后进生逐步提高,达到自主学习和能力培养的目的。

2.有效的实践环节

实践环节包括课内的实训和实验,以及课外的创新活动等,其中实验是检验知识综合运用的重要手段,也是培养学生解决问题能力和创新能力的必要环节。要保证实验效果,良好的实验环境是前提,好的实验方案是关键。

一般C语言课程的课内时间非常有限,要进一步培养学生的实践能力和创新能力,需要充分利用课外时间学习。课外的实践环节除做课后练习外,还可尝试如下措施:

(1)鼓励学生申报大学生创新项目,引导学生参与,提高综合能力。以生活趣味类和专业应用类为主,列出系列创新课题,供学生选择承担,由计算机老师指导完成。

(2)举办和参加各类竞赛,提高程序设计编程水平和创新能力。aCm程序设计竞赛是可选用C语言编程的、在windows或Linux平台上进行的面向在校大学生的竞赛,目前在我校已全面开展。我校先经过初赛、复赛选拔一批优秀学生参加aCm程序设计竞赛培训,然后每隔一段时间,参加培训的学生还需进行定期考核。如果考核不合格,则建议退出aCm团队,否则继续学习。通过这种多层次、多阶段选拔优秀学生方式参加省级、部级程序设计竞赛,我校学生取得了良好成绩。

(3)开展社团活动或与专业相结合的创新活动。对于非计算机专业学生,教学中渗透专业特色,课外社团活动中包含程序设计内容,这种方式能让学生体会学习程序设计的作用,活跃创造性思维和培养创新能力。

3.丰富的网络资源

随着网络通信技术的快速发展,拓展了网络的时间、空间、形式和内容。目前网络对每个学生来说几乎都是无处不在,无时不有,学生充分利用网络资源学习也是一种有效的方式。因此开发丰富的网络资源,提供学生自主学习平台意义深远。我校学生立项的部级大学生创新项目“在线学习系统”中,目前已开发了面向非计算机专业的C语言课程资源,包括教学大纲、电子教案、在线视频、操作案例、实验指导等,还有师生互动栏目,正在进一步开发在线考试模块。通过创新型网络学习平台,对培养学生自主学习能力起到积极作用。

4.与时俱进的教材

教材建设是课程建设、人才培养的重要组成部分。为适应社会对大学生计算机水平的需求,必须更新教学内容,加强教材建设。建设教材时,要处理好传统与现代、理论与应用、深度与广度的关系,更新教材内容,开阔学生视野,跟上当前新技术的步伐。笔者团队编写了C语言教材及配套的实践指导,为培养学生编程能力提供了有力支持。

5.多方位的考核方式

考试是教学过程的一个重要环节,其本质是检验学生的学习效果,但仅通过期末考试来衡量学生的水平是片面的,不能真正体现学生的实践能力和创新能力。为此,非计算机专业的C语言课程考核方式可以采取以下几种方式:

(1)面向过程的考核。一般情况下,课程的考试成绩由“期末考试×0.7+平时成绩×0.3”组成。C语言课程实践性强,其考核方式可以调整为:由理论考试、上机考试和大作业三部分组成,加大实践操作分数的比重。如果非计算机专业学生通过省级或部级计算机等级考试,学校可制订相应政策,用等级考试成绩代替课程考试成绩。[6]

(2)面向项目或竞赛考核。学生参加项目或竞赛都是培养学生创新能力的重要手段,可将其作为评价学生水平的一个指标。通常情况下,学生立项并结题省级以上项目或者参加竞赛获得省级以上奖励的,学校也可制订相应政策免修或代替课程考试成绩。必须指出,竞赛或项目内容必须与相应课程内容一致或关系密切。

四、结论

教学实践证明,以“创新教育、理论实践、个性指导、能力培养”为教学理念,采取案例教学、一题多解、分层管理等灵活多样的教学方法以及多方位的考核方式。同时建设网络课程资源和教材,以培养学生自主学习能力,有效提高非计算机专业学生学习C语言的教学效果。

参考文献:

[1]谭浩强.C程序设计[m].第四版.北京:清华大学出版社,2010.

[2]丁海燕.C语言程序设计教学主线与教学创新[J].高等理科教育,2012,(4):122-125.

[3]龚沛曾,杨志强,顾春华,等.大学计算机实践能力培养的改革和实践[J].中国大学教学,2008,(6):16-18.

[4]熊启军,宁彬,谷琼.C语言程序设计课程案例式教学研究及实践[J].计算机时代,2013,(1):55-56.

计算机开发语言培训篇4

关键词:计算思维;程序设计;语言;计算;新生

中图分类号:G642.0文献标志码:a文章编号:1674-9324(2015)49-0276-03

一、《程序设计》课程简介

《程序设计》是高等学校理工科专业普遍开设的系列必修课程。这门课主要讲授用高级语言如C/C++及Java等开发计算机程序的基本知识,培养学生用计算机分析并解决问题的能力,使学生掌握软件设计的基本方法,为后续课程奠定基础。

国内高校普遍将《程序设计》课程按照语言的不同分为多个系列:C语言、C++语言及Java语言等。不同学校及专业根据各自的培养方案为学生开设其中几种,至少有一种语言(一般是C语言)为必修,开设于大一及大二学年,理论课与实验课共60~100课时,持续1~2个学期。各高校也普遍为计算机相关专业高年级学生开设其他流行编程语言如VisualBasic以及更专业化编程语言如matlab、SQL及HtmL等等。这些语言的基本语法与C语言相似甚至是高度相似,程序设计思想相通,因而其教学也高度依赖于低年级程序设计课程的教学效果。

二、面向新生的《程序设计》课程

对计算机及软件等专业的学生而言,《程序设计》是一门专业基础课,这门课程一般开设于本科一年级,因而授课对象主要是本科新生。一方面,大多数计算机相关课程如《数据结构》、《操作系统》及《数据库》等都需要编程语言的基础知识,学生在这门课收获的学习成果对高层次的学习乃至工作都具有非常重要的意义;另一方面,编程语言课程的教学能够直接训练学生的计算思维[1],计算思维的形成和培养,是目前高等院校计算机教学,甚至包括非计算机专业的计算机基础教学所追求的一个重要目标。在学生刚刚升入本科阶段,而几乎不曾开始学习专业课,专业思维模式尚未形成之前,就逐渐培养其计算思维,又显然是这项任务的重中之重。

高中信息技术课程一般包括VisualBasic等编程语言的知识,但长期以来,受高考指挥棒的影响,全国各省市的小学、初中与高中教育普遍对计算机(信息技术)课程的重视程度不够。在程序设计不作为会考要求内容的省份,一些学校甚至没有开设编程语言课程,或者要不做任何要求,导致在高中阶段,教师与学生的教学兴趣度极低。一个最直接的后果是,即使是计算机相关专业的学生,刚进入大学时,也普遍对程序设计这类课程既陌生又恐惧。

由于这类课程本身的深度与难度,本科新生,特别是在高中阶段没有学过程序设计,甚至几乎不曾接触过计算机的新生,往往承受较大的学习压力,如果不能很好地掌握程序设计的思维与方法,学生很容易丧失学习计算机相关课程的兴趣与信心,从而影响整个大学阶段的专业学习,因而承担大一新生程序设计课程的教师也同样承受较大的教学压力。如前所述,这个问题产生的直接原因固然是高中信息科学知识储备的不足,但根本原因还是学生在从多年来已经习惯的数理化式的定义与公式学习模式转变为以计算机学科为代表的设计与实验的学习模式时产生了障碍,或者说学生没有能够形成学习计算科学应具有的思维模式。因而解决这个问题的关键即是,要通过程序设计课程的教学使学生形成并逐渐强化计算思维。

三、计算思维的内涵及重要性

按照卡内基・梅隆大学Jeannettem.wing教授提出的广义概念[1],计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。而具体到程序设计这门课,计算思维可以理解为编写高级语言程序的方式解决问题的思维活动。由此可以看出,程序设计课程是培养学生的计算思维最重要的方式之一,而培养学生的计算思维也是程序设计课程最重要的目的之一。

计算思维这一重要概念被提出后,引起高等教育界的广泛注意。关于如何在程序设计课中培养本科生的计算思维能力这一问题也成为高校计算机教学中普遍关注的问题。文献[2-4]讨论了如何通过计算机基础教学培养计算思维,文献[5-7]讨论了通过程序设计课程培养计算思维,文献[8]讨论了如何通过程序设计培养学生的多种思维能力,文献[9;10]提出以计算思维为导向开展程序设计教学,文献[11-13]提出了基于计算思维的程序设计教学改革方式,文献[14;15]讨论了通过程序设计课程培养计算思维的具体实践方式,文献[16]探讨了如何以计算思维为训练目标设计程序设计案例,文献[17]讨论了如何通过非计算机专业的程序设计课程培养计算思维。但围绕如何针对新生开展高效程序设计课程教学[18],以及如何培养新生的计算思维这些方面的研究却还很少。

计算思维,顾名思义,即“一切皆为计算的思维”,可以把它理解为一种将复杂的实际问题都转换为可以用计算机解决的思维模式,而计算机解决任何问题的本质,显然都是通过各种计算来完成的。掌握用计算机解决问题的方法,是当今社会中最重要也是最基本的技能之一。要实现这一目标,就要靠计算思维的长期渐进式培养与发展,这主要涉及两个方面的任务:(1)需要了解计算机求解问题所使用的计算方式。只有了解计算机计算的方式,才能判断一个问题是否可以直接被计算机求解,也才能将待求解的问题转换为计算机可以求解的形式;(2)需要掌握用计算机求解问题的设计方法。只有能够设计出让计算机求解问题的计算方法,即算法,才算真正掌握了计算机科学。在众多计算机相关课程中,程序设计是能够实现以上两个任务的重要载体课程,而计算,作为计算机解决问题的终极形式,又显然应该是实现培养计算思维这一目标的核心训练手段。

四、以《程序设计》培养计算思维的实践策略

本人所在基础教学部承担上海电机学院全校非计算机专业及计算机专业本科一年级学生的程序设计课程教学任务,包括C/C++语言及Java语言,分两个学期授课,理论课共64学时,实验课共32学时。从字面意义就不难看出,“计算思维”的核心思想是计算的能力和技巧。在教学中,我们以计算作为最重要的训练方式,贯穿于整个教学环境中,尝试以计算促进计算思维的形成。具体地,我们主要采取以下方法:

1.用计算问题让学生快速开始程序设计。学生都经过从小学到高中的数学训练,普遍对各种基本数学问题非常熟悉。用一些最简单的计算问题例如“从键盘输入数值,计算其和差积商”可以使学生迅速上手,开始学习编写程序。一方面,这样可以避免在学习初就因受困于复杂的问题本身而影响编程语言语法规则的学习;另外一方面,也使学生通过解决简单的计算问题获得学习新课的成功感和自信心,提高对后续课程学习的兴趣。

2.用计算问题使学生了解程序设计实现计算的规则。在讲授选择结构程序设计时,我们使用了“数学年份,输出各月天数”的例子。一年中的各个月份天数不同,仅需分为三种情况;二月份的天数需要根据该年是否是闰年来判断,而闰年的判断是小学生都非常熟悉的:即年份能被400整除;或能被4整除但不能被100整除。为了用编程语言描述这种判定规则,就需要引入逻辑运算符表示“与”和“或”的关系并且要准确理解运算符的优先级。这样就可以通过一个例子充分了解分支结构程序的设计规则和逻辑计算的规则。

3.用计算问题使学生了解用计算机解决问题所需要考虑的额外因素。在进行一般的数学计算时,除了有些情况要求数值只能是整数,我们一般不必考虑一个数是整数还是小数。但是用高级语言处理数据,除了比较特殊的python等语言不区分数据类型,一般的高级语言如C和Java都是严格区分数据类型的。在数学上,我们可以很自然地书写x=1,y=0.5,但是在编程语言中,如果x被定义为浮点型,那么整数转换为浮点数,涉及表示方式的转换,可能会丢失精度;如果y是整数,将浮点数转换为整数会丢失小数部分。而后者,在类型严格的语言如Java语言中甚至是不允许的。虽然单纯的数学计算几乎不涉及整数和浮点数类型转换的问题,但数据的类型转换却是程序设计中最容易出错的。通过编写测试性程序验证0.1+0.2不等于0.3,学生的印象会非常深刻,并且能够更直观地了解在用计算机计算时,数据类型精度是一个必须要考虑的因素,从而形成一种思维模式,在设计计算方法时能够处处考虑类型与精度的相关问题。

4.通过计算加深对计算殊规则的理解,强化计算思维。在教学中,我们会让学生编程练习求“3斤2元的蔬菜,6斤多少钱”这样看似极其容易的问题。大多数学生会因为按照数学的习惯书写2/3*6这样的表达式而得到看似荒谬的答案0,这样的错误在程序设计中非常普遍地存在,并且在调试代码时这类错误隐蔽性极大,不容易被发现。只有通过大量这类的计算练习,才能让学生充分理解程高级语言(C/C++/Java等)中/的特殊运算规则,即整数除法的结果还是整数,如果要得到比较准确的结果,至少要把被除数和除数中的一个转换为浮点数,对于变量需要使用强制类型转换,对于常量,除了强制类型转换,还可以在后边添加.0,及2和2.0在计算中是截然不同的两个数,产生的计算结果也是全然不同的。由此可以进一步强化对数据类型转换的理解。

5.用计算问题使学生了解纯粹的数学思维和计算思维的差别。在讲解循环结构时,我们让学生编程计算两个数的最大公约数和最小公倍数。大多数学生会受困于小学数学中学过的短除法方法:用一个一个公因子依次去除两个数,直到商是互质的。对于手工计算,这种方法当两个数都不太大,公因子比较容易找且不都太大的情况是非常容易且直观的。但是用计算机套用这种思路编程时就会遇到麻烦:手工计算式公因子是直观“看”出来的,而计算机是没有办法一下子猜到一个公因子的。但是利用循环,这个问题就迎刃而解。按照定义,最大公约数,就是最大的可以整除两个数的数,最大不会超过两个数中较小的一个,只要用循环,从两个数的最小值开始,一个一个尝试,每次减1,找到一个能够同时整除两个数的数,就是答案而不必继续找,而各种高级语言普遍都提供了求余的运算符。当两个数变得很大时,这种方法的效率很低,于是可以利用循环实现更快寻找最大公约数的辗转相除法;对最小公倍数的练习,也同样可以强化循环的学习效果。通过这些例子可以使学生清楚地意识到,数学中的计算方式转换为计算机的求解过程需要一定的转换,而这种转换正是计算思维的关键所在。

对以上几种计算训练模式,一个重要的环节是让学生在实验时犯错误,通过在计算中发生看似怪异的错误,而运算过程在数学上看来又无懈可击,才能通过仔细的错误分析与代码调试,发现按照一般思维无法发现的,由于计算机编程语言处理问题的特殊性而导致的错误,这样才能使学生对这类错误的印象更深刻,从而尽可能减少今后出现同类错误的可能。

五、结语

在程序设计的教学中,我们利用学生普遍具有长期打下的良好的数学基础这一特点,通过采取以上几种方法,让学生在解决计算问题时学会设计计算方法,逐步形成计算思维模式、加强计算思维方法,最终培养其计算思维能力。目前,课程教学改革正在持续进行阶段,已初步取得一定成果,但还缺乏更久更大范围的理论研究和实践论证。我们希望能够以这些改革措施改进理工科《程序设计》课程的教学效果,为大一学生学习后续课程打下良好的基础,使他们受到全面的计算思维训练,具有良好的信息素养,最终提升他们在走出校园进入当今信息社会时的核心竞争力。

参考文献:

[1]wingJm.Computationalthinking[J].Commun.aCm,2006,49(3):33-35.

[2]朱鸣华,赵铭伟,赵晶,etal.计算机基础教学中计算思维能力培养的探讨[J].中国大学教学,2012,(03):33-35.

[3]陆汉权,何钦铭,徐镜春.基于计算思维的“大学计算机基础”课程教学内容设计[J].中国大学教学,2012,(09):55-58.

[4]李波.计算思维与大学计算机基础[J].中国大学教学,2012,(07):43-45.

[5]冯惠妍,陈争光,邰建华,etal.程序设计中“计算思维”的教学研究[J].农业网络信息,2013,(04):120-122.

[6]王卫华.在程序设计类课程中培养学生计算思维能力的思考[J].武警学院学报,2013,(07):51-53.

[7]王先超,王春生,胡业刚,etal.以培养计算思维为核心的C程序设计探讨[J].计算机教育,2013,(13):44-47.

[8]卜晨月.程序设计与学生思维能力培养的探讨[J].林区教学,2013,(03):72-73.

[9]董卫军,邢为民,索琦.以计算思维为导向的程序设计课程改革与实践[J].工业和信息化教育,2013,(06):60-64.

[10]刘光蓉.以计算思维能力培养为导向的C程序设计实验教学[J].实验技术与管理,2013,(01):154-156+191.

[11]刘晓璐.基于计算思维的Java程序设计教学改革[J].广东技术师范学院学报,2013,(05):108-110.

[12]孙丽君,杨志强,高枚.围绕计算思维培养的程序设计课程改革[J].计算机教育,2013,(05):29-31+38.

[13]徐燕,潘亚平.计算思维与计算思维能力培养――谈大学计算机基础教学改革[J].江苏技术师范学院学报,2013,(02):92-95.

[14]商书元.计算思维培养在程序设计课程中的实践[J].教育教学论坛,2013,(39):203-205.

[15]张雪伍,常晋义.计算思维在C++程序设计教学中的应用[J].计算机教育,2013,(13):52-56.

[16]杨俊生,张润.基于计算思维的“C程序设计”案例设计初探[J].工业和信息化教育,2013,(06):65-69+64.

计算机开发语言培训篇5

关键词计算机辅助语言教学问题对策优势

中图分类号:G434文献标识码:a

problemsandCountermeasuresofComputerassisted

LanguageteachingUndernewSituation

ZHanGBing

(HarbinengineeringUniversityForeignLanguagesDepartment,Harbin,Heilongjiang150001)

abstractUnderthenewsituation,computerassistedlanguageteachinghasitsadvantageininformationtechnologyteaching,thisarticleinviewoftheteacherencounteredinthepracticalapplicationofteachingequipment,multimediaresources,poorabilityofcomputertechnologyandotheraspectsoftheproblem,putforwardtostrengthencomputerassistedlanguageteachingtheorytoguide,encourageteachersteachingsoftwareR&D,increaseschoolinhardwarecountermeasuresforthecomputeraidedteaching,buildgoodatmosphere.

Keywordscomputerassistedlanguageteaching;problems;countermeasures;advantage

随着计算机技术发展的新形势,levinson就提出了硬式技术决定论和软式技术决定论,其分析了计算机技术具有的局限性,语言教学始终占据主导地位,计算机技术对语言教学只能起到辅助效果,所以教师在教学法、知识和教学策略方面都应加深认识,发挥计算机辅助语言教学的优势。

1计算机辅助语言教学的现状

计算机辅助语言的发展历程大致可以分三个主要阶段:行为主义的计算机辅助语言教学、交际的计算机辅助语言教学和整体的计算机辅助语言教学。结合现阶段教学过程中受客观因素的制约,计算机辅助语言教学的现状主要表现在以下几个方面。

(1)教师使用计算机辅助语言教学普及率低。由于地区间经济发展不平衡,以及学校受办学条件的制约,教师对计算机辅助语言教学的应用能力还有待提高。一些学校基本建立了多媒体教室,要求教师尽量使用计算机辅助语言教学,以此作为教师授课质量的一个评价。而学校由于资金不足等原因,本身缺少多媒体教室,授课教师无法实现应用计算机辅助语言教学。由于教师年龄和层次的不同,对使用计算机教学认识程度也就不同,而且操作水平也存在差异,应用计算机辅助语言教学的能力也不相同。

(2)配套的教学课件和软件不能与时俱进性。新的课程标准,新的教材,要求实现计算机辅助教学的课件和软件具有与时俱进性,能够适应教学内容、教学方法、教学手段的多样化以及个性化发展的趋势。目前与现行教材配套的教学课件和软件虽然种类很多,但是多数课件和软件其内容都是在重复旧的教材,在课后习题基础上增加一些新的图片和视频。制作完成之后,投入使用就不再更新。缺乏时代感,不能满足不同学校不同层次的教学要求。

(3)计算机辅助语言教学缺乏新意。随着网络的普及,学生对计算机和网络已不再陌生,互联网成了学生吸取课外知识的重要工具。而在课堂上的计算机辅助语言教学,如果仍旧采用陈旧的教学课件和软件,没有实质的内容的革新,在互动性、引导性和知识连贯性上达不到预期效果,必将使计算机辅助语言教学难以在校内展开实践。

2计算机辅助语言教学优势

现代多媒体技术以图文并茂,声像俱佳,动静皆宜等丰富的表现形式,以跨时空的非凡能力,极大的增强学生对抽象事物的理解和感受,使课堂教学出现全新的境界。其优势主要分为以下几点。

2.1提高学生学习兴趣

随着现代信息科学技术飞速发展,利用多媒体教学可以使学生的兴趣和认知主体发挥作用。当多媒体,计算机网络进入学校课堂,变为新的教学资源。多媒体和网络的优势是提供文本、图片、动画、视频图像、声音等多种信息形式,其具有的形式灵活、资源共享、超媒体性和交互性等诸多特点,能创设出更接近实际教学的情景,可以虚拟化实验学习的环境空间,给学生带来全新的学习与认知的方式。充分利用信息技术所具备的特点,实现计算机辅助语言教学有效整合,为学生创造真实、丰富、立体化的学习环境,调动学生的学习动机。

2.2为丰富语言教学创设良好情境

教师充分利用多媒体,结合教材实际内容制作课件,向学生展现更加生动奇妙的语言世界。计算机网络可以为语言教学提供丰富的语言材料,古今中外无所不有。可以包括有新闻、电影、音乐、小说、教辅等。而且形式多样,有文本、动画、音频、视频等,计算机以其具有的智能化特点,为语言实践活动提供有力的技术支持,把真实的语言环境和虚拟的环境有效的结合在一起。

2.3开展计算机辅助语言教学氛围的形成

面对教育飞速发展的新形势,传统的教学手段、教学模式和教学内容都发生巨大转变。新的教育要求也需要学校充分利用自己的多媒体和网络技术资源,利用新的教学资源改变原来以教师为主的讲授教学模式,注重学生的教育主体地位,计算机辅助语言教学运用用多媒体计算机,充分利用计算机与通信技术所提供的文字、图表、声音、动画、数据、影像以及其它信息统一进行辅助语言教学的过程,更广泛的应用到实际教学活动中。《比较教育研究》系列文章中,也能得出这样的结论,开展计算机辅助语言教学应该关注学生的自身发展,教师教学方法改进以及教师计算机技术的提升,才能形成良好的教学氛围。

3开展计算机辅助语言教学所面临的问题

(1)计算机辅助语言教学能否适应学生自身发展的需要。使用计算机辅助语言教学对学校多媒体设备的要求也很高,课件包含很大的信息量,为了使教学的内容更直观、更生动,要求屏幕显示、投影仪、音响设备等配备齐全,才能引起学生学习的兴趣,而不是枯燥的走过场。

(2)计算机辅助语言教学能否实现差异化教学。manning认为尽管合作计算机辅助教学优于个体计算机辅助教学,但它不应该认为是绝对的教学方法,而只是常规教学的补充。由教师为主的操控多媒体教学软件到学生自主学习的软、硬件,课堂交流由人与人之间的交流,变成与多媒体的人机交流,这样的交流模式会使教师因为多媒体的快捷而忽略学生的主体的地位,难以满足不同学生的学习特点和要求,达不到对全体学生一视同仁的进行一致的语言训练。

(3)对教师开展计算机辅助语言教学知识和技能的培训。随着计算机辅助语言教学深入到学校的教学中,教师具备的计算机知识和操作水平参差不齐的问题逐渐凸显,有的教师乐于接受新鲜事物,认真探索教学方法,掌握教学技能,使用计算机辅助语言教学的水平很高,而有的教师却不能很好的应用,有的教师仅仅掌握课件与软件的基本操作,缺乏创新,反而影响正常的教学,所以有必要在学校专门开展计算机辅助语言教学知识和技能的培训,提升教学的效果。

4新形势下开展计算机辅助语言教学的对策

《网络学习社区的概念演变及构建》一书中指出,通过构建网络学习社区,使学生在社区内通过共享信息、资源和彼此的思想、观点、创意、劳动和经历来促进自身的学习和发展,学生在这种交往方式中可以体验到获取知识、机会均等、人际关系平等、自主的学习经验,而这恰恰是传统教育难以突破的。根据建构理论对展开计算机辅助语言教学有以下几个对策。

4.1树立正确的思想观念,积极转换教师的角色

教师需要正确认识计算机辅助语言教学的辅。教师改变传统的教学方式的同时,对多媒体计算机技术要有所掌握,明确计算机和多媒体技术是辅助教学的工具和手段。教师在转变思想时,也要在实际教学中转换自己的角色地位,认识到计算机辅助语言教学也不是海量信息的简单组合和堆砌,是教师以充满智慧、充满哲理的思想,赋予科学性和时代感、社会责任感的内容。这样的教学内容,不仅陶冶学生的情操,还净化了学生的心灵,能深刻挖掘学生们的潜力,用以培养学生的创新精神。对于计算机辅助语言教学来讲,理论上,教师应该密切关注教学理论,以及教学方法的新发展的动态,并且进行相关理论的探索。还要在实践上要掌握一定的多媒体教学的方法和知识,具有能熟练操作多媒体设备的能力。

4.2教师要进行教学软件的开发和制作

虽然目前市场上与教材配套的教学课件和软件,种类繁多,但是并不能完全满足各自学校的教学要求和需求。所以只有教师能成为教学课件和软件的开发者,那么计算机辅助语言教学才能与实际教学活动相结合,在真正意义上促进学生的个性化和多元化发展。学校应该多渠道的利用资源,制作一些简便的软件,并且能在原有的基础上丰富和完善,增强课件的实用性。

4.3加强对教师计算机知识与技能的培训

教师在不断增强自身的学习同时,学校也应该重视对教师培训,用先进的、科学的教学理念,武装教师的头脑,增强以计算机、多媒体和网络为主的技术培训内容。学校也应利用现有的客观条件,加强对教师定期和不定期的培训,关于教学软件如何设计、如何制作、正确使用与操作等内容,进行科学的系统的讲解与指导,并进行现场演练和操作,还可利用论坛或教育网站等来增强教师对计算机辅助语言教学科学理论的正确认识,及时在技术方面遇到的难题。通过多种渠道来解决师资与教室紧缺之间的矛盾,在给教师运用新技术多提供资金支持的同时,在配备相关软硬件设备和为教师在教学科研活动与实践方面,都要给予精神、物质上的鼓励,在新形势下把计算机辅助语言教学落到实处。

5总结

在飞速发展的信息时代,计算机广泛应用于人们生活、工作、娱乐的各个领域,在学校教学中大力开展计算机辅助语言教学,同时面临着机遇和挑战,及时对存在的问题找到相应解决的对策,发挥计算机、多媒体、网络的优势,为教育改革和教学质量提升打下坚实的基础。

参考文献

[1]余胜泉,张建伟.教育技术理论导读:信息时代的教学与实践[m].北京:高等教育出版社,2001.

[2]裘晶.社会文化发展理论指导下的计算机研究及教学[J].比较教育研究,2006(10).

[3]顾曰国.网络教育初探[J].北京:外语教学与研究出版社,2004(123).

[4]关晶晶.计算机辅助语言教学之我见[J].齐齐哈尔医学院学报,2007(4).

[5]张新明.网络学习社区的概念演变及构建[J].比较教育研究,2003.

计算机开发语言培训篇6

关键词:能力培养;程序设计;计算思维;自主学习

作者简介:金永霞(1973-),女,宁夏平罗人,河海大学物联网工程学院,讲师;刘景(1973-),男,山东费县人,河海大学物联网工程学院,副教授。(江苏常州213022)

基金项目:本文系河海大学常州校区2013年度教育教学改革项目“能力导向型程序设计语言教学及考核方法研究与实践”的部分研究成果。

中图分类号:G642.0文献标识码:a文章编号:1007-0079(2014)05-0101-02

程序设计是目前国内高校理工科专业普遍开设的一门基础课,该课程以培养学生科学的思维方法,提升解决问题的能力为目标,指导学生熟悉基本编程模式,掌握程序设计的思想和方法。很多学校在程序设计课程中都以C语言作为程序描述的工具,但在教学活动中往往把“C语言”作为重点,而较少关注“程序设计”。学生虽然投入了大量的精力去学习C语言的语法,但面对一个实际问题时还是不知道如何去编程解决。笔者结合多年的教学实践经验,着眼于学生综合能力的培养,对程序设计基础课程的教学内容、教材建设、教学模式以及实践环节方面进行了改革和实践,以帮助学生理解程序设计的基本原则和方法,训练科学的思维能力,学习如何利用计算机去解决一个实际问题,同时通过上机实践掌握高级语言的语法规则和编程技巧。

一、优化教学内容,注重培养程序设计能力

程序设计课程传统的教学内容是以语法知识为主线组织的,每介绍一个语法知识点时引入相应的例题,讲解在程序中如何运用这些语法规则,这种组织方式能够帮助学生较好地掌握语法,但容易忽视对算法思想和程序整体框架的理解,不利于程序设计能力的培养。为此笔者在授课时对教学内容重新进行整合,突出“程序设计为主,语法规则为辅”的教学思想,将C语言的主要语法在课程的开始阶段就集中讲解,使得学生快速掌握主要语法知识和常用控制结构,初步具备编写程序的基本能力。在此基础上展开算法与程序设计方法学,介绍程序设计的基本思想和原则,结合一些具体案例给出编程解决问题的一般步骤。后续在解决实际问题时再引入需要用到的复杂语法知识,这样就形成了以算法和程序设计方法为主线的教学内容。

程序设计的核心是算法,算法的本质是处理数据,为了引导学生在针对实际问题时拓展思路形成算法设计的策略,在教学内容的组织上大部分是围绕算法和数据结构展开。[1]通过实例对同一个问题提出不同的算法并设计相应的数据结构,鼓励学生积极思考探索创新,真正了解程序设计的核心和本质。由于程序设计相关内容的组织方式是一种网状结构,在学习当前知识的时候很可能会涉及后面章节的内容,这时候需要树立整体学习的观念,无需过度注重实现的细节,把程序中所涉及的所有函数模块以及数据结构置于程序设计的整体框架中,给出每个函数的功能和接口描述,整个内容学习完成后,再回头解决前面的问题。这样在教学内容中始终贯穿程序设计的方法学,重视编程能力的培养,使学生认识到程序设计课程并不仅仅是了解某一个高级语言本身的语法,更重要的是学习如何用计算机解决问题的方法,为今后专业课的学习和实践打下良好的基础。

配合教学内容的优化,笔者出版了自编的主教材《程序设计基础教程(C语言描述)》和实验教材《程序设计实践教程(C语言描述)》。主教材把程序设计的思路和方法作为重点,以算法为主线,把C语言作为描述程序的工具,从应用的角度切入,根据学生的学习规律,由浅入深,由易到难,构造了“以应用引入算法,在编程中掌握语法”的教材体系。教材把算法和语言紧密结合,一开始先引入简单的程序并介绍基本的语法规则,让学生了解程序的组成要素,会编写简单的程序。随着问题复杂度的逐步提高,算法和语法逐步深入,在编程应用中掌握枯燥的语法知识。在教材中结合具体问题分类介绍常用的算法设计策略,提供了常用的编程模式,学生在运用这些基本算法的过程中逐步理解和掌握模块化程序设计方法,为学生编写大型程序提供借鉴。

二、采用问题驱动教学模式,训练计算思维能力

计算思维是美国学者Jeannettem.wing教授提出的一种先进的教学理念,wing教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解的涵盖了计算机科学之广度的一系列思维活动。计算思维就如同“读、写、算”能力一样,是每一个人为了在现代社会中发挥职能所必须掌握的根本技能。[2]计算思维的本质是“抽象”和“自动化”,这是计算机求解问题的过程,而程序设计课程的目标之一就是让学生学会通过编程解决问题,因此在该课程的教学活动中结合具体案例训练学生的计算思维具有一定的实践基础。[3]

培养学生的计算思维,需要树立以学生为主体的学习模式,变被动接受为主动学习。为此,教师在第一堂课就向学生展示一些生动有趣的C语言程序,让学生了解C语言的应用领域,明确学习该课程的意义,激发探索研究的兴趣。在授课时采用“问题驱动,建立数学模型,设计算法,程序实现,程序测试”的教学思路,由传统的知识输入型教学模式向能力培养型教学模式过渡,力图把计算思维内化为学生的思维习惯,启发学生面对问题积极思考。问题驱动的关键是找到能引发学生兴趣的切入点,使“抽象”和“形式化”有的放矢,如提出一些有趣的逻辑推理问题“谁做的好事”、“八皇后问题”、“青蛙过河”等。首先引导学生分析问题,归纳并抽象出数学模型;然后为解决此类问题引入穷举法、递归等算法策略;最后在实现程序时介绍选择结构和循环结构等知识点。学生在解决问题的过程中既学习了方法和思路,又掌握了语法知识,同时也训练了一种严谨的思维方式和综合运用知识的能力。

计算思维是人类求解问题的一条途径,程序设计的过程就是解决问题的过程,正确理解和运用模块化方法,是培养计算思维的内容之一。教师在指导学生设计算法和编写程序时遵循模块化程序设计的基本原则,将问题分解为相对独立的小任务,引导学生建立程序的总体框架,帮助学生了解如何规划和设计一个完整程序。由于阅读程序可以帮助学生熟悉语法,拓展自己的编程思路,教学时增加了程序阅读方面的内容。在阅读程序时打破了传统的“提出问题,给出源程序,解释程序”的教学思路,按照“自顶向下,逐步求精”的程序设计原则讲解例题。同时,为活跃课堂气氛,促使学生积极思考,鼓励学生对已有算法进行完善,以模块化的方式增加程序功能并上机调试,通过实验强化编程技能,加深对结构化程序设计思想的理解。

采用问题驱动教学方法,激发学生兴趣,以经典算法为基础,大量阅读程序强化基础概念的理解,树立模块化程序设计的思想,目的都是把计算思维能力的培养有效地融入到每一堂课中,使学生具备利用计算机求解问题的基本能力。

三、强化实践环节和辅助教学手段,提升自主学习能力

程序设计是一门实践性很强的课程,学生需要足够的上机实践来训练编程能力。课程的实践包括两个阶段:一是按照课堂授课进度适时安排基础实验内容,要求学生编程实现经典算法,在上机过程中掌握语法规则和控制结构的运用,锻炼调试程序、排错、修改、正确性测试等基本技能,基础实验贯穿整个教学过程;[4]二是在课程结束时,设置独立的项目设计实践环节,要求学生针对一个实际问题,综合运用所学过的知识设计算法、实现程序,训练学生分析问题解决问题的能力、对知识的综合运用能力、创新能力和编程能力。项目设计实验在实施时以分组形式展开,把一个项目按功能划分成若干模块,组内成员分工合作,每人根据自己的能力选择一个模块任务独立完成,力图使每个学生都能在自己原有的基础上有所收获和进步。实验中碰到的问题可以在组内讨论解决,成员之间互相帮助,增强个体之间的沟通能力,形成一个良好的学习氛围,有助于学生的自我管理和自主学习。实验环节注重过程管理,从实验预习、实验操作、记录审签、实验报告、实验考核等方面随时考查记录学生的表现。[5]具体的过程管理方法为:学生在上机前就做好算法设计、编写源程序以及设计测试用例的工作;上机时主要调试、修改程序;在每个模块的程序完成后,教师检查验收程序并记录验收结果;学生在实验完成后提交实验报告,报告中重点分析阐述自己所承担的模块任务;在验收考核阶段,要求每位学生运行演示自己的程序并回答问题,教师根据学生在整个实验环节中的表现进行考核。

为了方便学生在课余时间的学习,笔者开发了程序设计教学辅助系统,系统包括平时练习、上机考试、修改题目、试卷处理、学生平时练习统计五个功能模块,教师利用此平台可以录入题目,供学生平时练习使用。考虑到学生对参加计算机等级考试的需求,笔者按照等级考试的题型和要求,提供难度相当的上机练习题,强化学生的实际动手能力。在学生上机所使用的实验教材中,针对每个知识单元都给出了详细的程序范例和课外上机的题目,希望在课外没有指导老师的情况下,学生能按照教材的指导独立完成上机实验。

强化实践环节和辅助教学手段,规范实验过程管理,能够督促学生重视平时的上机练习,为学生的自主学习提供支持。学生通过动手实践真正掌握编程技能,从该课程的学习中有所收获,避免了平时不努力,考试之前突击复习应付考试的不良现象。

四、结束语

对程序设计基础课程进行改革,目的是让学生掌握程序设计的思想和方法,在以后的学习中能利用高级语言编写程序来解决本专业领域中的问题,对提升学生的计算机应用能力具有积极的促进作用。课程改革在实际教学应用中也取得了较好的效果,近年来学生在江苏省计算机二级考试中达到了较高的通过率,并且在“蓝桥杯”全国软件设计大赛中获得了一、二、三等奖的好成绩。以能力培养为导向,优化教学内容,编写特色教材,采用启发式教学模式,强化实践环节和辅助教学手段,对程序设计类课程的教学改革做出了有益的探索,有利于学生对本专业课程的学习,对提升学生的专业能力具有重要意义。

参考文献:

[1]丁海军,金永霞,景雪琴,等.程序设计基础教程[m].北京:清华大学出版社,2013.

[2]Jeannettem.putationalthinking[J].CommunicationsoftheaCm,2006,49(3):33-35.

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

计算机开发语言培训篇7

关键词:程序设计;教学改革;课程设置

程序设计课程通常由一系列的课程构成,其教学改革的问题已经有不少专家从不同的角度进行了探讨,如文献[1-3]等。程序设计的能力构成了计算机专业人才的主要能力之一,特别对于软件类、信息管理类方向的学生来说,程序设计的能力通常是衡量学生学业成绩的主要能力。因此,在高等院校中,除了计算机类专业,很多理工科的其他专业都非常重视程序设计课程的教学。程序设计教学的改革与实践不但对提高计算机类专业的教育教学质量具有重大的意义,对于提高理工科类其他专业的教育教学水平同样具有重大意义。特别是在新办本科院校中,如何开设和开好程序设计课程,是值得深入研究和探讨的一个问题。

1程序设计课程的历史与现状

随着计算机科学与技术的发展,程序设计课程的教学内容和教学方法发生了重大且深刻的变化。三十年前,我国高校的计算机课程一开始是开设程序设计课程,因为当时计算机的应用还不够普及,所谓程序设计课程也只是与数值计算有关的内容。后来,随着计算机应用水平的普及,高校要求开设程序设计课程的专业越来越多,而且计算机程序设计的语言也越来越多,曾先后在高校各专业中开设过的程序设计课程有:Basic、algol、Cobol、Fortran、pascal、Foxbase、VisualBasic、VisualFoxpro、C/C++、Java等。目前不同专业都会从这些语言中挑选一门作为程序设计的入门课程来开设,然后有关专业还会从中再选择一门作为提高课程开设,之后再选择算法与数据结构、网络编程、数据库编程或其他应用编程作为进一步学习程序设计的课程。

由于多年来学者对计算机程序设计的认识存在着不同的看法,因此教学过程中也出现各种不同的做法,比如重视语言中语法要素的讲解和学习,重视程序结构的理论描述,重视语法细节的学习,而教学计划中教学时数是有限的,教师对程序设计的方法论方面的教学只好一带而过,学生学完程序设计课程后对程序的理解、对应用软件中出现现象的理解、对拿出工作中遇到问题的解决方案等还是很欠缺。很多学生学完一学期的程序设计课程后,所能做的只是按照书本上的程序敲一遍键盘,运行一遍程序。

因此,对程序设计课程教学进行研究和改革具有重大的现实意义,对提高相关专业特别是计算机类专业的教育教学质量亦具有非常重大的现实意义。

2程序设计教学改革的理论与实践

2.1教学目标应该是分层次的

通过长期的教学实践和思考,我们认为程序设计的教学目标应该是分层次的。

首先不同专业的程序设计课程教学目标应该是分层次的,因为不同专业的培养目标不同。现在有相当一部分的专业都在开设程序设计课程,特别是有相当多的专业都要求开设C语言程序设计课程,我们应认识到程序设计课程对不同专业学生在将来工作中所起到的重要作用。要求所有专业的学生将来都与程序员一样来解决工作中所遇到的问题是不现实的,他们将来在实际中遇到的问题可能是非常繁琐的,或者计算量很大,或者数据处理的要求很高,或者实时处理要求很高,但事实上,这些工作所需要的能力是将问题提出来,抽象成一种计算要求。软件工程就是提出问题的需求,然后判断程序员给出的需求分析是否与问题的需求相符。而这正是需要程序设计的知识和理念,也正是相当多的专业开设程序设计课程的目的。

例如计算机科学与技术专业、软件工程专业、网络工程专业,对于程序设计课程的要求必然会有所不同。软件工程专业的培养目标决定了对程序设计课程的要求较高,而计算机科学与技术专业的毕业生毕业后很多只是从事与计算机相关的工作,对于程序设计课程的要求相对来说只是培养计算思维。

其次,计算机类专业开设程序设计课程的教学目标也应该是分层次的。就计算机类专业毕业的学生来说,毕业后也不是所有的学生都从事软件开发,还有相当一部分的学生从事计算机系统的维护,甚至从事计算机系统的应用,多数学生毕业后从事与计算机应用系统相关的工作,一大批新办本科院校计算机类专业的学生更是如此。因此,应该根据学生毕业后可能从事的工作岗位对程序设计课程的教学目标有所区分。特别是对一大批女同学,她们毕业后甚至只选择与计算机应用相关的工作。这样一批学生学习程序设计课程的目的与将来从事软件开发的学生是有所不同的。

正是社会对于计算机应用人才的需求是多层次的,造成计算机程序设计课程的教学呈现出不同的层次需求,这也正是程序设计课程的魅力所在。程序设计课程的教学目标应该根据具体情况,分出合理的层次。要根据不同专业及方向、不同的就业岗位设计出不同的课程教学目标和课程教学要求。

2.2教学过程中应重视教学方法

明确了程序设计课程的教学目标后,就要设计出合理的教学方法来实现教学目标。我们通过调研和实践发现,相当多的教师喜欢过度讲解程序设计语言中的语法现象和语法要素,由于课程教学时数的限制,结果导致程序设计方法的教学过于欠缺。我们认为如何控制好程序设计语言的教学与程序设计方法的教学关系是程序设计课程教学的关键所在。

我们认为,为了提高程序设计课程的教学效率,应该改变以程序设计语言为主线的教学方法,同时以程序设计语言和程序设计方法为教学主线。学习完一种语言语法要素后,要重点学习如何应用该语言语法要素,如何解决一些有现实意义的问题。

程序设计方法的教学要重点选择具有代表性的问题,从问题的描述、存储结构的选择、算法的描述、结果的分析多方面来考虑。同时要对问题的扩展及思考的方向留给学生课后进一步思考,将进一步提高学习的可能留给有潜力的学生。

我们选择Josephus问题作为一个重要例子,因为该问题的存储结构可以选择数组、链表、队列等,而且算法可以有不同的选择和描述,特别是问题本身还可以有拓展,比较适合不同层次的学生进行不同程度的训练。

2.3训练应是全方位的

我们通过长期的调研和实践,认为对学生的程序设计能力的训练应该是全方位的。除了课堂上思维的训练、实验课上实习实验的训练外,课后的训练也是很重要的。组织学生参加各种比赛、设计各种趣味程序的训练、让学生参加到教师科研项目中软件代码的编写等,都是很好的训练方法。

实习实验课程对训练学生的程序设计能力是最基本的。首先要重视实习实验课程的教学管理,每一次实习实验都要有基本的目标要求,要有基本的训练项目,同时要根据实际情况分层次设计,最好开发辅助的系统来管理学生的实验完成情况。对于刚开始学习程序设计的学生来说,要重点训练学生解决问题的规范性,也就是说编写的程序是否符合目前技术上的规范要求。而对于经过一段时间程序设计训练的学生来说,重点应该训练学生思维的开放性,鼓励学生创新程序设计的方法,从不同的侧面来考虑问题,提出解决方法。

对学生的课后训练,我们主要是针对一部分对程序设计课程兴趣较浓的学生提出一些问题,或者让学生提出一些在实际生活中遇到的问题,然后对问题进行分析,得出模型,进行软件需求的分析与设计。由于学生众多,提出的问题也会多种多样,教师主要是帮学生指出思考的方法,提出解决问题的可能方向,提供可以找到的参考资料。

总之我们认为,对学生程序设计能力的训练可以有各种各样的方法,可以全方位地对学生进行训练。

2.4课程考核应是多样化的

在高等院校开设任何一门课程,最终必然要涉及到考核问题。考核方法的不科学,对实现课程的教学目标必然会大打折扣。目前考核课程的主要方法有书面闭卷考试、上机考试、提交实验报告和实验作业、提交书面作业。我们认为除了上面这些考核方法以外,还可以将参加软件设计比赛、部级计算机等级考试、软件设计师考试,参加教师科研项目中程序代码的设计与编写等纳入程序设计课程的考核。考核的要求也可以分层次来处理。凡达到基本考核要求的学生可以给予70分,而达到更高要求的学生可以在此基础上增加分数。让学生通过努力可以达到基本要求,付出更多的辛勤可以得到更高的分数。

书面考核目前还有保留的必要,取消书面考核会让学生养成一个习惯,拿到问题不是先思考,而是立即坐到电脑前开始敲代码,结果编程的质量不高。尽管程序设计最终的代码要在电脑中运行,但思考和设计应该在电脑之外。我们认为前面提到的任何一种考核方法都有其积极的一面,也有其欠缺的一面,任何一种考核方法都不能代替另一种考核方法。因此授课教师要根据学生的情况设计出合理的考核方法组合来引导学生的学习。通过学习和考核后,学生能真正理解程序设计的思想,在工作中能够用程序设计的思想看待问题、解决问题,正确理解计算机软件解决实际问题的原理。

当然,所有考核中,我们认为机试是最重要的,建议上机考试的比例不能低于40%,但也不是比例越高越好,特别是对于程序设计的入门课程,提交实验报告和实验作业也要有一定的比例。具体各个项目的考核比例要与当前教学班及学生的情况而定。

2.5课程开设应与具体的专业接轨

目前学习程序设计课程的学生数量巨大,清华大学出版社出版的谭浩强老师主编的《C程序设计》教材重版多次,发行数量巨大,也正说明了这一点。清华大学出版社出版的其他种类的程序设计教材同样也种类繁多,数量巨大,说明高校中开设程序设计课程的专业众多,学习程序设计课程的学生数量巨大。我们认为,各专业和各专业方向在开设程序设计课程时要有所选择,特别是在程序设计语言的选择上要兼顾专业特色、毕业生毕业后从事的岗位设计要求,同时要考虑目前程序设计技术的进步。目前二三类本科院校和新办本科院校中的一些专业容易在开设课程中跟风,别人开设什么课程,也跟着开设什么课程。不同的专业和专业方向,要真正认真研究本专业及专业方向的培养目标,研究开设程序设计课程在实现培养目标中的地位和作用,选择合适的教学内容,采用合适的教学方法,提高教育教学质量。

3结语

在高校各相关专业中开设程序设计课程是一个系统工程,该课程在不同的专业和专业方向中地位有所不同,其知识范围及培养的学生能力在不同就业岗位中所起的作用也有所不同。随着计算机科学技术的进步,随着计算机应用的发展,程序设计语言、程序设计方法也会随着变化和发展,程序设计教学改革的研究也会不断深入。

参考文献:

[1]付沙.高校程序设计课程教学改革与实践[J].计算机教育,2010(2):21-24.

[2]刘世华.计算机语言类创新教育课程设计实践体会[J].计算机教育,2009(11):51-53.

[3]贺海晖,石林祥.“面向对象程序设计”课程建设的实践与体会[J].计算机教育,2009(5):37-38.

myopinionsonteachingReformaboutprogrammingCourse

ZHonGZhichu

(ComputerSchool,JiayingUniversity,meizhou514015,China)

计算机开发语言培训篇8

【关键词】程序设计;以赛促教;启发式教学;趣味教学

一、课程定位

程序设计基础这门课程是在学院第一个学期开设,共有56个学时,这门课是学校计算机应用技术专业的一门基础课程。学院对此专业的培养方案的初次岗位定位中有软件开发技术员岗位。根据计算机程序员岗位的职业要求,具体工作流程总共分为五部分:需求分析、系统设计、程序设计、程序调试、交付与维护。不难看出程序设计在其中占有至关重要的地位。程序设计基础课正是来源于此,该门课程是培养程序设计员基本程序设计能力的一门基础课程,在计算机应用技术专业人才培养方案的课程体系中属于专业技术课程中的基础课。

《程序设计基础》是直接面向程序员职业岗位的一门课程,课程的学习目的是使学生掌握结构化程序设计的基本方法,培养程序设计的思维能力,为后续课程《C#程序设计》、《数据结构》、《weB程序设计》、《面向对象程序设计》等课程的学习奠定基础。

二、课程设计

为了符合学院提出的“走进校门的是大学生,培养出来的是职业人”的育人理念,和计算机应用技术专业要培养具有优势职业品质与技能,面向现代服务业培养管理、服务第一线岗位的高素质技能性职业人的专业目标,《程序设计基础》的课程设计思路是以培养程序设计能力为目标,以实战项目为载体,实现教、学、做一体化。

在教学过程中以案例为先导,学生完成演练为手段。这门课程要达到的品质目标是以能力与知识相结合、以培养全面发展的具有优势品质与技能的高素质应用性职业人为培养目标,培养学生严谨细致、求真务实的工作作风和良好的团队协作精神。技能目标是掌握结构化、模块化程序设计方法与技能、培养自主学习独立思考能力。知识目标是学会C语言的基本语法,掌握基本的算法、能够编写基本的C语言程序。

课程内容的选取依据计算机程序员岗位需求、典型工作任务、行业技术动态发展趋势、高职学生特点,分为理论教学和实践教学,课时分配是1比1,其中实践教学每一个模块都以项目案例为导向,案例大多选自杭电的aCm平台,同时也配备了为了激发学生学习兴趣老师自己创作的案例,比如剪刀石头布游戏,猜数字游戏等。

高职学生属于高考最后批次,文化基础知识相当欠缺,体现在C语言上,英语出错提示看不懂,甚至有学生反映在C语言中的英语语句关键词都不认识,在数学上同样存在基础相当差的问题,成为学习C语言的极大障碍。学生从小接触计算机就在windows下运行,习惯了用鼠标,而C语言运行在用键盘的命令行界面上,一个字都不能输错,对初学者有一定难度。这门课程的重点是:三大基本语句程序的设计、数组的定义与引用、函数的定义与参数传递;课程的难点:选择与循环的嵌套、函数嵌套与递归调用、指针等。针对学院高职学生的特点,对于重难点的解决方法是从提高学生学习主动性方面突破首先,要激发学生的兴趣,包括两方面的内容:第一兴趣教学,尽量选取学生感兴趣的题目或项目进行教学,如猜数游戏,石头剪刀布游戏等。第二实用教学,解决学生学了有什么用的困惑,尽量选取贴近生活实际的题目,如百元钱兑换方案、谁是骗子等,让学生感受到学后能解决问题的小小成就感。

三、教学实施

教学实施流程分为三个阶段:准备阶段,实施阶段和总结阶段。在准备阶段中,根据课程标准,主讲教师组织任课教师讨论,选择典型的工作任务,制定教学计划。实施阶段以学生为主体,以教师为主导,以职业能力培养为中心,融‘教、学、做’为一体教学。总结阶段主讲教师组织任课教师讨论,提出存在问题,找出解决方案。

针对课程特点,灵活使用“启发式教学”、“趣味教学”“任务驱动”等方法,突出“理论教学构筑学生的知识结构,实践教学构筑学生的职业技能结构”的教学原则。课程教学全面推行“学中练,练中学”教学思路。

接下来以循环结构的第一次课为例来阐述一下教学流程:学生对循环结构没有概念,对while和dowhile语句也不感兴趣,为了提高他们的学习积极性,首先使用五分钟的时间情境导入,选取杭电aCm平台上面的三个案例:猜数字游戏,百钱百鸡问题,谁是骗子,在学生对将要学的知识有了一定的期待后,用十五分钟的时间讲解相关的语法知识,接下来通过解决案例的方式教师给学生示范编程,并且给学生留出一定的时间自己动手实现,最后十分钟进行总结反思。

这门课程的教学评价由三部分组成:其中平时成绩和课内实验成绩分别占20%,期末笔试成绩占60%。

四、教学条件

程序设计课程有一支不论是年龄结构还是职称结构都比较合理的教学团队,每个老师都有自己的优势,有的具有多年的企业编程经验,有的主持多项相关的省级课题,有的对指导学生程序竞赛有丰富的经验。此外课程聘请杭电aCm集训队教练刘老师担任学校aCm集训队特聘教练,刘老师也参与系相关的实习实训活动。

该门课程的教学资源也很丰富,主要包含以下几个部分:教学大纲、授课计划、教材、实验实训项目指导书、多媒体教学课件、网上C语言精品课程、试题库、图书资料等。教材选用谭浩强教授编著的《C语言程序设计》,系周岳松老师自主研发了客观题在线测试软件,该软件分为教师版和学生版,教师版可用于平时随堂测试,学生版可用于学生自主学习,网络资源主要有C语言网等。学院也提供了相应的硬件支持,设有软件开发实训室、大学生程序竞赛实训室等多个实训室。

五、教学效果

校内督导组和校外专家都对《程序设计基础》这门课程给予了充分的肯定,专家评语是以项目为导向,以任务驱动,符合高职教育教学特点,以提高学生的编程能力为宗旨,能较好符合企业对软件人才的需求。

迄今为止,该专业共有一千七百余人修了这门课程,取得了丰硕的成果。我校代表队参加了十届浙江省大学程序设计竞赛,共获32块奖牌,尤其去年今年连续两次获得专科组的特等奖,同时四次获得优秀组织奖。除了aCm竞赛,在蓝桥杯比赛中我系学生也取得了不错的成绩。

通过这门课的学习,锻炼了学生的逻辑思维能力和基本程序设计能力,为以后的工作和创业打下了坚实的基础,2008级计应学生林清瑞,曾经参加aCm竞赛并获得银奖,自主创业,建立了杭州安豆信息技术有限公司,从事手机游戏开发。2003级计应学生黄道笑,自主创立了杭州五角星科技有限公司,从事网站开发。2010年公司销售额超过了200万;2011年被评为杭州市高新技术企业;2012年被评为杭州市雏鹰计划企业。

六、课程特色

这门课程特色:以赛促教,赛教结合。把aCm竞赛平台里面的题目融入到平时的教学过程中,也会把平时表现好的学生充实到竞赛集训队伍里面;教学结合,学以致用,教师指导,学生自主研发一些小游戏,比如石头剪刀布的游戏。

参考文献:

计算机开发语言培训篇9

论文关键词:合作办学,计算机专业,双语教学,教学研究

1双语教学的模式选择

双语教学(Bilingualteaching)是指在学校里使用第二语言或外语进行各门学科的教学[2],本文讨论的是除汉语外,使用英语进行的教学活动。目前国内开展的双语教学主要有以下三种模式[3]:(1)沉浸模式:课程资源及教学活动全部用外语进行,让学生沉浸在指定语言环境中;(2)双语过渡模式:保证学生学习领会学科知识的情况下,母语和外语灵活互为教学活动的主体语言;(3)保持模式:以母语维持理解和交流过程,强调外语的组织教学,外语学科词汇、概念的渗透。我院2006年开始与加拿大荷兰学院开展计算机信息系统等专业的合作办学。根据合作协议,教学活动全部采用CBe教学模式[4],专业课程必须按照加方提供的教学大纲要求,达到既定的能力培养目标,所有专业课程全部采用双语教学。

2计算机专业双语教学面临的问题及对策

计算机科学的主流技术发源与发展大都集中在美国,经典的计算机教材和专业文献也大都产生于美国。无论是操作系统命令,还是高级程序语言,均是基于英语发展而来的。当前计算机领域最先进的技术与产品也多数产生于美国,大量先进的技术论文等资料都是以英文撰写的。无论是阅读产品资料,还是与国外技术人员或客户打交道,都要求计算机行业的从业人员必须具有相当的国际交流能力。因此,计算机专业教育中采用双语教学是可行的,也是非常必要的。但在实际的教学实施中也存在很多问题。

2.1双语教学目标定位不清

作为专科层次合作办学的现状是:学生基础较差,外语能力不高;教师的双语授课经验有限;指定的外文教学资源有限。在这种情况下双语教学的目标定位尤为关键。不能因为合作办学就强力推行全英教学,把专业课当成英语课,课时消耗大,教学目标也不能达到,给学生和教师都带了很大的压力。

2.2师资的选拔与培训

为了保证双语教学的顺利实施,每学期加方派出2名资深专业教师到我方授课2-3周,要求我方教师参与教学观摩;同时每年我校都将派出4名教师到加方进行3个月的培训学习。参加培训的教师是在学校范围内公开考核,选拔出的英语水平高、责任心和上进心强的专业教师。培训方式包括加方教师来我校培训和外派教师出国培训两种。

2.3教学大纲领悟不透

根据我校与荷兰学院的合作协议,学生必须完成加方专业体系的所有课程,每门课程的教学必须按照教学大纲(outline)的要求实施。其教学大纲由it企业、教育部门、学校等部门组成专门委员会制定或修订,能够反映当前计算机行业对于从业人员的知识技能要求,并通过iSo9001:2008质量认证[5]。

2.4缺乏优秀的教材及教学资源

由于加方课程体系与国内有一定差异,教材选取我们双语教学中遇到的首要问题。在国内找到合适的中文教材或翻译教材也比较困难,而且缺乏配套的教学资源,给教师备课带了很大的困难。

2.5传统的班级模式制约教学效果

国内一般采用传统的班级授课方式,严格要求课堂教学的完整性和规范性,而且班级人数较多,不便于课堂活动的组织安排,教学效果不佳。尤其是学生层次参差不齐,部分学生对专业知识不感兴趣,对英语授课排斥,导致专业课变成了专业英语课。

3教学经验的初步总结

经过近几年合作办学的开展,我们对三年制专科层次实施双语教学的模式进行了深入的探索,逐渐解决了办学初期的一些问题,教学经验日益丰富。

3.1英语运用水平和计算机操作技能并重

目前,我们采用“一年英语基础强化,两年计算机专业技能提升”的培养模式。即在一年级时开设综合英语、口语、听力等多门英语课程,聘请外籍教师授课,强化学生的英语基础,并采用灵活多样的形式建立良好英语授课环境,提高学生对英语的学习兴趣。二、三年级开设计算机专业课程,强调学生对计算机操作和应用能力,以及核心理论知识的理解和专业术语的掌握。

3.2建立完善的教学资源

为了便于学生理解和独立自学,满足不同层次学生需求,我们的课程均准备了中英文双语资源。例如《数据库管理》课程,教学资源包括教材(中文)、教学参考书(英文)、中英文教学ppt、专业术语对照翻译、试题库(中英文)、电子教案、SQL语句练习题目、综合项目实例等。充分利用网络辅助教学,所有教学资源均放到校园网天空教室上面[6],对所有学生开放,保证学生随时学习下载。

3.3合理组织课堂教学

课堂教学是实施教学活动的核心,课堂组织是否合理、教学方法是否得当会直接影响课程的教学效果以及学生的学习效率,努力营造轻松和谐的课堂氛围,提高学生的学习积极性和主动性。针对《数据库管理》课程实践性强、应用范围广的特点,适量减少理论教学,增加实践课时,强化学生理解和使用SQL语言的能力,提高学生开发简单数据库应用系统的能力。

3.4组织多种形式的课外活动

在院系内外开展灵活多样的课外学习活动,提高学生学习的积极性和热情,鼓励学生参加计算机技能大赛、大学生艺术节、挑战杯大学生课外学术科技作品大赛等。针对计算机专业,院内每学期会举办计算机装机大赛、计算机知识抢答赛、个人原创作品大赛、网页制作比赛、文献翻译等竞赛类项目,并给与大范围的奖项和奖励。鼓励教师在日常课堂教学中采用小型游戏类项目,调动学生的学习积极性。

3.5成绩评定公开透明

双语教学考核目的是检查双语环境下学生对专业知识和概念的理解和掌握,避免一张期末试卷定分数的弊端。我们的考核方式是按照加方指定教学大纲中成绩评定方法而详细计算机的,不同课程考核方法不同。

4小结

中外合作办学计算机专业有其独特性,开展双语教学能够使最准确地理解专业知识,理解国外的课程体系及其教学方式,可强化学生英语的听、说、读、写能力,为出国深造打下良好的基础。教师应该提供丰富优秀的教学资源、采用有效的教学方法和手段,让所有层次的学生都能很好地理解双语课程中的知识,逐步培养学生的独立思维能力和对知识的探索精神。相信在学校、教师和学生三方共同努力,积极主动探索与实践,总结经验,双语教学的教学效果会不断提高。

参考文献:

[1]冯晨昱,李桂山,奥喜平.国际化视野下我国高校双语教学模式的研究[J].高等理科教育,2009(2):156-159.

[2]朱瑜.高校双语教学浅析[J].文教资料,2006(24):26-27.

[3]杭波.双语教学在计算机专业中的实[J].高教探索,2007(6):136-138.

[4]许学军,吴晓渊,樊为民.CBe教学模式在高职教育教学中的应用研究[J].镇江高专学报,2007(1):100-102

[5]HollandCollege.QualitymanagementatHollandCollege[eB/oL][2010-09-15].hollandcollege.com/quality.

计算机开发语言培训篇10

[关键词]教学方法案例教学教学效果

C语言程序设计是计算机专业的基础课,在整个课程体系中占有重要地位。在C语言教学过程中,教师的教法和学生学法的差异,对教学效果都会产生直接的影响。针对学生学习语言课程的一般思维规律和思维模式,进一步探讨适合专科院校学生的教学方法,对以后的C语言程序设计教学有所帮助。

一、C语言教学中的问题

C语言程序设计是一个逻辑性很严谨的课目,学生在设计程序时常常感到无从下手。其原因可分为两个方面:一是所使用的教材,在每一章节介绍完概念之后,提供一些例子加深学生对概念的理解,针对本章中出现的内容提供一些练习题。用来测试学生对各章节中的基本概念记忆和理解程度。二是学生更多关注的是教材中的典型例题,对于程序的系统概念没有真正掌握理解,没有整体设计的概念,在做练习题时涉及到综合编程部分感到困惑。学生在学习的过程中,没有注意到如何综合运用相关内容解决具体问题,以导致学生在学完程序设计课程时,进入应用阶段,面对具体的专业设计要求无从下手。

二、提高教学质量的途径

通过C语言课程的学习,学生应正确理解C语言的基本概念,掌握语句的格式及用法,编写出优化的实用程序。我们知道C语言课程强调的是实践性,对于计算机语言课程的教学不应仅仅是传授知识,应该以培训能力为主,过分强调该语言的系统性和完整性可能会转移学生对课程重点的注意力。在规定的课时内教师讲解不可能面面俱到,所以授课时必须突出重点,突出实用性,遵循理论与实践相结合的原则。教师应始终坚持以应用为中心,以算法为基础,以培养学生的实践能力为核心,突出技术实用性和学习能力的培养。

程序设计课程具有很强的实践性,要以社会对编程能力的需求和技术发展为依据,调整教学内容,以适应技术岗位能力要求。在课程设置与建设中,要充分体现教学内容在培养学生实践能力方面的需求,适当增加实训教学内容,以强化学生的实际开发和应用能力。

C语言程序设计,注重由设计算法到书写程序并进行调试的整个过程,显得抽象复杂。在教学过程中,应该先介绍一个较完整的程序例子,该例子包含了语言中的主要语句,目的是使学生先对程序有个初步的印象,再简单介绍该例子中用到的语句,让学生对该语言的学习有一个大概的了解。整个教学过程中应该把“解题思路、方法和步骤”当作授课的重点,从而让学生明白如何分析、解决实际问题,逐渐培养学生进行程序设计的正确思维模式。

三、突出教学重点

算法是程序设计的灵魂,是教学重点,也是教学难点,一个优化的程序必有一个好的算法。而语言只是表示形式,没有正确的算法,计算机将解决不了任何问题,对于C语言所涉及到的算法,应进行部分精讲多练。通过案例分析,讲解程序设计的思想和方法,将课程内容分为若干个主题,以程序设计做为贯穿各主题的主线。每个主题的教学过程由“要点讲解”、“练习上机实践”和“疑难解答”三个阶段组成。基于问题的教学提出问题,以学生独立完成为主,教师只提供必要的辅导,培养学生探索问题和解决问题的能力。将C语言的知识点溶化到一个个实训项目的程序编写中。在课程初期,主要是进行单项的编程练习,重在掌握C语言的基本语句、数据类型与程序结构等。在进入数组、函数、结构、指针和文件内容教学时,开始实训项目的编程实践,逐步组建“教师管理系统”,并且添加文本菜单,整合扩展记录添加、排序、查询、统计和记录浏览等内容形成课程设计。

四、激发学生的学习兴趣