高级语言程序设计范文

时间:2023-03-02 11:31:13

高级语言程序设计

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

Abstract: Advanced Programming Language is a core and basic course in military academies. With an integration of knowledge and practicability, it plays an important role in enhancing the information quality of pilot cadets. According to the educational characteristic of military academies, search the educational reform of programming languages from the innovation of teaching methods, the construction of practice teaching system, optimizing the evaluation mechanism and other aspects.

关键词: 高级语言程序设计;教学改革;学员

Key words: advanced programming language;teaching reform;cadets

中图分类号:TP311.1 文献标识码:A 文章编号:1006-4311(2013)29-0208-02

0 引言

世界新军事革命的来临,空型建设蓬勃开展,以武器装备信息化、信息对未来战争的支撑为核心内容的军事革命,对飞行人才的信息素质提出更高的要求,赋予军校教育更重的使命。《高级语言程序设计》课程是我校为飞行学员开设的通识教育类课程中的一门核心基础课程,在培养方案和课程体系中起着承前启后的支撑作用,对学员形成良好的计算思维能力、具备军事飞行人才所需的信息素质具有重要作用,为军事飞行职业生涯和个人长远发展奠定基础。作为计算机教学的执行者,如何提高飞行学员的信息知识、信息意识、信息技能,一直是我们研究的一项重大课题。在此,为切实提高教学效果,总结以往教学经验,结合军校教育特色来探讨课程优化方法。

1 创新“授渔”教学,培养学员自主学习能力

“授人以鱼不如授人以渔”。调整授课思路,在淡化高级语言语法重要性的同时,尽快使学员进入到学习解决问题的轨道上来[1]。不再是按部就班地讲解数据类型、运算符等语法内容,而是采用“任务驱动”教学方法,围绕程序设计的关键技术,使学员在编程解决实际问题的过程中逐步学习高级语言的语法知识,授课思路如表1所示。

另外,采用“授课角色转换”的教学方法,为基础较好的学员提供展示的舞台,更能有效地激发学员学习兴趣,培养学员的自学能力、归纳能力和语言表达能力。

2 构建实践教学体系,提高学员应用能力

编程实践教学是《高级语言程序设计》教学的重要组成部分。逐渐增加教学计划中的实践环节,将实践教学划分为基础训练、设计训练、综合应用训练三个层次。基础训练巩固和加深学员对所学理论知识的理解,设计训练锻炼学员运用所学理论知识解决实际问题的能力,综合应用训练进一步提高学员程序设计能力和创造力[2]。理论课时与实践课时比例达到1:1,真正实现理论教学与实践教学并行与并重。

3 依托程序设计竞赛,激发学员创新和协作热情

ACM/ICPC程序设计竞赛是全面考察大学生编程解决实际问题能力的科技竞赛。ACM/ICPC程序设计竞赛采用限时全封闭式环境,参赛者以团队形式,根据竞赛题目,灵活运用算法,若所解答案符合相应的测试数据,便可正确提交,否则不能提交。整个过程完全由POJ系统(程序在线评测系统)来评判,排除了因人为的主观因素而造成不公平的现象。ACM/ICPC程序设计竞赛的参赛团队以3人为单位,分工协作、群策群力,重在交流互补,共享思维成果。这样的竞赛形式极大程度地增强了学员的团队协作意识,潜移默化中影响和激发更多学员的创新意识和创新热情。

4 优化考核机制,全面挖掘学员潜能

成绩构成的多元化,能够弥补单纯考试所带来的弊端。《高级语言程序设计》课程应注重实践能力的考核,成绩比率应向全国计算机等级考试靠拢,即课程考核成绩=理论考核(占30%)+实践考核(占70%),其中,实践考核应涵盖实践训练过程表现和综合型或设计型的实践作品评定。实践训练过程表现,可以监督学员的学习过程,保证学员实践训练的效果;实践作品的评定,能够考核学员掌握综合知识的情况。另外,还可以增加课程结业设计考核,学员设计作品,通过专家组的评审,答辩通过的学员可不用参加课程结业考试。多元化的考核机制,最大限度地挖掘优秀学员的潜能,充分体现了以学员为主体的个性化教学理念。

5 结束语

军事院校《高级语言程序设计》课程的优化改革,坚持高起点、高标准、严要求,由点到面、由面到点地进行全面优化,以变革的思路、超前的思维来整体设计,最大程度地提高教学效果。当然,课程的优化改革不是一蹴而就的,这是一项长期、循序渐进的过程,需要不断摸索、随时调整。此外,随着信息技术在航空航天领域的快速发展,计算机课程的体系、内容、组训模式也会随之动态变化。因此,军事院校的计算机教学优化改革需要经过实践的检验进一步完善。

参考文献:

[1]张立臣,王四万.C语言程序设计课程的教学改革[J].价值工程,2012(10).

[2]樊守芳.依托程序设计竞赛探索计算机专业实践教学改革新模式[J].教育教学论坛,2012(7).

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

C语言程序设计课程通常在教学计划中都被安排在大学一年级上学期,这个阶段刚好是新生入学的第一个学期,一方面新同学对程序设计的概念还比较淡薄,另一方面,教学过程中程序练习题解决问题的针对性也不是很强,这都给教学环节带来了不少的困难。传统的实践教学中存在较多的问题,主要表现为[1]:(1)由于程序练习题解决问题的针对性、新颖性、复杂性等方面的原因,学生对上机实践课的兴趣较难调动,对上机实践通常不够重视;多数学生上机前不做预习准备,上机过程中总是敷衍了事,碰到问题时,既不积极思考,也不向教师提问;(2)实践教学中传统的练习题内容有点简单单一,缺乏层次性,不能满足不同层次学生的需求;(3)实践教学中的练习内容与后续相关课程有一定的脱节,表现为某些专业的学生虽然学了C语言,但到后续一些相关课程中需要使用C语言进行编程时,学生感觉仍然无从下手;(4)程序设计课程的考核方式不是很合理,现在只重视笔试考核和理论知识的掌握,忽略了编程动手能力的考核;(5)实践教学过程没有较好的延续性,不少学生当C语言课程考试结束后,也就把C语言放置一边了,没有把C语言的学习和应用很好地延续下去,因此并不能很好地掌握C语言。《C语言程序设计》是实践性很强的一门课程,实践教学是整个教学过程中的重要环节,抓好实践教学可以加强学生对抽象理论知识应用的理解和掌握,培养学生的编程实践动手能力,让学生掌握编写程序和调试程序的方法技巧。另一方面,程序设计实践教学环节中还存在着实践教学内容缺乏系统性和层次性,实践教学方式方法单一,编程实践内容与后续课程存在脱节,学生学习兴趣不高等问题。所以应根据C语言实践教学情况,分析现在实践教学中存在的问题,采取相应的改进措施。例如,加强练习题的层次性和针对性,将练习题分为基本练习题和提升练习题等。教学中必须通过大量的实践训练来促进学生对知识应用的理解和掌握,提高其分析问题、解决问题、编写程序和调试程序的能力,以保证良好的教学效果。

2《高级语言程序设计》实践课程的教学设计

针对《高级语言程序设计》实践课程教学中存在的诸多问题,教学时可按专业研究方向有所侧重地进行教学设计,设计不同的教学导向、教学内容、教学方法等。对电子信息类学生,可有所侧重地加强该实践课程与后续信号处理类课程,数学实验与数学建模课程的联系。

2.1加强该课程与信号处理类课程的联系

信号与信息处理的方法和能力是电子信息类学生在专业学习中必须要求掌握的一个基本技能环节之一。其中,比较典型的课程有《算法与数据结构》《数值分析与算法》《数字图像处理》《语音信号处理》《信息隐藏技术》等。在《高级语言程序设计》实践教学的教学内容设计上,可将学生引导到信号处理的方向上来,增加相应课程中涉及的特征参数提取,特征识别或判别、求解方程或某一类问题的算法实现等内容,一方面增加了练习题目的针对性,趣味性,同时还提升了题目本身的难度和层次性。例如,《语音信号处理》课程的学习过程中,可以设计一个小型的系统辨识问题[2],让学生完成10个孤立数字的语音识别问题。其中包括了语音特征参数的提取、特征的判别两个环节。

2.2加强该课程和数学建模与数学实验课程的联系

