公务员期刊网 精选范文 计算机程序设计语言范文

计算机程序设计语言精选(九篇)

前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的计算机程序设计语言主题范文,仅供参考,欢迎阅读并收藏。

计算机程序设计语言

第1篇:计算机程序设计语言范文

关键词:课程改革;项目教学;准职业人

中图分类号:G642文献标识码:A文章编号:1009-3044(2011)15-3638-02

Computer Programming Language of the Curriculum Reform

ZHU Geng-shen

(Linhai Secondary Vocational and Technical Schools, Linhai 317000, China)

Abstract: Improve their computer knowledge and practical ability for students to become quasi-professional personnel, vocational schools is the fundamental task of computer teaching.I will Beida Jade Bird programming language "JavaScript" curriculum used in teaching the theory and practice of computer operations, the design of the materials lead me to think about curriculum reform in vocational computer.Beida Jade Bird programming language a "project-oriented" curriculum design, curriculum projects all around the complete step by step, the students in the learning process, but also completed a practical project development, the design is not only recognized the studentsknow the law can fully mobilize the students interest in learning, improve their self-learning ability and the ability to solve practical problems, training of students and better able to adapt to current market demand for skilled software professionals.

Key words: curriculum reform; project teaching; quasi-professional person

目前中职计算机课程体系及课程内容设计存在着许多问题。在我国中职计算机教育中, 专业课程开设不大合理,教材内容设计不与实际应用相结合,程序设计课程教学内容要么过于简单和笼统,要么过于复杂和高深,导致许多中职学生对编程学习产生严重的抵抗情绪,出现厌学、弃学现象,所学的部分程序设计知识和操作技能,对学生毕业后进入社会后所从事的职业没有任何用处,而真正许多实用性强、专业性强的课程和计算机应用软件却又没有学到。因此,我们必须从以下几方面对中职计算机课程体系及课程内容进程大力改革。

1 明确学生的培养目标

原来中职学生的培养目标,主要以掌握教材统一指定的理论知识与基本技能为主,学生是否毕业以统考、会考成绩决定。毕业后,因培养目标、课程内容、操作技能不能与实际所需对口,导致很多学生难以找到适合自己的工作岗位。

从现在中职的培养目标及定位来说,中职学生应该是社会所需要的拥有一般化专业知识与中级或以上实践操作技能的准职业人,而不是像大学本科生一样,拥有很深厚的理论知识与专业技能。这就意味着中职计算机专业的学生,他们毕业后能在专业对口的普通岗位上找到适合自己的工作,而不是去搞科研或编写大型的计算机软件。如:机关、企事业中计算机网络的管理、信息处理的多媒体设计制作、广告影像行业的图形图像处理、设计行业的计算机辅助设计、办公自动化中的设备应用和公文处理等,都缺少有一定技术水平的准职业人才。因此,在改革中职计算机专业的课程体系与课程内容之前,不能盲目开展,应做好充分的调查分析工作,从计算机专业细化的开设方向到实际应用,必须紧贴现实生活,最大可能的保持与信息技术发展趋势、社会的用人需求同步。

北大青鸟在开设《JavaScript》课程之前,做了大量的企业调研与社会用人需求分析。调研结果显示,中国近几年互联网行业的高速发展,使越来越多的企业认识到网站运营以及网站推广的重要性,很多企业目前需要掌握一定的系统维护知识、网页设计制作知识和网站维护相关知识的复合型技术人才。进一步分析了解这些岗位应具备的IT技能,从而设计出适应于中职学生的计算机课程体系,使学生所学知识具有很强的实用性,保证学生能够在就业市场中具备竞争力,能够满足社会对人才的需求。结合目前中职学生的学习特点,将北大青鸟计算机专业学生的目标定位在培养网站运营人员,并对网站运营岗位从计算机技术层面划分为三部分:除互联网公司外的所有企业的网站维护员(涉及到JavaScript知识);网站制作公司的网页设计师(涉及到JavaScript知识);中小企业网络维护人员。

2 注重激发学生的学习积极性、培养学生的学习兴趣

兴趣是学习的内在动力,是学生自学最好的老师。原来的中职教程在内容设置方面,以理论居多,许多内容均滞后于时代的发展,涉及生活实际的知识、技能较少,涉及到实际项目的内容更少;理论作业偏多,实际操作较少;内容排版呆板,例图、效果图很少。

第2篇:计算机程序设计语言范文

关键词:计算机程序设计;教学方法;实践

大学阶段一门很重要的计算机基础课程――《计算机程序设计》,它是培养学生计算机应用能力最基本的课程,因此计算机程序设计实验教学是计算机程序设计这门课程中非常重要的实践环节。计算机程序设计实验教学的主要目的不仅是对课堂及教科书中知识进行深入理解与验证,更重要的是要培养学生的思维及实践能力。但是目前计算机程序实验教学存在重验证、轻设计的错误思想,这就导致计算机程序设计的实验效果不佳,学生的学习兴趣没有得到充分的激发,忽略了学生的主体性。随着教学改革的不断深入,教师将如何更好的提高计算机程序设计课程的实验教学效果,充分培养、发挥学生的创造性思维与主观能动性成为了实验教学所研究的重点。本文从学生自主学习的角度出发,围绕着培养学生思维能力这个核心内容来探讨计算机程序设计课程实验教学的方法。

1 重视学生的实验预习与实验准备环节

在计算机程序设计实验时,一些学生在实验过程中不知所措、毫无头绪,这就造成学生盲目实验或无法进行实验,最终导致实验无法顺利完成,造成这种现象的主要原因就是学生在实验前没有深入的预习实验知识以及实验准备不充分。为了避免这样现象的发生,教师应重视学生的实验预习与实验准备环节,逐步引导学生进行充分的预习与准备。在计算机程序设计理论教学中,教师应该同时引导学生对实验知识及实验准备进行充分的预习,预习的主要内容包括:实验目的、实验方法、实验要求及实验步骤等,此外,教师还应该要求学生根据自己的实验内容及要求来收集与了解与本次实验相关的实验资料,以此来加深对实验的了解程度。

另外,学生所选定的实验内容也十分重要。教师应根据本次试验的目的与要求来制定实验内容的范围,这样不仅可以避免学生选择实验内容的盲目性,而且学生可以依据自身的兴趣来选择可以充分发挥自己创造性思维的实验内容。因此,教师应依据实验课的目的及要求来制定自选式及开放式的实验内容,学生也可以自主的选择适合于自身的实验内容。这种开放性的实验课不仅可以鼓励学生充分发挥自己的创造性思维从实际问题的角度来自主的设计实验内容,而且还能够满足不同层次、不同兴趣的同学都能选到自己感兴趣的实验内容。

2 在实验环节中着重培养学生的实验能力

2.1 实验中常见问题的解决

学生在实验过程中经常会出现一些自己难于解决的错误代码以及操作错误等常见问题,这些问题如果在没有老师帮助解决的前提下可能会导致学生实验无法进行下去。由于在计算机实验教学中教师所带学生均在60人以上,实验中出现的问题也各不相同,如果由老师单独进行指导是根本无法解决全部学生的问题,这也就不可能提高计算机程序设计的实验效果。针对以上问题,笔者提出了一种有效的解决办法――教师指导为主,学生互助为辅。

教师在计算机程序设计实验课中针对学生提出的问题要耐心引导,尊重学生的想法。在指导时应让周围的同学一起参加问题的讨论,例如:对于试验中代码的问题,教师要引导学生注意问题的出处,然后分析这种错误是逻辑错误还是语法错误,耐心教会学生如何从数据结构与算法的角度去分析问题,如何根据系统提示来查找问题的原因,并积极鼓励讨论组的学生主动发表自己的看法,积极讨论问题。这样不仅解决了试验中的问题,而且可以通过讨论组进行互助学习,提高了实验的效果。此外,教师要总结试验中出现的共性问题并提出典型的解决方法以供全班同学讨论学习,在提高教师自身素质的同时还能激发学生求知欲望及创造性思维能力。

2.2 课堂知识向课外知识的延伸

在课内实验课程的基础上,教师应将计算机程序设计实验向课外实验进行延伸。学生通过课内实验中所学到的知识及应用能力可以独立自主的完成课外实验,学生在课外实验过程中出现的问题可以通过网络与老师进行交流与讨论,这不仅可以大大提高计算机程序设计实验教学的效果,而且可以极为有效的激励学生的学习兴趣及创造性思维。

