首页 > 文章中心 > 高级语言程序设计

高级语言程序设计

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇高级语言程序设计范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

高级语言程序设计

高级语言程序设计范文第1篇

关键词:微课;高级语言程序设计;教学模式

0引言

21世纪,知识经济时代到来。随着博客、微博、微信等的兴起及迅速风靡全球,“微课”应运而生。“微课”作为一种新型课程资源形式,最早出现在孟加拉裔的美国人萨尔曼可汗所创立的可汗学院的云平台上,它在国外掀起一股MOOC(慕课)大热潮并席卷到国内,微课开始受到国内专家、教育研究者和一线教师等的广泛关注,引发了新的一轮教学模式变革。它具备了“短小精悍”的特点,给人焕然一新的感觉。微课诞生于快速发展的信息爆炸时代,日新月异的技术工具更使得微课创作越来越多样化、平民化、低成本化、人性化、高效化。更因为具备了可观看性强、技术门槛低、制作简单方便等,微课迅猛发展,很快就形成了近乎“全民微课”的景象。应该说,微课满足了信息超载背景下人们的学习需求。时间碎片化、信息碎片化、知识碎片化,使得微学习、碎片化学习得以兴起。而基于微课的微学习,恰好能够填补信息爆炸背景下的大量碎片化时间,再借助互联网强大的聚合力量和传播效应,微课教学已经成为一种新潮流。

1“高级语言程序设计”教学现状分析

“高级语言程序设计”是高校电子信息工程、自动化、通信工程、物联网、电子信息科学与技术、软件工程、计算机科学与技术等专业的专业必修课。以培养掌握正确的程序设计方法与思想为目的[1]。在该课程的教学中,通常分为理论部分和实验部分。理论课上,教师将向学生讲述定义常量、变量,数据的类型、三种程序设计方法———顺序结构程序设计、选择结构程序设计、循环结构程序设计,指针、链表等知识点。实验课堂上,教师会布置一些具体的程序设计实例,让学生用程序设计思维解决古老的数学问题或者现实中的问题。通过对该课程的学习,学生既掌握了高级语言程序设计的基本知识,又学会了在实践中应用程序设计的思想和方法,进而让学生养成了独立思考的好习惯,并提高了学生利用计算机解决实际问题的能力,为后续的计算机课程或者电子类的专业课,如数据结构、操作系统、软件工程、单片机、EDA电子设计自动化等课程打下了良好的基础。但是在试验教学过程中,存在一些问题:(1)学生学习基础或学习态度不同导致学习步调不一致。[2]有些学生在上课之前学习过该课程,或者课前提前预习过本堂课学习内容,在教师讲解操作示范时,听一遍就记住了所有的操作,而有些学生上课时注意力不够集中,听课的当时,似乎听懂了,但是自己动手时,又不知从何下手。这些学生需要教师来回一对一指导。尽管这样学习的效果较好,但是教师人力有限,上课时间也有限,那些真正有问题的学生可能还没来得及问,就下课了。(2)教师不断的重复同一问题的具体操作,先做完的同学一直在等待,时间长了,就失去了对该课程的兴趣。(3)课堂上,教师大部分时间都在解决操作上的一些小问题,对于程序设计思路等方面的问题却没时间辅导。(4)学生过度依赖教师,当他们在编程过程中遇到错误,第一时间想到请老师来找错、纠错,学生不能很好的自主思考,既限制了学生的思维能力,更阻碍了创新能力的养成。

2改革的目标

教师在讲授“高级语言程序设计”(以C语言为例,下同)课程之前,需完成微课资源包的制作。包括提前制作微教案和微课件,对教学内容和学生学情进行细化分析,制作微视频和学生自主学习任务单,并将微课通过毕博网络教学平台推送给学生,学生在自主学习任务单的指导下,利用微视频进行自主学习,遇到问题可以通过毕博网络教学平台向老师或同学请教;课后完成课后测试,检验学习成果。教师通过微课在“高级语言程序设计”中的使用情况反思自己在设计、开发、应用微课过程中的不足,更好的完善微课资源包,促进学习者学习,提高微课使用效果。

3改革的具体内容

(1)制作全面的微教案在微课的设计之初,我们需要一个微型教案。这个微型教案是传统教案的浓缩和提炼。这个教案不仅要体现“微”的特点,更要体现关键的教学设计要素。微教案中除了要包括基本信息:微课名称、开课单位、微课总时长、学科名称、教学知识点、微课类型、适用对象等;还要包括相关教学设计信息:教学目标、教学重难点、学习者特征分析、聚焦解决问题、教学策略、教学过程设计、微课总结反思、作品简介等。(2)完成适合学生实际情况的自主学习任务单学习任务单主要指的是学习者在使用微视频时,可以借助的辅学指引资料。教师在上课前要对教学内容非常熟悉,明确教学任务和教学目标,能够较准确地判断学生在完成学习任务过程中需要的知识储备以及预测学生可能遇到的困难。一个好的微学习任务单,要包括这些内容:明确学习方向(如学习内容是什么,学习应该完成什么等)、引导学生如何开展微课学习(如看什么材料等)、辅助和促进学生学习(如告诉学生用什么方法来学习这个微课等)、激励学生(如检测学习情况、评价等)。学习任务单不仅可以帮助学生达成学习目标,而且提升学生的学习兴趣和学习能力,使学生在潜移默化中掌握学习方法以及养成好的学习习惯。(3)准备适合各个学习层次的练习题为了对学生的课前、课后学习行为进行监督和检测,要给学生布置一定的练习题。练习题分菜鸟级、进阶级、高手级共3个等级。大部分学生学习完微教学视频后都能完成的题目放在菜鸟级题库里;需要稍加理解才能完成的题目放在进阶级题库里;举一反三之后才能完成的题目放在高手级题库里。正式上课前,先完成菜鸟级题目,学生依据练习题的反馈情况,及时进行查漏补缺,遇到实在不能解决的问题,则记录下来与同伴或教师在社交媒体或教学平台进行交流。通过课前自主学习,了解背景知识及上课的重点、难点,为课中的任务解决奠定基础。课后,完成进阶级测试题,有能力的同学可以完成高手级测试题,巩固课堂所学,并运用所学知识解决社会现实问题,提高学生的创新能力和创造能力,为将来走向社会积累实战经验。(4)制作精美的微课件微课件,一般是指在微课中讲解某个内容时所需要开发和配套使用的微型课件。一般微课件可以用演示文稿、动画、纸笔等多种形式进行呈现。在借助不同形式进行讲授或演示的过程中,微课件是微课资源包中非常重要的要素。微课件中可以添加适当的动画和音乐,动画可以吸引学生的注意力,音乐也可以达到有声胜无声的效果,动画和音乐用的恰当,可以为微课增添趣味性和吸引力。(5)录制生动的微视频微视频,指的是微型教学视频。作为微课的核心内容载体,它记录了教学内容、讲授人的画面、教学演示的过程等。视频形式生动形象,满足了人们对可视化画面的使用爱好。在一个微课资源包中,必不可少的核心载体要求是微视频。一般而言,文科的微视频时长普遍高于理科,75%以上的微视频都集中在5-8分钟,而超过8分钟的微课有效性明显降低,出现这些现象的原因可能包括知识点内容偏多、讲授者的讲解不精炼、学生视频驻留规律等,所以微视频的时长控制在5-8分钟左右为佳。同时,微视频一般保存为易于分享的格式,如MP4、FLV、WMV等,因为此类文件格式易于在网络和移动环境中分享和使用。(6)微反思微反思,是指教学人员在设计、开发、应用微课后,将反馈修改意见进行总结和归纳。对微课完善修改的反思,可以从微课教学设计、微课制作技术、微课教学应用等维度进行思考,更好地完善微课资源包,促进学习者学习,提高微课使用效果。