数学实验与数学建模是计算机和数学软件引进教学后的新事物,是数学教学体系、内容和方法改革的一项尝试。以往我们对数学的学习着重在,通过严密的逻辑推理完成公式的推导、定理的证明和实现一些简单快捷的计算,忽略了数学的实际应用。对于大多数理工科大学生来说,将来的工作并不是数学领域的研究工作,更多的时候,他们很可能将以数学为工具来解决各种实际问题。数学实验与数学建模课程正是锻炼了学生这一方面的能力。另一方面,一次数学建模实验过程相当于进行一次小型科研活动,在一定程度上,培养了学生初步的科研能力。通过最近几年的教学实践和组织学生参加全国和国际大学生数学建模竞赛活动,发现数学实验和数学建模课程对学生科研能力的锻炼有很大的促进作用,我们对该门课程的教学也着力在数学模型的建立和编程求解方面加强更多的联系。下面就这方面谈谈教学实践中的一些体会。在全国大学生数学建模竞赛中有这样一道题目[3-4]:2000年6月,人类基因组计划中DNA全序列草图完成,此后人类将拥有一本记录着自身生老病死及遗传进化的全部信息的“天书”。这本大自然写成的“天书”是由4个字符A,T,C,G按一定顺序排成的长约30亿的序列,其中没有“断句”也没有标点符号,除了这4个字符表示4种碱基以外,人们对它包含的“内容”知之甚少,难以读懂。破译这部世界上最巨量信息的“天书”是21世纪最重要的任务之一。在这个目标中,研究DNA全序列具有什么结构,由这4个字符排成的看似随机的序列中隐藏着什么规律,又是解读这部天书的基础,是生物信息学(Bioinformatics)最重要的课题之一。虽然人类对这部“天书”知之甚少,但也发现了DNA序列中的一些规律性和结构。例如,在全序列中有一些是用于编码蛋白质的序列片段,即由这4个字符组成的64种不同的3字符串,其中大多数用于编码构成蛋白质的20种氨基酸。又例如,在不用于编码蛋白质的序列片段中,A和T的含量特别多些,于是以某些碱基特别丰富作为特征去研究DNA序列的结构也取得了一些结果。此外,利用统计的方法还发现序列的某些片段之间具有相关性等。这些发现让人们相信,DNA序列中存在着局部的和全局性的结构,充分发掘序列的结构对理解DNA全序列是十分有意义的。作为研究DNA序列结构的尝试,提出对序列集合进行分类的问题。图1就是发现的两个DNA序列碱基结构,要求从中提取特征,构造分类方法,完成特征表达并利用其进行判识。为完成上述任务,一方面,从C语言程序设计过程来看,学生需考虑特征数据如何表达,采用什么数据类型,如何设计算法完成搜索查询目标;另一方面,这是一个带有挑战性和实际意义的交叉学科问题,既扩展了学生的知识面,又增加了趣味性。这对提高高级语言程序设计实践教学环节的教学效果是很有帮助的[5-6]。本文来自于《实验科学与技术》杂志。实验科学与技术杂志简介详见

3结束语

针对作者所在学院电子信息类本科生的教学实践,证明通过教学设计,加强《高级语言程序设计》实践课程和信息与信号处理类课程的联系,使学生为后续专业课程的学习做了很好的铺垫准备,加强《高级语言程序设计》实践课程和数学建模与数学实验课程的联系,把学生对《高级语言程序设计》课程的学习引导到面向实际问题,解决实际问题的方向上来,增加了学生学习的积极性和主动性,取得了较好的教学效果。

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

关键词 高级语言 教学设计 教学方法

中图分类号:G633.67 文献标识码:A

我校以C语言作为高级语言程序设计的目标语言进行教学设计,本人在多年的教学实践中,努力探索新的教学方式,认真研究不同的教学方法,大大提高了学生的学习积极性,取得了一定的教学效果。

1 精心设计课程实施方案,注重理论与实践相结合

对于高等院校的学生来说,很多学生在开始接触高级语言程序设计课程时,由于对C语言认识不深刻,认为C语言过时了,不值得学,学习积极性不高。因此在进行教学设计时对教学内容与教学方法要进行精心设计,不能只是单纯的讲授C语言的语法,而应将理论教学与实践教学并重,并将之紧密结合、互相促进,提高学生的积极性,以求达到最佳教学效果。在实际教学中应充分发挥C语言解决实用问题的导向作用,将枯燥的理论生动演绎为解决问题的利器,通过设计巧妙的教学内容,充分调动学生的积极性,让学生的思维围绕教师的思维活动。通过一些有趣实用的题目去诱导学生学习,给学生的思维中留下一定的期望与神秘感,促使学生驱动自己的好奇心,从而充分调动学生主动学习的欲望。

2 改进教学方式,采用多种教学方法

要取得良好的教学效果,仅仅进行教学设计是远远不够的,还要结合灵活多变的教学手段进行教学,让学生真正参与教学过程,真正做到“学为主体,教为主导”。

2.1 传统讲授式教学方法

讲授演示教学法是在传统教学方法的基础上,进行适度的改良,以学生对具体知识和技能的掌握作为主要目标进行教学的方法,它主要由以下四个步骤。

首先由教师导入问题。教师在了解学生已有的知识结构、专业水平的基础上,由简单问题导入新的教学内容,让学生感受到新知识在解决实际问题中的作用,从而激发学生对新知识的学习兴趣。

第二步,教师进行讲解演示。教师通过自己深入浅出的讲解,要让学生理解新知识的应用原理,做到“知其然,并知其所以然”;然后演示操作步骤,详细说明操作的实现过程。

第三步,学生自主实践。按照教师的演示讲解,学生自己动手实践新知识的应用,教师从旁指导答疑,让学生真正理解掌握新知识。

最后进行总结练习。教师对整个教学活动进行归纳总结,突出教学重点、难点,同时了解学生对新知识的掌握程度。在此基础上,由学生自己通过练习,逐步对新学知识达到完全掌握和熟练运用。

2.2 实例研究教学法

实例教学法是指根据典型的例子采用不同的解决方式进行教与学,使学生能通过实例来掌握新知识。例如:编程求1+2+3+……+100之和,这是循环语句典型的求累加的问题。针对这一问题,即可以采用while、do-while语句来实现,也可以采用for语句来实现。通过同一问题的三种实现方法,让学生掌握三种循环语句的原理、特点和用法,了解它们之间的相同点与不同点,以及三种语句的使用范围等知识点。

实例研究教学法以精选出的程序实例为中心,把学习的重点放在实例的讲解上,把要学习的语法结构和概念融入到具体实例中,整个教学过程中强调学以致用,避免了枯燥、繁杂的理论说明,不仅增进了学生的学习积极性,同时对提高学生综合分析能力和解决实际问题的能力有很大帮助。

2.3 探讨式教学法

探讨式教学法是教师在教学中根据教学要求和重难点设计问题,学生在教师引导下参与课堂研讨,分析问题、解决问题,从而启发学生思维并培养学生能力的一种教学方法。在C语言程序设计教学中,探讨式教学法能够突出学生的主体地位,充分发挥学生的主观能动性,有效地培养学生分析问题与解决问题的能力。

当然,在实际教学过程中可采用的方法还有很多,如案例教学法、研讨式教学法等,正所谓“教学有法,教无定法”,全看你怎么使用。只要能取得良好的教学效果,完全不必拘泥于任何一种教学方法,多种手段并用。

3 利用实践操作,提高学生应用能力

高级语言程序设计是一门实践性非常强的课程,对于将其作为基础课来学习的学生来讲,实践课的课时安排普遍不足,因此在教学过程中要充分利用有限的实践课时间,尽可能地提高学生的操作能力。而教材上的例题、习题基本以算法设计为主,内容枯燥不易编写,学生上机积极性不高,程序设计过程的成就感不强,因此在实践内容的安排上不能简单的让学生照抄或直接编写程序。在实验过程中,可以让学生先做基本的实验,通过实验理解课堂上所学习的理论知识;再通过验证书上的例题,理解并掌握程序设计的步骤,进而能自己进行课后习题的程序设计;最后通过一些算法设计与过程设计相结合的提高性实验,一步一步的提高学生的实践应用能力。

对每一个知识点,可以设计一些紧扣知识点的相对简单而趣味性强的问题,学生在实验时由浅入深,循序渐进,每次实践都能有收获,这样将极大地提高学生编写程序的积极性。在此基础上,再布置相对复杂一些的算法设计问题,学生就能够有信心有能力综合应用所学知识进行设计,解决问题。当然趣味性的题目只是培养学生兴趣的手段,要真正让学生学好C语言,关键还是让学生充分掌握运用C语言解决实际问题的能力。因此无论在课堂上讲的例题,还是课后布置的作业,都可以设计一些与专业相关的实用性较强的题目,来培养学生的创新能力和自主学习能力。

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

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

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)31-0110-02

Abstract:In recent years, all levels of schools in our country are trying to use the flipped classroom teaching mode, advanced language programming is an important compulsory course for students in our university,it aims to cultivate students' computer programming ability and practical application ability. Compared with the traditional teaching mode, the flipped classroom teaching mode has more advantages,it can effectively stimulate the students' thirst for knowledge and learning enthusiasm for program design courses. To this end, it is necessary for college teachers to study the implementation of the flipped classroom actively.

Key words:Teaching mode; Flipped Classroom; Advanced language programming

1 引言

随着2011年美国可汗学院的兴起及大型开放式网络课程MOOC的迅速发展,翻转课堂教学开始风靡中国,受到教育界的广泛关注,大量的大中小学教师开始利用翻转课堂进行各种课程教学,并不断地进行更深入细致的探索。

祝智庭对翻转课堂进行了较为准确的界定,翻转课堂实施过程的实质就是将传统教学模式的“知识传递”与“知识内化”两个过程反转,知识传递过程从课堂上转移至课堂下或家庭中,从时间和空间两个维度实现学习过程的完整翻转,是“先学后教”的教学新范式。[1]

翻转课堂即课堂内外进行翻转,教师应设计好教学过程,制作相关的学习视频,要求学生在上课之前自行观看,让学生对新知识进行学习,也就是课外先完成课程的自学,学生将学习中遇到的问题反馈给教师,在课堂上主要是对这些疑问进行解答等。翻转课堂在理论上是很成功的,但是在不同课程的实施过程中总会存在一些具体问题,尤其在这种模式还不甚成熟的时候。