3 学生自主总结与评价实验结果

教师应依据学生的实验能力来制定评价标准,并对学生的报告做出评价,对于学生自主设计的实验内容、解决方法及实验总结体会等内容进行额外加分。另外要求学生对自己的实验进行评价,总结试验中出现的问题及解决办法,提出自己的见解及想法,让同学与教师的评价进行对比,这样不仅让学生在老师的评价中找出自己存在的问题,并且能够使得学生对本次实验进行及时有效的总结与归纳。

4 总结

教师在计算机程序设计试验中着重培养学生自主学习的能力,不仅能够加深学生对理论基础知识的理解与认识,而且还能有效的提高学生实验能力、激发学生创新型思维。因此,教师应在计算机程序设计试验中围绕培养学生的实验能力进行深入的研究与改革教学,通过不断的探索与实践才能取得较好的计算机程序设计实验教学效果。

[参考文献]

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

第3篇:计算机程序设计语言范文

【关键词】程序设计 计算思维

【中图分类号】TP30 【文献标识码】A 【文章编号】1006-9682(2012)12-0026-02

一、引 言

进入信息时代,计算思维能力的培养越来越得到社会的认可和广泛关注。计算思维不仅仅属于计算机科学家,它是每个人应具备的基本技能。就像所有人都具备阅读、写作和算术能力一样,也要学会计算思维。如同其他思维能力获得途径一样,计算思维能力也需要通过系统的培养方案和课程计划的科学实施才能获得逐步的提高。[1]程序设计课程除了基本语法外,还涉及问题建模,求解方法评价与取舍,编程实现,程序调试、运行以及结果分析等诸多环节,涉及计算思维多个核心概念问题,它不仅仅是培养学生的编程能力和编程技巧,而且也是培养学生计算思维能力的重要手段。然而在传统的程序设计语言教学过程中,教师通常比较注重语言语法规则的讲解,而程序设计又往往涉及多方面知识,面对程序设计语言中繁杂的语法规则和对解决问题方法的欠缺以及有机结合,很多学生慢慢丧失了学习的兴趣,动手能力普遍较差。教学实践表明,相当数量的学生仅仅停留在书本知识的死记硬套,另外,一些学生虽然实现了某问题的求解,往往也不能做到活学活用,也就更谈不上计算思维能力的培养。本文介绍了计算思维的基本概念以及本质特征,结合多年的教学经验,探索在程序设计课程中融入计算思维的理念,构建以教师为主导、学生为主体、教学内容为载体、突出学生计算思维能力培养为目标的创新型教学模式改革。

二、计算思维及其本质特征

计算思维是当前一个颇受关注的涉及计算机科学本质问题和未来走向的基础性概念。这一概念最早是由麻省理工学院的Seymour Papert教授在1996年提出的,但是把这一个概念提到前台来,成为现在受到广泛关注和认同的代表人物是美国卡内基梅隆大学的周以真教授。周教授认为,计算思维是运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解的涵盖计算机科学之广度的一系列思维活动。计算思维是一种递归思维和并行处理,是基于抽象和分解原则,利用约简、嵌入、转化和仿真等方法形式化地将复杂问题转化为易于求解问题的思维活动,是按照预防、保护及通过冗余、容错、纠错的方式从最坏情形恢复的一种思维,是利用启发式推理来寻求解答,就是在不确定情况下的规划、学习和调度的一种思维。计算思维是概念化,不是程序化,是计算机科学不是计算机编程。像计算机科学家那样去思维意味着远远不止能为计算机编程,还要求能够在抽象的多个层次上思维。计算思维是根本的,不是刻板的技能,是每一个人为了在现代社会中发挥职能所必须掌握的。刻板的技能意味着简单的机械重复。计算思维的本质是抽象和自动化。[2]

三、程序设计课程计算思维培养模式

为了有效的在课堂教学中开展学生计算思维能力的培养和训练,教师要深刻认识和理解计算思维的基本概念和本质特征,在此基础上,结合程序设计课程的教学内容和教学目标,重新整合教学内容,改进教学方法,构建以教师为主导、学生为主体、教学内容为载体、突出学生计算思维能力培养为目标的创新型教学模式。

1.教学主体

学生和教师是教学活动中两个重要的角色,相互作用,互相影响。教师起主导作用,引导学生积极参与课堂教学活动,教师要能充分调动学生的积极性和能动性,使其乐于其中,而不仅仅是简单的知识传授和编程技能的训练。教师要将计算思维的思想融入教学过程,努力创建师生平等的教学环境和学习氛围。学生是教学的主体,学生要在教师的引导下,充分发挥自身的主观能动性,在教师营造的平等的教学氛围下,积极创造性地学习,深刻体会各个知识点之间的衔接关系,在举一反三的过程中逐步获得计算思维的能力。

2.教学内容

课堂教学内容要能激发学生学习的激情和动手参与的欲望,并且使其能顺利地参与。这就要求选取对学生有益的或有意义的教学内容。正如李波教授所说:“要让学生做些他们感觉有意义的工作”,否则,就不可能引起他们的兴趣,那么就不可能学好。[3]同时,选取的教学内容要符合学生现有的接受水平,做到通俗易懂不晦涩。程序设计类课程主要包括算法流程(程序流程)和程序实现两个内容。算法流程主要学习问题求解方法和求解思路,而程序实现是利用现有计算机资源,编程实现问题求解算法,进行问题求解和仿真。这两者涉及对求解问题的抽象、分解、约简、转化以及问题求解算法实现过程中所涉及到的对计算机资源的理解、问题求解的预置,可能出错的预防、保护等计算思维的核心概念。教学过程中涉及到如何将这些核心概念贯穿于教学过程中,需要教师对教学内容进行整合和重组,选取能引起学生兴趣的典型案例,并根据学生实际情况,分层次、分梯度不断对其进行进阶和拓展训练,并举一反三、触类旁通。

由于是学生的第一门编程语言课程,学生对问题求解方法和求解思路的欠缺是其编程的最大障碍。特别是对于专科班的学生,部分学生即使掌握了编程语言的基本知识,也不能灵活运用。为此在教学的过程中,特别是初期,尽可能采用流程图的方式进行问题讲解和学生练习,用类语言,甚至自然语言进行设计和讲解,使学生先掌握问题求解方法和思路,再考虑如何转化为计算机语言编程实现,在这个过程中尽量发挥学生的主观能动性和创造性思维,教师在引导学生的过程中要使其知其然、知其所以然,并循序渐进,设计进阶和扩展练习,多让学生思考对于某个问题是否还有其他的解决办法?这几种方法的优缺点是什么?对计算机资源有什么特殊的要求等等。使学生在反复问题求解和编程实践中逐步掌握计算思维的能力。

3.教学方法

为了将计算思维能力的培养融入计算机程序设计教学过程,我们采用任务驱动、问题引导、典型案例、课堂讨论、反思与构建以及易于理解的手段组织和开展教学活动。任务驱动根据教学内容设定不同难度的编程任务,通过提出问题,引导学生思考解决方法,设置典型案例特别是核心问题的典型案例,有利于学生举一反三,易于掌握知识,提升技能。布置专题组织课堂讨论,互相学习,能够取长补短,发现自身不足,激发学生的学习热情,同时教师也能够及时掌握学生的知识掌握情况;反思和自我构建就是在教学中,通过综合性任务,使学生在反复训练的基础上对自己所学到的知识进行自我思考和重新组织,以求获得解决复杂问题和综合性任务的能力。同时,在教学的过程中要采用易于理解的手段开展教学活动,国防科大非常成功之处在于程序设计课程中引入Lego机器人编程,学生能够很生动直观地进行控制程序控制设计与实现,而且乐于其中。虽然我们学校目前还不具备这些条件,但如果能够做到仿真模拟,也将是一大进步,容易被学生接受。例如,采用Raptor软件配合算法流程的讲解,学生几乎在没有掌握计算机编程语言的情况下,能够独自实现问题的求解和仿真验证,同时切身体验计算机对于问题求解算法的执行过程。由于Raptor软件是以流程图的形式设计和执行,而且几乎没有编程语言所特有的语法规则,非常容易上手,特别适合初学计算编程的学生使用。

总之,在教学过程中要尽可能地将复杂的计算机学科知识以简单易懂和趣味化的方式呈现给学生,让学生在参与中提升能力,在拓展中寻求创新。

4.教学评价