4实施方案

(1)课题组老师共同商讨每一节微课的教学设计,利用头脑风暴法收集所有教师的想法,最后集体讨论一种针对该知识点最合适的教学设计;(2)分任务完成微课教案、学生自主学习任务单、课后习题等;(3)利用湖南涉外经济学院的录播教室或教师家中配置较高的电脑进行微课录制与后期制作;(4)以湖南涉外经济学院可以讲授“高级语言程序设计”课程的实验室为依托,通过学校的毕博网络教学平台,让学生课前或课后自主学习微课,对于不懂的问题,可以留言,让老师或同学参与解答,教师收集学生所提问题;(5)教师在讲授“高级语言程序设计”时,针对学生所提问题,有针对性的进行教学;(6)对微课教学进行反思,改进微课资源包里的资源,必要的时候可以对某个知识点重新进行微课录制;(7)先对部分学生开放网络微课资源,看看学习效果,然后对全校开设了“高级语言程序设计”课程的学生开放资源,进一步完善微课资源包。

5改革效果

通过五个大一新生班的“高级语言程序设计”教学改革,我们发现,课前,学生自主学习教学PPT和微课视频,在毕博平台通过在线讨论和发表微博的方式提出问题,完成菜鸟题练习;课中,针对学生提出的问题以及教学重点、难点来进行教学,学生主观能动性更好,上课时再也没有学生通过手机做与课堂无关的事,课堂讨论气氛更浓烈,课后,学生通过毕博平台进行在线测试,完成进阶题以及高手题的挑战,既激发了学生学习的兴趣,也让学生对于自己的程序设计水平有一个大致的了解,为他们更上一层楼提供了动力。相比同一门课没有进行改革的班级,学生兴趣更浓烈,课堂气氛更活跃,期末成绩平均分高出5分之多。对于进校时程序设计水平不同的学生,毕博平台为他们提供了差异化学习的机会,平台的教学资源为学生反复学习课程内容提供了便利,他们可以利用碎片化的时间进行学习,教师也避免了同一内容反复讲解的尴尬,可以更好的因材施教。

高级语言程序设计范文第2篇

关键词:C语言;教学内容;教学方法与手段;教学改革

中图分类号:G642 文献标识码:A

1引言

我院“高级语言程序设计”课程是以C语言作为指定语言的。它不但成为计算机专业的必修课,而且也越来越多地成为非计算机专业的学习课程。但在“高级语言程序设计”课程教学中,许多学生都认为C语言涉及的概念比较复杂,规则繁多,使用灵活,容易出错,且程序设计课程逻辑性又很强,学生不能很好地理解算法,编写程序也很困难,教师教学和学生学习都感到困难,并在不同程度上产生畏难心理。特别是我院将C语言作为学生进校后首先接触的第一门专业基础课,这种现象尤为明显,而C语言基础打不牢会直接影响后续专业课程的学习。因此如何改革“高级语言程序设计”课程,进一步提高教学效果,成为专业课程建设中的一个紧迫任务。

本文根据多年的程序设计课程的教学实践,对“高级语言程序设计”课程从教学内容、教学手段、教学方法等方

面提出几点建议。

2教学内容

2.1教材的选择

我院一开始使用的教材是由谭浩强教授编著的《C程序设计》,该书的特色是针对初学者的特点和认知规律,精选内容,分散难点,降低台阶,例题较为丰富,通过深入浅出的叙述,阐明C语言复杂的概念,知识结构系统、清晰、通俗易懂。但在编程思路和编程技巧方面较为欠缺。

在2005级学生中使用了Harvey M.Deitel和Paul J. Deitel编著的《C程序设计经典教程》,该书的特色是应用软件工程原理讲述结构化程序设计方法,加强对控制语句和模块化的有效使用,并强调程序的清晰性,通过从各种渠道收集来的大量实例、习题以及项目,让学生能够有机会来解决现实世界中有趣的问题,对学生编程思路和编程技巧有很好的帮助。但在整个知识结构方面不如谭书系统和清晰。

由以上分析可知,两本教材各有利弊,经过实践比较,并结合我院学生的实际情况,现在计算机科学与技术系仍然使用《C程序设计经典教程》教材,而其他系使用《C程序设计》教材,但都给出若干本参考书,以弥补各自的不足。如电子信息工程系的参考书为:

《C语言设计教程》,薛万鹏等译,机械工业出版社

《C程序设计经典教程》,(美)Harvey M.DeitelPaul J.Deitl著,清华大学出版社

《从问题到程序――程序设计与C语言引论》,裘宗燕编著,机械工业出版社

《The C Programming Language》,Brain W.Kernighan,清华大学出版社

2.2课堂教学内容的改革

以谭浩强的《C程序设计》为例,教学内容主要包括C语言语法基础、数据类型、程序控制结构、函数、指针、文件等。教材在内容组织上,在语法上讲解过细、过多。在各章节的编程例子中,多数难度较大,分析较少;不够形象,学生较难理解,且适用性不强。笔者本着“深入浅出,突出实用”的指导思想,在课堂教学过程中,对教学内容重新进行了归纳,将难点再次分散,以缩小台阶,达到循序渐进。例如,C语言数据类型、运算符、表达式种类繁多,放在一块讲授,学生学习起来难度较大,且过于枯燥,于是笔者就将其分散在不同的章节。譬如,先介绍算术型的数据类型、运算符以及相关的表达式,使学生学习起来没有想象中的那么难,紧接着又教学生编写简单、实用的C程序,然后趁机引入基本输入、输出函数就顺理成章了。这样一来台阶小了,学生的信心也增加许多,学习积极性很快就被提高起来。对于生硬的语言叙述,尽量改用生动的、学生熟悉的例子进行比喻,进行详尽引导。例如,在开始学习指针的概念时,教材对“间接存取”叙述比较深硬,学生难以理解,就借用比喻:将A房间的钥匙放在B房间里,若要取A房间里的物品,就需要先打开B房间,取出A钥匙,再打开A房间,取出A房间的物品,这就是“间接存取”。学生很快就能理解,也加深了指针的概念。在教学过程中,还应及时查阅英文版教材和有关报刊杂志,对较难理解的概念,用不同的方式给以解释。