高级语言程序设计作为我校学生的一门公共课,也是一门重要的必修课,旨在培养学生的计算机编程能力、实际应用能力,是实践性非常强的一门课程。如何更好地进行课程的教学是一名计算机教师急需研究的问题。笔者认为翻转课堂作为一种目前较为流行的教学模式在高级语言程序设计课程的教学中应用极具研究意义。

2 翻转课堂相对传统教学方式的优势

教师、学生、教学内容是课堂教学不可缺失的三个基本元素。除此之外,教学方法、教学手段、教学技术等也是课堂教学的构成因素。这些都直接影响到教学质量。教育普遍面临着教学对象的个体性,也就是说我们所面对的学生水平的不一致。翻转课堂作为一种新的教学模式,尊重学生的个体差异,体现了以学生为中心的人性化教育。

对于高级语言程序设计课程来说,学生的学习基础不尽相同,有些同学在开课之前可能对课程有了一定的基础,有些同学可能从未接触过。此外,学生接受知识的速度能力也不可能同步。传统的教学方式是教师在课堂上完成知识的讲授,在有限的时间内学生获得的知识有所差别,可能有些同学已经完全理解了所有知识点,有些同学却一知半解,甚至不知所云。这种点对面的传授方式主要以教师为中心,没有也不可能实现教学以学生为中心。而翻转课堂可以很好地解决这个问题,教学内容的自学是在课外完成的,学生可以根据自己的学习基础、个人能力合理地安排学习的时间、空间,此时教师对学生的知识讲授其实已经从点对面转变成点对点。

传统的教学方式中除了教师的讲授,为了更好的教学效果,一般会加强师生之间的互动,但是往往教师关注的是那些在课堂上较为活跃的学生或者是一些较为优秀的学生,或者说这些学生会主动引起教师的关注,而大多数有较多疑问的同学可能因为不好意思提出问题,或者因为有太多疑问无从提问,并不会主动提出问题。这样明显不利于课程后续的学习。翻转课堂却能更好地避免这类问题的出现,学生向教师提出问题,这个过程不再局限在课堂上,也可以是在课外以其他方式实现。这样教师在课堂上解决问题时,其实关注的对象已经变成学习上有困难的学生。

3 翻转课堂实施方案研究

以高级语言程序设计课程来讲,翻转课堂教学模式非常适合这类计算机课程。翻转课堂的基本步骤是教师先制作学习视频,然后学生在课后自选时间完成课程知识点的自学,最后在课堂上教师解答问题。实际实施过程中当然也会遇到很多细节问题。

首先,教师视频的设计和录制是课前必需的准备工作,教师制作的视频质量直接关系学生的学习效果。教师制作的视频可以分为知识点视频和综合知识视频。知识点视频也就是将各知识点分别制作成小视频,学生依次先观看这些小视频,视频最后是教师提出的一个小问题,学生可以通过完成这些问题来检验自己对知识点是否基本掌握。完成这部分学习后,再进行综合知识视频学习。综合知识视频的主要内容是根据某个章节的多个知识点综合而成的例题的演示。学生观看视频后再完成一个相似例题以检学习成果。这种模式可以促进学生根据自己的能力合理地安排自己的学习时间,可以利用课后的各种碎片时间。此外,碰到较复杂的知识,学生可以通过多次反复播放视频来加深理解。由于视频是课前准备,这就意味着不需要像传统课堂上课一样必须是教师本人在指定时间空间进行,也就是说我们完全可以群策群力,集合整个课程组的所有教师,集思广益,尤其是充分听取有经验的高职称教师的建议,设计制作出高水平的视频,这样相当于学生在接受最高水平教师的教学,教学质量也不再简单依赖于某个任课教师的教学水平。

第二,学生的积极性会直接影响翻转课堂的教学效果。翻转课堂要求学生具有较高的学习自觉性。课前学生需要自行选择时间去观看学习视频,如果学生本身自觉性不高,课前并没有按照要求去观看学习视频,那么将造成严重的后果,在接下来的课堂学习将无事可做,o话可说。对于一些知识较为连贯的章节,一次学习的缺失将会导致后续更多问题出现。所以笔者认为任课教师在不了解授课班级学生学习态度的情况下,可以先试行翻转课堂模式,通过前几次课的情况首先摸清学生情况。考虑到当前学生中存在学习主动性不高的问题,不一定要每节课都采用翻转课堂的教学模式,而是根据学生情况、教学内容等采取多种教学模式结合灵活应用,比如任务驱动法等。在教学中应该充分考虑如何提高学生的学习兴趣,可以采用案例式的教学方式,给出一个结合教学要求和能引起大家兴趣的案例,引导大家一步步地完成,这样学生不仅能获得成就感,而且会觉得自己学习的知识是有用的、有趣的。这样良性的循环,在学生培养出一定的学习积极性后,翻转课堂取得的效果才能真正提高。

第三,课堂设计是翻转课堂效果提升的关键。课前的自学当然和学生本身的自觉性、理解力等息息相关,但是在同等情况下,课堂上教师对学生学习的指导是学生对知识理解层次提高的重要因素。如何进行课堂的设计成为教师必须认真考虑的问题。课堂不仅仅是对学生提出问题的简单解答,这要求教师有较高的课堂教学设计水平以及对课程内容的把控。在课前教师对学生在课前自学过程中的疑问要有比较清楚的认知,这些认知可能是来自教师在多年教学过程中的经验,也来自当前班级学生的各种渠道的反馈。教师应合理安排课堂时间,不仅仅是简单地对学生提出的问题简单罗列和解答,应该从这些问题中分析学生学习不足的实质,同样知识点合并,同一知识点由浅入深、不同知识点的先后次序都是必须考虑的问题。对于非常重要、核心的知识,就算学生没有提出疑问,还是需要通过课堂练习的方式加深学生印象或加以检验考核。

4 结论

将翻转课堂应用于高级语言程序设计课程,学生课前自行观看教学视频完成小练习,课堂上教师解决疑问及检验学生的学习效果,此种教学模式相比传统教学模式来说,更加有利于提高学生学习兴趣,促进学生学习积极性,进一步提升学生学习效果,有利于培养学生的自学能力和应用能力。

参考文献:

[1] 祝智庭,贺斌,沈德梅.信息化教育中的逆序创新[J].电化教育研究,2014,35(3):5-12.

[2] 张文文.“翻转课堂”对我国教育改革的启示[J].湖北第二师范学院学报,2016,33(5):113-115.

[3] 唐君.“翻转课堂”三问我国高校教学[J].天中学刊,2015,30(5):136-138.

[4] 戴宁,曹辉.“互联网+教育”:颠覆、应对与重构[J].教育与教学研究,2016,30(7):16-20.

[5] 彭娟,夏飞.“慕课”对地方应用型高校教学的冲击与应对策略[J].湖南第一师范学院学报,2016,16(3):60-63.

[6] 张志国.“以学生为中心” 的课堂教学设计[J].天津中医药大学学报,2016,35(3):200-202.

[7] 卢晓芳.翻转课堂发展的新思考[J].齐齐哈尔师范高等专科学校学报,2016(3):8-9.

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

关键词:高级语言程序设计;计算机专业;程序设计能力;网站

中图分类号:TP312 文献标识码:a DoI: 10.3969/j.issn.1003-6970.2012.02.030

Research on Teaching Reformation of High Level Language Program Design Course

LIU Xia, LIU Zhi-Ming, LUo Jiang-Qin(School of Computer Science and Technology, University of South China, HuNan HengYang 421001)

【Abstract】 this paper analyses the importance of training programming capability to students of computer major, summarizes the standing problem during the present teaching of high level language program design course, presents reform methods and measures from four links of teaching, practicing, testing and communicating. Base on these research results, the High Level Language Program Design Course website is studied and designed. It can provide a platform for improving the students’ programming capability.

【Key words】High Level Language Program Design; Computer Major; Programming Capability; website

0 引 言

采用冯诺依曼体系结构的计算机依靠存储程序的原理以实现自动工作。程序对于计算机的重要性,决定了程序设计在计算机学科知识体系中处于核心地位。只有懂得程序设计,才能懂得计算机,才能真正了解计算机的工作过程。因此,对于计算机专业的学生来说学习程序设计语言,掌握程序设计方法,培养程序设计能力就成为其专业学习的主要目标。并且,程序设计能力对计算机专业的学生来说不仅是职业技能的培养,也体现着创造性思维的信息素质培养过程。程序设计正是有形表达抽象思维的方法,在程序设计过程中贯穿阅读判断、分析思考、工具利用、抽象表达、综合创造等多项技能,对计算机专业人才素质的培养至关重要[1]。

教育要面向市场需求[2]。《麦可思2008中国应届大学毕业生就业年度报告》中提供的数据显示:“计算机科学与技术”专业毕业时的工作落实率为52%,离校时掌握的工作能力仅为5l%。当前计算机类专业毕业生就业的残酷现状反映出大部分计算机专业学生(包括毕业生)缺乏实际程序设计能力,没有很好地掌握一门程序设计语言。

因此,如何提高学生的程序设计能力,培养出符合社会需要的计算机专业人才成为计算机学科教学的一个亟待解决的 重要问题。

1 现状分析

