前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的计算机编程初级教学主题范文,仅供参考,欢迎阅读并收藏。
关键词:C语言;程序设计;互助学习;教学改革;趣味学习
中图分类号:TP312.1-4;G652
C语言作为一种功能强大的通用编程语言,被广泛应用于系统和应用软件的开发[1-2],大多数计算机专业将其作为第一门程序设计语言。
对于初学者,C语言具有抽象、使用灵活等特点,这给程序的编写、调试、阅读带来了许多不便;在编写代码的过程中容易遇到难以下手、语法、系统等问题,很容易使学生失去兴趣[3-4]。
针对学生学习C语言存在的困难,分析了困难的内在原因,对现有的C语言程序设计课程实验课程进行改革,充分调动学生对C语言学习的积极性、主动性和参与性。
1 C语言学习困难的内在因素分析
对于初学者,往往觉得C语言学习比较困难,其原因主要包括:
1.1 专业背景不充分
初学者对计算机基础知识了解不够充分;没有深刻理解现代计算机的体系结构――von Neumann体系结构的核心思想――存储程序思想。如果不能很好地理解基础知识,必然使程序设计停留在一个比较浅显的层面,不能体会程序设计的艺术性、创造性等独特魅力。
1.2 文科式学习方法
学生对计算机专业的学习方法还停留在“文科”学习方法,症状表现为:上课能听懂,书上的例题也能看明白,可是到他们自己动手做编程时,却不知道如何下手。其所谓的看懂听明白,只是用文科的方法记忆或了解肤浅的语法知识。C语言程序设计是一门工科性课程,如果没有深刻地理解C语言的语句的执行过程是不会编写程序解决实际问题的。“纸上谈兵”式的光学不练是学不好C语言的,只有使用C语言自己编写代码解决了实际问题的学习方法才是正确的方法。
1.3 算法分析不够
初学者认为计算机是“全能的”,计算机就能自动完成事情。而事实是:现在的计算机智商几乎为0,要想让计算机完成预先给定的任务,就必须告诉计算机“做什么”以及“怎样做”。因此问题解决就是设计一个做事情的步骤,告诉计算机第一步做什么,第二步做什么,…,最后一步做什么。而人是通过程序设计语言来引导计算机完成这些工作,因此还需将每步实现转换为具体实现的程序代码,其中需要涉及对步骤过程进行抽象、总结、发现这些步骤过程中的规律等,而这一步往往是计算机编程的最难一步,恰恰是这一步使得大部分学生“知难而退”,从而造成学生不想学程序设计的最主要的原因。
2 C语言编程能力逐步提高步骤
C语言作为一门实践性很强的课程,实践能力的培养是学好C语言的关键环节,为了提高学生的编程能力,将C语言程序设计过程分为如下4步:
第1步:验证性练习。这一步要求学生首先把书本上的例程读懂,然后按照教材上的程序实例进行原样输入,运行一下程序是否正确。
这一步要求:基本掌握C语言编程软件的使用方法,熟练地输入、编辑C程序;初步记忆所学章节的知识点、养成良好的C语言编程风格。输入程序前,要让学生知道程序中包含的变量个数、变量类型、每个变量“扮演”几个角色、每条语句的功能、整个程序算法思想是什么、第一步做什么,第二步做什么,直到最后一步做什么都应该清清楚楚,只有这样才是真正的代码输入,而不是“打字练习”。遇到错误时,从第一条错误开始逐条进行修改,每改正一个错误就立即编译直到程序运行成功为止。
第2步:局部改动。在第1步输入的C程序代码的基础上进行试验性的修改并运行,看看程序结果发生了什么变化,分析结果变化的原因,加深对所学知识点的理解。这一步和第一步是同步进行的,实现“输入”加深知识的记忆,“修改”加深对知识的理解。记忆和理解是相辅相成的,相互促进。
如:编写程序实现1+2+3...+100之和。
#include
void main()
{int i,sum=0; //变量定义
for(i=1;i
sum=sum+i;
printf("sum=%d\n", sum); //结果输出
}
第1次:将for(i=1;i
第3步:照葫芦画瓢。在书上已有例程的基础上,设计出具有相似功能的程序。比如:书上例程给出了求1―100的和,在给学生布置上实验作业时,可以布置求2+4+6+…+100、或求1*2*3*4*…*n等相类似的实验作业。这样,学生就能在求和程序的基础上就行小幅度的改进,实现新的程序设计。
第4步:进阶提高。经过上述过程,学生已经基本掌握了C语言,就可以研读别人编写的C语言经典程序,学习他人解决问题的方法和程序设计的技巧,提高自己的程序设计能力。在此基础上,逐步用C语言解决一些实际问题。
3 C语言实验课程改革
由于编程是一件相对比较枯燥和烦闷的工作,而学生又处于青春活动期,因此在C语言实验课程中根据学生的特点,进行如下改变:
3.1 趣味+实际应用编程
兴趣是最好的老师,激发学生学习兴趣是教学成败的关键[5],可激发学生的兴趣,提高学生学习的主动性和积极性。在计算机程序设计中恰当地引入趣味性的数学知识,如:我国古代数学名的数学问题:百钱买百鸡、36人搬36块砖等问题。同时,可将现实生活中的一些实际问题,如给定打电话的时间(单位:秒),计算每次打电话的费用。通过引入趣味数学和实际应用问题,锻炼了学生的编程能力,又解决了学生认为学习C语言不能解决实际问题的苦恼。
3.2 题目分级
根据实验编程题的难度大小,分为:初级、中级、和高级3个等级。其中,初级难度的程序设计题目一般比较简单,包括内容为书上的例程、和例程相类似的题目,初级难度题目评分区间为0-70分。中级难度的编程题的难度逐渐提高,学生根据相关的背景知识,做一定的分析就可比较容易地将程序编写出来,如对于循环语句部分:设计进制转换程序、求素数等问题,中级难度题目评分区间为70-90分。高级难度编程题目的难度较大,需要做大量的分析、较好的编程技巧才能,如:约瑟夫问题、螺旋矩阵等,高级难度题目评分区间为90-100分。
对于不同难度的题目分别给出3-5个实验内容,学生可根据自身的学习情况,选择不同难度的题目进行编程(至少要选择初级难度的题目完),这样既考虑了学生的实际学习情况,给予不同的选择。同时,对于有能力的学生,在完成一定难度的设计题目后,可申请向高级难度题目进发,只要能完成高级难度题目,其评分就按高级难度分值重新评定,促进学生的自主学习。
3.3 分组+“陪审”
为充分体现学生在学习中的主导地位,在实验中引入了分组模式。以小组为单位对案例进行分析、探讨,激发他们解决问题的灵感和方法;让小组的人在不同的程序题目中分别扮演不同角色(如题目分析、程序设计、程序测试、文档编写),充分调动学生学习的积极性和参与性。
在实验课程中,每次随机抽取3-5个小组来向全班同学讲解题目设计思路、想法、程序代码等内容(为充分调动每个同学的积极性,防止部分同学的懒惰型,每次讲解的人不同),让剩余的每个小组随机抽取1人组成“陪审团”对讲解小组进行评价和提问(包括设计的原理、代码等),并给出讲解小组的成绩。实践中表明,最佳的学习小组合作人数应在4到6人之间。
3.4 综合试验
在C语言程序设计第一节课时,布置5-7个综合性试验,如“学籍管理系统”、“职工管理系统”、机房收费系统“等,每个小组选择1个完成。综合试验融合了C语言程序设计的所有知识点,编制一个超过200行左右的代码对学生是一个大的挑战,需要学生考虑方方面面的东西,如界面的友好性,数据合法性验证等,既锻炼了学生分析问题、解决问题的能力,又锻炼了学生编写小规模代码和文档书写能力。
3.5 实验报告
文档书写也是一个编程人员必备的能力,因此,每次实验需要学生编写一个实践报告,报告的主要内容包括:实验的目的和内容;算法或关键技术介绍、实验代码、实验过程代码出错原因、分析及修改;多组测试数据及对应的测试结果、算法的可能改进、体会及编程心得。通过实践报告的撰写,促进学生对算法的进一步思考,进一步熟悉C语言的语法知识,培养高效、精炼的编程风格。
4 结束语
本文针对学生学习C语言方法的缺点,提出了通过四步来逐步提高学生的编程能力;提出了对编程题目进行分为初、中、高三级,提出趣味编程、以及分组+“陪审”模式的实验改革。实际教学证明,这些方法能充分调动学生学习C语言的积极性、参与性,学生编程能力有较大提高。
参考文献:
[1]维基百科.C语言[EB/OL].http:///wiki/C%E8%AF%AD%E8%A8%8
[2]Kernighan B W,Ritchie D M.The C Programming Language (2nd Edition)[M].New York:Prentice Hall,2001.
[3]陈庆利.基于工程实践能力培养的C语言教学改革[J].计算机光盘软件与应用,2013(21):215-216.
[4]侯宏霞.提高“C语言程序设计”课程教学质量的探索与实践[J].内蒙古师范大学学报:教育科学版社,2012(01):131-133.
[5]赵君,钟良骥,卢社阶.C语言教学方法的探索―基于学习兴趣的教学改革[J].湖北科学院学报,2013(03):85-87.
作者简介:陈庆利(1975-),男,四川眉山人,副教授,博士,研究方向:数字图像处理。
关键词: 高校计算机专业 人才培养 现状 对策
21世纪,人类社会已从工业时代进入信息时代。随着信息技术的不断发展,计算机作为现代化工具进入了人们的生活和工作,人们对计算机知识的了解越来越多,计算机知识不再为计算机专业学生所独享。在这样一种社会背景下,高校如何培养计算机专业人才是一个非常值得探讨的课题。
一、高校计算机专业人才培养现状
现在的高校计算机专业人才培养中存在很多问题,科班出身的学生找不到工作,而从培训机构出来的插班生却很吃香,导致很多计算机培训机构走俏。
(一)专业特长逐渐淡化。
随着信息技术的不断发展,计算机在各行各业得到了普及和应用,懂得计算机操作已不再是计算机专业学生的特长。同时,很多企业都实行了信息化管理,各种各样的信息系统层出不穷,而在进行专业培养时,系统研发方面的知识不再被计算机专业所独有,信息管理、管理科学与工程、财会专业等很多经济管理类专业都开设了《管理信息系统》,这些专业的学生除了具备专业知识之外,对于系统开发的知识也有了解,恰好满足了市场需求:在系统开发过程中,除了要具备计算机专业知识外,更需要具有与行业相关的专业知识。因此,计算机专业的毕业生在行业领域中并没有很大竞争力。
(二)课程设置不合理。
目前国内高校计算机专业在教学计划的设置上遵循统一的模式:不管学生将来的走向,统一地安排课程,为学生灌输计算机软件和硬件方面的基础知识,培养出来的学生也是一个模子,导致学生对课程不感兴趣。一个比较现实的例子:计算机日常使用中问题在课程设置中并未涉及,科班出身的学生解决不了,而我们在计算机组成等课程中介绍的计算机知识学生缺乏兴趣,学起来觉得很生硬。
(三)讲授方法不当。
目前高校计算机类课程的授课学时一般分为两部分:理论课和实验课。理论课的讲授大多采用传统方式:老师利用PPT课件在多媒体教室里为学生讲解,实验课在机房进行,由老师根据上课进度自行安排。这种讲授方法存在很大的弊端:学生上课学到的知识无法及时在操作中得到验证,仅靠课程后期的几次上机课根本无法提高学生的编程能力,很多学生白白地将时间浪费掉,导致课程学习一无所获。
(四)动手能力差,就业形势不容乐观。
通过调研我们发现:高校计算机专业学生经过四年的教育没有几个能够自行完成一个软件系统的开发,但是培训机构的学生由于培训中老师手把手地传授知识,动手能力却强过大学生。另外,其培训的内容紧跟社会发展需要,当前主要以JAVA和.NET编程语言为主,虽然学费过万,但具有就业诱惑,这也是培训机构走俏的主要原因。
二、高校计算机专业人才培养对策
(一)重新定位人才培养目标。
高校应以社会发展需求为导向,培养符合市场需求的高素质人才,具体来讲,对计算机专业学生应采用分类分层次培养的原则,将人才培养分为考研和就业两大类,这两类学生的课程设置和教学方法应各具特色,按需培养。
对于就业部分的人才培养可参考“计算机技术与软件专业技术资格(水平)考试”进行初级、中级、高级层次的分级。初级资格包括程序员、网络管理员、信息处理技术员、电子商务技术员、多媒体应用制作技术员、信息系统运行管理员。中级资格包括软件设计师、网络工程师、信息系统监理师、电子商务设计师、软件评测师、多媒体应用设计师、数据库系统工程师、嵌入式系统设计师、计算机辅助设计师、信息系统管理工程师、信息技术支持工程师。高级资格包括信息系统项目管理师、系统分析师、系统构架设计师。通过对学生进行认证考试课程的培训,帮助学生通过认证,学生在就业时即可持证上岗。
另外,财经类院校在培养方案中应体现财经管理背景的培养。一方面,在课程设置上,可适当安排经济管理类课程。另一方面,鼓励学生辅修经济管理类第二专业,弥补专业特色淡化的缺陷,发挥财经类院校学生的特色[1]。
(二)帮助学生做好大学生活规划。
在高校的入学教育中,每个专业都会请专业教师做专业介绍,让学生对自己所学的专业有所认识。在这个过程中,我们可以做得再多些,从学校专业发展现状与社会发展需求两个角度出发展开介绍,让学生在了解专业特点的基础上对自己的大学生活做一个规划,如何通过四年的学习实现自己制定的目标,防止学生四年过后觉得时光虚度。
(三)关于课程设置方面的建议。
1.根据学生将来就业的方向,适当地安排课程。
对于考研的同学,应根据目前的考研趋势,针对统考课程加大课程学时安排,对于计算机专业基础课,为了应对复试,必须尽早安排,避开大四比较忙碌的阶段,学生精力不集中,导致学生知识结构不完善;对于就业的同学,应根据“计算机技术与软件专业技术资格(水平)考试”的考试内容,设置专业课,保证一定的证书通过率。
2.基础课设置。
在基础课设置上,增加计算机日常使用及维护方面的一些基本知识的介绍,如计算机组装,最好能够进行实例演示,让学生有拆装的机会;另外,为了能够发挥财经类院校学生的特色,可开设经济学,管理学,以及会计学课程,拓宽学生的知识面。
3.增加选修课,给学生自由选择的空间。
对于喜欢软件的同学,以目前软件行业的主流设计语言作参考,可多设置几门编程语言;对于从事网络或其他方面的学生,也应该考虑其特点设置课程;另外,目前计算机专业毕业的学生,就业无非软件、硬件、网络这几方面,在广告设计,FLASH动画设计的从业人员中仅有少部分毕业于计算机专业。计算机专业的学生对这方面的知识知之甚少,因此,在课程设置上,应根据市场需求,根据学生爱好兴趣特长,适当地扩大学生就业面,将有此方面特长的学生挖掘出来。
(四)提高学生的综合素质。
招聘会上用人单位的反馈意见表明,大部分IT公司都谈到了计算机专业人才综合素质问题。资料表明企业在选择应聘者时优先考虑的前五项因素[2]依次是:持续学习能力;独立解决问题的能力;沟通能力;职业道德和责任心;参加过项目或者实习,有团队合作意识,排在其后的才是学习成绩。可见,与学习成绩相比,企业更看重学生面对新事物的再学习能力及面临新问题的解决能力。因此,高校在进行计算机专业人才培养时,不能满足于让学生具备某种专业知识和技能,而主要是培养他们具备可以不断学习和创造知识的能力和素质,有较强的适应能力。
(五)教学内容与讲授方式的改进。
随着信息技术的不断发展,计算机已经成为各行业必备的办公工具,学生在进入高校之前对计算机已经有了一定程度的了解,相对而言,当前计算机专业的教学内容有些过于陈旧了。因此,高校应根据信息技术发展的需要,适当调整教学内容,删除陈旧、过时的知识,以最新技术,最新知识为主,让学生掌握计算机技术发展的最新动态。
讲授方式的改进着重体现在编程语言的讲授过程中,应改变传统的多媒体教室授课方式,在实验室授课,尽量做到每位学生一台机器,采取边讲边做的方式,这样有助于学生对知识的掌握,并且学生可就实验中出现的问题发出进行提问,等待老师做现场解答,直接将问题在课堂上消化,提高学习效率。
(六)加强学生实践教学。
对于计算机专业的学生来讲,实践经验非常重要,现在的招聘单位非常重视学生的实际动手能力,对于学生在校期间的作品极其看重,而大学生缺少这方面的机会,没有实战经验。这个问题的解决可从以下几方面入手。
1.课程设计。
每门课程结束之后,学生应能利用所学知识,自行编写一个小软件。目前各高校的教学计划中不乏课程设计,但是学生的设计成果却让人不敢恭维,抄袭成风。因此,在这方面,应加强实际执行力度,任课老师不能让学生有蒙混过关的想法,在课程设计过程中必须强调设计质量,必须是自己的作品,不准抄袭,否则不予及格。学生在重压之下,不得不静下心来认真学习,认真设计,这样方能达到课程设计的初衷。
2.加强校企合作,为学生提供实习机会。
校企合作可以充分发挥高校和企业在人才培养过程中的各自优势,采取“走出去”和“请进来”相结合的培养模式。“走出去”即带领学生深入生产第一线,“请进来”是指把生产一线的专家技师请进学校。另外,校企合作也给教师提供了很好的机会[3],教师的专业知识扎实,但缺乏实际应用经验,在实训中,可选拔专业教师到企业进行充分调研,然后根据企业实际情况制定出符合学生特点的实训项目。学生通过实训可真实地感受并了解企业的工作方式,实现与社会需求的零距离接触,增强思维能力、沟通能力和集体意识,激发学习热情。
3.依靠教师的项目带动,让学生加入教师的科研中。
高校学生很少有机会参与到实际的项目开发中,尽管有了课程设计,做出了软件,但与实际项目的要求仍有很大的差距。高校教师一般都有科研项目,可吸收专业里的优秀学生加入项目中。另外,也可以根据学院办公室,团委的工作要求,开发一款适用于学院发展的系统,当然,开发过程中,老师的参与指点是必不可少的。
4.组织、鼓励学生参加竞赛。
学校可每年定期举办网络设计大赛、软件设计大赛、动画设计大赛等各种IT比赛。另外,鼓励学生积极参加全国性的高水平的计算机竞赛,真正与高端计算机水平接轨,并指定优秀教师为他们做指导。国际知名的编程大赛[4],如ACM编程大赛、IBM编程大赛、Google编程大赛等都是面向全世界高校学生。通过参加竞赛,学生可以接收到平时书本上没有的,远远高于书本的知识,提高实践能力,培养主动思考的能力和团队协作精神。
参考文献:
[1]余绍黔.商科类院校计算机专业人才培养及特色研究与实践[J].计算机教育,2008,(24):61-62.
[2]孙西朝.地方高校计算机专业人才培养的定位[J].教育与职业,2011,(17):135-136.
关键词:Linux;操作系统;课程体系
中图分类号:G642 文献标志码:A 文章编号:1674-9324(2013)44-0239-02
一、引言
操作系统是计算机专业本科生的核心专业课程,然而其理论性较强,学生理解不够透彻,尤其是对多进程、多线程和内存管理等部分内容。由于Linux操作系统开源,以及良好的可移植性,可靠的安全性,已从最初的服务器领域。迅速扩展到互联网、嵌人式系统、桌面系统以及信息安全领域等各个方面,得到了广泛应用。人才市场对Linux系统管理和开发人员的需求也越来越大。因此对计算机相关专业本科生而言,学习好Linux操作系统,不仅有助于理解操作系统原理,还能提升学生编程能力,提高未来就业竞争力或研究生阶段科研能力。广义的Linux操作系统学习涵盖多方面的知识和内容,不仅包括常规意义上的Linux操作系统,还涉及Linux系统在不同领域的应用、基于Linux平台的软件开发、以Linux和开源软件技术为核心的各类IT解决方案等。本文主要探讨Linux操作系统课程体系和课程设置。
二、Linux操作系统课程体系
文献5将Linux技术细分为9门课程,全面覆盖了从Linux技术基础应用到各类Linux技术高级管理和开发的各个层面。其中,教学目标方面,分为应用、管理和开发3类,教学层次上,根据课程的难易程度分为初级、中级和高级3类。该课程划分非常详尽,然而过于复杂。为保证教学内容设计的科学性和合理性,笔者结合在二本和三本计算机相关专业Linux操作系统课程教学经验的基础上,将Linux操作系统教学内容分为如下四部分:第一部分是Linux基础应用,第二部分是Linux应用编程,第三部分是Linux内核分析,第四部分是Linux内核编程。
1.基础应用。本部分主要讲解Linux系统简介和系统安装、Linux常用命令、Linux系统目录、Linux用户和工作组管理、Linux进程和日志管理、Samba服务器配置、Web服务器配置、RPM软件包管理等内容。
2.应用编程。本部分内容主要讲解Linux编程工具和Linux下系统调用编程。Linux编程工具:标准脚本语言Shell编程如包含一个或多个命令的组合、选择、循环语句、函数等。Linux下文本编辑工具vi和emacs、C和C++语言编译工具gcc、调试工具gdb、自动化编译工具make、版本控制管理工具CVS等;图形化界面集成开发环境QT简介。Linux下系统调用编程:如文件的基本访问函数如打开、读、写、查找、关闭文件、权限控制、获取文件信息等;进程系统调用如获取进程ID、不同的方式system、exec、fork建立新进程、信号机制、进程终止等;线程的建立、取消、退出、同步和互斥等;进程间通信操作如共享内存、信号量、消息队列、映射内存、管道、命名管道、网络通信Sockets等。
3.内核分析。本部分内容主要讲解Linux内核体系结构和Linux内核简介、Linux内核启动过程;Linux进程管理如Linux进程控制块PCB、Linux进程状态、Linux进程创建和进程调度策略等;Linux内存管理如MMU、Cache、内存加锁和保护、物理空间管理、内存的申请和释放、虚拟内存管理、Linux分页管理等;内核文件管理如Linux虚拟文件系统VFS、ext2和ext3文件系统、文件操作、proc文件系统等;Linux设备管理如字符设备管理与注册、块设备管理与注册、块设备的请求队列、设备驱动程序、网络设备等;Linux系统管理调用。
4.内核编程。本部分内容主要讲解Linux内核编译过程如内核目录结构、配置内核、编译内核、启动内核、查看内核状态等;Linux内核模块编程如内核模块实现机制、内核模块与应用程序的区别、内核模块编程简单实例、内核模块插入、查询、卸载等操作;内核驱动编程包括内核空间和用户空间、驱动设备的注册与管理、驱动设备模块设计、编程、调试、编译、插入、建立设备、用户程序调用等。
三、Linux操作系统课程设置
由于Linux操作系统课程学习内容较多,且实践性比较强,学生需要循序渐进、逐步吸收和消化。可将Linux操作系统课程拆分成两门课程:Linux操作系统(上)主要讲解Linux系统应用及编程、Linux操作系统(下)主要讲解Linux系统内核分析及高级编程。此外,还可开设1~2个课程设计,提高学生的动手和实践能力。
1.Linux系统应用及编程。可在大二下或大三上开设Linux操作系统(上),主要讲解Linux基础应用和应用编程。建议在学了C语言、操作系统、C++之后开设32~40学时(包括实验课8~16学时)。
2.Linux系统内核分析及高级编程。可在大三上或大三下开设Linux操作系统(下),主要讲解Linux内核分析和内核编程。建议在学了C语言、数据结构、操作系统、计算机网络、计算机组成原理之后开设40~48学时(包括实验课8~16学时)。
3.1~2个课程设计。Linux操作系统是一门实践性很强的课程,实践是学好这门课程的主要途径。可在大二和大三期间做1~2个与Linux应用编程和Linux内核编程相关的课程设计,如网络流量监测、嵌入式驱动程序开发等。通过课程设计,培养学生的实践能力,提高学生的创新意识。
四、结语
本课程设置方案适合二本和三本计算机相关专业的Linux操作系统的教学,通过Linux操作系统的学习、不仅有助于理解操作系统原理,还能提升学生编程能力,提高未来就业竞争力或研究生阶段科研能力。
参考文献:
[1]文东戈,王旭.Linux操作系统原理实验教学平台的设计与应用[J].实验室研究与探索,2008,27(5):63-65.
[2]杨海鹏,魏巍.Linux操作系统的教学与实验研究[J].吉林工程技术师范学院学报,2007(23):60-62.
[3]梁正平,纪震.高校Linux课程体系建设研究与实践[J].计算机教育,2009(5):87-90.
[4]应毅.针对实际应用的Linux实验教学研究[J].计算机教育,2010(20):139-142.
[5]梁正平,申向军,洪皓.Linux创新教学实验中心的建设与探索[J].实验技术与管理,2011,28(12):127-131.
>> 留学生汉语学习中的汉字思维解析 非计算机专业留学生的计算机基础课程教学研究 汉字结构与汉字部首对留学生汉字学习的影响研究 基于计算机游戏技术的留学生入学教育模式探讨 医学院校外国留学生计算机教学的研究与探讨 初级阶段留学生汉字学习策略研究 医学留学生计算机应用水平调查及分析 留学生全英计算机实验教学研究 针对不同学习阶段的留学生的汉字教学法 面向华裔留学生的汉字学习文本的获取 加强高频汉字的学习 提高留学生写听读用能力 计算机辅助美术教学的数字化学习理念研究 对日留学生的汉字教学策略 浅谈零基础留学生的汉字教学 留学生书法课中的汉字教学 计算机辅助语言学习与学生自主学习之间的关联 计算机编程类课程辅助学习系统的设计和实现 计算机辅助设计教学中的网络学习板块分析 多种学习理论视野下的计算机辅助教学设计探究 计算机辅助概念设计中的协同设计 常见问题解答 当前所在位置:百度百科.计算机辅助教学词条.
[3]Sternberg,R.J.&Wagner,R.K.1982).Automatization failure in learning disabilities.Topics In Learning&Learning Disabilities,2(2),1-11.
[4]陆炳甫.如何利用电脑辅助中文阅读[J].世界汉语教学,1996(1).
[5][6]叶淑仪、王瑞.电脑辅助中文教学的心理分析[J].广州大学学报(社会科学版),2003(10).
[7]Mayer,R.E.,&Moreno,R.(2002). Aids to computer-based multimedia learning. Learning and Instruction,12(1),107-119.
[8]Kuo,M-L.A.,& Hooper,S.(2004). The effects of visual and verbal coding mnemonics on learning Chinese characters in computer-based instruction. Educational Technology Research and Development,52(3),23-34.
[9]Baddeley,A.(1986). Working memory.Oxford University Press New York.
[10]SchnotzW.,(1993),Some remarks on the commentary on the relation of dual coding and mental models in graphics comprehension,Learning and Instruction,3,111-155.
[11]http:///jrzg/2010-07/29/content_1667143.htm国家中长期教育改革和发展规划纲要(2010-2020年).
[12]谢锡金,祁永华,罗陆慧英.多媒体电脑辅助学习汉字的理论与设计[A].首届小学汉字教育国际研讨会论文集[C].1994,08.
[13]徐通锵.“字”和汉语的句法结构[J].世界汉语教学,1994(2).
近年来C语言作为计算机语言在国内外得到迅速推广应用,在程序语言使用中排名第二,只和排行第一的JAVA语言相差甚微。其功能丰富,表达力强,使用灵活方便,目标代码运行效率高,兼有高级语言与低级语言的许多特点,几乎所有操作系统都支持C语言开发。“C语言程序设计”在高校相关专业往往是编程的入门课,从“门外汉”变成“门内汉”的过程不仅需要学习基础概念、编程知识、编程方法,还需将自己的智慧转换成计算机能够识别的代码,这个转换过程需要我们学会用计算机的思维方式方法解决问题。所以,学习C语言、设计算法、编写程序的教学,就是对学生进行思维方式引导和培养的过程。
1 教学现状
C语言程序设计课程一般在大学低年级开设,该阶段的学生大多数没有编程基础,甚至于一些计算机的基础知识也似是而非,仅停留在计算机的使用上,对于计算机能够实现各种操作的原因不了解。刚开始许多学生认为学习编程和学习应用软件的使用一样,在不长的时间内就能够成为编程“高手”。而C语言程序设计作为编程的入门课,首先必须讲授编程的一些基本概念,比如常量、变量、数据类型、运算符、表达式等。这些内容相对显得枯燥,部分性急的学生要耐心学习。因为这些内容是编程的基础,需要学生深入掌握,由此对学生的心理就要有所把握。
随着教学内容的推进,有些学生慢慢跟不上进度,课上听得懂,但自己编程就不知从何入手,究其原因,其一是对算法没有掌握,其二是对这门语言了解不够。算法是编程的思路,有了算法,才可能写出程序,如果学生对算法不理解或者掌握不够,则直接影响编程。除此之外,如何将现成的算法用C语言描述出来,许多学生仍然不很熟悉。
2 教学内容与目的
C语言的教学是从常量、变量、运算符、表达式等基本概念开始,逐步引导学生进入与计算机沟通交流的初级阶段。这不仅要使学生掌握这些基本概念,还需要让学生理解这些就是编程的素材。C语言解决的所有问题最终都需要用语句来描述,而语句是由这些语言要素所构成,怎样把常量、变量、运算符、表达式灵活地组合成解决问题的语句,是编程的关键。类似我们把汉语的一个个单词组合成表达特定含义的语句,C语言的常量、变量、运算符、表达式相当于词汇,将它们组合成完成特定要求的语句。在结构化编程中,学生只能从总体到具体,逐步细化、逐步分解,只有知道计算机能够执行什么后,才能写出算法乃至程序。
学习编程语言很难像学习汉语一样,时时都有一个环境,只在课堂的时间接触C语言,熟悉的进程必然缓慢。课堂的作用仅在于接触、理解,而真正掌握则需要自己尽可能多的应用所学知识。也就是我们常说的“C语言的编程能力不是看出来的 ,不是听出来的,而是自己动手练出来的”。一个人知道很多汉语词汇,但不能将它们连成通顺的句子表达自己的思想,说明这个人表达能力不行。学习编程的过程中,如果只知道基本概念和知识,而不能灵活的用来解决问题,就没有意义了,因为掌握基础知识的目的是为了利用它们编写程序,让计算机完成我们交付的任务。
3 教学方法和策略
计算机只执行程序,不能告诉我们如何解决问题。我们编写程序,就需要考虑解决问题的思路和方法,并且让这些思路和方法能够在计算机上实现,这就是设计算法、编程。教学过程中可以使学生理解这些思路和方法,逐步接受计算机的思维方式,熟悉编程语言。
3.1目标定位
根据C语言的特点,将教学划分为三个阶段:第一阶段是基本语言要素,包括常量与变量、数据类型与操作符、程序的基本结构、数组与指针、函数;第二阶段是高级程序设计要素,包括结构体、变量的作用域、模块化程序设计、文件;第三阶段是课程设计,要求学生解决一些实用的问题。
第一阶段的教学可以为每章列出一个提纲,指出重点和难点。例如,讲授“操作符与表达式”时,重点强调C语言的许多语句都是通过表达式来描述,运输符的优先级和结合律是表达式的核心,如果牢记了运输符的优先级和结合律,在读懂程序的过程中就可以做到事半功倍,而数据类型、变量、常量则一带而过。这样既可以提高课堂效率,又避免学生因过于繁杂的内容失去耐心。又如,讲解数组与指针时,区分数组名与指针变量的相同与不同,许多学生还会纠结引入指针的必要性,但通过解释类似邮件快递的具体地址与惯常用名在收件速度上的不同,则增强学生对指针变量的理解。总之,难易结合,通过简单易懂的例子解释复杂问题,需要死记硬背的基本概念则通过读程序、改写程序得以加强,由此为自己编写程序打下良好的基础。
第二阶段的教学是在学生已经掌握基本语言要素的基础上展开。这时可以延续前面的教学模式,用少量的时间对知识要点大致讲述,不过多涉及细节问题,布置较大的案例程序进行分析和练习,总结所学知识。本阶段要遵循循序渐进的原则,先要求学生读懂程序,再修改部分程序、观察程序的运行结果,然后要求学生对解决类似的问题尝试着编写程序,最后摆脱开熟悉的命题,提出完全陌生的问题让学生解决。
第三阶段是课程设计,教师提出的选题要能调动学生的兴趣和参与热情,既实用又不至于让学生产生畏难情绪。例如,编写学生学籍管理、输出企业的人事管理等。该阶段是对前期学习的总结。
3.2设立案例库
案例库的质量将影响教学效果。因此案例必须:
1)典型性,能够覆盖课程的相关知识点。
2)实用性、趣味性,便于调动学生的兴趣。
3)针对性,要考虑到学生的接受能力。
4)系统性,案例间要相互联系。
例如,讲解数组与指针的时,列举了一个例子,给出利用下标法编写的程序,要求学生修改为利用指针编程。另外,提醒学生如何正确使用一维数组和二维数组。
例题:已知5个学生3门课程的成绩。求:(1) 每个学生平均成绩;(2) 每门课程的平成绩;(3) 总平均成绩。
思路:
1) 定义二维数组score[5][3]存储成绩;
2) 定义一维数组st_aver[5]存学生平均成绩;
3) 定义一维数组cu_aver[3]存课程平均成绩;
4) 定义变量aver存储总平均成绩。
源程序:
#include
int main()
{ float score[5][3];
float st_aver[5],cu_aver[3];
float sum,aver;
int i,j,t;
for(i=0;i
{ printf(“input a shudent score:”);
for(j=0;j
scanf(“%f”,&score[i][j]); }
for(i=0;i
{ sum=0;
for(j=0;j
sum=sum+score[i][j];
st_aver[i]=sum/3;}
for(j=0;j
{ sum=0;
for(i=0;i
sum=sum+score[i][j];
cu_aver[j]=sum/5;}
sum=0;
for(i=1;i
sum=sum+cu_aver[i];
aver=sum/3;
for(i=0;i
printf("%6.1f",st_aver[i]);
printf("\n");
for(i=0;i
printf("%6.1f",cu_aver[i]);
printf("\n");
printf("aver=%f\n",aver);
return 0;}
需要注意的是让学生自己编程,除了布置课后作业,课堂上的练习也非常必要。因为教师很难控制课后学生到底用了多长时间去编程或思考编程,但是让他们在课堂上的练习又要占用大量时间,这和紧张的课时有冲突,作者认为比较折中的办法是编程时教师多用板书,由此在板书过程中带动学生跟着思考,部分代码教师可以特意空出来,告知学生这部分代码要做什么事,然后可以由学生补充完整。
3.3项目教学策略
“大任务”与“小事件”是教学改革的核心。所谓“大任务”是指能够结合大部分知识点,并具有实用性,它是学生在经过C语言程序设计第一、二阶段的学习后,必须完成的项目。所谓“小事件”是某个具体知识点,可以是语言要素,也可以是一小段典型案例(例如,选择排序)。在整个教学过程中,“小事件”是“大任务”必要的准备,是实现“大任务”的基础;“大任务”是“小事件”的延伸和拓展,是“小事件”的综合运用,两者相辅相成。
例如,在完成第一阶段语言要素的讲授后,就布置课程的综合设计题目――学生成绩管理系统。将“大任务”分解成若干“小事件”,并标注出每个“小事件”涉及的知识点、解决问题的思路和着重点,让学生带着任务去学习,使学生有目的的吸取知识,提供学习效率,然后通过这个项目,将所学知识整合起来,完成一个实用系统。由此让学生认识到所学知识的意义,并更加激发其学习兴趣。
案例教学的目的就是要调动学生学习的主观能动性,让学生带着问题去学习、探索,在寻找解决问题方案的过程中掌握知识。
4 结论
关键词:高职院校;计算机专业;程序设计;分层教学;导师制
中图分类号:G712 文献标识码:A 文章编号:1672-5727(2012)03-0037-02
高职院校计算机专业的主要任务是培养从事计算机软件设计、计算机操作和计算机硬件维护的专门人才。因此,程序设计语言是高职院校计算机专业学生的重点学习内容。近年来,随着国家的发展及科技的进步,计算机已应用到我们生活、学习和工作的各个方面,社会对计算机专业人才的需求越来越大,特别是对从事软件程序编写的“蓝领”人才,可以说,软件程序编写的“蓝领”人才是当前和未来几年的紧缺人才。高职院校计算机专业应承担起培养合格的初、中级软件程序员的任务,为社会输送更多的合格的软件设计“蓝领”人才。然而,当前国内软件设计人才仍呈现缺口大、需求旺盛的状况,软件设计人才短缺的现状依然存在,高职院校培养的学生在知识、能力和素质方面都不能适应社会需求,这是由于一些高职院校计算机专业在程序设计课程教学中存在一些不可忽视的问题,主要表现在以下几个方面。
首先,生源素质下降。扩招使得一些低分的考生进入高职院校,导致学校生源素质整体下降。同一所学校、同一个专业的学生在知识水平等方面素质个体差异很大,给日常教学工作带来极大的困难。而现行的教学模式仍然是传统模式,同一个班级甚至多个班级集中上课,不考虑学生的个体差异,导致基础好的学生“吃不饱”,基础差的学生“吃不了”;另外,扩招使得高职院校的学生数量大规模增加,而教师的数量并没有随着学生数量的增加相应地增加,导致师资力量严重不足。每位教师承担着繁重的教学任务,要同时给上百甚至几百个学生授课,教师疲于上课,没有时间和精力对学生进行课后辅导和监督,使得基础好、想学习的学生由于学习中遇到问题得不到及时解决,慢慢地对程序设计课程失去信心,基础差或不想学的学生更由于缺少监督而放弃学习。
其次,对实验实践教学重视不够。教师在教学中多重视理论教学,而忽视了实验实践教学方面的引导和启发,学生上机实验的目的性不强,任务不够明确。往往一个教师一次课要指导几十个甚至一百多个学生上机实验,对学生实验操作过程、实验内容难以控制,不能达到预期的实验效果。
再次,教师对程序设计教学认识的不足。以培养从事软件设计的“蓝领”人才为目标的高职计算机专业,应将程序设计教学贯穿于学生的整个大学阶段。然而,很多教师都认为讲完一门程序设计语言课后,该门课程的教学任务就完成了,从而不再积极地对学生进行及时的指导和帮助。
针对上述问题,笔者在近几年程序设计教学的基础上,进行了一些尝试和探索,取得了显著的教学效果。
实施分层教学,促进不同层次学生的发展
分层教学即根据学生个体差异,将学生分成不同层次,在教学活动中,对不同层次的学生提出不同的要求,实行不同步的教学进度,运用恰当的教学策略,调动学生的学习积极性,促使每一个层次的学生都能得到最好的发展。
计算机专业的程序设计课程教学分层没有数学、英语等基础课分层那么简单。首先是教师的准备。一方面,在学期开学之前,承担程序设计教学任务的学科组教师应与班主任或辅导员一起,根据学生的成绩、兴趣、能力等因素对学生进行初步分层,将学生分成A、B、C三个层次。其中,A为较优层,B为中等层,C为较差层,这个分层结果不对学生公布,只作为最后分层的参考。另一方面,应从学科组中选择一名较优秀的教师承担C层次学生的程序设计课程的教学任务,同时,学科组的人员一起为不同层次的学生设计教学任务、教学目的、教学措施、考核措施、评价方法等。其次是学生的选择。在开学后的前三个星期,承担不同层次教学任务的教师,应交替利用课余时间给学生讲解程序设计课程,要求学生都要听讲,并根据听课效果,结合自己的实际情况做出选择,决定自己适合在哪一层次学习。再次,学科组应根据初次分层结果,并结合学生自己的选择结果,在征得学生同意的情况下,对部分学生的选择进行调整,将最终分层结果向学生公布,并要求学生在自己所处的层次学习。
经过分层,A层次的学生学习认真,学习自觉性高,因此,在教学上一般可不受教学大纲的限制。平时在教学中可多给学生补充课外习题,包括全国计算机水平考试初、中级程序员的程序题,并鼓励他们参加全国计算机水平考试的初、中级程序员考试。B层次的学生是一些学习成绩、学习能力等都一般的中等生,对他们要严格要求,在教学中按照教学大纲的要求,在完成基本教学任务的基础上,适当增加一些课外习题,鼓励他们参加计算机初级程序员考试或全国计算机等级考试。C层次的学生是学习成绩较差的学生,他们学习积极性不高,在教学中,教师对他们要有耐心,要求要适当降低,只要能满足高职教学要求即可,同时,也要鼓励他们向更高的目标努力。
通过分层教学,要充分调动每一位学生的学习积极性,激发每一位学生的学习热情和学习潜力,使每一位学生都学有所收获。另外,应根据学生的学习情况,对部分学生所在的层次进行动态调整。同时,同一学科组的教师要团结合作,把程序设计教学看作是整个学科组的事,而不是几位代课教师的事,群策群力,才能为国家培养出更多合格的软件设计人才。
推行导师负责制,
为学生的学习提供指导和帮助
推行导师负责制,可以为提高学生的编程能力提供更为全面的指导和帮助。随着高等教育由精英教育转向大众教育,大量的学生可以进入高校学习。刚进入大学的学生,特别是高职学生,他们在专业兴趣、专业思想、专业发展方向等方面存在着不同程度的模糊认识。笔者在给学生讲授计算机程序设计课程时,经常会有学生提出“为什么要开这门课”、“学习这门课能干什么”之类的问题。所以,我院在开设程序设计课时,推行了导师负责制。导师由熟悉程序设计语言、教学经验丰富的教师承担(包括已承担讲授程序设计课程的教师),每名导师负责15名(最多不超过20名)左右的学生,并且包含A、B、C三个层次的学生。导师要与承担程序设计教学任务的教师一起共同制定每个层次学生的课程学习任务、学习目标和学习要求,还要协助任课教师设计课堂教学方法、教学目的、教学措施等课堂教学手段。
导师还要对所指导的学生进行全面的学习辅导。在对学生进行辅导的过程中,首先,对部分学习能力差、不愿学以及不知道怎样学的学生,应指导他们尽快适应课程和专业学习要求,端正学习态度,明确学习目标,树立正确的课程观。其次,应根据所指导学生的不同层次,依据课程进度,每周布置适当的同步练习,可以是多人一题,也可以是一人一题,并应根据学生完成情况进行讲解和总结。对学生学习中遇到的问题导师要及时给予解答和辅导,对部分成绩较差的学生,要不定期给予针对性的个别辅导。最后,应根据学生学习情况,给所指导的学生布置并讲解全国计算机等级考试和计算机水平考试中的程序题,鼓励学生积极报名参加考试,对考试通过的学生,应由系(部)给予一定的奖励。同时,推荐并鼓励学生到校外的软件公司兼职,参与到企业的软件开发中去。对学生在兼职中遇到的问题应进行及时的指导和帮助,既可以使学生了解所学课程的应用,又能够使其了解自己所学的不足,从而更加努力地学习。
加强实验实训课建设,
促进学生动手能力提高
高职院校的程序设计课程教学承担着为社会输送较高素质的软件设计人才的重任。在教学中要注重对学生动手能力、应用能力的培养,使他们成为面向基层、面向生产第一线的生产技术操作能力强的高素质技能型应用人才。因此,我院在程序设计课程教学中,为了促进学生的编程能力,在注重基础理论教学的同时,加强了实验实训课的教学,将实验实训教学分成以下三个阶段。
第一阶段为课程实验,主要由任课教师根据教学进度和学生的不同层次,布置一些同步实验题,利用实验课进行上机操作指导。另外,每个导师也要根据学生的情况布置一些基础性的实验题,并根据学生完成情况进行适当的上机操作辅导。除了上课以外,计算机机房在课余时间对学生是开放的,并安排有教师进行实验辅导。这个阶段注重学生基础知识的掌握,既要加强对学生基本编程能力的培养,又要使学生养成规范编程的习惯。
第二阶段为课程实训或综合实训。是在程序设计课程结束后,用一个月左右的时间进行课程的综合实训。主要由导师负责,并邀请企业专家参与,布置一些面向企业的综合型、应用型项目,以小组合作的方式完成。注重对学生的综合能力、应用能力及团队合作精神的培养。
第三阶段为课程实习,利用暑假和暑假后的3个月,共5个月左右的时间,让学生到学校实习基地或相关企业参与程序设计工作,使学生在真实的环境中培养编程能力和职业能力。这个阶段主要由企业专家负责,导师协助管理,共同完成对学生编程能力的培养,使他们成为从事软件设计的合格的“蓝领”人才。
近几年,我院在程序设计课程教学中进行的一些尝试和探索。通过我们的努力,我院计算机专业2009届、2010届80%以上的毕业生从事软件设计工作,并受到用人单位的一致好评。目前,国家正在大力扶持软件产业,很多大中型城市都建有自己的软件园,这给高职计算机程序设计培养的软件设计人才提供了广阔的就业机会。高职计算机专业的教师应努力适应高职教学要求和社会对软件人才的需求,在教学中积极探索适合高职教学要求的新的教学模式,为国家培养出更多、更好的软件设计人才。
参考文献:
[1]刘丽峰.高职院校计算机程序设计课程教学改革初探[J].科技创新导报,2009,(16).
[2]游贵荣.高职计算机程序设计课程教学改革的研究[J].福建商业高等专科学校学报,2008,(3).
[3]刘宏群.构建高职英语课堂和谐教学模式[J].辽宁高职教育,2009,(2).
[4]陈冬妮.高职院校导师制的构建[J].职业技术教育,2008,(5).
关键词:计算机基础;网络应用;分层次教学;MOOC
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)16-0162-02
随着我国军事实力的不断增强,我国积极采取灵活务实的军事外交手段来提升国家和军队的国际影响力。为外国军队,特别是第三世界国家培养高素质的军官,是我国军事外交的重要手段之一,具有重要的现实意义,为我军软实力的增长发挥着重要的作用[1-2]。
1 外训教学的主要特点
外训教学是外训工作的重要部分,外训教学质量的好坏直接影响到到外训工作的成败[3]。有别于内训教学,外训教学主要具有以下两个特点:
1.1 教学语言以英语为主,其他语言为辅
虽然外训学员来自不同国家,不同人种,有着不同的,但大多用英语交流。因此,在外
训教学中,教员应全英语式教学,这就要求外训教员要具备扎实的英语基础。此外,也存在一些外训学员不会英语,用他国语言交流。那么,不就需要译员作为中间的纽带,将授课内容传授给外训学员,还需要教员与译员的密切配合,良好沟通。
1.2 外训学员的差异性
来自不同国家的外训学员在经济水平、文化渊源、、学历层次等有一系列的差异[3]。外军学员都是各国国家经过严格的筛选与考核而推荐来受训,因此学员具有良好的理论素质和实际动手能力。但由于各国经济水平、宗教文化、军事力量不同,所以导致外训学员呈现着以下特点:基础知识相对薄弱、水平参差不齐、国情军情文化习俗及不同、学习目的和意义不同。
2 开设《计算机基础与网络应用》外训课程的必要性
随着全球计算机的普及和计算机网络、大数据、云计算的快速发展,未来的战争必将是以计算机网络为中心的陆海空的联合作战。鉴于计算机技术在军事战争中发挥的重要地位,我校对外训学员开设了《计算机基础与网络应用》这门课程。该课程的开设为提高外训学员的计算机水平、为培养高素质、高标准的外训学员奠定基础。以下从两个方面探讨开设这门课程的必要性。
2.1 计算机技术在信息化战争中的重要地位
现代战争更趋向于陆、海、空的协同、联合作战,计算机已经成为战场信息传输的神经系统,在作战体系中发挥着重要的作用。对外训学员开始这门课程,一方面,让他们更系统的学习计算机各类基础理论知识,掌握计算机工作的基本原理;另一方面,让他们从实际应用出发,提高对计算机的实
际操作能力,包括对常用操作系统的基本操作、通用软件的操作以及基于网络的编程等。最终,待外训学员回国后,可以把所学的计算机知识迁移到自己国家,并在各自国家的军事战争的信息化建设中发挥着重要的作用。
2.2 外训学员对《计算机基础和网络应用》具有浓厚的兴趣
我校的外训学员是经过他国国家层层筛选推荐培训的,具备良好的军事素质、实际操作技能和动手能力[4]。在计算机领域,外训学员对计算机各类专业技术有着浓厚的兴趣。尤其,对计算机网络编程及各类高级程序设计语言具有强烈的兴趣。外训学员学习方向和目的明确,他们渴望掌握娴熟的计算机专业技能,渴望能将所学计算机技能应用到日后的军事工作中。
3 实施《计算机基础与网络应用》外训课程的有效教学手段
3.1 实施分层次教学
由于各国教育资源和教育水平的不平衡,外训学员的计算机基础水平参差不齐,统一的教学模式
已经无法满足现有的外训教学需求,所以分层次教学已成为外训教学改革的首选。我们很早就对《计算机基础和网络应用》开始尝试了分层次教学,并取得了良好的教学效果。
具体措施分为:首先,在外训学员入校后,采用下发调查问卷的方式进行,内容包括:是否学习过计算机基础课程及其主要内容、对计算机基础知识与操作的了解与掌握程度、对哪些计算机专业内容有浓厚的兴趣,问卷调查采用选择与问答相结合的模式进行。
其次,通过问卷调查,已经掌握外训学员的基本情况,将授课内容分为基础课程和高级课程。基础课程主要针对基础知识较差的外训学员开设,包括常用的办公软件和基本的计算机操作能力。高级课程主要针对基础知识较好,计算机操作能力较强的外训学员,开设程序语言设计等课程。
最后,在同一班次、同一课时开展分层次教学。分层次教学的最大弊端是容易产生“个体歧视”的错觉。为了避免外训学员产生“歧视”这种情况,并没有将外训学员分为初级班和高级班,而是在同一班次同一课时同时开展基础教学和高级教学。首先对外训学员授予基础教学,并布置基础教学任务。对在课上可以快速熟练完成基础教学任务的外训学员给予高级课程的授课和指导。
有效采取分层次教学可充分地调动了外训学员的学习兴趣和能动性,提高了课程授课的质量和学生的动手能力,经过实践检验,达到了良好的预期目标。
3.2 课程内容具有一定的广度和深度
该课程的授课内容覆盖面广,包括计算机的各类基础知识。例如,office办公软件、操作系统、多媒体教学、数据库、计算机程序设计基础、计算机网络等理论知识,可以让外训学员充分掌握和理解计算机的各类基础知识,有利于学生自主学习、培养外训学员的计算机基本素质、拓宽知识面。
该课程内容具有一定的深度。对于计算机基础知识较好的外训学员,授予高级语言程序设计、Flas设计、数据库编程和计算机网络编程等内容,提高了外训学员学习的兴趣和动力,提高了外训学员的实践动手能力。
3.3 采取灵活的教学方法,提高教学质量
在授课过程中,我们采用了科学有效的教学方法,包括研讨式教学、启发式教学、基于“任务”驱动的教学方法和案例教学法。对于基础薄弱的外训学员,主要采用案例教学法和基于“任务”驱动的教学方法,对于具有良好的计算机基础知识的外训学员采取研讨式和启发式教学方法。在授课过程中,我们采用理论结合实践的教学模式,不仅让外训学员掌握了基本的计算机理论知识,更重要的是锻炼了外训学员计算机的实际动手能力。
3.4 鼓励外训学员参加与计算机相关的各类活动
我校每年都开举办计算机文化节、程序设计大赛、计算机前沿技术讲座等活动[5]。鼓励外训学员参加这些活动,一方面,可充分提高外训学员的对计算机的学习兴趣和动力,锻炼外训学员实际动手能力;另一方面,方面外训学员更好的对计算机的理论知识和应用技术进行良好的交流和沟通。
3.5 考核方式的改革
《计算机基础和网络应用》这门课程在考试方面也进行了相应的改革,改变了传统的单一笔试,将课堂表现、课程实验、课后作业、期末测试纳入课程最终成绩,课程最终考核成绩=课堂表现(10%)+课程实验(30%)+课后作业(10%)+期末测试(50%),充分考查了外训学员的综合能力。
基于上述有效措施,《计算机基础和网络应用》课程已经取得了良好的教学效果。一些外训学员在学校举行的各类计算机竞赛中取得了优异成绩。
4 实施《计算机基础与网络应用》外训课程的几点思考和设想
虽然本课程已经取得了良好的教学效果,但仍需要与时俱进,不断创新,不断提高外训学员计算机的技术水平和实际动手能力。为此,我们将在今后的教学中可尝试以下教学手段。
4.1 充分利用网络平台,教学资源
随着计算机网络的不断发展,网络教学已经成为一种成熟的教学手段,可提供给学员在不同时间、不同地点自主学习。因此,将授课内容制作成网络教学资源已是大势所趋。网络教学一方面为外训学员提供了更深、更广的教学内容,让外训学员根据各自兴趣,自主选择课程内容;另一方面,借助这个平台,可以方便外训学员与教员之间的交流与互动。
4.2 积极采取MOOC、翻转课堂等教学手段
随着信息技术和互联网的快速发展,各大学将发展MOOC作为学校的“重大发展战略”,加快教育教学和人才培养模式改革,促进优质教育资源开发共享,以更好地服务于学习型社会和人力资源强国建设[6]。因此,在外训教学中开展MOOC和翻转课堂混合的教学模式,可以进一步明确课程教学目标,拆解课程内容,丰富课堂活动,促进教员和外训学员之间的良好沟通,切实提升课程教学效率。 当然,将MOOC和翻转课堂混合的教学模式必须考虑课程目标、教学内容与翻转课堂活动及在线学习行为与课堂教学行为三方面的衔接关系。
5 结束语
本文从外训教学的特点出发,结合《计算机基础与网络应用》课程的实践经验,总结了在课程实施过程采取的有效教学手段,并给出了在未来外训教学过程中可采取的创新性教学手段。
参考文献:
[1] 何奇松. 中国军事外交析论[J]. 现代国际关系, 2008(1).
[2] 郭新宁. 试论军事外交的概念,定位及功能[J]. 外交评论: 外交学院学报, 2009, 26(3).
[3] 杨岩峰, 王金柱, 崔平. 浅谈提高外训教学质量的几点认识[J]. 读写算(教师版): 素质教育论坛, 2012(18).
[4] 程广利, 蔡志明, 尹敬湘. 研讨式教学法在军校外训教学中的应用[J]. 高等教育研究学报, 2010, 33(3).
软件职业开发人员就业市场现象目前软件开发人员就业市场存在两个突出现象:一方面合格的软件开发人员需求量不断扩大,大量的用人单位在苦于找不到合适的岗位人才的同时还必须承受自己培养的合格人才由于稀缺性所带来的人员流动性风险;另一方面每年毕业的本专业学生却由于所学知识、技能与需求脱节往往长时间找不到工作。普遍高校走的都是“通才”教育道路,人才结构缺乏层次和特点,学生能力与行业需求缺乏交集,导致越来越多的软件中端人才就业形势不容乐观。[2](P11-14)3.软件职业人才培养现状及存在的问题我国现行高校教育体制仍然是以理论基础学习为主的学科体系下的应试教育,这种教育模式培养的软件人才重理论轻实践、强调单一知识的学习,忽略综合分析问题和解决问题的能力的提高;重视个人学术能力,忽视团队协作精神,轻视开拓创新。随着信息的进步和社会的日益竞争,计算机软件行业对人才的要求越来越高:不但需要设计型、研究型的人才,而且需要综合应用型的人才;不仅需要开发型的人才,而且需要服务型、创新型的人才。社会的需要是多层次的,会其一不知其二,有理论没技术的大学毕业生无法与社会需求对接。当前我国软件人才培养主要存在以下几个问题。[3](1)重理论轻实践。我国计算机软件专业人才的培养模式和课程设置多年变化不大,只重视培养学生扎实的基础知识和专业理论,忽视了实践操作能力尤其是最新IT技术操作能力的培养。并且这些课程均为理论性课程,与IT企业的具体要求还有差距。即使是成绩全部优秀的学生,如果没有较强的实践能力和具备一定的产品开发经验,也无法满足IT企业的用人要求。(2)以教师为中心。工程教育目标模糊、教师缺乏工程经历、学生工程实践能力不强。现有课程体系中,教师作为主体,在理论教学中占用所有时间讲解理论知识,学生被动接受。在实验课程中,教师规定题目,给出完成思路和编程结果,学生主要重复输入代码过程。在课后习题中,教师给出题目,并在课程教学时间专门以习题课解答,学生容易出现抄袭。(3)现有工程教育培养方案设置不合理。其不足之处主要表现在:培养方案设置的专业课程里,单科性课程太多,理论分析学时过多,过分注重单学科课程的理论性和知识的系统性。相反,培养学生工程综合能力的课程少,训练学生的直观判断力和工程经验、工程意识的教学环节少,强调学科知识间交叉和综合性的课程少。(4)培养方向模糊。我国一些重点高等院校以及普通专科院校的计算机专业的教学计划、课程设置、教学方式基本相同,培养目标类似,培养方向模糊,软硬两方面的知识兼顾,完全是“通才”教育,不能够体现专业特长。(5)教学内容落后。随着IT技术发展的日新月异,大批国际流行的软件产业最新发展技术由于多种因素不能及时进入教学领域,教学内容落后,教材更新缓慢,致使学生在校学习的理论知识和实践技术已经落后过时,毕业生须接受企业再培训、再教育,才能够胜任工作。
基于双新人才计划的软件职业人才模式构建思路
该方案以“新知识、新技能”为核心,根据企事业单位对计算机软件人才的实际需求,整个培养方案分为三个阶段(初级,中级,高级)和两个部分(理论知识和项目实训)。1.理论知识先行理论知识的授予按三个阶段进行。第一阶段(初级阶段)的学习是基础知识的学习,该阶段要求学生理解信息系统的定义、组成、发展模式及建设模式;了解软件的定义和组成、生命周期及软件开发的过程和质量控制原则;要求学生掌握信息化基础知识和软件开发的基础知识,熟练掌握基础语言Tur-boC的使用和实践,面向对象语言Java的使用、实践描述型语言DHTML的使用和实践及解释型语言Javascript的使用和实践;了解IT相关的专业英语,能够在翻译软件的帮助下阅读大量英文的专业性科技文献并大致了解含义;牢记软件从业人员职业道德规范,对职业发展结合自己的现状制定发展规划,熟练掌握常用软件的使用。第二阶段的学习能使学生了解软件开发、测试和实施等过程涉及的各种技能和知识,对软件技术发展的过程有清醒的认识。阅读大量的相关专业英语文献,能够独立写作英文注释和英文专业文章。具备软件专业从业人员的职业修养和素质;掌握各种实际情况下的职业技能。第三阶段的学习能使学生熟练掌握信息系统的售前、开发和售后等过程涉及到的各种技能和知识;了解需求分析、项目管理的各种技能和知识。能够独立进行专业英语的听、说、读、写。具备软件高级从业人员要求的职业修养和素质。2.项目实训的职业拓展性推动新的模式生成(1)精准的目标设置策略。突破传统的“教师规定题目,给出完成思路和编程结果,学生主要重复输入代码过程”的实训教学模式;充分发挥学生的主体性,培养学生的分析问题、解决问题的能力,激发学生的学习积极性和创新意识。[4]学生通过参与项目的设计与开发,掌握最新的技术,了解企业的文化,熟悉企业的运行机制,能够按照企业管理的标准严格要求自己,使自己毕业前具备企业人的素质。(2)趋于完善的实施方案定制。采用梯度式实训,分初级、中级、高级三个级别。实训成员由双新办的专家、学校专业核心课老师及计算机相关专业的毕业班学生,双新办专家和老师担任项目经理。六个学生为一组,每组对应一个组长和一个项目,组长负责考勤,写工作日志。实训开始先进行案例教学,给出一个典型的实用案例及完整解决方案和相关文档,让学生直观地了解企业项目开展的流程;然后给定每个项目的需求文档、测试报告表格、代码编写规范、对话设计规范、调试用例设计规范、原型设计规范。在项目经理的监督和适当地指导下,要求学生参照事先给出的实用案例和依照企业管理的标准按时按量完成项目的实训。
总结
关键词:信息素质;计算机教学;分层次;多阶段;基于信息系统
引言
现代战争已经进入信息化战争时代。信息化战争是指发生在信息时代,以信息为基础、以信息化武器装备为战争工具的战争,是指一切使用了现代信息技术,并通过信息技术倍增了作战效能的作战样式。[1]军校作为培养部队指挥员的摇篮,是军队人才培养的主阵地,深化基于信息系统的院校教学训练改革,特别是计算机教学改革,有助于推进基于信息系统的军校学员信息化素质提升,是着眼形成基于信息系统的体系作战能力、培养造就高素质新型军事人才队伍的重要举施,是推进军队信息化建设、加强和改进信息化条件下军队各项工作的迫切需要,也是提升基于信息系统的体系作战能力建设的重要手段。
军校学员信息素质内涵特征
信息素养作为新军事革命的核心因素,在信息化战争中起着决定性的作用。[2]人是战斗力第一要素,以信息化为核心和本质的新军事革命对军人也提出更高要求,不仅要掌握军事知识技术,而且需要具备较强的信息素养,从而在及时分析、提炼和处理海量信息、迅速作出判断和反应等方面具有更强的优势。
1.信息素质一般内涵
信息素质的概念首次使用是在1974年美国信息产业协会主席Paul Zurkowski向美国图书馆和信息科学委员会提交的一份提案中。[3]
自20世纪90年代信息素质概念传人我国以来,我国学者对其进行了大量的介绍和研究。其中王吉庆教授结合我国教育国情,提出信息素质是一种可以通过教育所培养的在信息社会中获取、利用、开发信息的修养与能力。它包含了信息意识与情感、信息伦理道德、信息常识和信息能力等多个方面,是一种综合性社会共同的评价。[4]
信息素质具有层次分明,强调普及,注重操作和发展性的特点。信息素质可以分为公民信息素养、应用信息素养、开发设计信息素养三个层次。强调普及即普遍存在,无绝对权威。注重操作即信息素养集中表现在操作能力上,具体落实在使用与操作上。信息素质的四个培养途径是:信息技术学科课程、教学计算机辅助教学、计算机管理教学和社会家庭中的信息教育。
2.军校学员信息素质特征
未来战争中,信息对抗贯穿战争全过程。军校学员作为未来信息化战争中的指挥官,提高和加强他们的信息素质,也是军校教育最基本的需要。在军校人才培养过程中,要理论与实践相结合,培养学员较强的信息能力。一是信息系统使用能力。信息系统的使用能力范围广泛,包括正确操作信息系统的能力、根据需要选择软件并熟练使用的能力。二是信息能力。信息能力是指以各种形式发现、评价、利用和交流信息的能力。[5]
军校学员作为承担未来信息化战争的主要军事作战人才,其信息素质内涵具有其独特性,包括信息意识、信息知识、信息能力、信息道德和信息心理等五个方面。其中,信息意识是前提,信息知识是基础,信息能力是核心,信息心理是保障,信息道德是准则。[6]
信息意识是指学员对信息的敏锐感受性和持久注意力,决定了学员在捕捉、判断、利用信息中的自觉性。信息知识是信息资源开发中积累的认识和经验总和,是一切同信息有关的理论、认识和方法。军校学员需要掌握的信息知识包括信息基础知识、信息安全知识和信息战知识。信息能力是指学员对信息系统的使用以及获取、分析、加工、评价信息并创造新信息、传递信息的能力。信息道德是指整个信息活动中应遵循的道德。信息心理是人对客观事物及其所带信息的主观反应,军校学员信息心理主要包括信息心理攻击和信息心理防护两个方面。
军校计算机教学现状
军校学员信息素质教育是培养和提高他们的信息意识、信息能力和信息道德等为宗旨的一系列教育。[7]计算机作为信息时代的主要载体和工具,在当今社会上正发挥着越来越重要的作用。然而,针对基于信息系统的未来战争需求,对未来指战员的军校学员信息素质的高要求,当前军校计算机教育教学现状仍有许多不适应情况,主要体现在以下几个方面。
一是计算机教学内容滞后于信息技术发展状况,不适应学员信息掌握现状。当前军校计算机教学内容更新速度较慢,明显滞后于信息技术的发展速度,特别是对于云计算等最新技术涉及较少。
二是计算机教学形式单一,不适应多样化信息化教学和信息传媒发展。当前军校计算机教学仍停留在课堂多媒体教学和上机实验方法上,相对单一的计算机教学形式明显不适应。
三是计算机教学进展不适应学员信息应用能力要求。当前计算机教学进展特别是信息应用能力、信息学科与其他学科融合等方面的教学不够,不能较好适应学员基于信息系统的信息作战和应用能力要求。
分层多阶计算机教学方法
计算机教学是提高大学生信息能力,提升学生利用计算机实现对信息的采集、处理、应用,从而解决现实问题的能力的主要途径。因此,我们应不断创新计算机教学方法,改革计算机教育教学,实行分层次多阶段的计算机教学方法,努力提升军校学员信息素质。
1.分层次计算机教学
分层教学是指针对不同层次学生的认知水平、接受能力与特点设计不同层次的教学目标、教学内容,并采用不同的教学方法和考核标准,旨在让所有学生都能够通过努力找到一种适合自己的学习模式,即通过最佳的学习状态取得最佳学习效果的教学方法。[8]可针对学员类型、信息基础和专业特点三个方面对学员信息素质培养进行分层次的计算机教学。
一是按照学员的合训和非合训培养类型制定学员信息素质培养计算机教学计划。我军在部分院校实行了对部分本科层次初级指挥生长干部实行“学历教育合训、任职培训分流”的人才培养模式,[9]合训与非合训的学员培养类型的信息素质培养目标也不尽相同,因此应当制定不同的计算机教学计划和内容。合训学员作为未来初级指挥军官侧重于信息能力的综合应用,非合训学员作为技术军官更侧重于信息技术提升培养。在计算机教学中针对合训学员在计算机基础教学中加强信息知识、意识和道德的基础上,加强基于信息系统的信息应用能力,信息心理的培养,主要包括军队信息化建设、信息化战争武器应用操作等实用型技术;针对非合训学员应当提高信息化应用综合素质,主要是计算机文化基础,多种编程语言应用,数据库、网络等综合信息技术应用。
二是根据学员入学时的信息基础制定计算机教学计划。在军校学员入学初期进行全面的计算机与信息技术基础知识测试,根据测试结果将新学员的信息基础分为A、B、C三类。按照信息基础分类制定不同的计算机教学计划,结合计算机等级考试和选修课程适时调整计算机教学计划,实现全体学员信息素质稳步同步提升。
三是依照学员所学习专业与计算机相关的紧密程度制定计算机教学计划。根据学员所学专业同计算机相关紧密程度分为计算机紧密专业、相关专业和一般关联专业。计算机紧密专业主要包括计算机、信息工程等与计算机专业非常紧密的专业,计算机相关专业主要包括电子专业、通信专业等运用计算机和信息技术较多的专业,计算机关联度一般专业主要包括非理工科专业等其他专业。其中,计算机紧密专业以计算机应用技术和信息技术为主体的课程教育体系,计算机相关专业主要以计算机编程,网络技术为主体的计算机及信息应用技术信息应用能力的计算机教学体系,计算机关联度一般专业主要进行计算机基础知识,相关信息理论知识为主的信息意识培养计算机教学体系。
2.多阶段计算机教学
多阶指将课程教学体系分为初阶、中阶、高阶,由浅入深、循序渐进地开展教育教学工作。[10]按照军校学员信息素质培养要求,结合军校计算机教学实际,制定多阶段逐步晋级的计算机教学计划,以信息能力为核心的计算机应用和信息技术为主设计信息基础应用阶段,信息综合应用阶段和基于信息系统的作战能力阶段由浅入深的三个信息应用能力阶段。
信息基础应用阶段主要是以计算机基础知识、信息技术基础和相关实验实践活动为核心的信息知识和意识培养,结合计算机一级考核,加强信息意识选修课程要求,从而实现信息基础知识掌握和基本信息意识养成。
信息综合应用阶段主要是以计算机编程语言学习与实验,数据库、网络、计算机仿真技术为主的信息知识学习和信息能力培养,结合计算机二级、三级考核,加强信息意识和能力选修课程要求,着重关注信息技术等学科竞赛,从而实现信息知识掌握和信息意识养成。
基于信息系统的信息应用能力阶段主要是结合现有武器装备的信息化水平,熟练掌握信息化武器的操作,通过任职课程和选修课程强化信息心理、道德和意识,特别是加强信息战中网络战的信息安全意识和心理战的信息心理防护意识。
为了提高学员信息意识、信息道德、信息心理的塑造和培养,营造良好的校园信息建设氛围,通过举办计算机文化节,创建信息创新中心,设立信息安全中心,计算机兴趣小组等活动和组织实现全体学员信息素质培养,同时在合训分流教育、任职教育和轮培训等职业教育中引入专门信息教育教学活动,着重培养立足于任职需求的基于信息系统的未来信息作战的信息意识和信息能力。
3.试点教学实践
通过在某学院15个专业从2010年推行分层多阶计算机教学,计算机等级考试一次性通过率提高近5%,同期课程考试成绩平均分提高了4分,同期大学及以上级别学科竞赛活动获奖项目等级明显提升。通过在任职培训引入信息能力和信息意识课程,学员反应映普遍良好,特别是以计算机文化节为主的校园信息文化氛围培育活动对学员信息素质培养提升效果明显。后一阶段,将结合学员学分制深入改革契机,将制定信息素质培养评价体系,推动信息素质培养活动和成绩纳入人才培养学分体系中,从体制上确保信息素质培养长效深入贯彻落实。
结论
新时期新阶段我军信息化建设水平不断深入推进,基于信息系统的作战能力需要迫切加强,改革改进军校计算机教育教学方法,提升作为未来信息战争指挥员的军校学员信息素质具有重要的军事意义。
参考文献:
[1]戴清民.信息作战概论[M].北京:出版社,1999.
[2]吴宏,殷银芳.关于军校学员的信息素质教育[J].南京政治学院学报,2007(4):116-117.
[3]Behren s,S.J.A conceptual analysis and historical overview of information literacy[J].College & Research Libraries,1994,55(4):309-322.
[4]王吉庆.信息素养论[M].上海:上海教育出版社,1999.
[5]王猛,李一娈.关于军校学员信息素质教育的探析[J].科教文汇,2009(9):96.
[6]宋明武,杨世松.信息素质论[M].北京:军事科学出版社,2006(5):63-73.
[7]邓晓军,李长云,彭国新,等.大学计算机基础教育中信息素养的培养[J].计算机教育,2012(19):56-59.
[8]郑春瑛.分层教学在高职《管理信息系统》课程中的实践[J].职业技术教育,2012(26):65-67.