2.3实验教学内容的改革

“高级语言程序设计”是一门实践性很强的课程,既要掌握概念,更要动手编写程序。其主要任务就是培养学生具有一定的阅读程序、设计编写程序的能力,分析问题、解决问题的能力和逻辑思维的能力。因此,上机实验是学习程序设计语言必不可少的实践环节,特别是C语言灵活、简洁,更需要通过编程的实践来真正掌握它。

笔者对实验内容上进行了认真的探讨,在实验题目的设置上,应根据课时安排以及要掌握基本知识进行,一般一次实验给出2~3个实验题目,分为必做与选做。这样做的好处是一方面保留基础性实验,相对简单的基础编程实验。使学生能够较顺利地编写出程序,并及时理解和消化课堂教学内容,同时也使学生获得一定的成就感,使其学习热情得到进一步的提高。另一方面,增加一些实用性强的、难度略大的实验题目,以进一步提高学生的编程能力;同时还可以满足较高层次学生的需要。下面以电子信息工程系为例介绍实验内容的设置。

我院为非计算机科学与技术系和信息安全系开设的“高级语言程序设计”课程的实验学时是12学时,共4个实验。由于实验课时较少,在实验内容的安排上就显得十分重要。第一次实验安排在约6学时以后,实验内容是“熟悉上机环境、编写简单程序”,其目的是让学生熟悉C语言上机环境,学习完整的C程序开发过程和程序调试方法;理解简单的C程序结构。为学生课下上机练习打下良好的基础。鉴于函数、指针和文件是C语言的重点和难点,我们分别将其作为第二、第三、第四次的实验内容;其他各章我们也给出相应的实验题目,让学生课下自己上机练习。

另一方面要重视实验的总体要求,强调上机实验要经历三个步骤:

(1) 上机前的准备

让学生写出实验预习报告。内容包括对实验题目的理解和分析,选择适当算法,画出流程图并编写程序。分析可能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。

首先调用C语言集成开发环境,输入并编辑事先准备好的源程序;然后进行调式。在调试过程中,要充分利用C语言集成开发环境提供的调试手段和工具,例如单步跟踪、设置断点、监视变量值的变化等。整个过程应自己独立完成。不要遇到一点小问题就找老师,学会独立思考,勤于分析,通过自己实践得到的经验用起来更加得心应手。同时加大实验的辅导。

(3) 整理上机实验结果,写出实验报告

实验结束后,要求学生整理实验结果并认真分析和总结,写出实验报告。实验报告要包括如下内容:

实验内容:实验题目与要求。

算法说明:用文字或流程图说明。

程序清单

3教学方法与手段

在教学方法上,从以教师为主体的“满堂灌”的方式转向以学生为主体、教师为主导的教学方法。有效地培养学生的分析问题与解决问题的能力。以“选择排序”为例,笔者没有平铺直叙地介绍算法与程序代码,而是先给出例题:在长度为10的数组中找出最小元素,并与第一个元素对调,引导学生编写出相应程序。然后给出新的问题:在后9个元素中最小值与第二个元素对调应如何修改;……;在后10-i个元素中最小值与第i+1个元素对调应如何修改;最后总结出选择排序算法的全过程,直至整个程序编写完整。即沿着问题带出算法,由算法带出程序设计语言的思路讲述C语言中的各个知识点。整个讲解过中结合板书,逐步引导,层层深入,取得很好的教学效果。

在C语言教学过程中,注意各章节讲述中的前后呼应和类比,加深学生的理解与应用。例如以“求1000以内的所有‘水仙花’数”例题为例,笔者先后分别在循环控制、数组和函数三章中进行了讲解,让学生自己总结出最佳的程序结构,提高编程能力。同时通过不同的解题方法,有利于学生加深对所学知识的理解,让学生真正体会到C语言的灵活性,激发学生的学习兴趣和求知欲。

另外在C语言教学过程中,还要充分发挥学生的积极性与主动性。笔者针对这门课程的特点,激发学生主动思考,课前可以给学生布置几个专题,让学生利用课余时间去思考、收集资料,并在课堂上组织学生发言和讨论。这种教学法不仅可以让学生获得许多课外知识,同时也促进教学内容的改革,而且也有利于充分挖掘学生的学习潜力。

在教学手段上,积极采用现代化的教学手段,如多媒体教学、网络教学等,这样有利于激发学生的学习兴趣,发展学生的主体能力;同时由于多媒体信息量大,也能够优化教学过程。但多媒体教学也有一些不利之处,主要体现在不恰当的使用会分散学生注意力,影响主要问题的理解,也不利于发挥学生的想象力。在C语言程序设计课程教学过程中,考虑到课程的特点,扬长避短,将传统教学与多媒体教学进行了有机的结合。例如可以将一些概念、语句的格式、大信息量的案例代码制作成课件,在课堂做展示供学生增加信息量用。但对于案例分析或程序的编写过程,就发挥传统教学的优势,进行课堂讨论、板书讲解、结合提问,将问题层层剖析、层层深入,达到师生互动的效果,学生的想象力也会得到充分的发挥,对问题的理解也变得更容易。另外,充分利用网络资源,将电子教案、大纲、课件、习题等放在网上,供学生自行调用,同时通过其QQ、E-mail等形式对学生的提问进行

答疑、讨论,以弥补课堂教学的不足。

4改革课程考核办法

建立一个服务于课程目标的学生学习评价方法是一项非常重要的工作,考核不是目的,“以考促学”才是考核的本质。

传统的期末“笔试”这种单一的、“一考定终身”式的考核方式,已远远不能满足课程的需要。为使考核真正发挥“以考促学”的作用,我们改革了考核内容和考核方法,重视对学生学习过程的考核,重视实际动手能力的考核,侧重考核学生对知识的融会贯通和灵活运用能力,而不仅仅是基本理论、基本知识的掌握。具体的改革措施如下:

(1) 变单一考核为复合考核,从多个方面对学生进行考核。课程总成绩由平时成绩、实验成绩、期中成绩、期末成绩四个部分构成。其中,平时成绩考核包括对出勤、随堂实训、课堂提问、作业等部分;实验成绩考核是针对课程的4次实验成绩。

