首页 优秀范文 计算机语言的概念

计算机语言的概念赏析八篇

发布时间:2023-08-02 16:37:06

序言:写作是分享个人见解和探索未知领域的桥梁,我们为您精选了8篇的计算机语言的概念样本,期待这些样本能够为您提供丰富的参考和启发,请尽情阅读。

计算机语言的概念

第1篇

关键词:CDIO;计算机教学;问题;改革措施

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

Abstract:With the coming of information age,the computer and network technology develop rapidly and the need for computer professionals becomes bigger and bigger,so,how to fasten university computer teaching reformation becomes a core task of university researches.However,lots of problems,existing in university computer teaching,reduce seriously the effect of computer teaching.Fusing with the CDIO educational concept,this paper firstly analyzes the existing problems in computer teaching and then put forwards the corresponding reform measures.

Keywords:CDIO;computer teaching;problems;reform measures

1 引言(Introduction)

随着计算机和信息技术的快速发展,计算机和信息计算在全国各行各业中得到了广泛的应用,这也加大了社会和企业对高校计算机专业人才的需求,如何提高计算机专业教学质量,适应国家和地方经济社会的发展需求,已经成为各所高校计算机教学改革关注的重点。CDIO作为一种新型的教育理念,在国内外受到了广泛的关注,将CDIO教育理念融入高校计算机专业教学中,可以确保教学目标、教学内容的科学合理,保证高校计算机教学大纲能够适应社会发展需求,并且强调学生素质的培养应该与产业发展相适应,在课程设置上采用关联的方式,打破传统的学科壁垒,避免教学内容的重复,有利于学生获得综合的计算机专业知识和能力。显然,CDIO教育理念与高校计算机教学改革的需求是一致的,因此,将CDIO教育理念融入到高校计算机教学改革中,可以有效促进课程改革的顺利进行,促进学生计算机专业素质的不断提高。

2 CDIO教育理念概述(Introduction of CDIO educational concept)

CDIO教育理念是近年来国际工程教育教学的新型理念,是工程教育教学与创新人才培养相结合的新型教育模式,其最早是由美国麻省理工大学生工学院和瑞典皇家理工学院等四所大学组成的工程教育教学改革研究团队提出来的,所谓CDIO,也就是构思(Conceive)、设计(Design)、实现(Implement)、运行(Operate)的缩写,是以社会发展需求为人才培养的依据,以产品开发或者系统设计与实现为教育载体,对学生的工程实践能力和创新能力进行重点培养,发挥学生的主观能动性,提高学生自主学习的积极性,有效实现理论教学和实践教学的有机结合[1]。显然,CDIO教育理念与高校计算机教学改革目标相符,将CDIO教育理念融入到高校计算机教学改革中,有助于学校培养出应用型计算机人才。

在CDIO教育教学模式中,C代表构思,主要是指在教学的构思阶段,这一阶段主要目的是引导学生针对问题进行分析,找到科学合理的问题解决方案,这一阶段是CDIO教学能够顺利完成的前提和关键环节;D代表设计,是学生工程教育教学中实践能力培养的核心和精髓,在这一阶段中,引导学生对工程项目进行自主设计,充分运用自己学习到的理论知识,将理论与实践进行有机的结合,锻炼学生的动手能力和创新能力,学生可以利用学校和校外的实训条件,进行CDIO实践案例的设计;I代表实现,也就是将项目设计变成实物的过程,在这一过程中,要求学生采取有效的方法解决设计中的关键技术和核心问题,形成相应的学习成果,有效提高学生解决问题的能力,例如计算机教学中程序设计、制作和调试能力;O代表运作,是指学生在完成学习作品之后,要求学生对自己设计制作的产品进行进一步优化运行,排除运行过程中存在的问题,确保产品或者系统的顺利运行,同时要求教师与学生积极的进行互动,对学生整个设计制作过程进行分析和评估,对学生遇到的问题进行指导和纠正。

3 当前高校计算机教学存在的问题(Existing problems in university computer teaching)

3.1 课程体系与计算机行业的快速发展的矛盾

近些年来,计算机和网络技术快速发展,相关行业也在告诉发展,这就对人才的素质要求也越来越高,而当前高校计算机教学模式和课程体系仍然比较陈旧,专业课程体系不能适应相关计算机行业的快速变化的节奏,造成计算机行业技术始终在高速发展,而高校的教学模式却不能适应这一变化,导致学生所学习到的知识和社会实际工作岗位需求脱节,而解决这一矛盾的关键就是加快高校计算机教学模式和课程体系的科学化改革。

第2篇

本文分析了现有计算机语言类课程的特点与面临的实际问题,从培养学生程序设计能力的目标出发,在理论教学环节推行层次化教学模式,在实践教学环节减少验证型实验,增加设计型实验并增设课程设计环节,传统教学体系以外鼓励学生进行外延学习,如参加大学生程序设计竞赛、考取各类职业技能证书和参与教师科研项目等,并通过建设合理的教学评价体系实现学生专业能力的考查。最终,培养学生的程序设计能力、科技创新精神和创新能力。

二、计算机语言类课程概况

(一)计算机语言类课程的特点

随着计算机技术的更新换代和计算机网络的飞速发展,计算机语言也在不断地推陈出新,由最初的机器语言、汇编语言等低级语言,到早期的高级语言如BASIC、PASCAL和C语言,再到C++和JAVA等面向对象的高级语言。同时,各种计算机语言的语法语义看似模式固定,而真正应用于软件开发却是千变万化,这都决定了计算机语言类课程具有操作性强、更新速度快、创造性强等特点。该门课程与其他计算机专业课程相比,对于学生的动手实践能力要求更高,尤为强调学生程序设计思维方式和软件开发。

(二)计算机语言类课程面临的问题

根据多年来讲授计算机语言类课程和组织学生参加计算机程序设计竞赛的经验,笔者认为高职院校计算机专业学生学习语言类课程的瓶颈在于过分注重理论基础知识,却无法利用所学的计算机知识分析和解决实际问题。上课或培训时,当老师给出一个新的题目,总是不知从何入手,思路不清,一团乱麻。当听过老师的讲解后,才恍然大悟。如果再遇到一个新题目或稍微改动过的问题,学生又开始手足无措,无法独立找到适合算法完成编程操作。出现这种情况的主要原因在于学生在计算机语言类课程中只是追随着老师的思路,而缺少独立思考和动手操作的机会,无法完成程序设计思维的训练。

三、计算机语言类课程中学生程序设计能力的培养

(一)时刻关注程序设计思维方式的培养

在日常教学活动中,应注重程序设计思维方式的培养。以C语言程序设计课程为例,教师在课堂上提出一个新的问题,然后引导学生分析并思考解决问题的步骤,在此过程中需要摒除具体代码实现的细节部分,只关注核心的流程。鼓励学生独立绘制流程图,进而整理出解题思路,这是培养计算机专业学生程序设计思维的必经阶段,也是程序设计师必备的专业技能。C语言程序设计是高职高专学生接触到的第一门计算机语言类课程,为了帮助学生理解程序设计中的各种抽象概念,教师可以在讲解中引入贴近生活的实例,例如“酸奶制作”。酸奶制作所需要的原料如牛奶、酸奶发酵剂、糖和蜂蜜等即为程序中的变量,将原材料放入酸奶机中可看做是输入变量,加热、发酵和冷却等操作可看作为函数调用的过程,同时也铺垫了函数的概念,最终酸奶制作完成即为程序结果的输出。还可以进一步扩展加入分支结构来调配不同口味的酸奶,运用循环结构制作若干份酸奶。通过这些易于理解的实例带动学生主动思考,一起做酸奶,既提高了学生学习的兴趣,也将程序设计的思维方式无声无息地渗透入学生的脑海中。在此过程中,学生学会了在思维中发现规律,在思维中抽象总结。