《高级语言程序设计》是计算机类本科专业的核心基础必修课程。本课程以计算机科学导论为先修课程,主要介绍某种高级语言的语法和高级语言程序设计的概念、方法和思想。通过本课程的学习可以使学生掌握一门高级程序设计语言,掌握程序设计的方法,确立程序设计的思维方式,培养和提高学生的应用程序开发能力,并为数据结构,编译原理,操作系统和其他计算机程序设计语言等后续课程的学习打下基础。国内外凡是和程序设计相关的院系都开设了该门课程,《高级语言程序设计》已经成为世界级的计算机必修课程。

《高级语言程序设计》作为学生入校后接触到的第一门程序设计课程,可是说是大学四年中学生培养程序设计能力的起点,对后续各门课程的学习将产生深远的影响。本文以《高级语言程序设计》课程的教学为实例,总结当前课程教学中存在的问题和经验,研究探索在高级语言程序设计课程教学中提高学生程序设计能力的方法和途径。

对当前的《高级语言程序设计》课程教学进行分析,发现主要存在以下几方面问题:

(1)教学方面。《高级语言程序设计》课程的教学内容主要 包括:数据类型、运算符、表达式、选择结构、循环结构、数组、函数和指针等。内容涉及知识面广,概念复杂,内容抽象,规则繁多,使用灵活。尤其是作为学生入校后接触到的第一门程序设计课程,学生的程序设计思想尚未建立,导致该课程的入门难度较大,学生在学习的过程中容易产生畏难情绪。

程序设计课程传统的教学以语法教学为主,上机验证程序为辅,虽然利于许多学生对各分散知识点的入门学习,但学完之后要让他们应用相关知识来进行程序设计解决问题时往往不知从何下手。其原因就是当学生们深陷于在各个知识点语法细节的学习时,迷失了串起各个知识点的程序设计思想的主线,忽视了学生编程思维的建立和程序设计能力的培养。

目前高级语言程序设计的课程教学主要采用多媒体课件授课的方式。教师一边讲解教学内容,一边进行演示,再在微机实验室让学生按实验辅导书进行操作、练习。教师个别辅导,有时也针对主要问题进行集体讲解。这种“以教师为中心”的传统教学模式,虽有利于发挥教师的主导作用以及调控教学的组织管理和教学过程,却往往因为不能充分调动学生的积极性,造成学生缺乏学习兴趣。不利于学生自主创新能力的培养。

(2)实践方面。程序设计课程传统的教学实践通常是由老师布置题目,学生编写程序,由老师来评判程序的正确与否。这种形式的教学实践既缺乏激励机制,难以引起学生的兴趣;又因为需要人工评判程序,评判结果不及时且带有主观性。

(3)考核方式。目前,高级语言程序设计课程的考核方式由平时成绩和考试成绩两部分组成。平时成绩主要考查学生的出勤和作业完成情况,占总评成绩30%的比重。期末考试占总评成绩70%的比重,采用笔试的形式,对上机实践考核缺乏。笔试试题基本上是以考语法规则与阅读程序等形式为主,这种形式单调的考核方式,缺乏综合性、科学性和系统性,无法从考试中充分反映学生解决问题的能力和实际的操作技能。这样会造成学生能读懂程序,一旦轮到自己实际编写程序时,就不知从何下手,更谈不上思考算法了。忽视了动手操作与应用能力的培养。

(4)交流反馈。在传统的教学方式中,以教师为主导,学生通常充当被动接受的角色。除非教师在课堂上提问学生回答,师生之间很少交流。由于《高级语言程序设计》作为计算机学院各专业的基础必修课,自高校扩展以来,多采用合班上课的形式,学生人数众多,教师无法兼顾所有同学。而对于大一的学生来说,《高级语言程序设计》无论在学习内容,还是思维方式上都是一门全新的课程。而且该课程的概念多、实践性强、涉及面广,对学生来说,在学习中很容易遇到问题。在交流有限的情况下,使得有些同学遇到问题不能及时解决,更造成后续学习的困难。

2 教学研究与改革

2.1 教学环节

对教学环节的改进包含两个方面:课堂内的教学和课堂外的教学。

对于课堂内的教学,针对重语法、轻算法的教学方法所存在的问题,建议采用“提出问题―分析问题―引入新知识―解决问题―总结提高”这样一个循序渐进、交叉进行、螺旋式上升的教学模式。将课程内容分为若干个主题,通过每一个典型的、针对性强的、贴近现实的案例程序设计作为贯穿各主题的主线。这样既能在较大程度上避免枯燥的语法知识,又能引起学生的学习兴趣,从而接受和理解这些思想和方法。

对于课堂外的教学,构建高级语言程序设计课程网站教学平台,作为课堂教学的有效补充。课程网站教学平台教学资源丰富,提供经典算法(如选择、排序等)的 CAI 动画课件,有利于学生理解重点和难点内容。提供课程信息栏、电子教案栏、课程资源栏、实验指导栏、答疑区、作业区、讨论区、测试区等数字化学习环境,可丰富学生课程学习的层面,使得启发式、任务驱动式、讨论式、参与式等多种教学模式成为教学的有力支撑,有力地提高了学生自主学习的能力。

2.2 实践环节

学生的程序设计能力主要依靠上机实践逐步培养出来的。编程不是看会的,不是听老师讲课听会的,而是学生自己通过上机实践练会的,可见实验教学的重要性。此外,有效的实践环节还可以激发学生的学习热情,进一步加强学生对理论知识的理解。

对实践环节教学的改进包含两个方面:课堂内的实践和课堂外的实践。

对于课堂内的教学实践,建议调整理论和实验课时的比例,应该至少 1∶0.5或实验课时占到更高的比例;其次,教师应该提前下发实验作业,要求学生上机前提前准备好调试内容,并对学生准备情况进行检查,提高上机效率;再次,每一次实验任务明确,要求学生在规定的时间内完成程序调试。

对于课堂外的教学实践,向学生提供在线评判(OnlineJudge,简写为OJ)网站,供学生课余时间进行在线实践,作为课堂内教学实践的有效补充。在线实践不同于传统的教学实践,它指由OJ网站提供试题,学生在线提交程序,OJ网站的在线评判系统实时反馈评判结果。这些试题具有趣味性、挑战性,而且评判过程和结果公正及时,能引起学生的极大兴趣。学生登录OJ网站浏览题目,根据题目要求完成程序,并在OJ上提交程序后,通过OJ系统反馈回来的评判结果反复修改程序,一直到最终收获Accept(程序正确)。这个过程不仅能培养学生独立分析问题、解决问题的能力,而且每成功解决一道题目都能给学生带来极大的成就感。

2.3 考核环节

课程的考核是督促学生学习、检测学生学习效果的有效手段。正确有效地考核不仅能准确获知学生的课程学习情况,也能帮助教师发现课程教学中的不足,从而能对教学方法进行更好的改进。

对考核环节的改进包含两个方面:平时成绩考核和期末考核。对于学生的平时成绩考核,除了传统的评价指标,如:考勤、作业等外,还应综合考虑学生课外在课程网站教学平台上浏览课程网站、在线学习的效果、展示编程作品/提供编程巧妙方法的次数等因素;对于学生的期末考核,为改变传统笔试在考查学生上机实践方面的缺失,建议采用在线考试,可大大提高工作效率。考试成绩评定采用相对分数的方式给出,给出合理的分数比例段,突出学生在各个环节考核中的排序作用。这样做激励了学生之间的竞争,避免由于出题的深浅造成不合理的情况,学生的成绩具有横向可比性。

2.4 交流反馈环节

为了弥补课堂内师生交流、生生交流在时间上的局限性,可借助在高级语言程序设计课程网站教学平台上提供的两种方式:留言簿和论坛。教师与学生课外通过留言簿和论坛进行交流讨论,留言簿仅由教师回复学生问题,实现一对一的教学;而论坛则由任何注册用户进行多级回复,便于学习讨论,教师可以根据学生的反馈意见获取学生学习情况并及时对网站内容进行调整,学生也可从教师处获取有益的指导意见,及时调整和把握自己的学习进度。交流平台帮助教师及时获取同学的反馈,调整教学活动,是对以往课堂教学的有效延伸,使教师成为教学的辅助者。

根据上述在高级语言程序设计课程的教学分析改革中所提出的需求,设计高级语言程序设计课程教学网站结构如下图所示:

图1 “高级语言程序设计”课程网站结构图

3 总 结

参考文献

[1] 耿国华. 程序设计能力培养模式的探索与实践[J]. 中国大学教学,2009(3):30-32.

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

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

1 研究背景

程序设计能力是计算机及其相关专业学生最重要的专业能力之一,它是评价本专业本科生培养质量的首要指标。高级语言程序设计是计算机专业学生的第一门专业基础课程。通过该门课程的学习,学生应该掌握正确的、规范的编程方法;掌握通过编程解决问题的方法和思路;加深对计算机基本概念的理解,训练逻辑思维能力,培养严谨的科学作风。因此,该门课程的教学质量直接决定了学生程序设计能力的高低,对学生专业素养的形成具有重要的影响作用。

在高级语言程序设计课程的教学过程中常常会出现这样的矛盾冲突:教师抱怨课时少,课本上的内容不能讲细讲全,学生底子薄,难以深入理解课程的要义和精华;而学生则抱怨课程概念比较复杂,规则繁多,枯燥乏味,难以学习,难以实际运用,因而缺少学习的兴趣和动力,更谈不上自主学习。