(2) 衡量这门课学习的好坏,不是看学生“知不知道”,而是“会不会干”。期末试题考核的方法不用是非题和选择题,把重点放在读程序、编制程序和调试程序。

实践表明,这种考核方法不但能更客观地反映学生的学习情况,同时也能促进学生学习,起到良好的教学效果。

5结束语

本文教学内容、教学方法与手段的改革,是根据实际教学过程中学生存在的问题提出的,并已经在“高级语言程序设计”课程教学实践中加以运用,得到大部分学生的认可,取得了较好的教学效果。当然,同样的教学内容面对不同的学生,在使用与设计某种教学方法时,还要求学生的配合才行,也就是说教的方法与学的方法要有机统一。我们将继续努力探索,使“高级语言程序设计”课程教学日趋完善。希望本文能对大学计算机基础教学有一定的借鉴作用。

参考文献:

[1] 谭浩强.C程序设计[M].3版.北京:清华大学出版社,2005.

[2] (美)Harvey M.Deitel,Paul J.Deitl.C程序设计经典教程[M].4版.北京:清华大学出版社,2005.

“High-level Language Programming” Course Teaching Reform and Practice

XU Xiao-qing, LI Xiao-dong

(Department of Computer Science and Technology, Institute of Beijing Electronic Science and Technology, Beijing 100070, China)

高级语言程序设计范文第3篇

(黄淮学院 信息工程学院,河南 驻马店 463000)

摘 要:以应用为导向并结合就业需求确定新的课程教学内容,引入翻转课堂教学方法,结合新教学模式提出针对性的网络课程资源,阐述简单有效的教学考核方法。

关键词 :应用型;高级语言程序设计;课程转型;翻转课堂

基金项目:河南省社科联、省经团联调研课题(SKL-2014-2423);黄淮学院高等教育教学改革研究资助项目(2014XJGLX0101、2014XJGLX0402)。

第一作者简介:刘会超,男,讲师,研究方向为智能计算,huichao_liu@126.com。

1 背 景

在向应用型技术大学转型发展过程中,黄淮学院不断探索、积极实践,办学定位逐渐明确,教学改革方向也越来越清晰[1]。在应用型技术大学办学定位的引导下,信息工程学院的高级语言程序设计课程开始了新的转型发展历程。课程建设并不是一帆风顺的,一开始便面临众多难题[2],主要有:①没有教学团队,无法为课程建设提供持续支持;②教学思想陈旧,教师“教”和学生“学”不协调,教学效果较差;③教学内容“形而上”,重在系统理论知识的讲授,忽略知识的实用性以及学生掌握运用知识的基本规律;④课程教学资源缺乏,现有资源形式呆板、内容不完善,无法满足新的教学要求;⑤教学方法、手段单一,教师的课堂讲授、学生的上机练习等教学环节程式化,不注重实效;⑥课程考核的引导功能存在偏离,平时成绩加期末考试的考核方式过于强调对知识的掌握,无法衡量学生的知识运用和能力培养情况。

针对以上种种问题,高级语言程序设计课程组从源头抓起,进行了一系列改革[3],包括确立应用型人才培养的导向性要求,成立专门的教学团队,修订新的教学大纲并精选教学内容,通过培训逐步引导教学思想的转变并采用多样化的教学方法,结合教学需求开发新的课程资源网站,确定灵活有效的考核方式等。通过一系列改革,高级语言程序设计课程的教学体系逐步成熟。尽管有些改革还没有完全到位,但良好的教学效果已逐步显现。

2 课程转型建设过程

2.1 教学团队的成立与运行

为了持续推进高级语言程序设计课程的改革和建设,由教研室牵头,以该课程近3年的一线主讲教师和辅导教师共同组成课程教学团队(简称团队)。团队成员涵盖老中青3个年龄段,以中青年教师为主。团队组织管理以教授、副教授为主,讲师、助教为辅,以实现教授、副教授对青年教师的“传帮带”作用[4]。同时,团队鼓励成员通过外出学习、网络在线学习、企业实践、企业考察、参加会议、指导学生团队等方式提高自身业务水平与实践技能。

团队制定了相应的规章制度并协调了各自的分工。团队成员每周开一次“碰头会”,会上每位成员汇报本周的工作,并对后续工作做出相应计划。汇报结束后每位成员可以对其他成员的工作进行讨论并提出意见或建议。同时,每位成员的汇报都会记录在案,以备后用。另外,团队也会根据阶段性工作的需要,不定期对工作进行检查。

通过这种团队运作方式,青年教师的教学技能和教学水平在其他教师的指导下得到大幅提高,在教学改革方面也有了新的认识和想法。

2.2 教学思想的转变

思想是行动的指南。高级语言程序设计课程的转型必先改变传统的教学观念。教学过程中教和学是辩证统一的[5]。教师是教学过程的引导者,是决定教学效果的外因;学生是教学过程的主体,是教学成效的内因。内因决定外因,外因影响内因。唯有双方有机结合才能使课程转型真正落到实处。这些原理一般教育工作者都有所了解,但真正能够贯彻实施却非易事。另一方面,学生对自己主体地位的认识也比较模糊。实践中,在大学里无法理解学习的意义、敷衍学习的学生还有很多。因此,教学思想的转变并不仅是教师的问题,还存在一个教学双方的角色认同问题。

在以往的教学改革研究中,着眼点多放在课程教学内容、教学方法上,常忽略学生这一中心环节。所以,在团队召开的课程转型会议上,我们反复强调“教师主导、学生为本”的观点,要求教学思想的转变要包括教师的“教”和学生的“学”两个层面。

从教师“教”的方面来说,教师要做好教学的导演。有时教师是演员学生是观众,但更重要的是教师要善于当观众让学生当演员。教师要从思想上把课堂交还给学生,教师在每个教学环节把相应的“剧本”交给学习小组,让他们明白任务的意义、关联和实施要求等,引导他们自主学习。教师在这个过程中不能旁观,要及时给予指导,做好检查和评价。

从学生“学”的角度来说,学生不能是学习的被动接受者,而应积极主动地学习。为了顺利完成教学任务,学生必须“演”好自身的角色。在课中要积极配合教师的课堂组织,主动思考、讨论、完成练习任务。对于教师布置的课外任务,学生要认真完成。遇到困难的地方要进行标记并在课堂上提出。另一方面,仅靠学生自身的努力实现主动学习并不十分可靠,教师还要善于管理和营造氛围。要管理整个教学过程并形成必要的“规矩”,充分利用教学评价手段;还要发挥并利用优秀学生的带头作用,通过学习小组、互助学习等方式,形成大家积极学习的氛围。