教学评价是教学活动中的重要环节。为了保证提升学生计算思维能力这一教学目标,我们采用了平时教学过程考核和最终测评相结合的考核模式,并非常重视平时考核,平时考核包括课堂参与、作业、项目参与,并采用师生座谈,小组考核和自评相结合的方式进行,努力做到公平公正。

同时,教学评价不仅仅是给出一个评价结果,而是要为教学过程的不断改进提供参考依据,让教师感知教学活动的得与失,进一步改善教学活动。师生座谈能够使教师和学生各自反思当前存在的问题和症结所在,及时修正。小组考核能激发学生的学习热情和组间协作,自我评价能够让学生反思学习过程的得与失。总之,评价不是目的,而是计算思维能力培养教学活动改进的依据。

四、结束语

计算思维能力的培养是一个系统工程,不可能一蹴而就,也不是靠一两门课程的学习就能够获得,计算机核心知识和理论的不断积累是理解并建立计算思维的重要条件,而计算思维能力的培养和提升,贯穿于学习者整个学习过程,以及利用计算思维解决实际问题的正反馈,这也是一个动态发展的过程。本文根据计算思维的特征,探讨了以计算思维培养为目标的程序设计课程教学模式,并在我校应用,解决了初学者难于理解问题求解方法和流程和入门的难题,为后续课程打下了程序设计基础和编程基础,使其计算思维能力得到一定的训练和提升。

参考文献

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

第4篇:计算机程序设计语言范文

关键词:排序;元素;算法

中图分类号:TP316.2 文献标识码:B 文章编号:1002-7661(2013)34-029-02

一、引言

排序就是将线性表中的各元素按关键字从小到大(或从大到小)的顺序重新排列。在本文里,把作为排序依据的关键字称为排序码。排序过程一般都涉及到排序码的比较和元素的移动这两种基本操作。排序算法的执行时间通常用这两种基本操作的执行频度来衡量。在程序设计基础教学中,排序算法不但是一种基本算法而且还是一种常用的算法,是学生必须掌握的内容。从我多年的程序设计教学中发现往往书中的排序算法的文字描述对学生来说很难理解。程序语言的描述更是不知其所指,这对学生来说很大的打击了他们学习的积极性,也使得他们很难真正的掌握排序算法,并在实际应用中发挥作用。本文就这一现象问题将排序算法用VC++设计成动态的排序效果生动形象地演示学生看,有助于学生理解并掌握,增强学生学习排序算法的积极性。

本排序动态演示设计的思想是:以一种排序算法作为范例,动态的演示一组数据在这个算法思想下的变化过程,并在动态演示过程中随时可以调整排序速度以便给学习者有思考的过程,通过动态的演示让学习者清晰的看到算法的思想。这种动态的演示算法的过程可以推广到其他排序算法中去,有了这个动态过程的演示,学生就可以轻松的掌握各种算法的思想,并在程序设计的过程中很好的利用。

二、排序算法

常见的排序算法有快速排序、希尔排序、堆排序、选择排序、起泡排序、折半插入排序、直接插入排序、归并排序,这些排序算法都各有其优缺点。本文将对起泡排序、选择排序这两类进行探讨。

1、起泡排序

起泡排序算法的基本思想是:在元素中依次比较两个相邻元素的排序码,若前者比后者大则交换,若前者比后者小则保持不变。先将第一个排序码与第二个排序码比较,然后是第二个与第三个比较,直到倒数第二个与最后一个排序码。比较一轮结束之后,排序码大的记录均向后移动。然后开始新一轮的比较,知道一轮比较下来,不再有排序码的交换发生为止。整个过程就有点像水中的气泡上升的过程,轻的往上浮,重的向下沉,所以这个算法也叫起泡排序法。算法的步骤如下:

(1)假设要排序的数列为A[1]……A[N],我们把相邻的两个数两两进行比较。即把A[1]和A[2]比较,对比完后把A[2]和A[3]进行比较,……直到A[N-1]和A[N]比较完为止。在相邻的两个数两两进行比较的过程中,如果前面的一个数比后面的一个数大,则把这两邻的两个数交换,也就是说,我们把较小的数放在前面,把较大的数调到后面。即,如果在一次比较中,如果A[1]比A[2]大的情况下,把A[1]和A[2]交换,……以此类推,直到一轮A[N-1]和A[N]比较完。

(2)再次重复(1),直到相邻两数之间不再发生交换为止。

2、简单选择排序

简单选择排序算法的基本思想是:从所有元素中选出排序码最小的元素,将它与A[0]交换位置;然后,在A[1]~A[N]中选出排序码最小的元素,将它与A[1]交换位置;依次做下去,在进行了N-1次选择后排序过程结束。这种排序算法比较的次数与前一种排序算法一样多,但是交换次数要比起泡排序算法少,效率较高。

三、演示方法

1、传统方式的演示方法

目前大专院校教师在对语言程序设计中排序算法的内容进行讲授时一般采用静态数字输出方式,如图1所示。这种方法对于描述排序算法中交换数据的过程不够形象生动。

图1 传统方式的排序演示方法

2、立方柱形的动态演示方法

(1)设计原理

本排序算法动态演示程序是在VC++6.0集成环境下实现,基于对话框类型的MFC应用程序。为了直观清楚地表现起泡排序与选择排序的排序过程,程序设计的主界面如图2所示。

图2 排序算法动态演示程序主界面

程序主界面是一个对话框,包含控制区,演示区和说明区三个部分。

控制区位于主界面的上方,主要由下拉组合框控件,按钮控件,滑动控件以及静态文本框控件组成。下拉组合框控件供选择产生多少个随机数进行动态排序演示,按钮控件用来控制动态排序演示的开始,滑动控件用来控制演示速度,在需要仔细查看演示过程的时候,可以将滑动块移到最左边演示。

演示区位于主界面的中间,由上下两个绘画窗口(静态文本框控件)组成,负责将排序中的数据以立方柱形绘制出来,而不是简单输出我们通常熟悉的1、2、3等数字符号,显得更为直观,比较有动态演示效果。

说明区位于主界面的右边,由上下两个静态文本框控件组成,是对描述排序算法动态演示的简单说明。

(2)主要实现过程

首先创建一个基于对话框类型的MFC应用程序SortingDemo,在主对话框上添加所需要的控件。然后,在对话框CSortingDemoDlg的初始化函数OnInitDialog末尾加入控件的初始化代码。

在CSortingDemoDlg.h中的类SortAlgoWindow里定义m_wndSortAlgo1和m_wndSortAlgo2的2个实例,分别实现对起泡(升序)排序和简单选择(升序)排序的动态演示。

类SortAlgoWindow是从CWnd派生的一个窗口类,重载WM_PAINT消息,OnPaint方法里面实现更新后的数组元素的绘制。

类SortAlgoWindow的UpdateSoringData方法会更新并重绘排序中的数据。

void SortAlgoWindow::OnPaint()