(二)理论教学环节推行层次化教学模式

基于层次化教学模式的思想,可将计算机语言类课程的教学内容分为算法、方法学、语法和集成编程环境四个层次。将此四个层次作为标准,教师需要将教材中知识体系进行重新的整理与划分,将每一章节、每一堂课、每一个知识点皆找到其所属层次。在理论教学环节中,点明各层次的具体内容,使学生了解计算机语言类课程不仅仅是学习某种计算机语言的语法与语义,更不是简单的学习如何使用某一编程环境进行程序的编制和调制。以C语言程序设计课程为例,在课程中第一层次算法涉及较少,但在授课过程中如涉及到较简单的算法也可稍作渗透,为今后的数据结构课程做铺垫。比如在讲到循环控制结构时可通过例题讲解穷举法和递推算法,一维数组的经典应用之一——排序的两种算法冒泡法和选择法也必须为学生点明。第二层次编程方法学在C++程序设计课程中体现较为明显,主要涉及的内容为面向对象程序设计方法。第三层次语法是各计算机语言类课程理论教学中的重点内容,包括变量的定义与使用,函数的定义、声明和调用,对象和类的定义等。第四层次集成开发环境在理论教学环节比重较少,主要为学生讲解程序开发的步骤,各类开发编译环境的使用方法等。

(三)实践教学环节注重将知识转化为能力

在计算机语言类课程的实践教学环节中,首先,教师应引导学生及时转变学习观念,使学生认识到若想在毕业后顺利寻求到满意的就业岗位,单纯依靠理论知识的学习是远远不够的,应在课程学习过程中注重实践和动手能力的提高,以及大量软件工程项目开发经验的积累,从而增强自身的综合职业素质,成为社会和用人单位急需的专业化技能型人才。1.在实践教学环节中,调整各种类型实验的比重。适当缩小验证型实验的课时比例,增加设计型和综合型实验项目。首先,在验证型实验中通过程序填空和程序改错等实验项目形式,在促进基础知识的消化与理解的基础上,注重培养学生“读程序”的能力。同时,培养学生良好的编程习惯和统一的编程风格。良好的职业素养有助于学生在未来的工作岗位中与同事协同合作,提高软件开发的效率。在设计型和综合型实验中,增设贴近企业一线,贴近社会需求,可操作性强的真实案例和项目,进而有意识地培养学生“写程序”的能力、创新精神和独立思考的能力。因此实验项目的具体内容需要课程组教师集中讨论与设计,与岗位技能相结合,并在教学过程中根据学生的接受程度与能力水平不断完善。2.在大三年级上学期,增设课程设计环节。此时的计算机专业学生已完成多门计算机语言类和软件工程等相关课程的学习,基本掌握各种编程语言的语法语义规则,熟悉软件开发流程,具备利用计算机分析和解决问题的初步能力。在课程设计中,学生接触到简单的工程问题,组成项目开发小组,分工合作,使用一种或多种计算机语言设计、编码和开发具有一定难度的小型软件系统,提交实验报告,最后每组选出一名代表参加答辩。在该环节中,应尽量为学生模拟出与企业真实工作环境相似的实践现场,并全面采用企业管理运作的模式。使学生在课程设计中亲身感受到企业的工作环境和岗位需求,全面地认识和熟悉软件项目开发过程,更好地掌握程序设计的基本思想。

(四)传统教学体系以外鼓励外延学习

1.组织学生参加如大学生程序设计竞赛之类的大型赛事。在竞赛的培训、备赛和参赛中,激发学生的学习热情,鼓励其主动学习、协作学习和拓展学习,使学生感受课堂所学知识与社会和市场需要的异同,为学生提供更加优质的知识积累与能力提高的平台。2.教师积极申请与计算机语言类课程教学内容相关的各级各类科技项目课题,并鼓励部分较为优秀的学生参与。首先,教师可向学生公布并简单讲解科研课题的研究内容及与本门课程的相关性,然后将研究内容分解为多个子项目,学生可自由选择自己感兴趣的子项目,选择相同任务的学生组成一个课题小组,根据科研项目的研究目标与方案,进行协同合作,利用课余时间完成子项目的开发。在实践中引导学生综合运用课堂所学知识,逐渐形成工程意识和团队协作的精神。在科研过程中如遇到瓶颈问题,可通过查询网络、翻阅工具书、参考资料和请教老师等方式寻求帮助。在课程结束后,教师可按照学生的完成情况及工作量给予适当的课外学分折算鼓励。参与教师的科研项目可为学生创造接触和熟悉真实项目研发的机会,使学生了解科研项目的开发过程,不断学习和掌握前沿知识与先进技术,做到学以致用,学会创造性学习、研究性学习,为今后升入本科院校继续深造学习奠定坚实的基础。3.将计算机技术与软件专业技术资格(水平)考试、Java认证、全国计算机等级考试等职业资格认证教育融入课程教学过程,使专业课程内容与职业岗位能力无缝对接,实现“课证融通”,课内教育与课外教育相结合,以加深学生对行业的认识,提高高职高专计算机专业学生的社会竞争力和职业素养,增强其就业信心。4.加强校企合作,为理论教学和实践教学环节争取到更多的真实案例和项目,为学生提供更多顶岗实习的机会,让学习与就业岗位零距离,为今后更好地融入真实的职业环境打下良好的基础。

(五)教学评价体系实现能力考查

好的评价方法,可以调动学生学习的积极性,培养学生自主学习的能力,改善学生学习的风气,促进教学。对于计算机语言类课程来说,科学的、合理的、有效的评价方法,应注重对学生学习能力和程序设计思想的检测与评价。1.进行理论教学环节与实践教学环节相结合的多元化综合考核。理论教学过程考核包括课前预习、课中活跃度和提问情况、课后作业等成绩;实践教学过程考核包括验证型实验的操作完成情况、设计型和综合型实验的参与度、方案制定合理性、项目完成工作量、项目成果质量和报告提交等内容。2.鼓励学生参加计算机语言类课程相关的竞赛、考取职业技能证书、参与教师科研并制定适当的学分折算机制。将传统课程体系以外的拓展学习内容的评分纳入到教学评价体系中,这恰恰体现了当前职业教育的核心理念,侧重培养学生的职业能力,使之成为高素质、高技能型人才而非呆板的应试工具。

四、结语

第3篇

关键词:计算机语言;编码;任务教学法;程序设计

1.引言 

学习计算机语言,人们就能够使用计算机语言与计算机进行交流,这样就能为人们解决实际工作和学习中遇到的许多特殊问题。巧妙使用计算机做工具,人们就能够将个人的想法在计算机上实现。例如,Foxpro关系型数据库管理系统是具有解决普遍意义上的大量数据存储和管理工作功能的数据库语言,但是解决具体的实际问题,还必须使用数据库语言编写程序。

2.计算机语言教学

2.1计算机语言

语言是人类所特有的用来表达意思、交流思想的工具,由语音、词汇和语法构成一定的系统。是人类为了能使人与计算机间进行交流,专为计算机设计的语言,变换成计算机可以读懂的信息符号。这些信息符号是按照一定的规则进行的编码,是人与计算机间特有的用来表达人的意思、交流思想的工具,并指导计算机进行信息的采集、分析、加工、处理、保存和利用等。计算机语言的种类非常之多,总的来说可以分成机器语言、汇编语言、高级语言三大类。目前通用的编程语言有两种形式:汇编语言和高级语言。高级语言是目前绝大多数编程者的选择,和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关,但与完成工作无关的细节(例如使用堆栈、寄存器等),这样就大大简化了程序中的指令。