在多年的教学实践中我们感到,老师在课堂教学中过于注重语句、语法和一些细节的讲解,考核(特别是标准化考试)也是偏重于语法,课程基本上是以高级语言自身的体系脉络展开的;在常用的“讲授语法规则,给出例题,再加解释”简单三步式的教学中,学生花了很大精力学习语法,但还是不知如何编写一个正规的程序,不知道怎样通过编程去解决问题,忽视了程序设计思想的学习。分析问题、解决问题的能力不高,很大程度上影响了学生专业技能的培养。为此,我们对课程的教学现状作了调查和分析研究,主要状况如下[1]:

1) 目标定位不明确。学习编程语言还是学习程序设计方法?教授编程知识还是培养用编程知识解决实际问题的能力?程序设计类课程目标定位不明确,没有建立课程目标体系,专业基础课的作用不明显。

2) 对专业能力的培养重视不够。课程教学中太过强调程序语言本身的要素,以知识点为目标,忽视了对知识综合运用和实践能力的培养。

3) 对课程的实践性重视不够,实际知识运用的训练较少。实践教学不够系统和完善,实践项目的设计没有充分考虑能力目标的培养而过多关注程序语言本身的特性。

4) 练习和考试。多采用书面或验证性实验的形式,以标准化习题和简单的编程题为主,缺少对知识灵活运用的练习题,缺少专业性编程基础的练习题,缺少对程序实际运行的检查,从某种意义上引导学生只关注基本概念和语言要素,忽视了对程序设计能力的锻炼和培养。

5) 从教学效果上来看,学生基本程序设计能力差,遇到程序设计问题不知如何下手,缺乏完整系统的程序设计方法,工作效率低;缺乏专业程序设计的能力和意识,代码质量意识弱,代码质量差,缺乏中等规模以上的程序设计能力。

2课程体系改革

2.1教学内容的改革

经过分析,我们认为在高级语言程序设计课程中一些更为重要的内容没有教给学生(或强调得不够),那就是程序设计的方法和编程解决问题的思路。为此,我们对程序设计课程进行改革,在教学内容的设计以及教学过程的各环节设计中,弱化学生对编程知识和语言本身的关注,突出对知识的运用,使学生能从更高的角度认识学习目的,并在第一门程序设计课程中引入软件工程的思想,指导学生编写规范的程序。改革后的教学内容如表1所示。

2.2教学方法的改进

在教学中,努力贯穿程序设计语言的语法服务于任务求解和程序实现的思想。以知识点为主线,采用问题驱动方式,通过实例来讲授程序设计的概念和方法。重点放在编程构思上,试图贯穿以程序编写带动语法教学的模式,引导学生掌握计算机语言的核心编程方法,提高应用能力,做到计算机语言知识和应用开发能力的融会贯通。

任务驱动是指由教师根据教学内容,以任务为核心组织每一堂课的教学,将学生自主学习和探究过程置于一个特定的情境中。通过交流,引导学生发现问题、解决问题、反思学习,充分发挥学生的主动性和积极性。在教学中,我们把原来“讲授语法知识讲解算法思路学生理解算法思路用该种算法解决实际问题”的课程授课体系,改革为“提出问题分析问题解决的思路和方法(算法分析)解决问题(编写程序)语法小结程序测试、结果分析用该方法解决实际问题”。在专业学生的第一门专业基础课程中引入软件测试的介绍,使学生一开始就建立一个正确的软件测试观点,对提高学生的程序调试能力有很大帮助。

我们学院高级语言程序设计课程是以C语言作为教学语言。下面以“选择结构程序设计”单元为例,说明课堂教学组织结构。

1) 选择结构程序设计教学案例。

任务一:计算一元二次方程的根。

任务二:从键盘输入你和你朋友的年龄,判断谁的年龄最大,输出最大者的年龄。

算法1:用不带else子句的if语句编程

算法2:用带有else子句的if语句编程

算法3:用条件表达式实现

任务三:给出由身高与体重计算的“体指数”,判断某人是否属于肥胖。

算法1:用不带else子句的if语句编程

算法2:用在if子句中嵌入if语句的形式编程

算法3:用在else子句中嵌入if语句的形式编程

任务四:根据输入的百分制成绩,转换成相应的五分制成绩并打印输出。

算法1:用嵌套的if语句编程

算法2:用switch语句编程

任务五:编程设计一个简单的计算器,要求根据用户输入的表达式计算,指定的运算符为加(+)、减(-)、乘(*)、除(/)。

2) 语法小结――if-then; if-then-else; switch。

3) 程序测试――白盒测试法。

4) 编程练习。

在课堂教学组织中要做到选择任务典型,能够代表一些基本的算法,并能留下深刻印象;随着问题算法由浅入深地介绍,语法知识逐步展开;将程序测试引入,不仅需要设计合理的测试数据,还需要设计不合理的测试数据,让学生建立正确的程序测试观点。

2.3教学手段的变化

在教学手段上,积极采用多媒体教学,但不局限于多媒体教学。我们发现,并不是所有的教学内容都适合采用多媒体教学,多媒体技术不恰当的使用会分散学生注意力,不利于培养学生的逻辑思维。在高级语言程序设计课程的教学过程中,我们将传统教学与多媒体教学进行了有机的结合。将一些概念、语句的格式说明、案例代码制作成课件,在课堂上展示,加大信息量的投入。大部分例题和习题直接在C编译环境下讲授,但部分案例的分析和程序的编写过程,则采用传统的黑板板书教学方式,随着老师的讲解和板书,将问题层层剖析、层层深入,能有效带动学生的积极思维,增强师生互动。

建立网络辅助教学平台可以有效地利用教学资源,扩大学生的知识面,增强师生互动。该网站收集了完整的网络课程资料,包括教学大纲、教学录像、网络教学课件、实验指导、在线测试、下载中心、在线答疑等栏目,为学生自主学习提供了丰富的资源。

2.4课程考核方式的改变

衡量高级语言程序设计课程学习的好坏,不是看学生“知不知道”,而是“会不会干”。所以,建立一个服务于课程目标的学生成绩评定方法是一项非常重要的工作。我们要求成绩评定应具有激励、反馈、导向三大功能,达到“以考促学”的目的。因此,在评定内容上不仅仅是基本理论、基本知识的掌握,更要重视对学生学习过程的考核,重视实践和动手能力的考核,侧重考核学生解决问题的能力。

以往,高级语言程序设计课程成绩的评定是以8∶2方式,即期末笔试成绩占该课程总成绩的80%,平时成绩占总成绩的20%的方式。在新的成绩评定体系下,采用5∶3∶2评定方式,即期末笔试成绩占总成绩比例由80%降为50%,增加了实践环节成绩,占总成绩30%,平时成绩仍占总成绩20%。其中,实践环节成绩包括课程学习过程中的10个实验成绩以及课程结束时的实践环节考试成绩。这种考核进一步促进学生对实践能力培养的重视。

3结语

课程特点和教学目标的定位决定教学方法的选择和对教学内容的设计,“案例引导,任务驱动”的教学模式是实施高级语言程序设计课程教学的有效方法。我们对近几年的程序设计教学进行了调查,学生普遍反映课程教学的改革提高了他们的学习兴趣,动手能力和编程能力有了明显提高,为进一步学习和工作打下了良好的基础。

参考文献:

[1] 马雪英,王桂平.以能力为导向的程序设计类课程教学体系[J]. 计算机教育,2011(4):74-78.

[2] 苏小红,陈惠鹏,孙志刚,等.C语言大学实用教程[M]. 北京:电子工业出版社,2009:84-99.

[3] 徐小青,李晓东.“高级语言程序设计”课程教学改革与实践[J]. 计算机教育,2009(13):46-48.

[4] 揭安全,李云清,杨庆红,等. 项目教学模式指导的“数据结构与算法”教学改革[J]. 计算机教育,2008(11):21-23.

Reform on High-level Language Programming Based on Task Driving

ZHU Minghua, JIE Anquan

(College of Computer Information & Engineering, Jiangxi Normal University, Nanchang 330022, China)

Abstract: Programming thinnking ability is one of the most important abilities must be possessed by students majoring in computers specialties. One of the most important tasks of Programming Course is to cultivate students’ programming thinking ability.This paper analyzes the present situation of high-level language programming course. In order to promote the professional programming ability, the paper presents a curriculum system reform and practice based on task-driven, and discusses about curriculum content, teaching methods, teaching methods and evaluation methods.

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

关键词:高级语言程序设计;学习兴趣;教学研究

高级语言程序设计是大部分高校计算机专业本科生接触的第一门计算机语言课程,是计算机专业的核心课程,也是数据结构、软件工程等后续专业课的基础,其教学效果的好坏直接影响到学生对计算机软件开发的认识和后续课程的学习。传统的教学侧重于知识的传授,对学生的学习兴趣等因素重视不够。笔者在多年的高级语言程序设计课程教学实践和研究中深深体会到,培养、激发和提高学生对课程的兴趣对提高教学质量具有至关重要的意义,浓厚的学习兴趣是搞好课程教学、提高学生学习效果的关键。如何培养、激发和提高学生的学习兴趣,是一个值得广大计算机教育工作者深入研究和探索的问题,本文将结合笔者多年的教学经验和对本科计算机教学改革的尝试,从6个方面来探究这个问题,并给出相应的方法。

1融洽师生感情,创造良好学习氛围