{ CPaintDC dc(this); // device context for painting

// TODO: Add your message handler code here

// Do not call CWnd::OnPaint() for painting messages

// 绘制面板底色

// 根据排序中的数组元素,绘制立方柱

// 用红色绘制发生交换的数据1

// 用蓝色绘制发生交换的数据2 }

按钮控件是用来控制排序动态演示的开始,通过创建2个线程实现起泡(升序)排序和简单选择(升序)排序的排序过程,并将排序过程以立方柱形显示到对应的显示控件中。

void CSortingDemoDlg::OnBnClickedStart()

{ AfxBeginThread(BubbleSortProc, this);

AfxBeginThread(SelectSortProc, this); }

(3)程序运行

图3是程序运行时排序过程中的一个截图,从图中可以看到,在起泡(升序)排序过程中,相邻的红色,蓝色2个元素进行了交换,较大的元素向后移动。而在简单选择(升序)排序过程中,较小的(蓝色)数据被排到了最前面。

图3 排序算法动态演示程序开始

所有元素按照升序方式排序结束后的最终运行界面如图4所示。

图4 排序算法动态演示程序结束

四、结语

我们在进行程序设计中排序算法内容的教学时采用本文中立方柱形方式的动态演示方法讲授,由于它的直观性能够使得让抽象的内容不再难以理解,必然能较好地带动学生学习排序算法的热情,从而产生良好的效果。

参考文献:

[1] 谭浩强.语言程序设计(第一版).华大学出版社,2005.

第5篇:计算机程序设计语言范文

【关键词】计算思维;程序设计;教学研究;教学实践

【中图分类号】G434 【文献标识码】B

【论文编号】1671-7384(2016)12-0039-04

研究缘起

长期以来,我国的中小学程序设计教学更多定位于程序设计语言的学习,学生无法形成计算科学特有的理解问题和分析问题的思维方式,存在问题如下。

1. 乏味的形式化教材体系,泯灭了学习的兴趣

计算机诞生于西方,因此程序设计语言都明显带有西方文化的演绎思维特征,如使用巴科斯范式或语法图等形式化的方式描述语法规则,并影响到了教材的编写。这种抽象的向学生灌输程序设计语言语法知识的教材编写方式,脱离了具体的生活情境,忽视了学生自身的学习特点,容易使他们丧失学习的兴趣。[1]

2. 单一的演绎式教学策略,消磨了学习的能力

受教材的影响,无论是BASIC,还是Logo,中小学程序设计教学都是采用讲授式的教学方式,教师“灌”,学生“听”,学生只能处于被动接受的状态,几乎没有动手实践的机会,课堂上大多数时间都掌控在教师的手中。这种演绎式教学策略,让学生能够在较短的时间内掌握所学的知识,却不能使学生掌握获取知识的方法,以及进一步学习的能力。

3. 文本的专业化编程环境,阻碍了学习的进程

程序设计离不开编程环境的支持,然而,各种专业的编程环境,包括面向儿童的编程语言Logo,都是基于文本和符号的编程方式,学生必须自己输入指令,各种各样的语法错误往往导致学生寸步难行,大大延长了程序设计学习的时间,影响了程序设计能力的提高。

思想的源泉

近年来,从学科思维层面构建课程结构和内容逐渐成为人们的共识[2]。这里所说的思维,是指科学思维,主要分为逻辑思维、实证思维和计算思维三类[3]。计算思维起源于计算科学,2006年,卡内基・梅隆大学周以真教授在计算机科学协会(ACM)年会报告中,首次明确提出计算思维的概念:“计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。”她认为:“计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看起来困难的问题重新阐释成一个我们知道怎样解决的问题。”[4]

计算思维不是今天才有的,只是计算机出现后,计算思维才逐渐被认识和强化。当前,计算思维已经超越了传统的计算机环境,适用于信息技术渗透的每一个角落,但是程序设计仍然是理解计算思维的最佳途径。在设计问题求解方法时,会用到递推法、迭代法、递归法等;用计算机语言描述求解过程时,会涉及顺序、分支和循环三种基本结构;考虑如何响应和处理各种意外情况时,就要用到冗余、容错、纠错的方法;在维护和修正程序的过程中,要用到测试和调试的技术。这些技术都是计算思维中的核心概念[5]。

实践的历程

1. 建设程序设计教学课程资源

现有的程序设计书籍都是基于演绎思维编写的,更多适用于成人学习。从2008年起,我们着手编写适合青少年需要的《程序设计应用》校本教材,努力使其成为小学生爱看、好读、易懂的程序设计书籍。主要从以下几个方面进行了尝试。

一是从教学出发选择工具,突破复杂编程环境的壁垒。从计算思维的角度看,程序设计语言是描述问题的工具,在设计程序之前,首先要选好工具。通过多年的探索与实践,我们认为BASIC语言仍然是适合小学生学习的程序设计语言。FreeBASIC(简称FB)既保持了BASIC语言简单易学的传统,也提供了程序设计开发工具所应具备的输入、编辑和调试功能,菜单简洁、清晰,可以较好地突破复杂编程环境造成的学习壁垒。

二是将演绎与归纳相结合,促进知识的主动建构。人类的思维方式一般有两种:归纳与演绎。归纳是指从各种特殊事例中抽象概括出一般规律;而演绎则是从一般原理出发,通过推导得出个别结论。演绎法是西方文化的内涵,而归纳法反映了东方文化的内涵。受西方演绎思维框架的影响,目前的程序设计教材都是直接从语句的基本格式出发,展开到各个局部细节知识。这对一直接受东方文化熏陶的中国学生来说,理解上有一定的困难。为此,我们从两个方面采取措施,融合两种文化差异所带来的问题:一是用自然语言的体系结构类比程序设计语言的体系结构,首先让学生从整体上把握程序设计语言的结构,并由此过渡到具体内容的学习[6];二是对于基本语句,先通过一个学生学习和生活中典型问题的程序,归纳出它的基本格式或解决问题的基本规律,再将这些规则或规律应用于相似问题的解决,而不把所有的知识不分巨细都“嚼碎”了“喂”给学生。显然,这是一种基于计算思维的构造性思维方式,更符合中国学生的认知规律。

图1 自然语言的基本体系结构 图2 程序设计语言的基本体系结构

三是强化算法的分析,经历问题解决的全过程。用程序设计解决问题,关键是要找到解决问题的方法――算法。对于初学者来说,往往在看到问题后,粗粗一想就开始动手,很简单的问题却写出一大堆代码,自己也说不清解决问题的方法和过程。所以,对于每一个编程问题,我们都会从问题的分析和分解开始,首先找出解决问题的算法,再用FB语言编写程序、实现算法。[7]

程序设计具有很强的实践性,学习者只有通过大量的编程实践,才能比较牢固地掌握基本的编程知识和技能,进而编写出具有“实用”价值的程序。因此,我们为每章都配置了习题,并专门编写了配套的习题解析,对教材中的习题进行详细的分析和解答。同时,进一步补充了改错题、读程序题、程序填空题等。多数习题创设了贴近学生学习和生活的应用情境,以激发学习者在真实的情境中寻找解决问题的方法。为了检测学生编程解决问题的能力,我们还使用HUSTOJ系统架设了在线程序评测系统。学生提交的程序在服务器端运行,会有正确、答案错误、编译错误、格式错误等反馈信息,可以很好地指导学生调试程序。教师亦可很好地检查学生作业完成情况,并就存在的问题进行解答。

2. 创新程序设计教学策略与方法

融入计算思维,不仅是内容和工具的改变,更应是教学方法、教学方式的改变。近年来,我们总结和归纳了系列的程序设计教学策略与方法。

一是采用案例教学,自主建构程序设计指令集。程序设计的学习主要围绕环境、语言和应用三个方面的知识和内容展开,语言的学习,其核心主要在于语言规则本身。传统的程序设计教学主要使用规例法介绍语言规则,即从语句的基本格式出发,详细讲解语句的各个要素,最后举例说明。我们则在程序设计教学中运用案例教学法,首先对典型程序进行模仿,归纳出语句基本格式或解决问题的基本规律,再将这些规则或规律应用于类似问题的解决。

案例1:定义过程

1.提出问题,呈现任务。分析“俄罗斯方块”游戏,发现共有七种基本方块,本节课的任务是学习用Logo语言绘制七种基本方块。

2.运行程序,分析过程。用定义好的“ZFX”过程示范绘制一个基本方块,对“过程”作初步讲解。

3.范例研习,提取指令。出示“ZFX”过程,为学生揭开教师演示的秘密。再出示“SJX”“WJX”两个过程,归纳出过程的一般格式。

4.定义过程,尝试使用。学生尝试定义绘制正方形的过程,调用过程绘制一种自己喜欢的基本俄罗斯方块。

5.创意设计,再用过程。从“多层柜”“幸运草”和“好运星”中选择自己喜欢的图形进行分析,并完成图形的绘制。也可以自己定义一个或者多个绘制基本图形的过程,设计出新的图形。

在程序设计学习伊始,为学生提供一个需要解决的生活中的具体任务,分析解决这个问题的“程序”,引导学生提取其中的指令,得到一组“指令集”,再将这组“指令集”应用于类似问题的解决,逐渐提高个人“指令集”的复杂程度,最终得到功能强大的指令集。显然,这种例规法教学更符合中国学生的认知规律。

二是面向计算参与,在创意和计算中学习编程。Scratch是一个可视化编程工具,学生只需要拖动图形就可以轻松创作出蕴涵着故事情节的游戏和故事等编程制品。然而,许多教师仍然采用传统的“编写代码”的教学思路,并没有充分发挥Scratch在创意计算上的优势。2012年,美国宾夕法尼亚大学教育研究生院的YasminB.Kafai教授提出了以“社会化转向”为特征的培养计算思维的新范式――计算参与,并从三个维度进行了描述:(1)从编写代码到创建应用;(2)从设计工具到促进社区;(3)从“白手起家”到再创作他人成果。传统的程序设计学是通过解决一些看似趣味、其实枯燥的数学题(如农夫过河等)来学习编程。基于“创建应用”的编程教学方式,学生不再只是编写代码,设计功能完整的应用程序成为学习编程的重要任务[8]。“我的Scratch画图程序”这节课就采用了“创建应用”程序设计教学方式。

案例2:我的Scratch画图程序

教师出示学生Scratch作品范例――“画一画”程序。(1)体验操作,并思考程序中有哪些角色,它们在程序中分别有什么功能。(2)观察“画笔工具”角色的主要动作,分析角色的脚本,完成“连一连”,将动作和对应脚本模块用直线相连。(3)两人一组,一人负责现有范例程序不变,另一人逐条删除“画笔”工具中的相应指令,比较、分析每一个指令的作用。

学生在创作我的“画图”程序的过程中,需要“仔细思考用户与应用程序互动的方式,以及根据意图实现功能的方式”,知识与技能的学习有机地融入到了设计有意义的“画图”程序中来。学生不再只是技术“消费者”,更多的是技术的“生产者”。此外,在他人的基础上学习编程,一个人也可以编写相对“复杂”的程序。使用――修改――创作是这种教学策略的基本思路,范例研习引领学生发现别人解决问题的方法,通过修改参数进行模仿设计,进一步理解技术的关键要点。在此基础上,尝试为游戏添加更多的功能,从而将学到的知识与技能应用到解决实际问题的过程中,使学习变得更加有趣。

三是运用关注点分离,降低问题解决的复杂度。在教学中采用关注点分离方法,就是将复杂问题进行合理的分解,控制问题的复杂性,提高可理解性,再分别仔细研究问题的不同侧面(关注点),最后综合各方面的结果,合成整体的解决方案[9]。“画组合图形”就采用了关注点分离的方法。

案例3:画组合图形

你会画组合图形吗?这个图形由哪几个图形组成?你准备先画哪个图形?小海龟出发时的角度是多少?绘制这个图形的命令是什么?画好该图形后,小海龟的位置在哪个点?你准备把第二个图形的起始位置确定在哪个点?小海龟出发时的角度是多少?绘制这个图形的命令是什么?

通过把复杂的组合图形拆分成两个简单图形――等边三角形和正方形,实现关注点的分离,也降低了绘制组合图形的难度,更易于学生理解。

四是基于模式建构,培养正确的程序设计思维方法。现代大型软件系统的开发中,工程化的开发控制是软件系统成功的保证。在我们程序设计教学中,“个性化”方法比较严重,同一个算法在不同问题中的描述往往是不同的,学生即使编写了“大量”的程序,也无法迁移到相似问题的解决过程之中。所谓模式,是指一种经验和规律,是对相似问题的一种通用解决方案,它是经过充分考验并证明是行之有效的,能够迁移并推广到更广泛的问题解决与应用中去[10]。以下就是基于模式建构的循环语句教学案例。

案例4:循环语句

循环是程序设计最困难的部分之一,学生往往在这里开始出现分化。主要是由于在使用DO-LOOP语句时,必须自己实现循环的四个部分,这时经常会遗漏修正部分或修正不正确,或者检查条件设置不正确,造成死循环。应用模式进行循环语句的教学,则可以帮助学生建立起循环结构解决问题的基本模式:初始条件、检查条件、循环体、检查条件,学生在解决其他相似问题时,只需要根据具体问题,修改这个基本模式的相应部分即可。应用是无限的,但方法、原理、思想却是相对固定的,基于模式建构的程序设计学习,有助于学生建立良好的程序设计思维和方法。

3. 探索基于机器人平台的程序设计教学

虽然Scratch采用了图形化的编程界面,但是编程的结果也只能呈现在屏幕上,基于机器人平台,学生则可以把程序下载到机器人里,即时看到编程的“物化”效果,再根据这些反馈修改程序,使程序设计的学习更具有知识性、实践性、趣味性和直观性。

例如,在机器人沿线(如黑线)行走的运动中,机器人是根据灰度传感器测得的黑白色灰度值来判断是否在线上。理论上来说,在机器人行走的过程中,灰度传感器测得的灰度值等于黑色灰度值,说明机器人在轨迹线上,测得的灰度值等于白色的灰度值,说明机器人在线下。然而,黑色轨迹线的颜色并不是绝对均匀的,可能也有小块的白色区域没涂上白色。因此,为了使机器人能够比较稳定地行走,应该允许识别黑白色的临界值有一定的差值。这样,学生在经历“思考―实践―再思考―再实践”的反复人机交互过程中,体验了在解决工程问题过程中,为满足系统的可实施性,而对系统设计中的技术、方案做出合理取舍的一种折衷思维[11]。

实践成果

至此,我们逐步建立了小学程序设计教学的课程体系。该体系主要由四个模块组成:把Scratch作为小学生首门程序设计课,学生在制作富有个性的互动媒体作品的过程中,形成信息化情境下解决问题的方法与策略;在用Logo指令控制计算机完成动作的过程中,理解人是如何通过程序指挥计算机解决问题的;通过机器人模块的学习,理解基于“工程-设计-管理”框架下的模块化、结构化、逐步求精、测试与调试等软件工程设计方法。通过FB程序设计课程的学习,学会从问题出发设计算法并编程实现,理解算法和程序设计在解决问题过程中的地位和作用。

作为最重要的计算思维原则之一,关注点分离法是处理复杂问题的一种普适系统方法和原则,在不同模块教学中都要运用这种思想方法。在基于计算参与的程序设计教学中,学生从使用、“摆弄”他人的编程制品开始学习编程,理解程序设计的基本思想。案例教学指向的思维品质正是计算思维的本质――抽象,用这种方法学习到的“程序设计”,不是陷在陌生的人工语言环境之中,依赖记指令、背结构的程序设计,而是面向贴近生活经验的、解决现实问题的程序设计。应用模式进行问题的分析与设计,有助于我们运用别人的经验,特别是专家的经验来分析、设计和描述问题,并最终解决问题。在实际的教学情境中,这几种教学方法之间是一种相互支持、互为补充的关系,我们应充分利用它们的优势,以促进学生的发展为原则来寻求一种最佳的搭配。

参考文献

[7]曹恒来,沈军.《程序设计与应用》校本课程开发的实践与思考[J].教育研究与评论,2015(3).

李艺,钟柏昌.谈“核心素养”[J].教育研究,2015(9).

[5]李廉.计算思维――概念与挑战[J].中国大学教学,2012(1).

Jeannette M. Wing. Computational Thinking[J]. Communications of the ACM, 2006(3).

[10]沈军.大学程序设计基础――系统化方法解析&Java描述[M].南京:东南大学出版社,2015.

王旭卿.从计算思维到计算参与:美国中小学程序设计教学的社会化转向与启示[J].中国电化教育,2014(3).

何明昕.关注点分离在计算思维和软件工程中的方法论意义[J].计算机科学,2009(4).

第6篇:计算机程序设计语言范文

c语言是典型的结构化程序设计语言,是学习程序设计语言的入门课。通过学习c语言,学生能够掌握程序设计的基本思想,锻炼自己的逻辑思维,掌握程序设计方法,初步具备利用计算机解决实际问题的能力。

c语言涉及的概念比较抽象复杂,语法规则多且晦涩难懂。而高职学院学生的基础相对薄弱,特别是数学功底较差,采用传统的语言类授课方式,教学效果很不理想,笔者认为,c语言课程的教学内容、教学方法和教学手段等方面有必要进行改革。

一、教学的现状

(一)学习目的本文由收集整理不明确,学习积极性不高

学生对学习c语言的意义缺乏深刻认识,常常会问“为什么开设c语言课”等问题,认为将来就业时用不上,没有必要开这门课,学与不学无所谓。

(二)教学观念陈旧

在目前的课堂教学中,多以教师讲授、学生被动接受的单向灌输为主,不能有效地综合应用多种授课方式,没有充分调动学生学习兴趣,学生自主学习的内在动力未被激发。

(三)缺乏适合高职教学的教材

现在很多高职院校采用的教材是大学教材,有的虽然是使用标识“高职高专”的教材,但往往是大学教材“简化版”,并不适合高职学生使用,给组织教学工作带来了一定的困难。

(四)讲授的内容脱离实际应用

传统的教学过于注重语句、语法等细节的教学,对学生分析问题、解决问题的能力训练不够,很多学生在课程结束后, 依然很难独立编写程序。

(五)对于实践教学环节重视不够

c语言课程是一门实践性很强的学科,但目前实验教学存在一些问题:如教师布置与课本中相似的习题,学生就对着教材套用例题,学生不明确上机实验的目的,上机前不做准备,导致上机后只会抄课本例题,不能举一反三。甚至有学生在上机时做些和课程关系不大的活动,把“上机实验”当成了“自由活动”,达不到预期的教学效果。

二、改革探讨

高职教育不同于普通高等教育,高职教育是为生产服务一线培养技术应用型人才,而不是培养学术型人才。因此,对高职院校的学生来说, 计算机只是工具,不应该把它作为纯理论的课程来学习,而应作为一种应用技能来掌握,重点是培养解决实际问题的能力。依据高职院校的人才培养目标,教学内容以培养学生基础能力和提高学生学习兴趣为原则,对教学计划进行科学

的调整,突出c语言只是作为初学工具的作用。

(一)明确学习目的

第一次授课时,教师可从不同层面讲解学习c语言的重要性。同时,让学生知道c语言也是计算机等级考试、程序员考试的一个重要内容,学好c语言,可以考取计算机等级证书,提高自身就业竞争力。

(二)修订教学大纲,编写和选用适合高职院校教学的教材

根据高职院校培养应用型、技能型人才这一目标,对教材中的内容应进行适当的整合,对c语言中偏难的,对培养基础能力没有帮助的知识不讲或略讲。而对工程实际应用较多,对培养基础能力有较大帮助的部分进行必要的加强。比如一般c语言教材中的输入/输出函数调用语句、分支语句、循环语句、数组、文件就是基础,而且易学常用,用这些知识就可以达到培养学生基础能力的要求。

在教学内容上,采用职业程序员的项目流程规范和方法去分析程序,淡化语法, 每学习新语句都是从模仿例题和画流程图开始,并且每个例题和作业题都要求学生按照规范的项目流程,把一个程序分为分析、设计、流程、编写调试、测试几个步骤来完成最终的程序。

(三)利用多媒体教学手段,把抽象的知识生动化、形象化

利用现有的教学设备与技术,通过多媒体手段,把深奥的理论通过浅显的例子进行深入浅出的讲解。比如:讲解递归,做一课件形象地演示“汉诺塔”的动态变化过程;讲解判断循环语句时做一段flash动画来演示这一过程。通过flash动画演示让学生了解程序的执行过程,这样枯燥的理论就变得更直接,学生对知识点的掌握和理解比只是在黑板上空洞、泛泛的讲解更容易接受。

(四)引入任务驱动教学方法

传统的教学过于注重语句、语法等细节的教学,对学生分析问题、解决问题的能力训练不够,很多学生在课程结束后, 依然很难独立编写程序。任务驱动教学始终把学生作为学习的主体,以任务作为驱动,让学生通过自己的操作,把书上死的理论变成活的应用,教师的引导、点拨更多的是把知识加以引申,使学生能够触类旁通,点面结合、(下转73页)

(上接56页)以点带面、以旧带新。在教学过程中,引入日常生活工程实践的实例,并由此培养学生分析、解决生活和工程问题的能力,提高学生的学习兴趣,使学生由专业基础课的学习顺利地过渡到计算机专业课的学习,打下坚实的编程基础,掌握编程的方法。

(五)强化实验环节,培养学生创新能力

对学生进行严格管理,将上机表现与结业考试成绩挂钩,端正学生上机目的,正确引导上机实验兴趣。

对学生上机给予明确要求,上机前布置适量题目,要求学生选取适当的数据结构,设计程序核心思想,画出流程图,写出完整的上机程序,而不能照搬书本身的例题。只有通过自己动手编写程序,才能加深对所学内容理解和巩固,调试自己程序的过程最容易暴露学生学习的不足和缺陷,它可以巩固学生所学的知识,训练了学生阅读程序和编写程序的能力,也培养了学生认真的学习态度和创新能力。

第7篇:计算机程序设计语言范文

中图分类号:G433

文献标识码:A 文章编号:1672-7800(2017)006-0220-02

0 引言

《国家中长期教育改革和发展规划纲要(2010-2020年)》明确指出:为适应国家经济社会对外开放的要求,需要培养大批具有国际视野、通晓国际规则、能够参与国际事务和国际竞争的国际化人才[1]。而具有突出的专业文化素质与良好的语言沟通能力,则是拥有全球化竞争能力的国际化人才必须具备的两大要素。在此背景下,我国高校各专业双语教学工作的开展得到了强有力的推动。

在经济与科技竞争全球化、教育国际化潮流的影响下,教育部于2001年8月印发《关于加强高等学校本科教学工作提高教学质量的若干意见》的通知。通知明确指出:为适应经济全球化和科技革命的挑战,本科教育要创造条件使用英语等外语进行专业课教学。对高新技术领域的信息技术等专业,更要先行一步[2]。有学者[3]指出,双语教学是我国高等教育国际化的战略选择,也是我国高等教育课程教学改革的重要举措。

1 现状及问题

程序设计语言课程是计算机类专业必修的系列专业核心课程,按照开课的先后顺序,一般包括《C/C++程序设计”》、《Java程序设计》、《Python程序设计》等课程。由于该类课程在计算机类专业中的基础地位和重要作用,多年来相关的教学方法改革、师资队伍建设、教学质量提升策略等内容受到国内各高校的广泛重视,并取得了一定的进展和成果。

1.1 教学现状

我国许多高校的计算机类专业程序设计语言课程已开展了双语教学,部分高水平大学已将双语教学作为教学质量考核的重要指标。然而,目前全中文的教学方式仍然占据主体地位,双语教学工作的开展仍有巨大的发展空间。相对而言,985和部分211高校计算机类专业的程序设计语言课程采用双语教学的比例要超过普通地方院校。与国际主流趋势相比,我国计算机类专业程序设计语言课程双语教学仍然只是作为一种辅助手段而存在。这种现状并不利于面向全球化和国际化竞争的计算机类专业人才培养。

1.2 主要问题

在当前形势下,我国计算机类专业程序设计语言课程的双语教学工作较之以往取得了一定的进步,但受教学体制、教育观念、考核机制等方面的影响,仍然面临许多问题和困难,总结起来可归纳为如下几类:

(1)投入较大而产出较小,教师开展双语教学的积极性和主动性不高。与全中文环境的程序设计语言课程教?W相比,双语教学需要教师投入更多的时间和精力,尤其是在英文讲授、课件制作、教材教辅资料编写等环节,教师需要投入的工作量至少数倍于中文教学。在当前高校教师工作绩效考核机制和职称评定机制的压力下,教师需将工作中的相当一部分精力和时间投入到科研当中,而双语教学工作相关的激励机制和奖励办法又不足以吸引教师,从而导致大部分教师对待双语教学工作的积极性和主动性较低。

(2)部分学生对于双语教学具有一定的抵触心态。由于我国中小学教育存在较大的地域差异,来自于中西部地区特别是贫困地区的相当一部分学生英语基础较差,尤其是在英语运用的听、说两个环节存在较大问题,而双语教学工作的顺利开展首先要求学生能够听懂教师的讲授并可以采用英语提问,这给教师和学生的双语教学带来了巨大的挑战和困难。经过若干次课堂双语教学以后,部分听不懂且说不出的学生自然而然会对双语教学产生一定的抵触心理,从而导致教师取得的教学效果尚不如完全采用中文进行教学的方式。

(3)双语教学的师资队伍建设存在不连续性。计算机类专业的程序设计语言课程包含多门课程,从而要求具有稳定的师资队伍。然而,受教师缺乏积极性和主动性、人员变动等方面的影响,大多数高校的计算机类专业程序设计语言课程缺乏稳定的师资队伍,同时具备英语授课能力和程序设计语言讲授能力的教师人数较少,从而导致一些课程在某些年级某些专业开设了双语教学,而在另一些年级和专业又没有开设双语教学的情况。这种师资队伍建设存在的不连续性,往往会对双语教学工作的持续开展产生极大的负面影响。

2 对策与建议

如上文所述,计算机类专业程序设计语言课程的双语教学工作,存在许多问题和困难。然而,在教学过程中,以两种语言作为教学媒体,并采用有计划、系统化的方式,对提高学生的整体学识和语言能力都有一定的促进作用[4]。双语教学是教育国际化的必然趋势,是培养国际化人才的重要手段,是技术发展与行业准入的客观要求。因此,在计算机类专业的程序设计语言课程开展双语教学工作,刻不容缓。考虑到目前存在的问题和困难,结合实践经验和成果,建议采用以下策略加以解决。

2.1 分班教学、因材施教、各取所需

由于客观上学生的英语应用能力存在差异,采用统一的双语教学显然不能满足所有学生的需求,解决问题的关键是根据学生个体差异进行分类教学[5]。在对计算机科学与技术、软件工程、物联网工程、信息与计算科学等专业的学生进行抽样调查和需求分析后(见表1),提出分班教学、因材施教、各取所需的策略。

通过分班教学,采用三级阶梯型教学。A类型班级的课程讲授、实验环节和考核过程采用全英文教学模式,主要面向英语基础较好或具有强烈需求的学生。B类型班级主要针对具有一定英语基础的学生,采用部分内容英语授课、部分内容中文授课的混合模式,其实验和考核过程环节具体采用哪种语言,可由任课教师根据班级的实际教学情况而定。C类型班级针对英语基础较差的学生,完全采用中文进行教学。区别于传统的分班教学模式,这里的分班教学,学生可根据实际情况提出申请,升入或降入不同等级的班级,教师也可根据实际教学情况,建议学生升入或降入不同等级的班级。这种策略,充分体现了以学生为本的教育理念,符合当前学生的具体需求。

2.2 加大激励措施、提升教师能力、打造稳定队伍

高水平的稳定的双语教学师资队伍,是顺利开展双语教学的关键所在。首先,需要提高教师开展双语教学工作的热情和积极性,在激励措施与机制方面对开展双语教学工作的教师给予适当的政策倾斜和优惠。例如,优先推荐和资助双语教学课程的相关教研教改课题立项、较大幅度提高双语教学工作的教学工作量计算、加大双语教学在职称评定体系中的权值等。这些问题如能得到有效解决,必将有效提升教师开展双语教学工作的积极性和主动性。其次,应有计划、有针对性地对开展双语教学的教师进行课程培训和再深造。例如,将教师派遣至英语系发达国家的知名院校计算机类专业进行课程进修和学术访问,从而提高教师的英语授课能力和专业知识层次,使教师更好地掌握英文授课的方法和艺术;定期开展双语教学工作研讨,邀请相关领域的专家学者进行指导;等等。再次,高校的教务部门、人事部门、教学学院、专业系部与教研室等应形成和建立良性的师资队伍建设体系,针对不同的程序设计语言课程,有目的、有计划、有重点地引进或培养2~3名教师,从而形成稳定的师资队伍,确保双语教学工作能够在计算机类专业的程序设计语言课程中得到持?m的实践与应用。

2.3 拓宽学生视野、提升学生兴趣

“兴趣是最好的老师”,双语教学工作的开展,最终是以学生为实施对象,因而尽可能地激发学生兴趣尤为重要。在双语教学过程中,教师应通过自身的人格魅力、语言水平、技术能力等各种方式,向学生展现双语教学能够给他们带来的巨大收获,通过实际案例告知学生双语教学在提高他们综合素质和市场竞争能力方面可以起到的重要作用,从而拓宽学生的视野,提高学生的兴趣和积极性,扫除学生主观上存在的对英语授课的抵触和恐惧心理。多项事实证明,一旦成功激发学生对于双语教学的兴趣,所产生的教学效果将远超传统的中文教学。

第8篇:计算机程序设计语言范文

关键字:程序设计语言教学改革

中图分类号:G642 文献标识码:A 文章编号:1672-3791(2012)02(c)-0000-00

1 概述

计算机程序设计语言,通常简称为编程语言,是一组用来定义计算机程序的语法规则。它是一种被标准化的交流技巧,用来向计算机发出指令。

当今计算机程序设计语言种类繁多、共性大、更新速度快,同时软件工程和项目管理的蓬勃发展使得计算机软件开发从业人员的职业分工更为明确。从人力资源与社会保障部颁布的“计算机程序设计员国家职业标准”上看,除了要求从业者必须要有扎实的基本功外,还要具备解决问题的综合能力。因此计算机程序设计员专业的学生在计算机程序设计语言的知识和技能的学习中,不能再仅仅孤立地教授几门编程语言、几门相关的专业课程而已,而是要教会学生掌握通过计算机程序设计来解决实际问题的知识和技能,成为一名合格的“软件蓝领”。这就要求我们不能延续传统的学历教育方法,计算机程序设计语言教学需要改革,需要一种全新的教学理念和模式。

当前的教学改革更多的体现在教学方法和内容上,“学习领域”、“任务驱动”、“职业岗位导向”、“面向工作”等各种课程设计方法层出不穷。然而,纵观大部分课程改革,我们发现其教学改革更多体现在独立的课程中,并没有在课程与课程的衔接上下功夫。大部分院校均先后开设VB、C、C++、JAVA等多门程序设计语言和数据结构、数据库管理系统等专业课程,学生虽然学习了多门程序设计语言,然而每一门语言都只学了皮毛,每一门课程都学了基础,只能完成课堂和课后的作业和练习,而对于能解决什么问题,怎么解决问题,如何综合解决问题一筹莫展,碰到问题时往往觉得无从下手。

2 程序设计语言教学探索与改革:C语言学习三部曲

C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点,同时很多新型的语言都是衍生自C语言,,掌握了C语言,经过简单的再学习,就可以用其他新型的语言去进行程序开发了。因此,在计算机专业的课程中,只要把C语言学扎实了、学透了,就可以说掌握了计算机程序设计语言的精粹。在课程设计中,我们以C语言为主线,以一脉相承的C语言、C++语言、C#语言为基本知识内容,配合上数据结构、UML、数据库等相关知识点,提出语言知识入门、语言能力提高、语言技能应用三个阶段和应用层次的“C语言学习三部曲”的课程改革方案。

第一阶段:语言知识入门――C语言与数据结构整合

1、课程知识要求:

1) 掌握C语言的基本语法,如数据类型,3种语句结构,数组,指针等。