2.2理论课教学的改革

2.2.1合理安排教学内容。教师在组织教学过程中,应该合理安排教学内容,将一些枯燥乏味的内容尽可能注入通俗有趣、与他们生活息息相关的实例中去,这样既可以使学生掌握基本知识,又增强了他们解决问题的能力。

2.2.2改变授课模式。应采用交流式、对话式、讨论式等多种互动的模式,让学生积极地参与到课堂教学中来,充分调动学生的主观能动性,发挥每个学生的聪明才智,让课堂变为教师和学生的共同课堂。

2.2.3实施问题教学法。高职高专学生的基础较差,在学习中表现理解能力差的特点,因此在理论教学过程中,要结合计算机语言类课程和高职高专学生的特点,改变传统教学模式,将以往教师帮助学生解答疑惑转变为教师寻找、发现与理论知识和学生生活相关的实际问题,使学生在思考、解答问题中增强理解,培养学生进行创造性思维的能力,充分调动高职高专学生的学习积极性,使学生在解决问题的过程中获取新知识,新理论。

2.2.4实施任务教学法。任务教学是以明确的任务作为课堂主要教学目标,在学生实践任务过程中,培养学生自我分析、解决、问题能力的教学模式。在实施任务教学法的过程中,教师必须根据教学进度、学生所关心的问题,针对某一阶段的教学内容和技能要求,设计一个包含相关知识点的综合性任务,使学生在真实的问题下应用旧知识,探索新知识,使所学知识得到巩固、加深和迁移。

2.2.5使用多媒体授课,课堂渗透实践。计算机语言类课程是理论与实践结合非常密切的课程,在讲授理论知识时经常会遇到一些抽象的、难以理解的概念、理论和算法,教师使用多媒体对它们进行演示、模拟,使抽象、复杂的问题简单化,从而使学生便于理解和掌握,同时也更能激发学生学习计算机语言课程的兴趣和求知欲望。

2.3实践课教学的改革

2.3.1精心设计实践内容。教师既要善于营造热烈的群体氛围,又必须给学生留有冷静的独立思考的空间。在设计实践内容的过程中,应着重做好以下三个方面。一是要结合学生的实际情况。尽量体现知识性、趣味性、实用性,激发学生的灵感和创造欲,使学生对实验内容感兴趣,产生上机一试的愿望;二是要注重实践课与理论课相适应,这样才能够加深学生对基本理论、基本知识的理解和掌握;三是注重尺度的把握。在设计实践内容时,难易程度和工作量的大小是教师要考虑的内容。

2.3.2.主动指导。在传统的实践教学中,教师总是等学生问问题,这种被动指导存在着许多弊端,特别对刚接触这门课程的学生来说显得尤为突出,因为学生刚接触编程,实践过程存在很多问题,教师要变被动为主动,主动发现问题,对于学生普遍存在的问题要进行集中演示,引导学生主动完成实践内容。

2.3.3注重实践过程。指导教师在实践教学过程中只注重实践结果,把实践内容布置给学生,学生交上机报告,教师认真批改报告,至于报告中的结果是怎样来的,具体实现过程是什么,作为教师却全然不知,因此教师要全身心地投入到实践的全过程中去,只有这样,教师才能真正掌握学生的实际情况,发现问题,及时解决问题。

2.3.4加强实践课讲评。作为计算机语言类课程的教学绝对不能忽视实践教学中讲评这一重要环节。以往教师只对理论课上布置的作业所存在的问题进行讲评,忽视实践课的讲评。实践课是检验学生基本知识、基本理论、基本技能掌握情况的一把尺子,不注重实践课讲评,结果使实践课教学效果越来越差,从而影响整个课程的教学质量。

3总结

要学好计算机语言,理论和上机操作相结合非常重要。计算机语言教学的侧重点应放在掌握程序的三大结构上,程序设计三种结构为顺序结构、分支结构(也称为选择结构)和循环结构。注重培养学员使用模块结构读程序、写程序的能力。程序中的交换、累加、累积、分类、排序、删除、标志设定等都各有一种固定的功能模块(像物理学中的定理、公式),编程时可以直接使用。对这些模块熟悉后,读程序就容易,写起来也不会感到太吃力,且有条理,思路也会较清晰。

参考文献:

第4篇

关键词:校企合作;教学改革;教学方法;计算机课程;再就业

0、引言

随着新一代信息技术的到来,软件应用与各行各业的需求结合更加紧密,软件产业面临着跨行业、跨学科的新要求,专业技术人员的岗位已经从单纯技术、技术应用方向向技术管理、服务管理等方向转变,企业对人才的要求越来越高。目前全国许多高校开设了计算机语言类课程,但该课程的教学并没有因为软件行业的快速发展而得到深化改革,高校计算机语言类课程教学有两个特点,一个是缺乏实践条件,理论教学多,忽略动手能力;另一个是注重实践,轻理论教学。如何平衡理论教学和实践教学,提高教学水平,改变教学模式,培养工程型、实用型、复合型软件人才和创新型人才,成为高校计算机语言类课程教学面临的新任务。

目前许多高校计算机语言类课程教学仍然是学历教育,理论和工程实践脱钩,因此许多高校建立了校企合作共赢机制,让计算机语言类课程教学团队走进软件企业、参与企业、了解软件企业需求,更好地进行计算机语言类课程的教学和实践工作;同时企业也走进课堂,提供给学生更多的软件行业前沿信息,并提供实习基地,让学生贴近实战,为以后学生就业提供了很好的锻炼机会。因此,通过校企合作,高校改变了人才培养模式,能够有效解决计算机语言类课程教学中理论和工程实践脱钩的矛盾,同时企业减少了寻找软件人才的过程,节约了大量培训成本,在实现各自利益目标的同时达到了整体利益的最大化,实现了双赢,这是目前校企合作的主要优势。但是,这种优势容易只顾眼前利益,为了就业和对口培养,忽略了培养学生的综合素质,忽略了学生的长远发展利益,造成学生后劲发展不足、再就业能力差、不能适应新信息技术条件下企业对软件人才的要求。因此,我们必须调整、改进校企合作机制下计算机语言类课程的培养人才模式,从教学思想、师资学科结构、教学内容、教学方法等多角度探讨计算机语言类课程教学改革,重视对学生多方面素质的培养。

1、端正教学思想,加强学生人文素质的培养

校企合作机制下,学生的实践能力得到提高,虽技术娴熟,但是难以融入企业中,常常缺乏活力、刻板自私、人际关系处理不善等。因此学校和企业两方面的教师必须端正教学思想,不仅要传授纯粹语法的教学和技术,同时也要注重培养学生人文素质,促进学生全面自由发展。

目前在校企合作机制下,有的学生能很快融入到企业文化中去,在企业中如鱼得水,大显身手;但有些学生可能不认可企业理念和文化,只是为了经济利益而就业;有的学生与同事相处较难,抱怨很多,在企业中难有所为。因此,无论是学校或是企业,必须在培养学生的科学素养的同时还要加强学生的人文素质的培养,使学生能够顺利融入社会或企业。