转变教学思想,教师要及时和学生沟通,告诉学生双方的任务、要求及实施方式等,征求学生的意见,争取在认识上达成一致。一般情况下学生对教师的改革举措都能理解和支持。

2.3 教学内容的取舍

团队依据学生现有的知识基础,考虑语言的通用性并结合行业开发及就业需求,决定选择C语言作为课程主讲语言。C语言内容非常复杂,数据类型繁多,并且与计算机硬件结合较为紧密。因此,团队对教学内容进行了大刀阔斧的取舍与重组,抛弃了传统教学模式下一个个知识点的分散讲解,将教学内容重组整合为入门基础、知识提升和综合运用3个模块。入门基础包括认识C语言、安装并熟悉集成开发环境、选择结构、循环结构4部分内容;知识提升部分包括函数、数组、指针、结构体4部分内容;综合运用包括文件、经典算法和实际系统的设计与实现3部分。每个模块内部知识点相互衔接,环环相套;后续模块是对前导模块的深入应用与提升。在组织教学内容时,对关键知识点的讲解分为PPT制作和视频录制两部分。在介绍知识点时选取与生活贴切的实例,如介绍选择结构时以阶梯电价的计算为例,练习和作业以C语言的经典实例、生活实例、ACM大赛实例等为内容,以满足不同程度项目小组的学习需要。

在教学内容实施过程中,将教学内容分为三大块:课前自主学习、课中练习和课后作业。课前自主学习内容包括理论知识和课前练习题两部分,在理论知识中要讲明本次知识与前一知识之间的关联、本知识的内容、易出现的错误等;课前练习是针对基本知识点的练习,难度相对较小。课中练习内容在课堂教学时完成,包括练习的布置、完成和评价3部分。课后作业内容主要包括知识总结和习题两部分,知识总结要求学生根据个人感受写出对本次课的总结,习题要求项目小组上机运行以备下次课检查、讨论。

2.4 课程资源的开发与使用

由于课前需要学生自主学习一些内容,因此学生需要查阅相关的资料。虽然当前使用互联网比较便利,但要在网络上找到与教师布置内容相适应的学习资料仍比较费时间,因此,需要团队成员有针对性地开发一些课程资源。同时,要把教学资源建设与深化教学改革,推进专业建设、课程建设以及建立教学工作长效机制等方面的创新探索有机结合。把资源的建设重点由单一媒体资源转向多维教学资源建设上来,以基本资源、拓展资源建设为重要“抓手”,认真实施精品课程建设,以拉动课程品质及课程建设能力的总体提升。

课程资源开发的内容主要有基本资源建设和拓展资源建设两部分。基本资源建设包括课程概况和教学核心资源两方面,课程概况包括教学大纲、教学计划、教学团队的组建与分工等;教学核心资源依据三大模块的划分从必读文献、教学案例、教学课件、教学视频、练习、作业等方面着手进行建设,其中必读文献、教学课件和教学视频主要用于课前;教学案例和练习主要用于课中;作业主要是课后使用。拓展资源包括职业标准、专题讲座、单元模块自测、案例库、实训项目等。团队成员经过一年多的收集、整理和制作,基本完成了课程资源的开发建设,实现了课程资源上网以满足学生随时随地访问课程资源的需求。图1展示了课程资源网站上某课程信息。

2.5 教学方法的转变

传统的高级语言程序设计课程一般将理论课安排在多媒体教室中,教师采用讲授法并结合一些实例讲解,学生被动地坐着听。这种课堂学生玩手机现象非常普遍,学生戏称这是“浪费流量”的课堂。

针对这些情况,高级语言程序设计课程的教学决定采用翻转课堂这一新的教学方法[5],将高级语言程序设计的教学“搬”到具有相应配套设备的翻转课堂教室中进行。该教室的教学设备除具有传统教室的多媒体设施外,还有可移动的桌和凳,至少3人一组的台式电脑等。学生第一次课时分成3人一组的项目小组,每个小组推选一名组长,2名成员。教师以项目小组为单位进行管理,小组的学习由组长和组员协商完成。一个教学班按60人算,有20个小组,教师有精力照顾到每一个小组。

翻转课堂的教学分课前、课中、课后3个阶段。课前主要是阅读必读文献、观看视频、完成教学课件中的习题等。课前任务是学生自主学习的重要阶段,因此,学生必须认真对待,教师也要对课前任务的完成情况给予检查。课中主要对练习题的完成情况进行检查和评价、组织问题讨论等。对于一些难点问题可花少量时间进行讲解,也可对个别学生进行针对性的指导。课后主要是作业,由学生课后完成以供下次课检查并讨论。

通过这种新型教学方法的使用,学生不但有效掌握了课程的内容,同时也学会了自主学习,这对学生的终生学习非常有意义。

2.6 考核方式的改革

传统的考核方式一般是平时成绩占30%、期末考试占70%。平时成绩主要来源于学生的出勤和作业上交情况,无法真正反映学生平时的学习情况[6],所以最终的课程评价仍落在了期末试卷上,这显然有失公平且不科学。高级语言程序设计课程团队通过走访学生、查阅相关资料并结合课程采用的翻转教学法,确定了具有课程特色的考核方式。

课程考核仍采用百分制的评分办法,但考核的内容包括课中练习、课后作业和期末考试3部分,各自占比为4∶2∶4。课中练习成绩、课后作业成绩一般是按完成作业的数量进行计分。教师在课堂中只对每个小组的完成情况进行统计,并不针对每个学生。小组要完成相应题目必须大家通力合作。否则,不管小组中哪位同学缺席,最终都将导致小组完成数量不多。课程结束时,教师对每小组本学期课中练习完成的总量和课后作业完成的总量进行统计,并计算出小组的最终成绩。小组成绩按每个组员的最高成绩,组长为组员评判具体成绩。如果有组员不满意自己的成绩,可以参加现场测试,完成测试的成员其个人成绩等于小组成绩。期末考试只有一张试卷,考查理论知识的掌握和运用情况。试题的内容基本类似于平常上机内容,结合生活实际出题。

在本课程的考核方案中,对成绩的计算简单方便,可以对那些“平时不用功,考前十分钟”的突击现象进行有效的预防。新方案不再对学生的出勤情况进行考核,因为在每次课中练习完成数量的统计中已经涵盖了相关信息。学生以竞争的心态参与学习,积极性自然较高。

3 结 语

在高级语言程序设计课程的转型发展过程中,教师和学生都有不同程度的提升。教师为了适应课程的转型,必须学习新的教学方法、了解行业对本课程的需求、熟悉本课程对后续学生发展的影响、熟练掌握本课程的知识结构。然后将翻转课堂教学方法和具体的企业需求相结合,采用较为生动有趣的案例实施,达到预期的教学效果。最后,通过学生学习效果的反馈,教师要总结经验教训,为进一步有效开展教学奠定基础。