2) 掌握数据基本结构形式和操作,如线性结构,树形结构,图形结构,以及数据结点的查找、添加、删除、排序等操作。

3) 掌握“自顶先下、逐步细化”的结构化程序设计方法。

2、课程技能要求:

掌握如何用计算机解决日常问题,特别是数据的表现形式和动作行为的表现形式。

3、课程设计要点:

将C语言和数据结构进行有机整合,特别是在讲解C语言的数据类型时溶入数据结构知识,在讲解C语言的语法结构时溶入数据结构的数据操作知识。

4、课程目的:

通过该课程的学习,要求学生掌握基本程序设计思想和理论,学会数据及数据处理由现实世界向计算机世界的转换方法和过程,学会用计算机程序设计语言描述和解决日常生活中问题。

第二阶段:语言能力提高――C++语言与UML工具整合

1、课程知识要求:

1) 掌握C++语言的高级语法知识以及面向对象的概念和形式,如面向对象的三大特征:封装、继承、多态,以及模板等概念。

2) 掌握UML知识,掌握利用UML工具(如ROSE)来进行面向对象的分析和建模的方法和过程。

3) 掌握以“抽象与分类”为关键的面向对象的程序设计方法。

2、课程技能要求:

掌握如何用计算机解决日常问题,特别是以面向对象的方法来分析和解决问题。该课程要求学生在第一阶段掌握了结构化的设计方法后,进一步了解面向对象程序设计方法。