教师不仅要教书,更要育人,课堂上教师要加强大学精神的教育,培养学生追求民主自由、尊重科学、崇尚真理、兼容并包、开放创新等精神,同时要培养学生正确的世界观、价值观、人生观,通过一个个鲜活的社会案例,教会学生如何做人行事、待人接物、妥善处理人际关系、扩大人际交往、塑造学生的健全人格。学校积极创造条件,改善基础设施和提供经费,让学生参与各种文体活动、社会实践活动和竞技比赛,建立特色的校园文化,多方面培养学生的人文素质,使学生充满活力、思想积极、开放向上、身心健康等。

企业是以追求利润为目的,为了企业的长远发展,每个企业都有自己的企业理念和企业文化,因此企业也要加强学生人文素质的培养,将来更好地融入企业生活。企业指导教师要有选择地介绍自己的企业文化,言传身教,尊重学生的个性,传递企业文化正能量。企业也可以举办各类活动,让学生积极参与其中,培养团队吃苦耐劳精神、项目成员相处方法、团结协作精神等。

总之,在校企合作机制下,学生要学会有机融合校园文化和企业文化,计算机语言类课程教学中,为了学生的长期发展,应端正教学思想,不仅仅传授计算机语言课语法知识,也要加强人文素质的培养。

2、优化师资学科结构,拓宽学生的知识领域

教师是提升教学质量的关键,校企合作下,首先学校定期派一定数量的教师走进企业,加强工程培训,积累工程项目经验,提高师资实践水平,建立一支“双师”型师资队伍;其次引进软件企业的业务精英作为兼职老师,企业的业务精英动手能力强、实践工作经验丰富,给学生授课,开展教学指导工作,新颖且实用,激发学生的学习兴趣,改善学习效果。

校企合作教学模式对于培养高等技术应用性人才具有很大的积极作用。根据软件企业的发展要求,教师可以将所掌握的技能通过实践教学传授给学生,让他们能够做到与软件企业需求同步,走进软件企业能立即上岗,实现人才培养无缝对接。但是,这样的师资队伍培养出的人才只是专业对口人才,学生的知识领域窄,知识迁移能力弱,例如某位同学学习C++语言,但是工作需要换成JaVa语言或要结合别的学科知识,就不能适应工作需求,再就业能力不强。因此,要拓宽学生的知识领域,不但培养学生的“专”,还要培养学生的“博”,更要优化师资学科结构。

优化师资学科结构,首先要调整教学团队成员。讲授计算机语言类课程的教师不一定是科班出身,可以是相近学科或交叉学科人才,例如,电子信息类教师可以将编程拓展到信息处理领域,介绍微电子技术的应用;认知神经科学类教师可以将编程拓展到生物信息领域,讲授如何实现脑图像的三维重构、脑图像的处理、脑功能网络的分析等;通讯专业教师可以将编程拓展到通信领域,介绍通信领域内网络、系统、设备及信息交换、传输、处理方面的知识等。通过调整教师学科结构,既拓宽了教师讲授计算机的应用领域,让学生理解编程语言只是一种工具,感受到计算机语言类课程在生活中的广泛应用,也拓宽了学生的知识领域,有利于激发学生的学习兴趣。其次,通过“内培”和“外引”,积极提高教师的学历层次,特别是博士人才的培养。“内培”可以通过跨学科学习,提高教师的综合能力,有利于丰富教师讲课的内容。“外引”可以引进国内、国际高层次人才,特别是具有博士学位的人才。高层次人才具有较高的理论素养和实践能力,思想先进、视野开阔,容易接受教学新理念、新机制、新方法,采用先进的教学手段等,有利于提高课堂教学质量,改善课堂教学效果;同时科研水平较高,创新能力较强,紧跟学科最新发展潮流,有力地支撑着教学内容的深度和广度,有利于拓宽学生的知识领域,进而提高教学质量,以较高的水平指导学生的学习。

总之,通过优化计算机语言类课程师资教学团队的学科结构,拓宽教师知识体系的深度和广度,有利于丰富教学内容,拓宽学生的知识领域。

3、调整教学内容,提高学生的综合理论水平

目前计算机语言类课程的教材大同小异,大多只讲述语法,忽略了与其他学科,例如数学、软件工程、信息技术等相近学科的关系。培养软件人才,不能只培养一个高级熟练工人,应该培养成一个有思想、有理论、创新型复合人才,使其后劲十足,能够拓宽自身发展空间。但是目前校企合作机制下,实践有余、理论不足,因此必须调整教学内容,增加理论部分,特别是软件开发中的思想理论、设计理论等,全面提高学生的综合理论水平。

调整教学内容,一方面增加教学内容的实例,培养学生的应用能力,这一点,通过校企合作可以做得较好。但是,另一方面,教学缺乏思想理论的培养,理论是实践的先导,思想是行动的指南,因此在计算机语言类课程的教学中,应适当增加理论知识,提高学生的理论水平。

1)增加软件工程思想理论和软件设计理论,提高学生的软件理论水平。

计算机语言类课程培养的目标之一就是培养高级的专门软件人才,但是在人才培养过程中,该类课程只注重语法的教学,完成简单或中等的项目没问题,但遇到大型项目就容易出错,这是缺乏软件工程思想和软件设计理论的表现。因此在培养软件人才过程中,增加软件工程思想理论和软件设计理论特别重要,例如在Java教学中,增加了软件工程的方法的介绍,特别是面向对象的方法,帮助学生建立面向对象的思想;增加了软件设计理论,特别是建模理论(结构建模、用例建模、动态建模)和思想、MVC(Model-View-Controller)模式的体系结构的建立,介绍了UML,帮助学生更好地进行软件设计;增加了软件开发方法理论,介绍了软件开发模型,例如瀑布模型、增量模型、螺旋模型等,同时还介绍了软件开发过程工作流,例如需求分析、建模设计、实现和测试、后期维护等,帮助学生很好地把握整个软发开发进度,及时解决软件开发不一致的问题。

2)增加数学思想理论在程序设计的应用,提高学生的数学理论素养。

程序设计离不开数学逻辑和数学思维,因此在程序设计教学中,增加数学思想理论,提高学生的数学理论素养,能够更好地帮助学生进行程序设计,例如增加整体思想和归纳推理思想,帮助学生建立自上而下和自下而上的程序设计思想;增加分类思想,在面向对象程序设计中,帮助学生建立类的概念;增加函数思想,利用函数的概念和性质去分析问题、转化问题和解决问题,帮助学生培养建模思想,容易设计程序的模块和子模块;增加类比思想,帮助学生学习面向对象程序编程中函数或方法的重载和重写机制;增加向量和集合思想,帮助学生学习数组和集合。

3)增加算法设计理论,提高学生转化问题的理论水平。

程序设计要解决的都是应用问题,因此需要学生能够将待解决的或者难以解决的问题经过某种转化手段,转化为已有解决方法或者容易解决的问题,来实现最初问题的解决,这个转化过程就是算法。因此在教学中必须增加算法设计理论,提高学生转化问题的理论水平。算法设计过程,首先要确定输入和输出,建立数据结构;其次注重分析问题,找出逻辑关系,利用已有知识和能力,转化所求的问题,寻求算法,实现问题的解决;最后画流程图或其他算法设计图来辅助算法设计。例如“水仙花”问题,首先确定输入是一组整数,输出是一组“水仙花”的整数,因此可以采用数组存储数据。其次分析逻辑关系,确定某个整数是否为“水仙花”。要确定所有整数,所以必须采用循环结构。最后画出流程图辅助设计编码。

4)增加课程与其他课程理论的联系,拓宽学生的知识理论水平。