对于学生来说,通过本课程改革转型,不仅掌握了知识,并且对知识的运用能力进一步提高。应用技能显著提升,职业素质逐步养成。在2013年河南省第六届ACM大赛中有两个团队获得银奖、三个团队获得铜奖。在2014年第五届“蓝桥杯”全国软件专业人才设计与创业大赛中,有两名同学进入全国总决赛并获得三等奖。同时,学生毕业后薪资待遇普遍有大幅提高,从事本专业的学生人数逐年增加。此外,学生学会了自主学习的方法,终生受益。

参考文献:

[1] 郭静, 邢玉升. 美、德应用型大学教育模式及对我国的启示[J]. 黑龙江教育学院学报, 2014(10): 51-53.

[2] 刘丽梅, 张英良. 建设应用型课程实现新建本科院校转型[J]. 河北大学学报: 哲学社会科学版, 2014(5): 72-76.

[3] 耿红琴, 刘海峰, 黄国兴. 黄淮学院软件工程专业建设纪实[J]. 计算机教育, 2013(21): 2-4.

[4] 邓小妮. 高职院校专业“双带头型”教学团队基本范畴辨析[J]. 职业技术教育, 2014(10): 55-58.

[5] 董纯才. 正确处理教和学的关系问题[J]. 华东师范大学学报: 自然科学版,1983(2): 3-4.

[6] 张金磊, 王颖, 张宝辉. 翻转课堂教学模式研究[J]. 远程教育杂志, 2012(4): 46-51.

高级语言程序设计范文第4篇

关键词: C语言 教学方法 应用编程能力 自学能力

1?郾引言

《C语言程序设计》是高职计算机类专业开设的首门高级程序设计语言课程。它使用广泛,表达能力强,目标代码运行效率高,可移植性好;既具有高级语言的优点,又具有低级语言的许多特点;既可以用来编写系统软件,又可以用来编写应用软件。目前,在《C语言程序设计》课程教学中,许多教师和学生都认为C语言概念多、规则繁杂、使用灵活、书写方式多变、容易出错。教师教学和学生学习都感到困难,增加了教学的难度;而学生抱怨课程内容枯燥乏味,没有兴趣;在解决实际问题编写应用软件时往往无从下手,缺乏编程和调试的能力。下面我就C语言的教学谈谈自己的一些看法和建议。

2.精心规划教学

有些学生甚至在学完了该课程后仍然无法完整、正确地理解C语言的整体结构和特点。我针对这种情况,在教学课时上,《C语言程序设计》课安排一学期学完。把该课程划分为两个学习阶段:第一阶段《C语言程序设计I》,主要将基础知识融入案例与任务中进行教学,即基础阶段;第二阶段《C语言程序设计II》,主要进行30个学时为期一周的应用程序设计与实现,即应用阶段。

基础阶段《C语言程序设计I》的考核,主要考虑对学生动手编程能力的培养,因此考核分成理论和上机两部分。理论考试为开卷,占总评成绩的20%;上机考试主要题型为编程和改错,占总评成绩的30%;平时成绩占总评的20%。应用阶段《C语言程序设计II》的考核,以面试考核为主,占总评成绩的30%,考查学生对项目案例教学的理解,项目案例功能的扩展和改进等方面的情况,以及运用C语言解决实际问题的应用能力。

3.教学伊始引导学生养成良好的程序设计习惯和代码编写风格

首先,在C语言教学之初,让学生阅读简单的规范的C语言程序,在学生心中起到“先入为主”的效果;其次是在上课过程中,充分利用现代的教学方式,课件演示和板书都力求以规范的格式书写程序,告诉学生程序就该这样写;平时上机练习,要对学生中代码书写出现的不好习惯,及时提出并给出改正的方式方法。总之,要培养学生严谨、清晰的代码编写风格和良好的程序设计习惯。

4.采用多种教学方法,培养学生的编程能力

4.1循序渐进法。在C语言的教学过程中,教师起非常重要的作用,尤其是在教学中要激发出学生的兴趣。大多数学生都是初次接触C语言,这是一个全新的内容,同时也会有全新的收获。由于该课程是培养学生程序设计的能力,之前学生几乎没有此经验和能力,要通过教师循序渐进地引导,再加上学生上机的体验和感受,使其逐步积累程序设计的能力。对于教师给定的题目,教师应该遵循由低到高、由简入难,有趣并尽可能贴近实际的原则。开始时,教师给予学生的题目都是单项的练习,如简单的输入输出、数据类型、数组编程等。到了C语言学习的后期,可以出一些较复杂并和实际结合的题目。如:在讲解二重循环知识点的时候,教师可设计以下由浅入深、由易到难的实例。

(1)打印如下由易到难的图形

通过上述三个由浅入深的实例,自然就可以总结出打印图形的规律:把每行前输出的空格数与行的关系、每行打印“*”的个数与行的关系填入内层循环的终止即可。另外,由于外层循环包含了多条语句,因此必须用把包含在外层循环中的语句用{}括起来。推广到一般,打印符号的大致代码形式如下:

for(i=l;i

{for(j=1;j

for(k=1;k

printf ("\n") ;

}

(2)通过上述的总结,让学生自己编写程序,打印如下复合金字塔图形

上述程序虽然相对比较简单,但对于初次接触双重循环程序的学生来说还是不易掌握。在教学活动中,教师要通过实例将语法讲解透彻,实例的难度要循序渐进,从易而难,使学生在每次的学习过程中都能产生成就感,从而进一步刺激学生的求知欲望,通过教师的主导性来发挥学生学习的积极性、创造性。

4.2案例教学法。在教学的过程中,首先教师拿出一个任务案例展示给学生看。这个案例里面涉及到的C语言知识点。对于已经学过的知识点,教师通过案例来展示,可以使学生巩固知识点并加深印象;对于没有学过的地方,就是在其后的课程中讲解的重点,并告诉学生,只有认真听讲才能完全理解案例的精彩之处。由于任务案例的引入,使得分散的知识点立刻变成实践应用,因此学生在课堂上也更容易被教师吸引,能更紧地跟上教师的思路。对于学生来说,他们在案例学习中,不一定能把所学的知识一一总结出来,但是他们见识了C语言是如何处理实际问题的,这对他们提高认识,增加兴趣,提高解决实际问题的能力都是很有帮助的。

4.3分组教学法。分组教学体现了学生的主体地位,可以激发学习兴趣。根据班级人数和机房布置情况5人―6人分为一组,组长位置坐在中间,水平较好的学生挨着水平较差的学生。分组教学可以实现提优补差。水平较差的学生在遇到问题时可以及时得到帮助,能跟上全班进度,也增强了继续学习的信心。分组教学可以培养学生自主探究、合作学习的能力。《C语言程序设计》课程是用程序项目的方式把实验内容布置下去,许多综合性程序项目要求以小组为单位完成。

4.4任务驱动教学法。为了培养学生的创造思维、独立分析问题和解决问题的能力,以及实际编程的能力,我们设计短期任务与长期任务结合的上机内容。以一个项目作为长期任务,再按不同功能模块分解开来,形成一个短期任务。每一章学过之后要求完成一项或几项编程作业,各章的编程作业不是孤立的,而是相互联系的,实际上它们都是一个较大型较复杂程序的组成部分。这样就可以使学生的任务形成一种连贯性,在整个学科的学习过程中始终都有一个总任务的驱动,而学生又在一个又一个短期任务的驱动下,体验着一次又一次迈向成功的喜悦。例如,以“学生成绩管理系统”为课程设计的长期任务,从常用输入/输出语句printf和scanf开始,让学生编写主函数调用若干个空函数形成一个文本型菜单的雏形:学习常用数据类型后,再编写一个验证密码输入的函数;学完选择结构后,要求编写一个菜单选取函数;学完循环控制和数组后,要求建立班级课程的成绩输入输出函数;学完结构体类型后,要求使用结构体数组来存储和处理学生的信息;学习链表后,要求利用单链表动态管理学生的成绩;最后在“文件”这一章,要求利用文件操作完成学生成绩管理。当学完整个课程,完成了平时要求的各项编程作业之后,学生就会发现,自己完成的远不是一个一个零碎的程序段,而是一块块制作程序的各个部件,只要通过简单的程序拼装,就可以构成一个比较复杂的程序。这也在潜移默化中培养了学生采用各个击破的方法解决实际问题的意识。最后,学生从整的角度来审视整个程序的设计,并通过上机进行综合调试,达到提高编程能力的目的。

5.培养学生的自学能力

计算机技术知识更新太快,对于计算机专业的学生来说,在C语言教学中,培养学生的自学能力尤为重要。教师不仅要传授现有的知识,而且要传授获取知识的方法。对于学习能力较强的学生,教师应该鼓励他们自学,并给予方向性指导,让他们超前学习,甚至自学C语言前沿应用技术。在实际教学过程中从问题入手,引导学生在寻求问题的解决方案的同时,学会了运用网络、图书馆等获取信息的方法,对获得的信息进行筛选和修改,并进一步理解,最后把其应用到自己要解决的问题中。这一过程,为今后的终身学习打下了基础。

6.结语

总之,在C语言程序设计的教学过程中,教师应遵循理实一体化教学原则,培养学生的编程能力和利用C语言解决实际问题的应用能力,培养学生的自学能力。在今后教学中我们仍将不断实践与探索,进一步改进教学方法,充分调动学生的主观能动性,以取得更好的教学效果。

参考文献:

[1]谭浩强.C语言程序设计[M].北京:清华大学出版社,2007.

[2]崔娅萍.高职C语言教学探讨与研究[J].中国科教创新导刊,2010,(28).

[3]乔瑞琴.语言教学的实践和探索[J].山西煤炭管理干部学院学报,2010,(03).

[4]王创伟,汤克明,蔡长安.《C语言程序设计》教学改革方案与实践[J].现代计算机(专业版),2010,(11).

高级语言程序设计范文第5篇

关键词:开发流程 职业技能 教学情境

中图分类号:G421 文献标识码:A 文章编号:1672-3791(2013)02(a)-0211-02

目前我国的劳动力市场,求职人数过剩,但满足企业要求的专业人才又很稀缺。这种结构性的人才市场供求矛盾是我国高等教育亟待解决的问题,更是“以人为本,面向人人”为目标的职业教育不可推卸的责任。纵观近几年的就业市场变化,软件技术专业毕业生经历了“一夜成名、求之不得”的宠幸,也遭遇了“千呼百应、尽失风流”的冷落。就业情况经调查显示:软件技术专业的毕业生有的考教师证,有的去做汽车或房产销售等,真正从事软件行业的学生只有极少数,究其原因,主要是我们的学生毕业后不能适应工作岗位,编程能力极差。本文将从.NET程序员的培养来探究《C#高级程序设计》课程的教学设计,其教学方法也将会给相关程序类课程提供指导。

《C#高级程序设计》课程主要培养面向软件企业的.NET程序员,同时也兼顾培养软件测试员。

1 课程设计的基本思路

《C#高级程序设计》课程是一门实践性很强的课程,根据社会发展和企业需求,按照“以职业活动为导向,突出职业能力的培养;以项目为载体,用任务训练学生的职业岗位能力;以学生为主体,理论、实践一体化的课程设计”的原则,与企业同行一起进行科学策划,运用新的教学理念、教学模式与教学方法对课程进行整体设计,主要采用以下措施:调研软件研发和企事业单位考察岗位职业能力和工作过程制定课程目标体系和能力培养目标体系跟踪毕业生,听取学生的反馈意见确立该课程对应的职业岗位能力设计教学情境和学习项目。

2 NET程序员的任职要求与岗位技能

根据软件研发企业、各专业招聘网站和毕业生的市场调研,得到.NET程序员的任职要求是:根据软件需求说明书和软件设计文档实现软件产品;从事具体的软件开发,模块代码编写;开发和维护统一的软件开发架构,发现和解决存在的软件设计问题;按软件工程流程编写和提交设计文件相关文档;熟练掌握的使用;熟练掌握C#语言。从而得出对应的岗位技能是:熟悉或精通C#语言;熟练掌握的使用;熟悉Windows平台下的程序开发;熟练使用实现数据库访问操作;熟悉数据库后台管理和SQL编程。

3 教学内容设计

根据.NET程序员的岗位能力需求,从而确定本课程的学习内容,我们以真实的典型项目“WebShop电子商城后台管理系统”为载体来学习本课程,内容主要有:面向对象编程技术;各种控件的使用;数据库访问技术;主界面设计;数据的增删改查;文件操作;报表制作;系统和应用程序安全。根据教学需要,将内容重构为用户登录、数据管理、主模块和系统管理4个大教学情境,大情境又细分为9个子情境(系统分析与设计、登录界面设计、用户管理、商品管理、订单管理、数据备份与恢复和数据导入与导出、主界面设计与系统整合、报表制作、系统)。各个学习情境既具有一定的独立性,又有相关性,环环相扣。按基于真实项目“WebShop电子商城后台管理系统”开发实践,学生在完成各情境的开发过程中,掌握基于C#的Windows应用系统开发技术。本课程学习情境设计的特点:系统性、独立性、完整性、扩展性、通用性。系统性是指学习情境是一个典型的信息管理系统分解而来,任何的信息管理都必须具备这些功能,对学生开发类似的软件具有借鉴作用。独立性是指每一个学习情境都是一个完整的小系统,可以将其移植到其他系统中使用。完整性是指在实施学习情境的过程中,我们完整的模拟了软件开发的全过程,让学生体会软件开发的方法和技术。扩展性是指所有的情境都是经过精心设计和安排,让学生在学习中逐步扩充和完善系统功能,学生还可以在系统的基础上增加功能模块。提高学生的创造能力。通用性是指软件的设计严格按照软件设计的标准,让每个模块具有通用性,以保证代码的可重用,为学生在今后工作中积累经验和资源。

4 教学环节设计

以一次课堂教学为例,课程教学的环节设计是:课前准备(点名,教学资源和任务单分发)情境教学(情境描述、情境需求、情境分析、情境实现、课堂点评、情境实施、情境完善、情境扩展)考核评价机房清理。主要采用情境教学法并结合角色扮演法、小组学习法、设问解答式教学方法来实施教学。

每个子情境都有一个教学任务单,说明本教学单元要完成的主要工作任务,各任务完成后取得一定的平时成绩分,每个任务要说明任务名称、主要内容、基本要求和评价方案。其中评价项目中一般有需求分析、项目设计与答辩等,通过答辩来了解学生对知识掌握情况,如果项目有创新,经老师核准可加分。项目设计中,测试员发现一个错误加1分,程序员扣1分,项目组长根据工作业绩及工作表现来评定本小组同学的成绩。

5 教学方法

《C#高级程序设计》课程采用“理论实践一体化”的教学方式,以4个课时为一个教学单元,理论教学和实践教学都在实训场所完成,实现“教、学、做”合一。教学中综合运用多种方法。(1)情境教学法。通过营造真实的软件企业工作环境,提供真实的客户需求,按照真实的软件开发流程和技术规范,以项目制的方式进行针对性的角色化的实战训练。将软件的开发流程(系统调查、需求分析、系统设计、系统实施、系统评审、系统维护)转换成情境教学的每一步骤,启发、引导学生的思维,让学生学会解决问题的方法和手段,提高了学生的职业能力和素质,实现与企业岗位无缝对接。(2)角色扮演法。在项目开发过程中对开发组中的各个成员,分配不同的角色,如技术总监、研发总监、项目组长、测试组长、美工组长、程序员、测试员和美工员等,一人也可兼多个角色。研发总监岗位职责是:了解本领域行业软件的发展及趋势,负责参加项目调研,编写软件需求说明,负责整个项目的系统规划、项目细分,并制定项目任务和项目进度表,制定软件的开发规范并监督执行,负责对研发组长进行过程考核,完成服务部交待的其他任务。技术总监岗位职责是:组织实施系统架构设计,负责整个项目核心框架的设计,并完成核心代码的设计,进行各类提升研发人员的整体研发能力的培训,组织并参与技术攻关,指导成员进行疑难问题的处理,完成服务部交待的其他任务。研发组长岗位职责是:参与项目调研,参与编写软件需求说明,参与系统分析、架构设计,负责某个项目模块的项目细分,并制定项目任务和项目进度表,监督软件开发规范在本研发组的执行,负责对本组成员进行过程考核,完成研发部交待的其他任务。测试组长岗位职责是:参与项目调研,参与编写软件需求说明,负责选派测试员到各研发组,为每个研发组制定测试任务和测试进度表,监督软件测试规范在本测试组的执行,负责对本组成员进行过程考核,完成研发部交待的其他任务。美工组长岗位职责是:了解目前流行的网页美工技术,负责选派美工到各研发组,为每个研发组制定美工任务和美工进度表,负责对本组成员进行过程考核,完成研发部交待的其他任务。(3)设问解答式教学法。在实施情境教学中,老师首先给学生呈现各种各样的主题任务来驱动教学,学生也可自己发现问题,然后由学生分组解决问题,如果问题得到解决可小组加分,学生不能解决的问题,最后由老师引导学生共同解决。这样可促使学生主动思考,活跃课堂气氛,使学生在学习过程中能真正成为软件开发主体。(4)小组学习法。将学习班级看成一个软件服务项目部,设研发总监1名,技术总监1名。研发部下辖研发组若干,测试组若干,美工组1个。每个研发组3~4名成员,设研发组长1名,程序员2~3名。每个测试组3~4名成员,设测试组长1名,测试员2~3名。美工组为临时机构,设美工组长1名,不设常驻人员,美工通常由各组程序员、测试员兼任。学生可根据自己的兴趣和能力选择自己的角色,各角色必须认真履行自己的职责,否则会影响项目开发进度,导致全组人员或个人扣分,这样形成小组竞争,易于形成学习合力。同时利于发挥尖子学生的带头作用,以点带面,带动全体学生的学习积极性,培养了学生的团队协作精神。

6 考核设计

学生的课程成绩由过程考核(登录设计、数据管理、系统管理各占10%)、综合考核(50%)与职业素养(学习态度、课堂工作任务完成质量等,占20%)组成。综合考核可以先告诉学生题目和考核内容,学生可利用业余时间查资料、小组讨论等方式来开发项目,教师主要通过项目答辩形式来考核学生对知识掌握情况。采用这种开放式考核方法更能提升学习的学习兴趣,巩固课堂上所学的知识。

7 结语

在教学各环节中,既注重学生的整体教学,又积极鼓励学有余力的学生拓宽知识和技能,通过课程网站提供大量的拓展资源、拓展案例、虚拟项目以及选拔学生进虚拟公司和软件公司承担真实项目的方法,激励优秀的学生脱颖而出。

通过本课程的训练,学生能熟悉软件开发流程,了解企业开发方式,具备诚实、守信、坚忍不拔的性格,具备表达、沟通、团队协作能力,具备自我学习、独立解决问题能力,养成规范编码、按时交付软件的工作作风,能够综合应用Windows技术、数据库技术、测试技术、软件工程方法,独立开发小型的C/S模式的Windows应用软件,同时也能胜任软件开发岗位上的其他基础性工作。

参考文献

[1] 宁雪静,沈泽刚.高级语言程序设计课程整合研究[J].计算机教育,2009(2).

[2] 温雅敏.数学专业高级语言程序设计课程教学模式改革探讨[J].科技经济市场,2008(5).

[3] 王淑霞,田丽艳.兴趣教学在高级语言程序设计中的应用[J].通化师范学院学报,2011(2).

[4] 曹蕾,吕庆文,张煜,等.大学计算机基础课程教学改革的调查与设想[J].计算机教育,2007(12).