3、课程设计要点:

把C++语言和UML进行有机的整合。将UML作为面向对象程序设计的分析和设计的工具,而将C++语言作为进行面向对象程序设计的编程和实现工具。

4、课程目的:

通过该课程的学习,要求学生掌握面向对象理论,学会面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程(OOP)方法和工具。

第三阶段:语言技能应用――C#语言与数据库操作整合

1、课程知识要求:

1) 掌握C#语言的高级语法知识和软件架构知识,如集合、委托、托管、、C/S与B/S架构开发方法等。

2) 掌握数据库操作知识,如SQL语法、、XML等。

2、课程技能要求:

掌握多层架构的数据库应用系统开发方法。,该课程要求学生在复习第二阶段的面向对象的设计方法后,掌握开发.Net应用系统的方法,掌握将数据存储在数据库中的方法,以及掌握对数据库进行查询、添加、删除等操作的方法和步骤。

3、课程设计要点:

将C#语言与数据库操作知识进行有机整合,在讲解用C#语言开发基于.Net的多层架构应用系统中,通过讲解与LINQ将SQL溶入C#语言。

4、课程目的:

通过该课程的学习,要求学生掌握C#语言和数据库操作,掌握通用的企业级应用系统的开发方法和过程。

3 结语

教育部部长周济在2008年度职业教育会议上说到:“以改革创新为强大动力,推动职业教育又好又快发展”。职业教育的生存和发展,离不开教学改革和创新。在进行计算机程序设计语言教学探索与研究中,我们通过走进企业,与企业软件开发人员的进行密切联系与沟通,了解市场发展与需求等一系列调研后,提出了改革方案并付诸实施。实践证明我们的改革思路是正确的,课程改革是卓有成效的。