计算机语言类课程不是孤立的课程,与其他课程联系紧密,例如数据结构、操作系统、网络信息技术等,这些课程的理论思想对计算机语言类课程的学习具有一定的影响力,有利于培养学生的迁移能力,例如数据结构的抽象数据结构思想,容易迁移到类和接口上面;操作系统的内存管理、进程、线程通信等思想对于程序设计中变量的使用、参数的传递、多线程编程等;网络信息技术帮助学生学习网络通信方面的编程。

4、多模式教学,培养学生综合能力

校企合作机制下,根据企业需求,课堂讲授语法、最新技术、编程技巧等。实践教学到实习基地开展,将所学程序设计知识通过实践锻炼融会贯通,学生将计算机某种语言学的很熟练,可以成为一名熟练的高级程序员。但是教师教学方式变成了固定模式,学生思维单一,只会固定模式编程,忽略了许多重要思想和能力的培养,例如缺乏语言编程思想和探究问题、转化问题的思维能力、软件工程思想和软件设计能力、转化问题能力、创新能力等,学生只能按照固定模式去思考问题,发展后劲不足,再就业能力差等。因此在校企合作下,教师必须运用不同的教学方法和教学手段,改变教学策略,以知识为载体,改善学生思维品质,培养学生的思维能力和综合能力。

在教学中,教师精心组织教学,采用多模式教学,注重学生思维能力的培养。首先,教师采用启发式教学,启迪学生思维,培养学生的想象能力和探究问题的能力,进而引导学生思考创新;采用经典案例法,培养学生独立分析问题、转化问题、自主学习和解决实际问题的能力等。其次,采用项目驱动教学法,可以贴近实战,培养学生领导能力、团队协作能力、系统分析能力、学习创新能力等。

总之,笔者赞成采用不同模式教学,让学生各方面能力都能得到锻炼,特别是要把各种程序设计思想和思维贯穿与计算机语言类课程中,培养学生的综合能力,提高学生的综合素质。

第5篇

关键词:C语言教学;自动化专业;专业技能;专业特色

中图分类号:GDP42 文献标识码:A 文章编号:1009-3044(2013)13-3111-03

随着信息技术在全社会的进一步普及,就业单位对大学生的计算机技能有了更高的要求。作为计算机教学的主要方面—计算机语言的讲授,也成为了高等院校教学改革的一个重点内容[1]。计算机语言已不再是一门孤立的课程,而是渐渐地作为一个必不可少的工具渗透到所在专业的整个学习进程中来。随着中小学阶段计算机课程的开设,大学新生的计算机基础也在日益提升。同时,由于我国人口素质的进一步提高,对计算机应用已不再满足于传统的简单编程,而是希望将计算机作为一个真正的工具,为生产生活服务。因此,高校计算机语言教学改革的迫切性进一步增强。如何适应新时期下学生、社会、用人单位对计算机语言水平的要求,是摆在教学人员面前的一个重要课题[2,3]。

该文以C语言为例探讨计算机语言在自动化专业学生中教学的一些改革途径[4]。作为一门适应性很广的计算机语言,C语言有着很强的生命力。它具备丰富的教材来源、大量的可参考教案和程序实例[5]。是在我国从985重点高校到各类职业技术学院中工科学生学习最广的一门计算机语言,具有很强的代表性。对自动化专业的学生而言,学好C语言有助于加深对计算机程序设计思想的理解,为学习汇编语言和其他计算机高级语言打下良好的基础。同时为学习后续专业课程以及进行相应的课程设计做好专业知识的储备。

当然,应该指出的是,该文所列举的很多方法并不仅适用于C语言。不同计算机语言具有大量的共性,该文所提出的不少思路完全可以在作适当增删之后移植到其他计算机语言的教学中。同样,适应专业也不一定局限在自动化专业,很多方法也可供其他专业参考。

1 教学过程的组织实施(Plan of teaching process)

1.1 C语言思想的引入

作为C语言教学的开始,教师有必要向学生介绍C语言的特点,培养学生对程序设计的兴趣。同时需要解答学生在学习C语言初期遇到的一些常见问题,使他们不至于一开始就对C语言的学习产生畏难情绪。就笔者的教学经验而言,教学初期一般会面临如下问题:

1)学了它有什么用?

这个问题可能是大学新生问得最多的一个问题?这时,教师并不一定说:“到时候你们就知道了”,而是可以从学生所在专业特色开始深入浅出地谈一下C语言的特点和一些容易理解的直观的应用。可以给学生介绍一下计算机程序在工厂过程自动化控制中的应用。因为学生将来都要去工厂进行实习的,事先给他们介绍一下这些背景知识可以有效地提高他们对C语言学习的好奇和渴望。同时也是为他们的专业课程学习做好铺垫。

2)我能学好吗?

由于我国一些农村中学计算机教学的局限,一些新生在看到其他有些同学具备较为熟练的计算机操作能力可能会产生焦虑情绪。这时,教师在课堂举例时,应当多举浅显易懂的例子。兴趣是最好的老师。C语言教学不是数学学习,不应该拿复杂的公式编程来使学生望而生畏。例如:如果要使学生熟悉条件语言、循环语句的使用,用最简单的数学四则运算举例即可。不要让学生把注意力过多地放在数学背景上。

3)考试怎么考?

关注自己的成绩是每个学生的权利,作为老师也有义务向学生讲述考试的题型和方式。在这里,我们的经验是鼓励学生多看其他的讲授C语言的书籍。大学不像中学,由于知识的经典性,中学的教材一般是统一的。而大学教材则体现了不同专业,不同编者的个性风格。在这里,我们希望学生能汲取各家之长。如果某个知识点在一本教材里没有看懂,那么就试图去另外一本教材里去找找。这种做法另一个好处是破除了学生对知识会一成不变的迷信。让学生明白:知识是不断发展的,必须不断学习才能不断地充实自己。

4)今后还会用到吗?

在中学,虽然每个学期所学的知识在不断的变化,但课程名却总是那么几个。但是在大学,课程名会随着所学内容的变化在不断地更新。如果说新生对大一的英语、数学、政治理论等课程名还似曾相识的话,那么面对高年级的一堆陌生的课程名就有点迷茫了。面对这个问题,我们可以在讲授C语言各个章节时用适当的时间举例讲授一下该部分内容在未来的哪些课程里面会有所涉及。通过这样的讲述,学生不但从感性上认识了将来要学习的课程的一些特点,也更进一步加深了对目前学的C语言的理解。

1.2 注重论述C语言和其他课程的相关性

作为自动化专业的一门课程,C语言既是整个自动化专业课程体系的一部分,同时也是一个贯穿专业学习始终的工具。我们在讲授C语言时,没有将它与其他课程割裂开来,而是时而不时有目的地贯输了C语言如何在其他的知识领域中的一些应用。在这里所需要指出的的,或许有老师认为对新生谈及一些专业课内容可能会使他们无所适从(因为他们尚无太多的专业基础)。就我们的实践经验来看,这种担心没有太多必要。现在大部分学生的自学能力和理解能力较过去已大大增强,而且目前高校给予学生的专业熏陶较之过去也已不可同日而语。新生完全有能力理解老师所讲的一些简易的专业内容。现举一些C语言与其他专业课结合的例子如下:

《数字电子技术》的一个基础内容是与门、或门、非门等逻辑门电路的讲解。而这部分内容又恰好对应了C语言中的与、或、非三种逻辑运算。我们在讲授C语言逻辑运算的同时也介绍了该部分内容与《数字电子技术》内容的吻合性。同时,电子技术中又涉及到数/模、模/数的转化问题。我们在讲循环语句时就要求学生尝试编一个十进制数和二进制数转化的程序(其算法在更早的《大学计算机基础》课程里就已经讲授到)。使学生对硬件逻辑和软件逻辑的概念具有了直观的概念。