兴趣是一种巨大的激励学习的潜在力量,也是人们认识某种事物或爱好某种活动的倾向,这种倾向总是和一定的情感相联系。美国心理学家布鲁纳提出:“学习的最好刺激是对所学材料本身发生兴趣,兴趣可以孕育愿望,可以滋生动力[1]”。当一个学生对自己所学的知识产生兴趣时,他就会积极主动地去学习探索,而不会把学习看成是负担。浓厚的学习兴趣会

使学生对知识的世界进行积极地、不懈的追求和探索,充满激情,会主动克服所遇到的一切困难。正如孔子所说:“知之者不如好之者,好之者不如乐之者。” 学生具有明确的学习目的、高昂的学习情绪、浓厚的学习兴趣、强烈的学习愿望,是学好课程的最重要的内部动力。据国外学者研究发现,获得成功的诸因素中,兴趣占25%,而失败的诸因素中,缺乏兴趣占35%,足见兴趣在取得成功中所起的重要作用。

培养学生的学习兴趣,首先要搞好师生之间的关系。古语云:“亲其师、信其道。”师生之间感情上的融洽程度,会直接影响到学生对课程的喜好程度,以至影响最终的教学效果。要想使学生喜欢老师,教师必须从自身做起。良好的道德修养和高尚的人格魅力,认真的工作态度及扎实、丰富的知识,是爱学生和被学生爱的教师的内在需求。教师首先要自修,自身素质好的教师,才能对学生产生吸引力,有了这个吸引力,学生才会悦纳老师。其次要尊重学生,关爱学生,公平对待每一个学生。只有这样,学生才会真正喜欢上老师,进而可能喜欢这个老师上的课程。

2让学生一开始就认识到课程的重要性

要想培养学生的学习兴趣,就要让学生一开始就认识到课程的重要性。任何人对事物的认识都是由浅入深,学生对一门课程的认识也是如此,刚开始还没有意识到该课程的重要性或者认识不深,随着教学的深入,学生逐渐认识到课程的重要性,等到认识全面的时候已经到了学期的期末,想要好好学习却已经有些晚了。为此,作为教师有必要在刚开始的教学活动中,让学生充分认识到课程的重要性,认识到该课程无论是在专业体系中还是在日常生活中都是至关重要的,让学生在主观上重视起来,进而有动力去学,并在学习中逐渐体会到学习的乐趣,从而对课程建立起浓厚的学习兴趣。

在讲授高级语言程序设计时,教师除了在第一次课上向学生介绍课程在计算机专业体系中所处的地位及作用外,还需结合课堂内容给学生列举高级语言在生产实践中的应用及其发展前景,使学生意识到学习高级语言确实学有所用,无论是对社会发展还是对自身就业都有所帮助,这样学生就会对这门课程更感兴趣,也更有动力去学。

3精心选择例题

由于没有编程经验,大部分学生接触到这门课程时,对编程会感到非常新奇、好玩,但随着课程中大量的语法规则、概念的不断引入,问题难度的逐渐加大,其中一部分甚至是大部分学生会感觉枯燥无味。为了使学生保持最初的好奇心乃至转化为学习兴趣,需要教师在教学过程中精心地选择例题。

1) 选择趣味性的例题。

在课堂和实践教学过程中可选择一些趣味性的例题,如“扑克牌洗牌”、“百钱买百鸡”、“爱因斯坦阶梯”等。这些充满乐趣的问题有利于学生轻松愉快地学习、积极主动地思考,而且印象深刻。

2) 选择能够解决实际问题的例题。

传统的高级语言程序设计教学主要以语法规则的逐步深入为线索来进行教学,这种方法有利于学生对语法知识循序渐进地学习,但往往是学生学了大半学期,学会了语法规则,却不知道这些语法规则有什么用,最终的后果是所学和所用严重脱节。因此在教学过程中,笔者所在教学梯队精心设计了一些能解决实际应用问题的案例,每一章安排一个比较完整而且有实际应用价值的实例,例如:求玉米地产量、求绿化带面积、学生成绩管理、图书卡管理等日常生活中能遇到的实际应用问题。在教学过程中引导学生首先把实际问题转换成为数学问题,再为数学问题的求解寻找合适的方法,然后为实现计算方法给出具体的算法,最后利用高级语言编写程序、调试、测试。针对每一个问题,都引导学生学会如何分析问题、解决问题,而不是只去学语法规则。这样学生就能了解如何利用计算机解决现实世界中的问题,从而增加他们学习的动力和积极性。当然,在案例的编排上,要注意结合语法规则的循序渐进。

3) 在游戏中快乐学习。

游戏是绝大部分学生都喜欢做的一件事情,如果能把知识的学习融入到游戏中去,就能寓教于乐[2]。高级语言程序设计的目的是让学生熟练掌握一门计算机高级语言,熟悉利用该语言开发软件的过程,进而解决实际问题。高级语言本身的基础知识和基本操作的学习相对来说比较枯燥乏味,但是我们不能把枯燥乏味带给学生,使学生对学习失去兴趣,要使学生在快乐中学习。正因为这些,在计算机教学设计中要充分利用游戏的作用,利用游戏的精彩,提高学生学习计算机的兴趣。

计算机游戏非常多,从扫雷、五子棋到三国等,教师可以引导学生利用所学的计算机高级语言来编写一些简单的游戏,不仅可以锻炼学生的逻辑思维能力,而且可以让学生在快乐中掌握该种语言的基础知识、熟悉开发项目的过程,更能激发学生的学习兴趣。学生在游戏过程中生动地学习,在学习过程中快乐地游戏,从而达到预期的教学目的。

在课余时间,教师要有目的地介绍一些益智类的游戏给学生,并要结合实例讲解其中所蕴含的知识点,也可以让学生成立小组,自行开发一些小型的游戏并定期组织一些比赛。学生们对其非常感兴趣,在编写游戏和玩游戏的过程中自娱自乐,同时,玩游戏本身又是对自己编写的程序进行测试和不断完善的过程,不仅有利于培养学生的自主学习、合作精神和探究能力,同时有利于培养学生的创新实践能力。

4多模式教学

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

关键词:程序设计;高级语言;算法设计;功能意念

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

1引言

“高级语言程序设计”是各类学校计算机相关专业的一门重要的专业基础课,许多学校都将其安排在新生入学后的第一学期开设。

对刚接触这门课程的学生而言,“高级语言程序设计”课程的中心内容包括两个部分:高级语言和程序设计。从高级语言和程序设计的关系来说,程序设计应该是这门课程的核心内容。

对于如何搞好“高级语言程序设计“的教学,不同的人有不同的看法。笔者在多年的教学实践中,多次尝试采用“功能意念教学法”,取得了教好的效果。本文就是这一教学法的简单总结。

2功能意念教学法

“高级语言程序设计”的功能意念教学法就是从程序的一般功能、程序的一般结构以及程序设计的一般过程出发,按照功能+意念+机制的方式组织教学。简单地说,就是为了设计一个程序,先解决我们需要做些什么,然后解决程序需要做些什么,最后解决高级语言怎么做到等一序列问题,也就是从问题和任务出发进行教学。

以上所述主要围绕程序最基本的功能展开,至于其它功能部分,比如C语言的编译预处理、宏、模块化、混合语言编程、指针、文件、链表等,也可以从功能意念的角度展开教学。

在具体实施教学的过程中,可以根据教学要求按照自顶向下的原则制定出所教授的高级语言的基本功能意念表,以方便教学。

3算法的意念作用

笔者认为,程序设计其实就是为了解决某个问题而从我们所熟悉的程序设计语言中挑选合适的语句做一个适当的排列组合。

在上面的这段话中,明显地有两个值得我们进一步探讨的关键词:合适的语句和适当的排列组合。现在我们的问题是,如何挑选合适的语句?又怎样做适当的排列组合?

这两个问题的解决有赖于所谓算法的概念。因此,为了解决这两个问题,我们必须针对面临的具体问题设计出有效的算法。

算法是解决特定问题的一序列操作的集合,代表的就是一种意念,换言之,就是设计者所希望的对数据进行加工处理的有序的步骤。这种操作步骤的有序性就决定了如何对所挑选的语句做适当的排列组合。

由粗到细是我们解决问题的一种典型的思维过程。按照这一思维特点,算法设计也有一个由粗到细的过程,即算法细化。

算法细化要适可而止,即有一个度的问题,那么我们又该如何把握这个度呢?一般而言,算法细化只要细化到其中的每一操作步在准备采用的语言中都能找到对应的语句直接加以实现即可,而且也必须细化到这种程度!算法细化好了,如何挑选合适的语句也就解决了。

总之,算法决定了如何挑选合适的语句以及怎样对所挑选的语句做适当的排列组合!因此有了算法,我们只需要通过很简单的翻译转换就可以很容易地得到程序。

4高级语言的相关功能成分

高级语言是书写和记录程序的工具。为了适应程序的功能需要,高级语言自然应该提供相应的手段或机制让程序设计人员借以实现所需要的程序功能,高级语言的相关功能成分指的就是这些手段和机制。

4.1数据安排机制