参考文献

[1] 谭浩强,“C程序设计”[M],清华大学出版社

第9篇:计算机程序设计语言范文

Abstract As a fundamental and central course of computer profession, the C programming language directly affect training goal of computer profession. Therefore, Adapting to the development of Computer profession in new situation, the traditional C language programming teaching method and implementation strategy need to reform. In this paper, the author summarize some views on the teaching reform from the teaching experience of C programming language course.

Key words C programming Language; teaching organization; teaching method

“C语言程序设计”课程是计算机专业学生的一门程序设计入门课,是培养学生程序设计思想和能力的技术基础课,同时也为后续的专业课程奠定了坚实的基础。其中专业核心课程“数据结构”一般以“C语言程序设计”为辅助教学工具,学生在具备了“C语言程序设计”的基本程序设计思想和方法以及数据结构的基础知识后,才能进一步学习Visual Basic、Java等高级语言程序设计。因此,必须将“C语言程序设计”课程的教学作为计算机专业培养的核心任务。

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

目前,计算机专业“C语言程序设计”课程的教学大多还停留在传统的教学模式上,主要以教师的“教”为主,教师根据教学内容的组织讲授基本的概念、讲解例题、布置作业给学生进行上机练习,学生在教师的指导下完成编程练习。在教学的过程中,学生完全处于被动接受的状态,无法发挥学习的积极性和主动性,以至于大部分学生普遍反映“C语言程序设计”枯燥、难学,缺乏学习兴趣,学生普遍的编程能力较差。