计算机控制的一个特点在于它控制指令的离散性。《计算机控制》课程中一个很重要的知识点是控制量的递推运算。我们在讲述一维数组时有意识地强化了数组元素的递推编程。并且通过设置标志位,对某些具有特定意义的元素进行了定位标示。使学生在今后接触到相关课程时感到有章可循。

《微型计算机原理》是自动化专业中一门重要课程。在这门课程中,指令地址的概念是一个较难理解的问题。我们在讲C语言的指针部分时有意识地涉及到了该部分内容。试图通过讲述指针为今后学习指令寻址打下基础,反之,也试图通过介绍指令地址,使学生明确指针一节的地位和重要性。

作为一门工具性与理论性兼备的课程,《数据库技术》里面的内容较为繁杂。在讲述结构体这一章时,我们有意识地介绍了数据库的基本组成思想。要求学生用结构体知识编一个小型的数据管理程序。任务虽然简单,但已经涉及到了数据库组成的主干思想。使学生对这门课程不再神秘。

MATLAB语言的讲授是《计算机仿真技术》课程的骨干内容。考虑到仿真技术对于自动化专业的重要性,我们在讲授C语言语句的同时,也适量介绍了它在MATLAB语言中所对应的代码。这样做的目的是为学生破除“世界上只有C语言”这一误解。为他们更好地理解程序员的含义打下基础。

通过诸如此类内容的引入,学生学习C语言不再感到单一乏味。同时,由于我们对相关内容点到为止,并没有增加学生的负担。而当学生将来接触到对应的知识点时,就会享受到以前学习的基础了。

2 教学案例分析

本节就我们讲述C语言时的相关案例进行探讨。意图抛砖引玉,进一步完善C语言教学。如前所述,兴趣是最好的老师。如果学生有了学习的兴趣,自然教学会事半功倍。因此,我们将兴趣的培养贯穿了C语言教学的始终。

计算机编程的一个核心思想之一是通过不断循环执行一些简单的语句来实现对目标的搜索,并且在搜索的过程中需要判断搜索的终止条件是否已经达到。因而条件语句和循环语句的教学是C语言教学的一项重点内容。为了培养学生的兴趣,结合学生理工科的专业背景,我们在教学中引入了不少数论名题作为例子,要求学生编程予以验证。例如:3x+1猜想是一个很有趣的问题[6]。这个猜想是:任意给一个自然数,如果它是偶数,则除以2;如果它是奇数,则乘以3再加上1.所得结果再按如上规则进行运算,最终结果一定是1.例如,对数字7,其后续的运算结果是;22,11,34,17,52,26,13,40,20,20,5,16,8,4,2,1.针对这个问题,我们要求学生用条件语句判断数字的奇偶性,然后用循环语句实现这个数列的计算。更推广一步,我们还要求学生用随机数发生器生成一个随机整数,然后分别用while循环和do-while循环来实现这个过程,并且要学生记录下达到1时一共产生了几个数?如何实现到1就退出循环?在这一循环过程中的最大值是多少?由于3x+1问题的浅显易懂,且因为其尚未得到证明所具有强大挑战性,使学生对编程产生了浓厚的兴趣。不少学生纷纷试图去验证自己所提出的数的正确性。还有学生则试图进一步通过函数调用的方式来改善程序。也有学生在程序中插入了各种有趣的提示性语句。这个例子的提出,满足了不同层次学生的不同要求。一下子就把他们带进了丰富多彩的代码世界中。

输入输出语句的编写是人机交互的关键环节。总所周知,英语学习是我国广大大中学生学习的一个主要课程。几乎所有的大专院校都把学生能否通过某种英语水平考试作为其能否顺利毕业的核心条件之一。我们也注意到个别学生由于担心英语的压力而在课堂上记忆英语单词。对此,我们采用了引导的办法。在针对3x+1问题编程的训练中,我们要求学生用英文写出对应代码的提示和答案。在此之前,不少学生是用汉语拼音或简单的“yes”、“no”,甚至仅是“?”来表示问题的。通过我们的这一要求,学生积极地去寻求许多词汇的英文表述。这样一来,他们希望看懂C语言编译器所给出的英文错误提示的热情也越来越高了。通过这样的训练,有些学生开始渐渐能尝试看一些关于C语言的英文著作了。如此不断循环,学生的计算机能力、英语能力都得到了提高,应该说是实现了双赢。

3 结束语

计算机语言的教学工作是工科专业教学的一个重点环节。科技发展的客观要求使得我们更加重视教学课程的一体化。作为一门在专业学习初期阶段开设的课程,C语言有它自身的一些教学特点。我们在总结自己的一些教学经验的基础上,试图更好地将C语言这个工具融入到学生的整个专业学习体系中。让学生从享受编程的快乐开始,无形中回答了自己前期的一些疑惑,同时也不知不觉地为将来的其他课程学习以及自己专业素质的培养打下了良好的基础。

参考文献:

[1] 谢宝荣.计算机教学设计艺术[M].清华大学出版社,2007.

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

[3] 冯博琴.计算机基础教育新阶段的教学改革研究[J].中国大学教育,2004(9):7-10.

[4] 王鹏远,苏虹.高校非计算机专业C语言教学改革与实践[J].计算机教育,2011(2):15-18.

第6篇

盗传必究

一、名词解释

题目1

材料:

材料是人们用来制造有用物品的各种物质。

题目2

细胞全能性

细胞的全能性指已经分化的细胞,仍然具有发育的潜能。

题目3

计算机病毒

计算机病毒是仿造生物病毒建立起的概念,它是指可以制造故障的一段计算机程序或一组计算机指令。

题目4

宇宙

宇宙是天地万物,是广漠空间和其中存在的各种天体以及弥漫物质的总称。

题目4

核力

原子核中核子之间存在的作用力。

题目5

纳米材料

纳米材料就是用特殊的方法将材料颗粒加工到纳米级(10-9米),再用这种超细微粒子制造的材料。

题目6

基因表达

基因表达就是遗传信息表现为生物性状的过程。

题目7

计算机语言

计算机语言就是一套计算机能识别的指令系统。

题目8

核能

核能是在原子核变化过程中,从变化前后原子核质量亏损的质量差转化来的能量。

题目9

纳米材料

纳米材料就是用特殊的方法将材料颗粒加工到纳米级(10-9米),再用这种超细微粒子制造的材料。

题目10

地球外部圈层结构

地球外部圈层结构指地球外部离地表平均800千米以内的圈层,包括大气圈、水圈和生物圈。

题目11

第7篇

关键词:C语言;计算机

一、首先要学好数学这门基础课

IT 界有一句比较实在的话“数学是计算机之母”。在 C 语言的学习过程中,一般有大量的算法和数据结构需要去了解,由此可见数学在计算机学习中的重要地位,同理,在 C 语言的学习过程中,数学思想的应用会让人有豁然开朗之感,一些简单的运算问题的解决其实就是在数学领域的,编写程序是为了让计算机可以代替人操作运算过程,从而减少人力。

二.、明确学习C语言的目的

我们的学习目的不是只为了学习C语言,而是为了能够掌握程序设计的方法,具有程序设计的基本理念,为以后的计算机应用打下基础。在学习中很多学生认为这门课程既难学、又看不到任何成果, 不如 Java 等语言很快就能编写出有漂亮图形界面的程序。 但C 语言有助于对计算机编程底层原理的理解,对调整知识结构和能力结构,提高自己的综合素质都有很大帮助。

三、语言入门