高级程序设计语言中的数据安排机制主要体现为用于定义常量、变量、数组和记录(或结构体)等的功能成分。单纯从语言成分的角度来看,这些功能的实现主要是由一组和数据类型有关的关键字来体现的。换言之,高级语言为我们提供了一组与数据类型有关的关键字以便程序设计人员根据自己的意愿对数据空间进行组织和安排。以C语言为例,这些关键字主要有:char、int、float、double、struct以及signed、unsigned、short、long,等等。在源程序中来看,数据空间的组织和安排都是通过基于上述关键字的数据定义语句来实现的,比如:

1)int abc;

2)char abc[12] ;

3)*float abc;

4)struct abc{x char;y int;z float;}

struct abc xyz;

作为程序设计的工具,为了尽可能给程序设计人员带来方便,高级语言除了支持基本数据类型外,还支持用户自定义类型,如上面的例4)。

4.2数据I/O机制

高级语言中的数据I/O机制主要体现为各种用于数据输入/输出的语句或函数(库函数)等。在C语言中,这些函数常用的有:

fprintf、printf、sprintf、vprintf、vfprintf、vsprintf、

fscanf、scanf、sscanf、fgetc、fputc、getc、putc、getchar、putchar、fgets、fputs、pus、gets等。

以上列出的是所谓系统预定义函数,即标准函数或库函数。此外,用户还可以根据自己的需要以上述标准函数为基础自行定义一些可以得到某些特殊I/O效果的函数。

4.3数据处理机制

前面已经提到,数据的内部加工处理主要包括数据在主机内部的传送和各种运算,高级语言的数据处理机制就

是指为此目的而提供的各种运算符。在C语言中,这些运算符包括为数据传送提供的赋值运算符“=”和为数据运算提供的算术运算符“+、-、*、/、%、++、--”、关系运算符“>、>=、

4.4流程控制机制

高级语言中的流程控制机制主要体现为用来实现分支程序结构、循环程序结构以及子程序结构的功能成分,换言之,就是分支语句、循环语句以及子程序的定义和调用机制等。在C语言中,这些语句包括:if语句、switch语句、goto语句、break语句、continue语句、for语句、while语句、do…while语句以及return语句等。

5结束语

历史上高级程序设计语言有好多种,目前仍然流行的也有好几种,而且还在不断的推陈出新。从“功能意念”的角度,不难看出,所有的高级语言都应该有相类似的功能成分,以解决程序设计所面临的共同问题。因此,只要我们认真地学好一种语言,重点掌握好程序设计的一般思想方法,就可以很容易地掌握另外一种。从一种语言过渡到另一种语言,从语言的角度来说,只不过是一种形式上的转换而已,它们的内容(程序的功能)和程序设计的思想和方法却总是相通的。

参考文献:

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

[2] Brian W.Kernighan, Dennis M. Ritchie. C程序设计语言(第二版)[M]. 北京:清华大学出版社,2002.

[3] Bruce Eckel著. 刘宗田等译. C++编程思想第1卷:标准C++导引[M]. 北京:机械工业出版社,2002.

[4] 郑启华. PASCAL程序设计(第二版)[M]. 北京:清华大学出版社,1996.

[5] 沈军. 程序设计方法解析――Java描述[M]. 北京:清华大学出版社,2004.

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

[关键词]智慧课堂 高级语言程序设计 上机教学

[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2015)08-0125-02

一、引言

在信息技术高速发展,全面建设智慧城市、智慧校园的大背景下,传统的课堂教学也面临着变与不变的外部挑战。[1]新兴技术的不断冲击,使得课堂教学不再是师生间单一的教与学关系,更多的是师生间平等的对话与互动,传统课堂已无法满足教育需要。将信息技术与教育深度融合,优化教育模式,已经成为一种必然的趋势, 由此智慧课堂这一新的教学模式便应运而生了。智慧课堂是指充分利用信息化技术,以引导学生的高度参与以及主动性的充分发挥,以自主地发现问题、研究问题和解决问题为主要学习形式,是以培养多样化、高素质、创新型人才为目标的教学方式。[2]相对以教师为中心的传统课堂,智慧课堂强调以学生为中心,注重学生的主动学习、合作学习和快乐学习。[3]

作为高校理工科电子、计算机等相关专业的一门重要基础课程,高级语言程序设计的目标是培养学生的程序设计理念、掌握程序设计的基本方法,培养学生熟练使用C语言编程解决实际问题的能力,为后续程序设计课程的学习和应用打下扎实的理论和实践基础。[4]学生是否具有较高的编程能力和良好的编辑习惯是衡量其对该课程掌握程度的一个重要指标,而编程能力的提高和编程习惯的养成离不开上机实践,因此上机实践是高级语言程序设计教学中的一个至关重要的环节。[5]

本文针对高级语言上机教学的课程特点和存在问题,充分利用上机实验室的信息设备优势,将信息技术与教育深度融合,实现上机教学的智慧课堂。

二、教学现状和问题

一般院校的高级语言程序设计理论课和上机课的比例为1∶1,由32学时理论课和32学时上机课组成。上机课目前多采用传统的“教师讲授―教师演示―学生上机练习”的教学模式,主要存在以下问题:

(1)学生编程的信心和积极性有待提高。高级语言程序设计的开课时间设在大一的第二个学期,此时绝大部分学生对计算机软硬件知识缺乏全面了解,再加上C语言本身学习起来有难度,使学生不能很快掌握算法的思维特点,编程能力、调试能力普遍较差,增加了C语言上机学习的难度。很多学生在上机的过程中非但没有对编程产生兴趣,反而还产生惧怕心理,进而放弃学习。

(2)学生自主分析问题、解决问题的能力有待提高。目前上机教学模式以教师“教”为中心,学生过多依赖于实验指导书和教师,基本处于被动接受状态。在上机课中常出现“写程序就抄书,出现问题等老师”的现象,分析错误、动手调试本是最能发挥学生能动作用的环节,现在却由教师来承担,往往导致学生离开指导书和教师就写不出程序、调试不了程序的局面,很难培养学生在程序设计上的创新能力和逻辑思维能力。

(3)机房得天独厚的信息技术环境没有得到充分的利用。一般机房都配备有计算机、高速局域网和多媒体教学管理软件,具备开展智慧课堂的条件。以我院机房为例,采用的是海光多媒体软件,海光多媒体软件是一款实现在电子教室、多媒体网络教室或者电脑教室中进行多媒体网络教学的非常好的软件,集电脑教室的同步教学、控制、管理、音视频广播、网络考试等功能于一体,并能同时实现屏幕监视和远程控制等网络管理的目的,其核心功能包括教师演示、学生示范、语音教学、遥控辅导、屏幕录制、屏幕回放、提交作业、电子抢答和文件传输等。但目前该软件主要用于教师演示和收发文件,现有的信息技术设备没有得到充分的利用,信息技术改变教育方式没有得到充分的体现。

三、智慧课堂开展内容

针对以上情况,本文将充分利用机房的信息技术环境优势,将信息技术与教学深度融合,通过分组合作学习、任务驱动教学、网络学习和多元化考核等教学手段,创建高级语言程序设计上机教学的智慧课堂,实现学生主动学习、合作学习和快乐学习。

(一)小组合作学习

针对部分学生不能单独完成编程及缺少兴趣的问题,采用分组学习的教学模式,每次上机课将学生分为4人一组,每组学生通过合作学习共同完成一个实验任务。小组合作学习一方面更能突出学生的主体地位,培养学生主动参与的意识,激发学生的学习兴趣;另一方面学得好的学生可以带动其他学生,在达到学习均衡的同时,也培养了学生的合作能力和团队精神。

分组合作学习的关键是有效地组织学生学习,没有组织的学习会使课堂变得嘈杂、分散,所以合理划分小组是分组合作学习的首要前提。主要考虑两种分组方式,第一种是学生自愿组合,第二种是教师按学生的基础分组。第一种分组方式有利于调动学生合作学习的积极性,激起学生学习的兴趣,但是自由式的小组组合很可能出现分组不均衡的现象,即学习基础好的学生分在一组,学习基础薄弱的学生分在一组;第二种分组方式需要教师在全面了解学生的前提下,根据班级内的情况,有意识地将不同基础、不同类别的学生分到一组,使班级小组间基本上是相似的、均衡的。综合考虑两种分组方式的优缺点,可交替采用两种方式进行分组。

小组划分后需进行合理分工,每一组选择一个组长,组长协助教师组织任务攻关工作,同时监督组员,避免出现“蹭组”现象。组长的选择要考虑学生的成绩、与同学间的关系等因素,可采用自由推选的方式,给每个学生改变角色和锻炼的机会,进而提高其学习兴趣。

(二)任务驱动教学

在上机实验过程中,以完成一个具体的任务为线索,把教学内容隐含在每个任务之中,要求学生在具体的任务驱动下,在讨论和对话的氛围中,进行自主学习和协作学习。这样学生在完成任务的过程中始终处于主体地位,不仅提高了学生的积极性,也培养了学生的探索与创新精神。任务完成后,随机挑选或通过海光多媒体软件的“电子抢答”功能选出若干小组,通过软件的“学生演示”功能进行演示,并引导学生进行总结和改进。

在任务驱动教学中,任务设计的质量直接关系到教学效果。在设计任务时,要以学生为中心,根据学生的实际情况和学生感兴趣的方向来设置任务,同时要注意高级语言知识点的系统性和连贯性,将理论课的知识点融入上机任务中,使学生在完成任务的过程中,既巩固已学过的内容,又探索新知识,实现总体的教学目标。