由于新生入校后已有的计算机专业基础知识薄弱,学习方法欠佳,以至于学生在初次接触“C语言程序设计”这样抽象难学的程序设计课程时,都会难于正确把握课程的学习方法。因此,任课教师应该准确地分析学生的学习现状,深究原因,找到解决方法,能够最大限度地激发学生的学习兴趣,引导学生合理有效地学习,并且培养学生分析和解决问题的能力。

2 “C语言程序设计”教学改革

依据培养目标的定位,教师应以培养学生基础能力和提高学习兴趣为原则,合理地开展“C语言程序设计”课程的教学改革。为此,笔者结合“C语言程序设计”的教学体会,提出如下的观点。

2.1修订“C语言程序设计”的教学大纲,编写和选用适合计算机专业的教材

首先,教师应准确定位课程的教学目标和任务,“C语言程序设计”课程的教学目标主要体现在知识、技能和素质三个方面。其知识目标要求学生较好地掌握“C语言程序设计”的基本语法、语句、控制结构以及结构化程序设计的基本思想,这是学习本门课程的核心要求。课程的技能目标体现在使学生认识到算法、良好的程序设计方法及上机实践的重要性,并且掌握算法设计和结构化程序设计的方法。另外,在素质目标方面要求培养学生利用“C语言程序设计”分析和解决实际问题的能力。其次,教师应结合教学目标和任务合理组织教学大纲。鉴于“C语言程序设计”课程实践性较强的特点,教师还应根据教学大纲的要求,制定合理有效的实践教学大纲,制定实践教学内容和实施方案。实践教学内容应紧密联系实际应用,并强调充分调动学生的积极性、主动性和一定的团队协作能力,另外还应注重培养学生分析和解决实际问题的能力。

依据教学大纲中教学内容的组织和实践教学的设计,教师应合理地编写和选用课程的教材。目前,“C语言程序设计”方面的教材甚多,以清华大学谭浩强教授编写的《C语言程序设计程序设计》一书为代表的一系列优秀教材为课程的教学提供了较好的导向作用。但根据计算机专业的培养目标和课程的定位,教师应对教材的内容进行适当的调整。

另外,在教学过程中教师应严格按照程序设计的规范和方法分析和解决应用问题,应培养学生规范的程序设计方法和严谨的编程习惯。例如要求学生在日常程序设计练习中按照“问题定义―问题分析―算法设计―编写程序―上机调试运行”的流程实施,并且在算法设计环节使用规范的程序流程图描述算法。这样一系列的措施有助于培养学生良好的编程风格和习惯,为后续其它的程序设计语言的学习夯实基础。

2.2改革教学组织和实施策略,优化教学结构

由于“C语言程序设计”课程的实践操作性较强,学生在上机实践的过程中,不仅可以消化和巩固课堂所学知识,还可激发和提高学习兴趣、锻炼逻辑思维能力。教师应注重将课本上的理论知识和实际应用问题进行有机结合,提高学生的程序设计能力,进一步培养学生分析问题和解决问题的能力。因此,课程的教学组织主要分为理论教学、上机实践教学和课程设计教学三个环节。

其中,理论教学主要遵照教学内容的要求, 采用多媒体教学与传统板书教学有机结合的方式,实施理论与实践一体化的多媒体教学环境,实现交互式教学。其次,教学中应重视“兴趣引导”,激发学生学习热情,引导学生主动学习。另外,应注重以模拟实践教学为主线,提高课堂教学的教学效果。

上机实践教学以课堂理论教学为前导,内容设计应以巩固和综合运用主要知识点为主线,内容具备实用性,以循序渐进的任务驱动方式指导学生从简单的程序设计开始逐渐扩展到完成综合的程序设计,以由浅入深、由单一到综合的过程展开,符合学生的认知习惯和知识的拓展,使学生利用所学知识解决实际的问题,培养程序设计的能力。

结合课程的特点,课程设计环节应利用“C语言程序设计”的基础理论和上机实践课中学到的编程知识和编程技巧,通过布置具有一定难度、一定编程量的课程设计任务,使学生通过课程设计掌握高级编程语言的知识和编程技术,具备分析问题和解决问题的能力。

2.3秉承合理有效的教学理念,改革传统的教学方法

传统的“C语言程序设计”教学方法一般采用灌输式的单向教学法,学生被动地接收知识,并且教学知识点零散,建构系统的知识体系,另外理论教学和实践脱节,学生只会纸上谈兵,动手实作能力较差,不能利用所学的知识解决实际问题。因此,在教学过程中应重视教学方法的改革。“C语言程序设计”教学主要采用“任务驱动”、“案例教学”、“讲练结合”的教学方法,三种方法有机结合,合理地组织课程的教学。

“任务驱动”教学法要求按照教学目标的要求,围绕教学内容,合理地安排一个任务。其主要分为三个基本环节,首先提出任务,例如设计判定学生成绩等级的程序;进一步分析任务,提出问题的解决方法,主要设计程序的算法;最后解决任务,讲授解决任务运用的知识点,例中主要的知识点为选择控制结构的语法及应用。

“案例教学法”以综合的“C语言程序设计”程序案例为主线,贯穿所有章节的知识,课程教学具有系统性和连贯性。例如,提出“学生成绩管理系统”案例,实现成绩的录入、添加、修改、删除、查询、统计和排序等功能。通过分析案例,明确系统的基础知识和各个功能模块的相关知识点,如表1所示。

另外,“讲练结合”的教学方法主要应用于上机实践教学环境中,采取边讲边练的教学互动形式,完成程序设计实例。教师先讲解和演示与本次实践任务相关的应用问题和注意事项,学生按照要求动手完成实践任务,教师及时了解学生在实践中出现的问题,加以正确的启发和指导。最后教师对本次实践任务的完成情况进行总结,集中反馈出现的问题并提出解决方法。

2.4完善课程的考核方案,合理评价学生的学习成果

鉴于“C语言程序设计”课程理论和实践并重的特点,课程考核应主要分为理论考核和实践考核两大方面。其中理论考核以笔试为主,考试内容应遵照教学大纲和考试的要求,突出课程的主要知识点;实践考核主要以上机实践教学环节制定的任务和课程设计为考查对象,客观地反映学生掌握知识和运用知识的能力。

“C语言程序设计”的课程设计考核应采用学生答辩的形式,从学生运用知识的能力、分析和解决问题的能力、创新能力等方面进行综合考核。