刚开始接触计算机知识,处于一个计算机技术的启蒙阶段.在这个启蒙阶段,最重要的就是入门。当大家都满怀信心的去学习那些被各大高校都当作计算机入门教材的C 语言的时候,发现太多的“不明白”,因此《C语言程序设计》入门课是至关重要的。因为学生都是初次接触C语言,C 语言对他们来说是神秘的,首先在学习之前要充分了解相关领域的知识,明确学习目的及学习重要性,激发学生的学习好奇心和欲望。

四、了解C语言的发展历史,使自己对C语言产生一种似曾相识的感觉

C语言是国际上广泛流行的计算机语言,既可以用来写系统软件,也可以用来写应用软件,特别对操作系统和系统实用程序以及需要对硬件进行操作的场合,C语言明显地占优势。比如网络编程语言PHP的绝大部分内容与C语言相同,如果学过C语言,那么再学PHP就会非常轻松。

五、把好实践关,重视每次上机试验

C语言是一门实践性很强的课程,既要掌握概念,又要动手编程、上机调试运行。养成上机前分析题目,决定算法与数据结构,并编出程序源代码的好习惯,这样在上机时,就会有的放矢,上机时输入程序并完成语法检查,再运行程序,检查运行结果,同时详细记录下在程序调试过程中所遇到的问题及解决办法。编程千万不可遇难而退,这个时候是决定你水平提高的关键,一定要坚持到底。坚持就能成功。上机过程中主要精力放在调式程序上。实习结束后随堂完成实验报告,逐步积累调试程序的经验。培养自己良好的编程习惯。明确一点“C 语言不是看会的,也不是听会的,而是亲自动手实践练会的”。

六、强调问题学习,培养自己的创造性思维

目前许多学生普遍缺乏问题意识,则学习就失去了快速前进的动力。每次学习都要带着问题去学,直到把问题解决了,知识也就掌握了。科学并非始于观察,而是始于科学问题,正是问题激发人们去观察、去思考,从而启动了科学探索的创造机制激活了科学家的创新思路。

七、牢牢把握住C语言的知识要点

C语言内容十分丰富,各知识点具有非常大的连贯性,常常是牵一发而动全身,这往往使得学生在入门阶段容易产生畏难情绪。眼高手低是每一个刚学 C 语言的人都会出现的一种情况。由于 C 语言灵活、强大,初学者要全面地掌握它非常吃力,因此在学习 C 语言的过程中,一定要熟练掌握 C 语言的流程控制语句、数组、函数、指针等基础知识。可以把学习的重点放在函数的设计框架、参数设计、返回值设计等关键问题上。

八、学习过程中引入软件工程的基本思想

为使自己有良好的编程思维,培养自己在程序设计中从软件工程角度去系统分析问题的良好习惯。

总之,计算机语言是各高校普遍设置的一门计算机课程,也是培养大学生计算机能力的一门基础课程,是各专业学生进行计算机编程以及从事计算机研究的基础类课程,意义十分重大。计算机语言的种类很多,各种语言的区别只是语法规则和具体的实现方式不同,好多方面都是相通的,所以对于计算机语言的学习关键在于精而不在于多。C语言是计算机程序设计中一种广泛使用的基本语言工具,学习 C语言是学生形成编程思维,是为将来进行计算机软件开发设计打下基础的重要过程。

【参考文献】

[1]李少华.《C语言程序设计》教学中的几点体会,长江大学学报(社会科学版).2010,(10).

第8篇

摘要:本文在明确教学目标的基础上,提出并探讨了案例实验教学法的组织策略和实施过程。文中以C语言为例详细论述了如何围绕案例组织教学内容和设置实验环节,并给出数组单元的教学方法。

关键词:计算机语言;程序设计;案例教学;实验;C语言

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

1教学目标

计算机语言的学习存在着一种现象,学生在学习过程中,跟随教师被动地学习,对程序设计没有整体的观念,缺乏明确的目的性,甚至学习效果如何也不知道,最后即使拿到高分,在真正编程时仍然觉得难以下手,没有思路,完全不知道如何将所学的知识应用到实际编程中。这种现状让我们不得不反思:我们的教学目的到底是什么?教学效果应如何衡量?课程应怎样组织?

很显然,仅仅让学生掌握计算机语言的语句、语法等细节是不行的。通过计算机语言的学习,学生应具备程序设计的能力和实际解决问题的能力,学生要掌握的是程序设计思想和相应的学习方法,构建相应的知识体系,并具备知识扩展的能力。因此可以从以下三个方面衡量教学效果:

掌握一门语言的主干,并能在相关参考资料的帮助下解决实际问题(知道如何和怎样得到帮助);

掌握一定的算法和程序设计思想;

具备上机调试的能力。

相应地,课程的教学有两层目标:

帮助建立程序设计中应用到的概念以及理解计算机语言规则;

帮助建立编程思想以进行真正的编程活动。

2案例实验教学法

不同于其他学科,计算机科学的学习仅仅有解决方案还不行,还需要动手将其变为现实,也就是要通过实验来巩固和验证所学。实验的过程还可以发现知识结构的欠缺,进一步引发学习动机。因此教学过程中除了要重视案例的讲解,也要重视实验,这两者是相辅相成的。在教学中结合案例的课堂讲解,可以设置两类实验:

同步实验:和课堂教学紧密结合,其目的是帮助学生建立和理解程序设计中用到的概念以及语言规则,学习基本的实验技能,掌握程序调试方法;

自主实验:通过阶段性学习后进行较为综合的实验,其目的在于帮助学生掌握编程的方法并进行真正的编程活动。

案例实验教学法的组织实施过程如图1所示,教师首先从案例演示开始,让学生理解计算机语言应用的场景,能解决的问题,产生学习兴趣;然后,逐步分解案例并进行分析,帮助学生建立和理解学习目标,并引入不同的知识单元;再针对当前知识单元,布置同步实验。通过阶段性学习后,在学生已有知识基础上对案例进行扩展,布置自主实验,引导学生发现存在的问题,促使其主动学习;而实验过程以及实验结果,也能让教师了解学生的学习情况,相应的调整教学方案,并且通过对学生成果的展示和评价进一步激发学生学习的主动性,提高学习兴趣。

案例实验教学法的整个组织强调的是课堂讲解和学生实践的紧密结合,学生对知识的理解情况以及学生实验实施情况都成为后续教案设计中必须考虑的重要因素,而学生也能体会主动学习以及成功的经验,主动完成知识构建。

3案例实验教学法的实施

从案例实验教学法的组织过程中可以看见,案例和实验环节是联系教和学的纽带,也是教学活动能有效实施的关键,下面以C语言为例,说明案例和实验环节如何设置。

3.1案例选择及知识点的分解

案例的选择不能强调难度,而应具备普遍的代表性且是学生易于理解和感兴趣的。例如可以选择用C语言实现的迷宫、贪吃蛇等游戏,也可以选择简单的信息管理系统,如书籍借阅、学生管理等。在这里我们以学生成绩管理系统为例。选定案例后,先进行程序的演示,以便学生理解C语言可以作什么,有感官上的认识,然后结合软件工程设计思想,从需求分析、设计、编码、调试、运行各个阶段展示案例,使得学生对将需求从客观现实世界映射到计算机软件世界有初步的了解。再结合面向过程程序设计思想,从功能角度将系统分为若干主要模块:

第一阶段:基本的程序设计和实现

(1) 数据的录入和显示:数据类型、变量、常量、输入输出方法;

(2) 数据的计算:算法思想、表达式、三种控制结构;

(3) 成绩排序和查询:数组、排序算法和查找算法;

第二阶段:提高程序质量