例如,在练习C语言控制结构中的选择结构时,任务设计为:设计一个程序,输入某年某月某日,要求计算出这一天是该年的第几天。学生拿到任务后,分组讨论程序思路,教师通过管理软件随机选择若干小组听取他们的设计思路,根据回答情况进行引导,学生得到以下正确思路并编程实现:

1.从键盘上读入3个整数,分别作为年、月、日。练习输入函数。

2.要计算出某天是当年的第几天,应该将当年中本月之前所有月份的天数相加,再加上本月的天数。根据所输的月份练习switch选择结构。

3.考虑闰年问题,二月是一个特殊月,如该年是闰年,则二月有29天,否则,便是28天。根据所输的年份练习if选择结构。

4.输出答案。练习输出函数。

这个有趣的任务让学生在讨论中学会了选择结构的使用方法,并了解了switch和if这两种常用的选择结构的区别,且巩固了前面学习的输入输出函数知识点。

(三)网络学习

为学生提供丰富的网络学习资源。利用海光多媒体软件的录制和回放功能,可以在执行“教师演示”播放教师机上的屏幕画面的同时,将播放的图像画面以动画影像的形式录制下来,跟不上教学进度的学生可通过“回放”学习。将录制的视频、课件、参考资料和课外拓展练习资料等上传到课程群,提供丰富的网络学习资源,让学生学习不受时间、地点的限制,实现全方位学习。

(四)多元化考核方式

考核方式对学生有重要的学习方向引导作用,在智慧课堂的教学模式中,采用多元化考核方式,进一步调动学生的学习主动性和积极性。学生的上机成绩由三部分组成:课堂表现考核,由教师根据学生的分组表现、课堂展示和任务完成情况给出成绩,占总成绩的30%;组内考核,每次实验由小组长根据组员的表现打分,最后取平均分,占总成绩的20%;期末上机考试,占总成绩的50%,对学生的总体掌握情况进行测评。

四、结语

本文充分利用了机房得天独厚的信息技术环境,采用小组合作学习、任务驱动教学、网络学习和多元化考核等教学手段,创建了高级语言程序设计上机教学的智慧课堂。实践证明,该教学方法深受学生的欢迎,有效提高了学生的积极性,取得了良好的教学效果。

[ 注 释 ]

[1] 黄荣怀,张进宝,胡永斌,等.智慧校园:数字校园发展的必然趋势[J].开放教育研究,2012(4):12-17.

[2] 吴晓静,傅岩.智慧课堂教学的基本理念[J].教育探索,2009(9):6.

[3] 祝智庭,贺斌.智慧教育:教育信息化的新境界 [J].电化教育研究,2012(12):13.

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

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

关键词:程序设计;中医药;实验教学

0引言

医药院校计算机专业的教学目标是培养出能够服务于中医药行业的计算机专业技术人才[1]。为使学生能够将计算机和中医药知识进行有机的结合,更好的发挥专业优势和特长,本文探索了与中医药特色相适宜的“高级语言程序设计实验”教学模式,进行了实验课程教学创新模式的改革。

在实验教学过程中,我们设计一些由易到难的以中医药作为背景的实验案例,有意的对学生进行引导,促进学生对中医药院校计算机专业课程体系全面而又深入的理解,逐步找到计算机和医学的契合点,为学生将来在计算机学科和医学两个学科领域进行交叉学科的科学研究工作打下良好的基础,成为真正有特长、有特色的计算机专业人才。

1实验教学存在的问题

1.1学生缺乏学习的主动性

以往的实验教学大体上实行的是“课前预习——课堂实验——课后学生完成实验报告——教师评阅并评定成绩”的串行模式,在本质上还是应试教育。因为相当比例的学生的实验目的是通过考核或者得到好的分数,所以常会出现学生不重视预习,实验时感到内容枯燥,缺乏主观能动性,课后不认真总结思考,甚至出现缺课、抄袭报告等现象,学生提交的实验报告无法全面反映取得的实验效果,教师只凭实验报告评定成绩有失真实,也无法真正了解学生的学习情况。

1.2 缺乏与中医药知识的结合

由于中医药院校的计算机专业在课程设置上具有中医药特色,有一部分医学课程,而学生在学习过程中体会不到计算机和医学的结合点在什么地方,甚至认为学习医学课程没用,这和我们的初衷是相违背的,需要加强对学生的引导。在实验教学过程中引入一些以中医药作为背景的实验案例,进行医学类相关题目的训练,使学生实现对计算机和中医药知识的有机结合。

2 教学模式研究与改革

2.1课程改革

传统的高级语言程序设计实验是附属在理论课中的,实验学时比较少,只有24个学时,这对于实践性较强的课程来说,实验学时是很欠缺的,远远不能满足提高学生编程能力的目的。学生也反映单靠24个学时,实验是做不完的,甚至体现不出实验效果。基于此,我们以新的专业培养方案为指导,设置独立于理论课的实验课程,《高级语言程序设计实验》在教学大纲中独立设置,独立学时学分,学时增至36学时,在此基础上增加24个学时作为机动时间,加强实践训练。

2.2 教学改革

2.2.1设置目标,激发学习热情

在每个实验开始前明确列出学生完成该实验应该具备的知识点,让学生有目的地进行资料的查找和学习。在实验课上给出实验任务,使学生明确所要达到的目标。通过验证性实验强化基础实验技能,帮助学生树立自信心;通过综合性实验提高学生的综合应用能力;通过设计性实验提高学生创新能力,不断激发学生的求知欲和学习激情,使学生学而有趣,达到教学目标。

实验过程中发挥学生的主观能动性,重视教师的主导作用,遵循“教师是主导、学生是主体”的“双主”原则[2],突出学生的主体地位,增强学生的自学能力。

2.2.2 设计合理的案例

我们把实验教学内容的优化放在改革的首要位置。学生尽管学习了多门医药类课程,但体会不到其用处所在,为使学生能将计算机和中医药的知识进行有机结合,老师在教学过程中必须进行有意的引导,要求学生在完成本课程教学计划规定必须完成的题目之后,编制一部分以中医药作为背景的设计性与创新性实验。这些实验题目一部分是由老师精心设置的与中医药相关的题目,比如中药复方配伍的药效检测程序设计;一部分由学生根据自己所学知识选取感兴趣的题目进行设计。教师设计的题目要遵循由浅入深、由易到难的原则,避免一开始设计的题目就太难而使学生感觉无法入手,从而产生厌烦心理,这就要求授课教师设计出学生感兴趣、符合专业特色的案例,以达到良好的教学效果。

2.2.3 因材施教,针对性地培养学生的实验技能

整齐划一的教学要求不能适应学生的个体差异[3]。同样的实验任务后进生吃不消,失去学习信心,尖子生吃不饱,缺乏兴趣,所以教师既要考虑学生的总体基础,又要考虑学生的个体差异,针对性地培养学生的实验技能。在学生初步具备分析和解决问题能力的基础上,加强知识的深广度,与实际接轨,因材施教。对基础差的学生主要通过针对性较强的习题使学生树立自信心,培养学习兴趣;为那些学有余力的学生增加一些创新设计性实验,创新设计性实验以课题形式进行,学生自由组合,自己选题,自己设计实验方案;让少数优秀学生设计一些中医药类实用软件,通过参与大学生研究训练(SRT)项目或参加科研项目,提高他们综合应用知识的能力。

2.2.4 多方位的考核方式

《高级语言程序设计实验》独立设课后需要单独考核,为了促进学生编程能力的提高,采用上机考试、单元考核、大作业与平时成绩相结合的方式进行考查。上机考试试题主要侧重于基础知识、基本能力的考查;单元考核侧重于学生按时按量规范编程的训练;大作业侧重于编程语言与中医药知识的综合应用;平时成绩主要是对学生平时的学习态度、学习的自觉性和课堂作业完成情况的考核检查。多方位的考核方式可以较好地培养学生学习的综合能力。

2.2.5 不断更新教学资料和教学案例

教材一般滞后于实际教学,而教学是活的,教师应准备大量的不断更新的教学资料以及教学案例。在教学过程中,教师不断根据学生对教学案例的反应,找出不足之处,通过反复比较研究,得出最佳教学案例,随时补充新的案例。选编经典、切实可行的案例需要教师有很深的专业知识和广博的案例积累,所以对于教师而言需要做大量的工作来提高自己的专业素质。

3 结束语

本文探索了与中医药特色相适宜的“高级语言程序设计实验”教学模式,在实验课程中因材施教;通过有意的引导,合理的案例,多方位的考核方式促进学生将计算机和中医药的知识进行有机的结合,使学生在学习程序设计语言的同时把中医药知识巩固并掌握。通过针对性地培养学生的实验技能,提高了学生的综合应用知识的能力和创新能力,获得较好的教学效果。

参考文献:

[1] 窦彦玲.医药院校计算机专业建设的研究与实践[J].中国教育技术装备, 2012,3:36-37

[2] 傅胤荣.C++程序设计课程改革探索[J].高等教育研究,2008, 2: 47-48.

[3] 何文孝,钟琪.《C++语言程序设计》实验教学的改革探索[J].现代计算机,2009, 7: 84-86

*基金项目:山东省教育厅项目(J11LF29);济南市科技计划项目(201102021);山东中医药大学2010年实验教学改革研究项目(编号:2010-23)

上一篇:全寿命周期范文 下一篇:汇编语言程序设计范文