菜单的实现:函数和预处理命令;

第三阶段:高级应用

(1) 数据的访问:指针;

(2) 数据的存储:结构体和共用体;

(3) 和外存的交互:文件;

上述模块划分后,学生很自然地了解程序设计和计算机语言学习的循序渐进的过程:首先是在程序设计过程中我需要解决什么问题,然后是用什么方法以及知识可以解决问题。这样学生就能理解各个知识点之间的关系,树立明确的学习目标。

在各个知识点的教学后设置同步实验,对课堂知识进行巩固并作相应的扩展。将全部课程分为三个阶段,在每一阶段后引入自主实验,通过一个较为综合的实验,培养学生的实践能力,扩大知识面。自主实验后应有相应的评价环节,让学生展示自己的成果并对欠缺的知识有一定的认识,为后阶段的教学作铺垫。

3.2案例实验教学法实例

教学活动的设计和实施过程要始终围绕培养学生的程序设计能力和实际解决问题能力。程序的实现有两个关键因素,一是算法,二是语言。对程序设计而言,语言仅仅是一个工具,算法才是本质的内容,因此每一部分的学习首先都应该强调算法的思想和程序设计的方法,然后才是具体的语法规则的学习。

计算机语言中数组是非常重要也很实用的存储结构,而排序和查找算法则是计算机应用中最基本的操作任务。下面以第一阶段第三个知识点即学生成绩的排序和查找为例说明案例实验教学活动是如何开展的。

〔教学目的〕

1. 理解排序查找算法的思想

2. 数组的概念及其应用

3. 强化顺序、分支、循环控制结构的应用

〔案例教学过程〕

程序设计的目的是要解决实际问题,在选择了合适的教学案例后就应根据实际的教学情况在合适的时候提出合适的问题,以问题驱动教学可以更好地促使学生进行主动学习,有效地提高教学效率。

1. 问题引入:演示对M个学生N门功课的成绩排序以及查询某个学生各门课成绩查询的程序。为提高学生学习兴趣,还可以结合当前应用热点如数据库、搜索引擎讲解排序查询算法的实际需求。提出问题:如何实现查询和排序?

2. 分析讲解:通过对问题的逐步分析,引导学生掌握算法思想和语法规则。

(1) 简化问题,组织讨论,理解算法提出的必要性。例如对a,b,c三个数进行排序。初次接触排序的学生首先想到用if…else…语句将三个数两两比较,直到完成排序。再提出问题:当数字的个数增加到四个、五个甚至任意个数时,怎样排序?上述解决方案是否可行?显然,不可行,那么问题出在哪里?回顾算法的要点:算法应具有通用的表达方式,可以给出计算机可执行的操作步骤。上述方法不具有通用性。

(2) 引入一种排序算法如交换法的思想。利用动画引导学生联想日常生活的场景,如N个人从高到矮排队会怎么做?个子最高的站第一个,然后是第二个,…,在这个过程一直重复做两件事情:比较和交换位置。引申到用计算机实现N个数的排序,学生能比较自然地接受交换法的思想。再次让学生给出解决方案,画出如图2所示的算法流程图。

(3) 提出问题:上述解决方案在实际编程过程中N个数怎么存储?引入数组这种重要的存储结构

(4) 核心知识的学习:在这部分的学习中可以用典型的、较为简单的例题进行讲解,如Fibonacci数列、矩阵的简单计算以及字符串的复制等。帮助学生学习涉及的核心知识点:一维数组、二维数组、字符数组的定义、引用和初始化方法,并熟悉数组结构在程序中应用的场景和方法

(5) 学生成绩排序案例的程序讲解

(6) 用类似的方法完成查找算法思想的介绍和成绩查询案例的程序讲解

3. 总结深化:教师就教学过程中应掌握的知识点进行总结归纳。在此基础上,由学生提出自己的疑问,引起再一次的思考,以真正掌握知识。

〔同步实验〕

同步实验需要和课堂以及书本紧密结合,主要包括两部分的内容:其一,和课堂上的典型例题相似,学生通过读程,仿照程序开始编写程序的学习,能较顺利的开始实验,增强信心,也能通过积极的思考回顾并掌握课堂上的知识点;其二,对课堂例题的延伸,如采用一题多变,一题多解等形式,鼓励学生积极思考,突破思维定式,更好的掌握算法。

实验内容:

1. 任意输入10个整数,存储在一维数组中,实现数组的输出、排序、查找

2. 二维矩阵的最大值求解并输出其所在的行列

3. 打印杨辉三角

4. 字符串的输入、输出、在字符串前增加一个字符、排序、查找

〔自主实验〕

经过阶段性学习后,引入自主实验。除了布置实验内容,教师还应介绍学习资源(包括书籍、网站等),给出合适的问题,让学生带有目标的完成任务。其目的在于提高学习兴趣,激发学生的创造性,鼓励学生为解决问题从不同途径中获得帮助,学会查找资料、使用资料的能力,使其具备扩展自身知识体系的能力。

实验内容:编写一个小型的游戏程序,如猜测计算机随机生成的数字,实现玩家成绩的排序或查找玩家的历史成绩。程序设计过程中请考虑:查找或排序的效率和哪些因素有关?还有哪些排序或查找算法可以使用,如何衡量查找或排序的效率?

〔实验讲评〕

学生程序得以实现后,并不意味着实验的结束,必须进行讲评,包括:

1. 对实验过程中遇到的常见问题进行讲解,深化知识的理解

2. 学生有代表性解决方案的展示,使得学生对所作的工作有成就感,提升学习的兴趣。在这个实验中,学生普遍对排序算法表现出极大的兴趣,通过查阅相关的教材资料,尝试了不同的排序方法,如选择、冒泡、快速排序等,开拓了视野。这显然不同于以往学生局限于学习教材所讲的一到二种算法。在排序效率分析上,除了常规的获取系统时间的方法,还有同学想到用统计算法中比较次数和交换次数的方法。此时,教师的鼓励将达到事半功倍的效果

3. 对实验结果进行总结,引发进一步的思考。解决方案中是否有不完善的地方,用现有的知识能否解决?如不能,需要学习怎样的知识?例如程序中猜数字、查找、排序等功能都在一个main()函数中实现,会有什么样的问题?如果你作为语言的设计者会提供什么方法来解决呢?又如玩家每玩一次游戏,记录成绩的数组长度就必须增加,但是数组定义又要求长度是常量,所以只能选择尽量大的值,那么在事先不确定游戏次数的情况下,如何实现不固定长度的数组呢?这样自然的引出后续的教学单元:函数、指针等内容。

〔方案评价〕

教师根据案例的实施情况以及学生实验情况对教学方案进行调整,最大程度的使教案适应学生。当然也可以让学生参与教案的评价。

上述教案经笔者实践,学生反响积极,经过第一阶段的学习,特别是自主实验后,学生理解了计算机语言学习的重点所在,学会资料的查找和使用,开始大胆尝试编程,后续的教学教师就可以在提高程序质量和程序风格上多加引导。

4结束语

案例实验教学法通过课堂讲解、实验巩固扩展,将教和学紧密结合,在教学活动中突出程序设计思想,在案例的分析、程序的设计和实现过程中注重实验环节,让学生主动参与,充分调动学生的兴趣,在掌握语法规则、熟悉且能应用编程语言的同时,能有效地培养学生的编程实践能力和探索能力。

参 考 文 献

[1] 董荣胜,古天龙著.计算机科学与技术方法论[M].北京:人民邮电出版社,2002.

[2] 史美兰.体会哈佛案例教学[J].国家行政学院学报,2005,(2).