计算机程序设计语言十篇

发布时间:2024-04-24 23:57:04

计算机程序设计语言篇1

随着社会不断的发展与进步,计算机作为现代先进产物的代表,已经很快的进入到社会中的各行各业。而程序设计作为计算机的核心内容,也同样引起了大家的重视,同时计算机程序设计也是高校开设的一门重要学科,为了能更好的为社会提供计算机方面的技术型和和设计型人才,就必须重视程序设计的教学。本文针对高校程序设计课程中存在的不足,展开了全面的讨论,对高校的程序设计的教学方法和教学内容进行改进。

【关键词】

计算机程序;程序设计语言;教学方法

我国几乎所有的高校都开设了计算机程序设计这一学科,而程序设计语言教学时计算机程序设计教学中最重要的教学内容之一,对其掌握的程度会直接影响着之后对计算机的学习,也为将来从事本行业奠定了坚实的基础。从程序设计语言入手,展开对计算机硬件和软件的学习,掌握计算机程序设计的基本理念,从而不断的打造新型计算机技术人才,推动我国计算机行业的前进。

1计算机程序设计语言教学现状

1.1教学课时短

虽然现在计算机已经很普及,但是多数学生对于其中真正的内涵了解甚微。现如今的大学主张的是学生自主发展,因此给学生自由发展的时间很多,在此同时又主张学生多方面发展,这就导致学生接触计算机程序设计的时间较少。教学课时短就成了一个突出的问题,老师只能教给学生一些基础的理论知识,对于新鲜事物出现在脑海中的时候,学生往往有疑问也不会发问,再加上在这方面的基础比较薄弱,就导致了学生们接受比较缓慢。

1.2学习动力不足

在很多学生眼里,计算机程序设计是一个即枯燥又无味的学科,程序设计语言中涉及了一些数学、英语等其他方面的基础知识。有很多学生就觉得有些力不从心,觉得程序设计语言就想天书一样,不能形成用计算机语言去解题的思维方式,对程序设计产生了畏惧心理,就会出现很多知难而退的学生。

1.3实践达不到真正的要求

计算机专业本身就是应用型专业,而恰恰在大学中程序语言教材书中缺少了实践这一部分,没能体现出教材的实用性与实践性,不能起到对学生的实践能力培养的作用。不能达到对技术型人才的培养。

1.4教学方法单一,考核方式欠缺

计算机程序设计语言的的教学方式现在还是比较传统的,往往是老师讲同学听的形式,课后再增加一些实验,同学只是单纯的接受老师传授的东西,却缺少了自己的思考,更不能发表的自己的见解。在上实验课的时候,大部分同学也只是单单的将书本上程序打入电脑,进行调试成功后就认为完成了任务。学生不知道如何从实际问题出发,老师的检测方式也就是笔试,而忽略了对实践的检验。

2解决计算机程序设计语言存在问题的对策

2.1采用不同的教学方式,提高学生的学习兴趣

要让学生仍是到计算机程序语言的重要性,老师在讲解的过程中可以插放一些小动画或软件的保护,从而引起学生的兴趣。在讲课之前老师要带领着同学看目录,划重点,让学生对程序语言的学习有一定的规划,尽量消除学生心里的畏惧感。老师要多和学生沟通,了解学生对所学的东西的了解程度,从而确定教学的进度。总之,老师在教授程序语言的同时,要以学生为主,多鼓励学生进步。

学校应该本着培养技能应用型人才,针对少数人或特别的学生,要采用不同的教学方式。适当的增加课时,给老师足够的时间去引导学生利用程序语言去解决实际问题。

2.2解决学生实践不足的现象

学校在选择教材时,要尽量选择带有大量实践课题的教材,意在提高学生的实践和创新能力。老师也可以根据不同的学生的学习程度,设定一些课题实践,增加实践在整个教学中的比重。单单的课内实验室不够的,老师还要多增加一些课程设计,快速的增加学生的综合实践能力。

3改进计算机程序设计语言教学的方法

3.1程序设计语言教学的重点

教师应该在教学中突出三个重点。一是程序设计中的语法知识,语法是程序设计语言中的基础,在编程的过程中一定不能出现语法上的错误,因为这会给后面的调试带来很大的麻烦。二是程序中的控制结构,因为在编程的过程中,编程者无论是面向什么进行设计,都会涉及到流程控制结构,所以教师应该突出讲解这部分。三是控件的使用,所有的编程几乎都离不开控件的使用,因此要详细的讲解空间的作用与使用方法,并在实践中让学生加深对控件的理解,

3.2任务驱动教学

计算机程序设计语言是有很多活动范围的学科,老师可以采取一种探究教学方式,任务驱动教学就是一种从学生角度出发的的一种教学方式。老师设定一个课程设计,大家首先经过谈论分析出课程设计的目的,然后老师和学生围绕这个课题开始实践。这种教学方式主要在于培养学生的自主探究的能力和独自分析问题的能力。学生最初独自进行编写程序的时候,老师要引导学生进行思考,将一个大的程序一点一点的分成很多个小的任务,这样会减少对学生积极性的打击,之后在协助学生对自己的程序语言进行修改,让学生感受自己设计出程序的喜悦,从而提高学生的信心。

3.3增加教学实例

枯燥无味的课堂,学生往往会对新元素的引入产生兴趣,这时老师可以在课堂上引入一些程序案例,实例可以加深学生对课堂内知识的认识,让学生从整体上了解自己所学的程序语言,让学生从实例中找到所学知识的应用,同时也会激发学生的创新意识,培养学生提出问题,解决问题的能力。

4总结语

在学习程序语言的过程中,教师要用不同的教学方式进行教学,发现不足并及时的改进,放弃原有的教学方式,以学生为主开展课题设计。不能认为哪种教学方式好就一直使用一种教学方式,这样会造成学生对课堂的厌烦,无论哪种教学方式,都要以激发学生学习程序设计语言的兴趣。

【参考文献】

[1]肖捷,肖海容.《C语言程序设计》课程教学问题分析及对策研究[J].东莞理工学院学报,2013,(5):111-115.

[2]庞尔丽,王欣.大学计算机程序设计语言教学的几点思考[J].软件导刊,2013,12(1):183-184.

[3]郝桂英.关于计算机程序设计语言课程教学的探索[J].教育与职业,2007,(17):156-157.

[4]贺忠.游戏思想在程序设计语言课程教学中的应用[J].计算机教育,2009,(13):157-159.

计算机程序设计语言篇2

关键词:程序设计语言;程序设计能力;分析要点

teachingmainpointanalysisofComputerprogrammingLanguageCourses

LiYongliang

(ShandongtransportVocationalCollege,weifang261206,China)

abstract:incomputerscienceandcomputernon-computermajorteaching,almostallschoolssetuphigh-levellanguageprogrammingcourse.programminglanguageteachingalthoughitisdifficult,butverymeaningful,itisbeneficialtodevelopcreativethinking,helpstudentsdevelopproblem-solvingthroughcomputerawarenessandways.

Keywords:programminglanguage;programmingskills;analysis

mainpoints

在教学中与一些应用软件或工具软件相比,编程课程的教学具有较大的灵活性。很多学生的学习能力较差,课后不肯花时间,久而久之,导致听不懂,给计算机编程语言课的教学带来一定的难度。采用何种教学模式进行教学就成为编程

语言教学的一个关键。

一、引言

根据以往的教学经验和通过与学生、同事之间的交流,得知部分学生反映上课时都能听懂讲解,可在涉及到具体的编程及上机操作时,往往会出现没有思路、无从下手或错误百出,不会调试程序等各种情况,究其原因,在教学方面可能存在以下2个问题。

(一)过于注重对语句语法的讲解,缺乏以算法为核心的编程题教学。教师钟情于举一反三地对使用语句、语法的深入教学,而不是有机地结合算法思想进行教学,贴近生活并引起学生兴趣的编程题讲得很少。由于教学不是站在如何应用计算机工具编程解决实际问题或实际项目的角度,就没有把逻辑与编程解题思路放在主体地位,也就没有很好讲解如何分析问题和解决问题。结果导致学生程序设计能力、上机解题能力训练不够,更谈不上引导学生进行课题研究和科研探索。

(二)学生厌倦传统的课堂教学,缺乏师生之间的沟通交流学生对于先讲后编、先听后编这一传统的课堂教学方式有厌倦心理。课堂成了教师的“一言堂”,教与学不能衔接起来。有时教师为了赶进度,讲授法成了唯一的教学方法,师生之间缺乏足够的交流和沟通,学生没有有效、实用的学习辅助途径,也间接影响着学生的学习兴趣和学习效果。

二、程序设计能力认识

程序是软件的本体,程序设计(programming)是指设计、编制、调试程序的方法和过程。它应排除软件开发中的工程与管理因素,主要指软件开发过程中的技术因素,尤其是计算机技术因素。

根据调查分析,合格程序员必须具有:1.扎实的专业基础知识;2.很强的综合分析和解决问题的能力;3.熟练的编程调试能力;4.创新能力;5.团队合作能力;6.持续的自学能力;7.强烈的好奇心;8.较高的英语水平和软件工程的实践能力等。

应看到,程序设计能力,并非完全等价于程序员所应具备的专业素质,它还包括其他一些内容,如:1.理解问题,根据已知条件,找出求解该问题的数学方法或建立相应的数学模型;2.归纳程序的基本功能;3.设计数据结构和算法;4.用程序设计语言实现算法描述;5.编译与调试;6.测试程序,保证程序正常运行。

综上所述,可以将程序设计能力定义为:依据程序设计思想与观念,应用程序设计语言,采用相应程序开发技术和环境,进行程序设计并达到预计结果的程度。

三、要点分析

基于对程序设计教学思想、程序设计能力的认识,为使学生充分掌握程序设计的思想和方法,有效实现程序设计课程教学目标,我认为程序设计教学还应注意并强调以下几个基本的教学任务和要求。

(一)应着重培养学生的结构化程序设计的基本观念。结构化程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和“单入口单出口”的控制结构,它是程序设计的基本原理之一。贯彻课程始终、通过具体实例潜移默化地培养这一思想,比在软件工程中空洞的说教,更容易被学生理解和接收。

(二)为了使初学者能尽快地掌握计算机知识,进入计算机的应用领域,在课程讲授过程中,要特别注意培养学生的学习兴趣。学习兴趣就是学生在心理上对学习活动产生爱好、追求和向往的倾向,是推动学生积极主动学习的直接动力。学习兴趣直接关系到教学效果的好坏。为提高学生的学习兴趣,笔者归纳出6个办法:1.通过演示程序突出程序语言的实用性;2.通过简单的编程练习突出语言的易学性;3.运用恰当的类比使复杂问题形象化、简单化;4.做到一题多解;5.要善于举一反三;6.通过解决实际问题使学生乐学。

(三)教师在教学过程中引导学生思考和探索教学时发现,学生问不出问题的原因往往在于没有真正学好。实际上,问题是最好的老师,是学生学习的引导者,没有问题便没有深入。在教学过程中,引导学生在问题解决中学习,即提出问题,留给学生时间思考、讨论、解决问题,从而更深入地展开学习。实践证明,这种教学方法充分调动了学生学习的积极性和主动性。

计算机程序设计语言篇3

论文摘要:现存的非计算机专业编程语言的教学弊端种种,本文提出了一种新的思路。即:使用VBScript语言在记事本中编写程序,在ie浏览器环境下来运行之,且通过实例论证该方法的实用性,使其真正为每个用户服务。

0引言

说起我国非计算机专业编程语言教学的走向,就不得不提到我国高等学校计算机基础教育发展的历史。我国的计算机基础教育始于20世纪80年代初期,从80年代初以来,高校的计算机基础教育大致上经历了三个发展阶段:80年代是起步阶段,90年代是规范阶段,进入21世纪,开始了第三阶段,即深化提高阶段。

计算机基础教育是指面向大学中非计算机专业学生的计算机教育,这部分学生约占全体大学生的95%以上。非计算机专业中进行计算机教育的目的是培养大批能使用计算机的人才,而不同于计算机专业的培养计划,可以说他们是计算机应用人才,学习计算机的目的完全为了应用,计算机只是作为一种现代工具来掌握,而不能当做纯理论的课程来学习。明确了这个培养目标,那就可以有的放矢。

目前各高校非计算机专业编程语言教学的现状是:学时是有限的,学习内容是繁杂的,由此对学生产生的学习压力不仅苦不堪言,而现实更是多数非计算机专业的学生在毕业后,对于大学期间学习的编程语言大部分是忘记,若想拾起来重新使用,也不是一件易事。如何解决非计算机专业编程语言教学和实际使用二者之间存在的矛盾这个问题,是我们每个从事高等计算机基础教育的老师不得不思考的问题。

1非计算机专业编程语言教学的现状

对于现存的高等院校非计算机专业编程语言教学的弊端,我们做以下几点分析说明:

(1)非计算机专业编程语言教学培养目标定位有误

对于非计算机专业学生进行的编程语言教学,应与计算机专业的学生有所不同。计算机专业培养的是计算机专门人才,将来从事信息技术理论研究、科研教学、系统开发等专业性的工作,而在非计算机专业中进行编程语言教学的目的是培养大批能使用计算机的新型人才,他们需要达到的程度仅仅是使用计算机这个工具。作为高等院校非计算机专业编程语言教学计划的制定者,对于专业和非专业要达到的目标一定要明确,否则有可能南辕北辙。

(2)非计算机专业的编程语言教学设置好大喜功

经过作者在国内各大高校做的调查,几乎各大高校对于非计算机专业编程语言教学一般从大学一年级就开始,陆续开有VB、C、Foxpro、SQL、C++、pB、Delphi、Java等,有的院校在高年级非计算机专业还开有计算机编程语言课程,美名其曰:多学点东西,增加就业砝码。

诚然多学点东西是不会有什么害处,但是不知道说这个话的人有没有想过:对于非计算机专业的学生来说,能有多少比例的学生在真正学这些开设的计算机编程语言课程,更多的恐怕是在各种考试之间疲于应付。当大家手捧毕业证书的时候,手拿四年所修的学分成绩单的时候,当大家面试应聘的时候,留在大家脑海中的计算机编程语言可能屈指可数,可以炫耀的可能仅仅是修过的计算机课程的数量。

作为从事高等教育的老师,我们不能为了这些表面的假象自欺欺人。如何在有限的学时内进行优化选择,使学生学到最需要的知识。当然不仅是指当前最需要,而且也包括今后踏上工作岗位,对于需要用到的计算机编程语言知识的时候也可以信手拈来,不用再重新学过。因此,对于非计算机专业的学生,我们应该敢于摒弃学习那些当前为了考试,今后根本用不多,仅仅是为了增加学分的计算机编程课程。

(3)系统本身庞大,掌握的知识有限,学不能使其精

对于现存的计算机程序设计的任何一门语言,如VB、VisualFox、SQL等,系统都是很庞大的。以一个简单的例子,VB为例来说明,VB采用的事件驱动的编程机制,提供了动态数据交换(DDe)和对象链接与嵌入(oLe)等技术。在数据库方面,VB具有很强的数据库管理功能,不仅可以管理mSaccess格式的数据库,还能访问其他外部数据库,如Foxpro、paradox等格式的数据库。另外,VB还提供了开放式数据连接(oDBC)功能。

对于VB强大功能,我相信学过VB的用户,都是普遍承认的,这个不需要多说,但是对于这么大的一个系统,如何能通过简简单单的几个学时就能够完全掌握呢?即使说你上课的时候多么专心地听讲,多么用功地做笔记,都是无济于事的,非要通过系统地做上几个项目才能掌握一二,更不要说是对于仅仅是通过教材上的几个简单例子学习的学生了,这几乎是不太可能的事情。那么有没有学习起来比较容易上手的工具了,答案是肯定的。

(4)快速记忆,快速忘记

在高等院校里不排除有些用功的学生,学习每门功课都是用功之极,当然也不排除用功是为了在考试中拿个高分,争取奖学金的可能性存在。一个学期,说的更多一点一年对一门语言的学习,在短时间之内掌握某一项技能之后,一旦长时间不使用,肯定会生疏,这是人类不能抗拒的生理现象。而且目前高校里的学生学习的现状是:平时基本不看,考前拼命熬夜苦读,这种短时间内强迫大脑记忆的东西,肯定是经不起时间的考验的,尤其是在一个人不愿意学习这门功课的时候,这是自然规律。

假设你当时学会了VB,而且在大学毕业参加工作的时候也没有忘记,是不是说你就能很好地做自己的事情了呢?答案也是否定的,因为你掌握的是VB,而在工作单位的pC机上或许并没有安装VB的运行环境,这样是不是就为你的使用又出了一道难题。

有没有一劳永逸的工具,只需要简单的学习,而且不论在安装或者未安装VB运行环境的pC机上都能很好的完成自己想做的工作。通过作者亲身实践,本文中提倡的这个方法就可以达到这样的功效。

(5)支持知识产权保护

如何做才能既使用正版,又不卷入知识产权的纠纷中呢,这里我们提倡在高校中推广,使用VBScript脚本语言在记事本环境下编程,在ie浏览器中运行,就可以达到这样双重效果。

(6)程序交流困难

一个用户编写的程序如果仅仅是自己使用,这个时候程序的使用有一定的局限性,如果能够拿出去跟别的用户交流,就具有了更大的价值。假设有两个用户a和B,a在VB环境下编写了一段程序,在自己的机器上可以正常运行,当a把这段程序拷贝到B的机器上和B交流的时候,B机器上恰好没有安装VB环境,此时对于二者的交流可能存在障碍。

针对上述,我国高校计算机基础教育体制中存在的诸多问题,作者提出了一种新的思路。

对于一台安装了操作系统(windowsXp、windows2000professional、windowsme、win98等)的pC机来说,拥有ie浏览器和记事本是再简单不过的事情,作者推荐给大家的就是使用VBScript语言来完成自己想要做的工作。下面我们通过例子来做进一步的说明,以此来演示如何更好的结合二者,使之发挥作用。

在数学或工程应用中,常常存在着大量的数值计算和数值分析问题,如:复合梯形公式、复合Simpson公式、Romberg求积公式等。通过编写简单的程序,就可以让计算机代替人类来做一些复杂的计算任务,在这里以数值计算中一个常见的问题来说明一下如何使用提倡的方法完成计算任务,这里以复合Simpson公式的计算为例。程序是通过输入给定的三个初始值:a、b和n,如图1所示。

图1数据输入界面

计算设计大致上分为三个步骤:

(1)在记事本中编写程序代码如下示:

图2程序源代码

从上述源代码中可以看出:第一,VBScript使用的仅仅是VB中简单的程序设计思想的三种结构:顺序、选择和循环,不涉及复杂的结构,对于非计算机专业的用户来说是非常容易的事情。第二,在程序开始写了一个自定义的函数,在后面对该函数进行了调用,可以达到程序复用的作用。

(2)将该文件保存为一个html格式的文件,如:a.html。

(3)运行该程序只需要双击该文件图标就可以在ie浏览器环境下运行,在指定的文本框中输入符合计算要求的数据点击确定就可以得到计算的结果,如图3和图4所示。

图3程序初始界面

图4运行结果

3小结

通过上述例子我们可以得出以下结论:

(1)在记事本环境下,仅仅使用了一些简单的VBScript脚本语句就可以完成复杂的数值计算任务。VBScript是介于HtmL语言和VisualBasic、Java等高级语言之间的一种脚本语言,它接近于高级语言的大部分功能,但却比高级语言简单易学。

(2)在运行该程序时,不像其他的程序设计语言需要经过编译或解释等步骤,以此来生成目标文件、连接文件以及可执行文件等,使用VBScript在记事本中编写的程序需要做的工作仅仅是双击该文件名,而不会生成其他的中间文件,这样就大大节省了系统的存储空间。

(3)在运行该程序时,对运行环境没有提出特别的要求,仅仅是需要一个ie浏览器。这对于拥有一台pC机的用户是轻而易举的事情。

(4)当你还在费尽心思考虑程序的在多台机器之间传递的时候,使用在此提倡的方法无需有这方面的顾虑。对于在任何一台pC机上编写的.html文件,你可以轻松在多台机器上拷贝和运行,而无需进行额外的路径配置等工作。

当然,我们提倡的这种方法并不是十全十美,如:对于需要大量使用界面图形来处理的问题,或者需要使用数据库的问题,该方法就有所欠缺,但是该方法对于仅仅是为了自己方便,进行一些数据处理来说,是再合适不过的了。

全社会的计算机普及高潮,为大学的非计算机编程教育创造了良好的氛围和外部环境,使广大非专业人员学习和使用计算机编程语言变得更加容易,如何使学有所用,使高等教育成为社会发展的推动力量,是高校非计算机专业编程教学面临的严重的挑战,这也是本文的初衷。

参考文献

[1]施吉林,刘淑珍,陈桂芝.计算机数值方法[m].高等教育出版社.

计算机程序设计语言篇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

关键词:程序设计语言;课程体系;教学过程;计算思S

文章编号:1672-5913(2017)05-0042-03

中图分类号:G642

1程序设计语言类课程的教学现状及问题

计算机学科知识结构更新快,其中,程序设计语言在短短的几十年间经历了较大变化。语言类课程是计算机学科的专业基础课程,其学习效果直接影响其他后续课程。当前语言类课程教学主要面临以下问题。

1.1课程体系设置单一

国内高校计算机专业的程序设计语言类课程大多是过程式或者面向对象的命令式编程语言,课程体系设置单一。不可否认,这类语言无论是从学科性还是有用性上讲,都是合适的。然而,程序设计语言不仅仅是这类命令式语言,它还包括如mL、Haskell这样经典的函数式编程语言,或者如兼顾面向对象和函数式的Scala语言等。从某种意义上讲,函数式编程能够更大程度地锻炼计算思维[1]。在多核并行程序设计已经被推到前沿的今天,命令式编程语言天生的缺陷使得构造并行编程模型变得非常复杂,而函数式编程在经历数十年的发展之后,终于不再局限于实验室的理论研究。事实上,如果不懂得函数式编程,Google不可能创造出mapReduce。

1.2教学过程僵化

程序设计语言类课程的传统讲授是按照编程语言类教材的典型撰写次序,先讲常量、变量、数据类型等,再讲表达式、语句等,再比较复杂的语言特点,这些花费了较多时间,最后可能不再有多余的时间剖析该语言的内建库函数或者类,更少涉及该门课程与后续课程的衔接关系。这种传统的讲授方式针对第一门程序设计语言课程的教学,特别对那些没有接触过编程语言的学生来讲,可能是一种较好的方式[2]。然而,对于第二门程序设计语言的授课,按照这种按部就班的教学过程推进教学进度时,由于在较长一段教学活动中所讲授的都是孤立的语法点,学生看不到一个较为完整的应用实例,也不了解这门课程与其他课程之间的贯通,容易产生厌学的心理,也很难体会程序语言的设计艺术。

1.3重编程技能,轻计算思维

针对程序设计语言类课程实践性特别强的特点,许多教改措施都是针对如何提高学生的工程应用实践技能的[2-3],如采用案例化、任务驱动、项目驱动等方式。编程技术固然重要,然而计算思维比单纯技术更加重要。培养学生以计算机的方式进行思考和解决问题,让他们认识到程序是思想的表现形式,最终能够通过语言来表达思考与设计,并能理解这门语言设计和实现的长处、不足、限制等。为了达到这个目标,需要引导学生深入理解编程语言本身。

2教学改革措施

2.1增设函数式编程语言课程

函数式编程模型早在面向对象概念出现之前就已经存在了,它的核心是lambda演算。由于其语法不如命令式语言的语法直观易懂,许多初次接触函数式编程的人常常不知所措,会觉得难以理解。然而,这种难以理解性与熟悉程度相关。近20年的课程改革中,因为种种原因,程序设计语言类课程体系几乎完全抛弃了函数式程序设计语言。如今,多核时代的兴起,函数式程序代码的简洁性使得它在并发应用领域绽放光彩。虽然实用性是我们应当考虑的一个方面,但是从培养学生计算思维以及从编程语言本身的研究方面,增设函数式编程语言课程是很有必要的。

常用的函数式编程语言或者具备函数式编程语言特点的编程语言包括Haskell、mL、oCaml、Scala等。依据需要可以选择不同的函数式编程语言:如果倾向于编程语言本身的理解,可以选择纯函数式的mL、Haskell,或者oCaml;如果倾向于并行分布式程序的开发,可以选择结合了面向对象和函数式特点的Scala语言,它兼容Java。此外,Java8的lambda表达式也是一个不错的学习函数式编程的选择。

2.2适当调整讲授内容的次序

以Java程序设计语言的教学为例,按照常规教材的编写次序,Java的教学内容通常是先讲变量、类型、表达式和语句,然后是数组,接着是类和对象、继承等。在实践中我们对讲授内容的次序进行了调整:在对Java语言作了初步介绍之后,紧接着讲解对象的创建和使用,见表1。表1第2行的内容不再放在讲解了类的定义之后。这个调整出于两方面的考虑:一方面,让学生尽快建立对象的概念,知道怎么使用对象;另一方面,数组在Java程序设计语言中视为对象,因此,讲解了如何使用对象之后有利于数组的讲解。而类的定义涉及较多语法知识,在讲解了如何使用对象、变量、类型、表达式和语句之后,引导学生考虑这个问题――我们能不能按照自己的设计来创建对象呢,于是开始讲解类的定义,见表1第5行。

为了讲解如何使用对象,首先选择两个常用的Java内建类――字符串String和System,针对已经学习了C语言程序设计的学生,从教学效果上看,尽管学生还没有接触到Java的各种语法规则,但是他们仍然接受了“对象”这个知识点的讲授。更重要的是,他们建立了对象的初步印象,了解了Java与C的不同,并在一定程度上激发了学生的学习兴趣。

由于Java程序需要使用标准输出流的方法System.out.print()用于输出程序的运行结果,学生就问:Java程序怎么输入呢?此时,对输入输出流进行较为完整的讲解显然不合适,在讲解使用对象时,我们进一步讲解如何使用Java的字符缓冲输入流类BufferedReader,直接给出如下板书:

BufferedReaderbr=newBufferedReader(

//BufferedReader需要一个Reader类型的参数

//inputStreamReader就是一个Reader

newinputStreamReader(

//inputStreamReader需要一个inputStream类型的参//数,System.in就是一个inputStream

System.in));//System.in用于接受键盘的输入

br.readLine();//BufferedReader的readLine

//方法读入一行

以上这段代码稍显复杂,学生在课余可以仔细研究并进行试验。实践表明,这些Java常用内建类的使用在教学初期给出时,不但没有造成学生的困惑和畏惧,反而提升了学生的学习热情。

2.3引导学生深入理解程序设计语言

程序o计语言类课程对于培养学生的计算思维非常重要,需要学生深入理解程序设计语言本身的设计与实现,而不仅仅是学习单纯的语法。

通常学生因其视野的局限性和课时的限制,无法深入学习一门程序设计语言。教师在授课时应该找机会引导学生去深入理解。通常,语言设计和实现者提供了api文档和源码,这些是深入理解一门编程语言最直接也是非常好的参考资料。如果学生能够养成查看api的习惯,无疑能够促进对语言的认识和理解。以引用类型变量的讲解为例,假设变量p引用的是一个person类型的对象,变量s引用的是一个String字符串对象。System.out.print(p)输出结果是代表对象地址的哈希码,而System.out.print(s)输出了一个字符串。这是为什么呢?同时,有学生就会提出疑问:System.out.print(p)是否可以直接输出p所引用的person对象的成员值,如姓名和年龄等,而System.out.print(s)是否可以输出这个字符串对象的地址哈希值?在这个过程中,可以引导学生逐步查找对应的api,如图1所示。最后可以进一步查看object类和String类对应方法的实现源码。知道了这个思路后,学生豁然开朗,开始着手解决问题。

在教学实践中,我们常常鼓励学生按照这种方法去找解决思路,而不是直接给出答案。得益于Java的开源,在Java程序设计语言的教学活动中,我们也鼓励学生查看javac编译器或者JVm的即时编译器的实现源码。学生通过这种学习方式,在长期使用一门程序设计语言后,最终能够驾驭语言,表达类似计算机方式的思考与设计。

3结语

在兼顾学科性和社会有用性方面,我们一直致力于计算机专业程序设计语言类课程的教学改革。结合教学实践以及对计算机专业程序设计语言类课程如何开展教学的长期思考,我们针对存在的问题,给出了相应的解决办法,并作了初步尝试,取得了一定的效果。程序设计语言类课程的教学任重道远,我们应该投入热情,积极摸索和实践,总结经验教训,使程序设计语言类课程体系更趋于合理,不断提高教学质量。

参考文献:

[1]车万翔,苏小红,袁永峰,等.计算机专业高级语言程序设计课程改革探索[J].计算机教育,2014(7):56-58.

[2]李东明,赵伟.Java语言课程实践教学实践[J].计算机教育,2011(13):122-125.

计算机程序设计语言篇6

摘要:本文针对高校非计算机专业C语言程序设计在课堂教学方法方面的一些问题,提出在教学活动中,通过让学生建立一个最简单的计算模型等方法,培养学生用计算机程序解决实际问题的能力,强调在课堂教学中要特别重视分析程序运行和内存变量的关系,并阐述了面向技能形成的习题训练的观点。

关键词:计算机教育;程序设计;C语言

中图分类号:G642

文献标识码:B

1引言

高校计算机基础教学“主要讲授程序设计语言的基本知识和程序设计的方法与技术,其内容以程序设计语言的语法知识和程序设计技术的基本方法为主,同时包括程序设计方法学、数据结构与算法基础等方面的初步内容,应使学生掌握计算机程序设计的思想和方法,初步具有在各领域应用计算机的能力,并为后续课程的学习创造条件。”[1]

在许多高校,C语言程序设计是理工类必修的计算机基础教学课程,但是在实际教学过程中,学生对这门课的掌握程度不能令人满意。这一方面是由于高等教育大众化,学生的学习能力和学习愿望不如从前;另一方面,C语言教学实践中,在诸如课堂教学方法、平时训练等方面也存在着不能适应大众化教育形势的一些问题。

C语言的教学一直以来比较偏重语法,但学生普遍反映听的时候好像都听懂了,但是当一个问题放在自己的面前,就不知道如何用所学的知识去解决。教师在教学活动中如果没有主动意识到这一点,就可能会把C语言的教学活动看做是语法的讲解,不注重在教学活动中引导学生用程序的思维方式分析问题解决问题。而后者才是程序设计这门课程的真正目的。

2培养学生用计算机程序解决问题的能力

培养学生用计算机程序解决问题的能力,需要通过课堂教学注重几个方面的问题:

(1)理解计算机处理问题的“过程”方式

人们对现实问题的分析,有些并不需要像计算机一样用“过程”的方式来给出解决方案,例如数组元素的排序,人类解决这个问题的思考过程没有明显的循环过程,或者我们并不会很在意循环过程,但是计算机则不同,它要求程序员必须明确地设定循环的“过程”。程序设计课程正是要培养学生用和我们平常的思考方法不同的“过程”方式来描述算法,但这是思维方法上的一个跳跃,这种跳跃过去一直是通过大量的练习,由学生自己自然而然感悟到的,当然,有些感悟能力强的同学对这一问题的理解很快,但是在教学实践中发现,对很多非计算机专业的学生而言,由于练习的机会比较少,感悟到这一点常常比较费时间。例如求一个圆的表面积,常见到初学者写出如下的代码,以为只要告诉计算机“s=3.14*r*r”这样一个计算公式,再给出r的数值,计算机就可以给出结果,而不知道还需要告诉计算机执行的“过程”。

01#include

02intmain(){

03intr,s;

04s=3.14*r*r;/*顺序出错*/

05scanf("%d",&r);

06printf("theareais%d",r);

07return0;

08}

如果教学过程中能够有意识地引导学生,无疑可以降低学生学习的难度。

(2)在头脑中建立一个最简单的计算模型

用和我们平常的思考方法不同“过程”的方式来描述算法,需要明白计算机和人类的思维方法不同的“过程”特点,这就需要在学生的头脑中建立一个最简单的计算模型。事实上冯・诺依曼计算机体系结构是以存储器为中心的,对编程的初学者就需要解决如何在这一体系结构的基础上来设计解决问题的步骤。

程序的执行过程是围绕着存储单元进行,存储单元既可能存放输入数据,也可能存放程序执行的结果,很多学生就是因为不能建立这样一个计算模型,按照平常地思维习惯,在设计算法时把一些中间计算结果记在心里,导致无法用程序语言描述解决问题的思路。

当学生在头脑中建立一个最简单的面向存储器的计算模型后,就能较好地理解计算机解决问题的方法,可以把求解问题的算法转为利用存储单元进行的“取”“计算”“存”的过程,然后将这种自然语言描述的算法翻译成为C语言。例如交换两个变量的值,可以用自然语言描述成下面的步骤,对初学者而言这样就很容易理解。

1.先指定两个盒子,命名为a,b;

2.命名一个存放临时数据的盒子c;

3.在两个盒子a,b中分别存入两个数值;

4.取a的数值存入c;

5.取b的数值存入a;

6.取c的数值存入b;

同时基于存储器的计算模型,对一些让初学的同学比较容易出错的东西也可以解释得比较清楚,比如“变量使用前须定义,引用前须赋值”,学生就会想到:变量的定义只是给某存储单元取了一个名字,在没有向里面放入有效值之前去引用它,自然得不到想要的东西。

在循环程序设计中,利用上面的简单的基于存储器的计算模型也能帮助初学者找到形式上一致而内容变化的循环体语句,从而比较顺利地设计出循环结构。

例如:求1+2+3+4+…+100的值,如果明白计算机求解问题的都需要基于存储器,累加实际上是在现在存储单元中已有数据的基础上再加入新的数,就会自然想到如图1的方法:

给存储单元命名为sum,逐次加入的数先放在x中,就比较容易想到“形式上一样的循环语句”应该是sum=sum+x,并且x的变化范围是1~100。

当学生建立起基于存储器的计算模型后,对其他的C语言程序设计的难点问题,例如函数参数传递,数组、指针、结构、链表的理解也会变得比较容易。

(3)在课堂教学中要特别重视分析程序运行和内存变量的关系

在学生头脑中建立了基于存储器的计算模型后,还需要不断练习才能加深这种印象,除了学生自己练习以外,在课堂讲解例题时可以有意识分析每一步程序运行所导致的内存变量的变化,通过不断练习提高学生阅读程序的能力。

(4)在C语言的教学活动中,以面向问题分析、算法设计、程序编码的方式组织知识

现有的C语言教材一般是按语法的难易程度次序编写的,这当然是符合人的认知规律的,但是同时也需要教师在讲授的过程中,突出以面向问题分析、设计、编码的方式组织知识的讲解,只有这样才能使学生在形成用程序的思维方式分析问题、解决问题的能力的过程中少走弯路。

教材的知识组织方法是语法例题程序解释,这种沿用已久的方法,在培养学生用计算机的方式思考问题方面,作用不够充分。

事实上,算法在人们的头脑中首先是一种用自然语言描述的“过程”,再通过逐步细化,然后再把它从自然语言转换成为C语言。在教学的实践过程中,可以以这样的方法组织知识:问题自然语言的过程描述程序。教师在课堂上,可以在集成开发环境中,以注释的方式用自然语言进行过程描述,然后逐步求精,最后转换成程序代码的方法。

例如:取得一个整数的个位、十位、百位,从问题的描述到问题的解决。可以先用自然语言来解决问题,然后逐步过渡到C语言。

/*例如有个数5693放到存储单元x*/

/*目标:取得个位数,方法:x模10的结果是个位数*/

/*目标:取得十位数,方法:1.x除以10的结果放入存储单元x,2.x模10的结果是十位数*/

/*目标:取得百位数,方法:1.x除以10的结果放入存储单元x,2.x模10的结果是百位数*/

/*目标:取得千位数,方法:1.x除以10的结果放入存储单元x,2.x模10的结果是千位数*/

/*当x除以10的结果是0时,程序不必继续下去*/

通过自然语言分析,既找到了循环体语句“1.x除以10的结果放入存储单元x,2.x模10”,又找到了循环控制条件,再翻译成C语言应该也不再是一件难事。

3面向学生技能形成的训练

程序设计这门课程需要大量的训练才能真正形成技能,但是现在一些教材习题所存在的一些问题可能传递不正确的信息,妨碍技能形成。这些问题包括:

1)很多习题结果的正确性是和特定的编译器相关的,例如:函数中的多个参数的计算顺序,printf(”%d,%d,%d”,a+b,a++,++a);在一个表达式中多次出现++、--运算符。这类习题只是训练了某一个编译器的使用技巧,而这种技巧在实际的编程实践中要尽可能地避免使用。

2)习题包含较多的数学知识可能妨碍初学者,例如用碾转相除法求最大公约数,以及对不同三角形的判断等习题,对培养严密的逻辑思维很有好处,但是在教学实践中的情况看,这些习题反而使得初学者无从下手,所以需要在实践中平衡利弊。

3)过分注重技巧,不利于技能的形成。现代软件工程的实践比较排斥在编程时过于注重技巧,这会导致程序难以维护,所以应该避免过于注重技巧习题。

面向技能形成的训练另一个问题是需要保证习题的量,这一点对作为非计算机专业的学生要求起来比较难。

4总结

在现有的教学大纲和教材基本定型的情况下,针对现在学生的认知特点,围绕高等学校计算机基础教学的基本要求,本文试图从课堂教学的角度,找到如何让学生在头脑中建立一个最简单的基于存储器的计算模型,并在此基础上结合具体的例子,阐述了培养学生形成用计算机分析、解决问题能力的具体做法。本文的方法已在课堂教学实践中采用,收到了一定的效果,当然在课堂教学过程中还需不断改进。

计算机程序设计语言篇7

关键词:循环结构;C语言程序设计;非计算机专业

中图分类号:tp393文献标识码:a文章编号:1009-3044(2012)26-6323-05

DiscussiononLoopStructureteachinginCLanguageprogrammingofnon-computerSpecialty

XiaYun

(CollegeofmathematicsandComputerScience,anhuinormalUniversity,wuhu241000,China)

abstract:theteachingofloopstructureisanimportantcomponentinClanguageprogramming.thispaperdesigned5teach?ingexamplesforthestudentsofnon-computerspecialty.thispaperanalyzestheteachingprogressindetailandemphasizestheteachingpointsoftheloopstructureteaching.anditproducesagoodeffectintheactualteachingprogress.

Keywords:loopstructure;CLanguageprogramming;non-computerspecialty

大学计算机应用基础作为一门课程大约于20世纪90年代中期开设,现在已成为大学里的计算机学习基础课程,是所有非计算机专业大一新生的必修公共基础课,也是培养学生基本素质的一门重要课程[1]。作为大学计算机应用基础课程,理工类专业大部分会开设程序设计课程,有部分专业会开设C程序设计课程。C语言是一种语法灵活、适用范围广的高级程序设计语言。结构化程序设计方法有三种基本结构:顺序结构、分支结构和循环结构。顺序结构和分支结构比较简单,循环结构从教学上来说是重点也是难点。本文主要对C语言循环结构教学进行探讨。

1教学内容的分析

C语言循环结构编程主要涉及到三种循环结构语句while、do-while和for。本文作者认为非计算机专业开设这门课程,主要是讲解程序设计的方法,培养学生的编程能力和思维能力,因此,在教学中上述的三种语句可以以while语句为重点,讲解循环结构编程的思想,do-while和for语句可以简单举例说明它们的流程。在讲解循环结构编程分析时,可以以流程图或者用自然语言逐步描述操作步骤的形式,指出循环结构编程关键是找到在什么情况下需要反复执行某些操作,并找到这些反复执行的操作是什么。

2教学用例的分析

在课程教学过程中,需要用一些例子来配合讲解循环结构的编程。在教学时,选取一些比较合适的例子,可以很好地帮助学生理解所教授的内容。教师在教学过程中除了要加强课堂启发外,尽可能结合课程自身的特点,注重学生现场演练,并采用任务驱动、师生互动、鼓励学生等教学手段来提高其学习的主动性和积极性[2]。

2.1导入的例子

在教学活动中,讲授后面知识内容时要与前面知识相互呼应[3],因此,在上课时,可以以这样的问题开始,例题1:用户输入正整数n值的大小后,要求计算1+2+3+…+n,将所得出的结果输出。这个例题主要是复习前面的内容,复习输入、输出函数和分支结构的编程。该问题提出后,可以让同学们思考一下,然后再进行提问,提问时可以让学生说出编程思路,若课堂时间比较多也可以请学生直接编写源代码并运行。

提问时,有的同学可能给出如下的顺序结构编程的解答:

步骤1:输入整数n

步骤2:求s=(1+n)*n/2

步骤3:输出s

while(j

{输出i*j

j++;}

由此,得出在循环while(i

循环结构是结构化程序设计的一种重要结构,在教学中不仅需要学生掌握这种结构的语法,更重要的是培养学生的设计思维和思考方法,本文主要是从教学的角度,对循环结构的整个教学过程设计了5个教学用例,并对其进行展开分析,重点是让学生掌握循环结构编程的思想,实际上就是在问题分析过程中找循环条件和循环操作,在实际教学中取得了较好的效果。

[1]何文海,吴明珠,谢剑刚.情商与智商相结合的教学模式[J].现代计算机,2007(8):73-75.

[2]郭海花,陈允芳,王健.非计算机专业中“VB程序设计”教学方法初探[J].计算机教育,2009(18):98-100.

计算机程序设计语言篇8

关键词计算机语言逻辑开发软件开放设计

中图分类号:tp311.52文献标识码:a

0引言

当今这个科学技术高度进步的时期,计算机是发展和使用是实现现代化的一种重要方式和手段。计算机的功能实现通过的是一种抽象的语言,基于数学的逻辑,计算机的软件实现平台组织逻辑的语言,通过开发设计者的设计,根据要实现的某种特定的功能来采用有差异的逻辑思路。现阶段,常用的计算机语言主要包括:C语言和面向对象语言。两者是目前阶段,在软件的设计和使用过程中比较普遍的两种计算机语言,两者在逻辑上有一定的互通性,但又不完全相同,还存在一定的差异。计算机软件的开放设计,实际上是将逻辑开放,较之原来的逻辑有更广泛的适用性,可以更加灵活的适用于不同的行业之中,这样也加强了计算机软件的使用。计算机的技术的实现依托的是计算机语言的逻辑编码和软件的跨平台的应用,对计算机语言的逻辑的开放和软件的开放设计,可以设计出更多的适用性强的软件,满足计算机的多领域的使用需求。综上,计算机语言的逻辑开发和软件的开放设计不仅对于计算机的发展来说起到很大的作用,就是在整个技术领域,都是一个重要的发展里程碑,是值得努力做好的事件。

1逻辑语言的特点

逻辑语言本来是一种数学中的语言,是为了解决数学的问题而存在的。计算机语言也是一种逻辑的语言,并且逻辑语言在计算机中的使用也促进了逻辑语言的发展,可以说,逻辑语言与计算机的关系是相互依赖的,而且二者在相互依赖中相互促进、共同发展。逻辑语言由于发展与数学这样一门非常严谨的学科之上,所以逻辑语言有着非常强的严谨性,逻辑语言可以有效地把信息转化为数学上可以理解的语言,以及计算机可以识别的指令,是一种非常灵活而且在执行过程中非常准确严谨的语言。逻辑语言具有普遍性,可以对所有的问题,进行逻辑语言的描述,在计算机的使用和运行过程中,起到最大作用的就是逻辑语言,根据实际情况来看,计算机在执行每一个具体的程序时,都可以将之转化为数学的模型,最终可以使用逻辑的语言对程序进行详细的描述,最终得以实现计算机语言执行操作程序目的。

2计算机语言的逻辑开发

计算机语言目前较为常见的两种是C语言和面向对象语言。C语言是一种在高级语言的基础之上发展起来的一种,兼顾了汇编语言和高级语言两种语言程序,是一种面向过程的语言;面向对象语言程序是目前应用比较普遍的一种新的技术手段,事实证明,使用的效果与以往的相比还是有一定的优势的,这也是得以发展的重要原因之一,面向对象语言程序是目前计算机领域关注的重点,也是软件开发的主流应用元素。而且面向对象的技术应用超过程序的设计和软件的本身,在技术的领域是有一定的竞争力和重大作用的。下文就简单的介绍这两种语言的逻辑开发。

2.1计算机面向程序语言的逻辑开发

面向程序语言主要包括三部分:数据、函数和方法,这三个因素缺一不可,是一种相辅相成的关系,都是在程序的开发过程中必需的。其中数据,被认为是面向程序语言的基本组成单位,整个程序的开发过程中会涉及多个数据单位;而函数,被认为是这个程序设计的核心,函数本来就是觉得数据之间的关系的一种元素,那么在程序的设计中也是这样的,函数是整个数据连串起来的中心,是程序设计的核心,有了函数,数据才有存在的依托。而方法则是函数与数据之间的关系,如何在数据和函数之间建立必要的关系,就是程序的方法,方法是联系其他两个要素的链接纽带。在程序的设计过程中,必要的基础单位数据时必不可少的,是构成程序的元件,函数是核心的物件,只有有函数才知道数据与数据之间的关系是怎么样发挥作用的,而方法又是函数与数据之间的关系连接,是决定在数据之间采用什么样的函数关系来完成程序的设计的开发。由此可见,面向对象程序的设计过程中的三种元素是相辅相成,不可或缺的。

2.2计算机面向对象程序语言的逻辑开发

这一语言,主要的特点就是面向对象,首先创建类,然后在类之下,创建类的具体对象。利用封装的形式,把有关数据和方法进行封装处理,然后定义对象,最终达到只要对对象就行处理就可以调用的模式。通过创建基类,把原始数据和数据方法进行封装,基础类包括面向对象语言的继承性描述了对象之间的关系,对象之间的差异和相同性都可以表现出来。程序的多态性是为同一种技术方法提供多个不同的展现版本。封装性和继承性是面向对象程序设计的主要特点,正是因为有这样的特点,保证了面向对象的技术可以应用于大规模程序的编写。

2.3面向过程程序和面向对象程序的对比分析

面向ο蟪绦蛴镅陨杓频谋喑毯兔嫦蚬程语言的编程有相同之处,而且面向对象程序语言设计的编程在一定程度上兼顾了面向过程语言的一些功能和特点,并在此基础上有了一定的发展。面向对象程序语言可以理解为一种高级的汇编语言,它的很多特性都成为了计算机程序涉及语言中具有特色的编程模式的借鉴。面向对象语言通过最基础的对类的定义和对对象的分裂,更加明确了基础单位的定义,在内容方面更加明确具体,在资源的使用方面,更加的有效,这些角度来考虑,面向对象语言都优于面向过程的语言。所以,面向对象程序设计语言,优于其对资源的利用和对单位的定义,更适合用于大程序大规模的代码的设计。这也只是一个大致的参考的一句,具体在实践的过程汇总,设计软件时,还应该按照具体问题具体分析的原则,根据实际的需要来分析二者之间的差异,进行必要的选择。

3软件开放设计应用的研究

计算机语言在整个发展阶段,经历了很多种语言的形式,既然在发展的过程汇总,有了很大的变化,那么就说明曾经的方法在适应时代的过程汇总存在一定的缺陷,有一些不尽如人意的地方,在后期的发展变化中出现了新的可以替代的语言形式。软件开放设计是建立在完整设计好使用软件的基础之上的,那么在软件的设计过程中,有很多需要探讨的问题,下文就计算机语言的差异、设计软件时计算机语言的选择等方面做以简单的介绍。

3.1应用计算机语言的差别

计算机功能的实现是以计算机语言的的识别为基础的,计算机语言的识别的操作实现了计算机对程序的运行和操作,不同的语言实现了不同的功能,逻辑实现计算机语言就是计算机系统的有效运行基础和保证。比如,编辑游戏软件可以使用Java语言,专门用于游戏软件的设计和运行;面向对象语言主要是应用于大规模的应用软件的设计,将基础的对象元素按照类进行分别,将不同的对象进行封装,类与类之间通过继承的关系联系在一起,最终实现大规模软件的技术应用。针对于设计类型不同、功能有差异的软件,使用的计算机语言是有一定的差别的,不仅仅是稳重的例子,其实在具体的操作过程中,还是有很多具体的影响因素,虽然说软件的差别只是一个因素,但是也是非常重要的一个因素。

3.2计算机软件的开放设计

计算机软件的开放设计,实际上就是把原本应用于不同领域的应用设计的程序和计算机语言,对之进行需求的分析设计,从而对新的软件编程有一定的思路,进而涉及编写软件程序的流程图,最终按照事先设计好的流程图对软件进行具体的设计操作,得到可以满足目的的软件设计。软件设计流程图,是可以明确的分析出软件设计的不同阶段的,同时还可以体现出系统不同阶段的需求,根据这一流程图设计软件,可以在很大程度上提高软件的适用性。目前,pHp是主流的开放式语言,主要是用于现阶段网页的设计,主要应用于此。一般的网页,比如论坛的网页,都是开放性行对比较高的,而且代码也已经开放,从而可以实现源代码流。有一些可以理解的使用者,也可以根据开放的代码,和自己的储备知识,对源代码进行逻辑的分析,可以修改部门的逻辑功能,进而实现高效率的转译和使用。开源代码的出现,在很大程度上让更多的应用软件实现了高效率的编译,提高了使用和代码编译的效率。

3.3计算机语言的选择

在涉及件的过程中,涉及到一个比较重要的环节,那就是计算机语言的选择,选择什么样的计算机语言涉及软件,是整个程序设计的重要环节之一。有很多种计算机的语言,那么如何根据所要设计的软件的需求,科学合理的选择计算机语言的应用种类,就是一个可以在很大程度上影响后期工作质量和工作效率的问题。在当今这个科学技术比较发达的时期,可以说大部分软件的开发,很多高端软件的开发都会选择面向对象语言程序进行设计和开发,与此同时,相对低端的软件就会选择领单片机。至于单片机,他的内部程序相对而言是比较简单的,简单的通过基本的逻辑结构进行指令的设定。计算机软件开发的开放设计,需要把计算机的语言作为基础条件来进行,然后根据软件在不同领域的具体应用,有针对性的进行设计和开发。

4总结

综上所述,通过对两种主流的计算机语言的对比研究,分析发现了二者的多方面的区别,以及在设计开发软件的过程中的差异,了解了计算机语言的逻辑开发主要是要经过计算机的基础平台设计,从而根据平台的差异实现了代码的逻辑差异和区别。上文中,软件的开放式设计研究,首先需要经过对软件需要实现的功能的差异性进行分析,对软件的具体应用领域进行针对性的需求分析,从而按照要求制定科学合理的设计流程图,在做到尽量全面的了解软件的功能和用途的基础之上,实现应用开放软件的高效率的开发设计。

参考文献

[1]张丽.逻辑语言在计算机软件开发中的应用[J].无线互联科技,2016,(18):51-52.

[2]刘飒.语言逻辑下的计算机软件开放设计探讨[J].电子测试,2016,(05):90+44.

[3]耿丽娟.基于语言逻辑的计算机软件开放设计[J].电子技术与软件工程,2016(08):66.

[4]董毅.逻辑语言在计算机软件开发中的应用探讨[J].信息通信,2016(03):177-178.

[5]徐立艳.计算机语言的逻辑开发与软件开放设计应用研究[J].电脑编程技巧与维护,2015(24):41-42.

计算机程序设计语言篇9

关键词计算机语言发展面向对象必然性

中图分类号:tp3文献标识码:a

0引言

计算机是现在人们日常生活中必不可少的实物,在生活以及工作中起着重大的作用,可以说,我们每天都会长时间的接触计算机,计算机的普及和日益的发展严重的影响着人们的日常生产和生活。计算机看似简单的结构,一个主机一个显示器,但是在计算机的背后运行却有着复杂的结构和设计,计算机的运行主要依托的部分是计算机语言,计算机的运行需要计算机语言的指引和控制。计算机的发展同时也促进了人们对计算机的使用,计算机使用量的增大也提高了对计算机的要求,特别是计算机的运行,要求的是计算机的语言。从计算机语言到汇编语言、计算机高级语言,再到结构化语言和面向对象语言,都表明计算机的语言在性能、方法、用途等方面的逐渐发展和完善。发展的目前,计算机面向对象语言是计算机语言的重要内容,也是现在软件开发的主流元素,技术的使用和完善,必然也会推动计算机语言的发展。

1算机语言的发展概况

计算机是一种机器的工具,在对各种程序执行过程中主要的依托是事前设计好的语言程序,操作支配语言,可以识别机器的语言,按照语言的指示运行有关的程序、进行相应的操作,才可以正常执行程序的运行。计算机语言的发展是一个逐渐发展的过程,在人们的需求和社会科技的促进下才发展起来的结果

1.1计算机语言的发展是一个不断演化的过程

任何事物的发展都是一个循序渐进的过程,在计算机语言的设计和使用过程中,计算机的出现和使用为人们的生产生活工作带来很大的便利,人们对计算机的使用日益增多,进而对计算机的运行速度等的要求也在逐渐提高,面对这一情况,计算机语言的设计在这样的背景下得以提高也是一个自然而然的过程,满足人们不断变化的需求、满足社会科技的需求,就是计算机发展的动力之一,也是计算机语言发展的不可或缺的动力。计算机语言的发展主要经历了以下几个阶段:机器语言汇编语言高级语言结构化语言面向对象语言。从上述发展的阶段来看,计算机语言的发展在多方面都是创新,这样的创新满足了人们的需求和社会科学技术发展的应用需求。

1.2机器语言

计算机作为一种机器,即使非常先进也是依靠事先设计好的程序和语言来运行的,毕竟是一种机器,可以识别的语言是机器语言,机器语言是由“0”、“1”组成的二进制代码指令系列,是一种可以为计算机识别的特殊语言。计算机在运行过程中,不需要单独的编译,直接对指令进行操作,而且操作的效率非常高。这种机器语言,对于我们人类来说,是非常无聊和枯燥的,编写的过程是难以通过人类的记忆完成的,而且,人们对速度和质量要求的提高,更是加大了工作者的工作量,增加了工作者的工作压力,所以,就出现了逐渐适用性较高的汇编语言。

1.3汇编语言

汇编语言的出现,代替了机器语言的二进制编码。没有了二进制的“0”和“1”,编程人员在操作时,就不需要再大量的进行二进制的编码和记忆的操作,只需要对有些相对简单的汇编语言指令进行识别和标记,这样一来,后期的对程序的维护等也变得相对简单起来了,工作的轻度显然变得减小了。但是,这样的操作得到的语言是不能被计算机直接识别的。还需要通过特定的程序,把这样的语言变成可以被机器识别的语言,这个程序就是“汇编程序”。汇编语言的直接面对的对象还是计算机可以识别的机器语言,不同的计算机,汇编语言也是有一定的差异的,也就是说,这种程序和语言的可复制性还是受到限制的。虽然如此,汇编语言在软件开发工具的使用中还是很普遍的。

1.4高级语言

随着计算机软硬件的发展,计算机程序的要求也越来越高,不依托计算机硬件、还可以通用的计算机程序是一种技术发展的新追求。在这样的社会和人们的期待和要求之下,计算机高级语言应运而生。高级计算机语言,相对于机器语言和汇编语言而言,在很大程度上提高了计算机程序的编写效率与程序运行的可读性。高级计算机语言与汇编语言类似,计算机这种机器是不能直接识别的,还需要特定的程序进行解读,才可以被识别,进而程序正常运行。虽然相对于机器语言和汇编语言这设计和使用的过程汇总有一定的优势,但是在真正的使用过程中,还存在一些弊端。

1.5结构化语言

结构化语言是一种面向过程的语言,语言系统是以功能为中心的,并且在执行的过程中是流水线的形式。在结构化语言程序中,整个过程中间的任何一个过程或环节如果没有按照规定和要求很好的完成,由于执行过程方向是无法通过人为操作改变的,所以就会影响到以后过程汇总其他程序的有效运行。

2面向对象语言程序开发的必然性

面向对象语言程序是目前应用比较普遍的一种新的技术手段,事实证明,使用的效果与以往的相比还是有一定的优势的,是目前计算机领域关注的重点,也是软件开发的主流应用元素。而且面向对象的技术应用超过程序的设计和软件的本身,在技术的领域是有一定的竞争力和重大作用的。

2.1时展的产物

面向对象语言程序是从最原始的机器语言,一步一步发展到今天的结果,事物的发展都是朝着前进的方向的,那么计算机语言程序也一定是这样的,计算机语言是一种机器语言,运用非常普遍,也很方便,人们对之的要求也是逐渐在提高。发展至今,基于对计算机运行速度和效率等多方面的要求,实用性比较强、比较方便、效率高、速度快的语言程序面向对象的开发是很有必要的,也是科学技术进步的结果和要求,是符合时展的产物,同时也可以满足人们对计算机以及其边界功能日益增长的要求。在当今这个物质生活非常充足的社会,计算机的发展、计算机程序的发展是必然的结果。面向对象开发的必然性是显而易见的。

2.2减轻程序开发人员的压力

最初的计算机的语言是机器院,我们都知道,当时的程序人员的工作量是非常大的,需要设计二进制码的编写等,还不可以在不同的机器之间通用,针对有差异的机器还要设计有差异的编码,可想而知,这样的工作对于当时的工作人员来说,工作压力是非常大的。针对这样的问题,计算机语言的逐渐演化和完善,逐渐减轻了工作人员在这一方面的工作量,在一定程度上提高了程序人员的工作效率,同时也更适应现在社会这种快节奏的生活。如果,工作量还是很大,那么工作人员的工作效率第,就无法适应这样一个快节奏的社会,必然会影响科学技术领域的日益壮大和发展。

2.3满足人们对计算机的高要求

自从人们的生活中出现了计算机到现在,人们的计算机的使用时间和频率,一直在逐渐的增加,最初接受计算机时,也曾经有过对计算机功能的陌生,甚至是不知道计算机的存在会给我们的生活带来什么样的改变和便利。逐渐,计算机强大的功能被认知,使用计算机的方便给我们的日常生活和工作到来了很大的方便,那么使用计算机的人员在增多。熟悉了计算机的功能后,自然而然的希望自己可以通过简单的操作获得更多的成果,那么对计算机的功能和使用的方便性提出了进一步的高要求,计算机的设计人员就必须满足人们的要求才可以保证计算机的存在有一定的价值,就是这样的动力,让计算机在日益的发展。到今天计算机语言程序面向对象法的出现,目的之一也是满足人们的高要求。

2.4程序的维护成本低

计算机的使用几乎渗透各个领域,非常的普遍,使用的多,软件和硬件的技术要求就高。面向对象技术的使用,保证了开发出来的软件的稳定性比较强,同时设计的使用并不是唯一的,可以重复使用,克服了面向过程设计的缺陷之一,同时封装性、继承性等优点,都为软件的使用和设计提供了更加方便的条件。面向对象技术开发出淼娜砑由于其稳定性,所以维护起来比较轻松,更新和升级相对比较容易,进而整个程序的维护成本相对于以往的软件开发技术都有一定的低成本的优势存在。这也是面向对象技术的必要性之一。

3计算机面向对象技术的核心思想

面向对象技术是一种把对象作为基础,以数据作为中心,将数据和数据操作作为整体进行事件驱动对象处理的程序设计。面向对象的过程与面向过程的程序执行是不一样的,面向对象的程序设计更加有益于程序语言的编程和实现。

对象、类是开发的概念之一。对象是指软件系统模拟生活中一种实物的抽象,每个对象的存在都是唯一的,对象的属性和行为都是独特的。类是指很多对象的合集,包含很多具体的对象,类中的各个对象的状态也是不相同的。封装也是面向对象的核心部分,封装性是指一个对象的方法与属性都结合成为一个独立的单元,对象具体的内部细节不会反应在表面,外面只有有限的接口,和外界联系。继承性也是核心的思想之一,描述了对象之间的关系,对象之间的差异和相同性都可以表现出来。多态性是为同一种技术方法提供多个不同的展现版本。

4总结

当今社会,面向对象开发技术已经被提出多年,现在发展一段比较成熟,除了在计算机利于之外,在其他很多领域也有了很多非常重要的应用。计算机语言的发展,真可谓是一个想不到的过程,当然是一个逐渐发展完善、循序渐进的过程,最初的机器语言的应用也是有一定的地位的,至今,面向对象技术的应用,更是为科学技术的发展添加了浓墨重彩的一笔。当然,面向对象的开发也是很有必要的,满足了人们日益增长的对计算机运行和使用的需求、减轻了计算机程序工作者的工作量和工作效率的压力、顺应时展、促进科学技术的创新、降低软件运行维护的成本,都是面向对象技术应用的良好效果。

参考文献

[1]李舒琪.计算机语言的发展[J].电子技术与软件工程,2017(01):152.

[2]刘睿潇.计算机语言面向对象开发的发展探讨[J].电脑编程技巧与维护,2016(08):36-37.

[3]单继周,马红,刘树林.计算机编程语言的发展与应用[J].科技经济市场,2016(01):16.

[4]叶连杰.计算机编程语言的发展与应用[J].信息与电脑(理论版),2014(11):191-192.

计算机程序设计语言篇10

计算机程序设计入门课程(introductoryprogramming)是指学生在学校中所学习的第一门程序设计语言课。通过该课程的学习使学生对计算机应用及计算机程序设计有一个基本的概念,为其以后的专业课学习打下基础。计算机应用已经成为科学研究、工程实践以及商业运作等各个行业不可分割的一部分,而被纳入不同专业的教学中。因此,程序设计入门课程无论是对于计算机专业的学生,还是其他非计算机专业的学生来说都是一门非常重要的基础课程。

关于程序设计入门课程的教学的讨论长期以来一直吸引着英国计算机教育界的广泛关注。在相关的计算机教育会议上,如itiCSe(innovationandtechnologyinComputerScienceeducation)、JiCC(Java&theinternetintheComputingCurriculumConference),这是一个具有高争论性的主题。从当前发表在这些会议上的论文来看,基本上没有一个公认的程序设计语言是最适合的程序设计入门语言,也没有一个公认的最好的方法来完成这个语言课程的教学(Chalk&Fraser,2006)。例如,有的教师喜欢采用支持面向对象的程序设计语言,如Java,C++或者C#,而有的教师钟情于支持命令格式的语言,如C语言或modula-2。还有的教师相信使用功能性的程序设计语言,认为Haskell是最好选择,而另一些人则认为脚本式的或并发式的程序设计语言,如python或aDa更适合初学者(watt,2004)。同时,除了语言的选择以外,如何教好程序设计入门课程也有许多不同的观点。特别是在那些选择了使用面向对象程序设计语言的教师之中,这种争论更加明显。对于面向对象程序设计的教学方法主要分为两个流派。一种流派称为“对象先行的方法”(object-firstapproach)。这一流派在教学中首先介绍对象、类和继承的概念。另一种流派称为“对象后行的方法”(object-lateapproach)。这种方法在引入面向对象的概念之前先强调语言的程序设计方面的元素及功能(Gibbons,1998)。

那么,在英国的高等院校中的程序设计入门课程采用哪种程序设计语言,如何进行教学的呢?这里介绍一项英国高等教育学会(Highereducationacademy)的调研报告。该项调研目的是定义在英国高等院校中的程序设计入门课程所采用的程序设计语言、应用的范围、以及在不同的程序设计单元中所采用的教学方法,并且试图发现它们与专业类型之间的关系。这项调研涉及英国高等教育学会下属的44所高校。共有52位专业负责人参与了问卷调查。

分析结果显示,有10种不同的程序设计语言被用于这些高校的程序设计入门课程,而且还有许多不同的版本。其中Java是应用为最广泛的。有超过30所高校使用Java作为程序设计入门课程的程序设计语言。位于第二位的是C++。其次是C#、VB及其他程序设计语言。图1给出了具体的程序设计语言及应用分布。

按照使用这些程序设计语言的学生数量分,大约有60%的学生以Java作为第一门程序设计语言。另外两种面向对象的语言(C++和C#)大约有15%的学生在使用。被教授Haskell和python的学生人数最少,一共只有6%的学生学习这两种语言。图2给出了学习不同程序设计语言的学生数占所调研学生总数的百分比。

另外一项有关的分类是不同的专业对于第一门程序设计语言的要求。所调研的专业包括商科类(Business)、计算类(Computing)、程序设计类(programming)、以及计算科学与工程类(ComputationalScienceandengineering(CSe))。商科类的专业包括信息技术和信息系统专业;计算类包括计算技术和数字媒体专业;程序设计类包括所有以特殊的程序设计语言为主体的专业;而计算科学与工程类则涵盖了计算机科学和软件工程专业。这项调研共涉及61个专业,其中计算类专业占44%,程序设计类专业占21%,计算科学与工程类专业占18%,商科类专业占17%。图3显示了各不同类型的专业所教授的程序设计语言课程。

正如图中数据所示,面向对象的语言(包括Java,C++,和C#)在商科类专业中采用的最少,在程序设计类专业中采用的最多。在非商科类的专业中,计算科学与工程类专业更多的选择了Java;而C++和C#则在程序设计类专业中比较流行。

关于程序设计语言的教学方法,在这项调研中分为“对象先行”(object-first)、“对象后行”(object-late)及其他。当Java为程序设计入门语言时,有55%的教师采用了对象后行的方法。42%的教师采用对象先行的方法。另有3%采用了其他教学方法(见图4)。

在C++和C#的教学过程,大多数教师(80%)采用了对象后行的方法。只有10%的教师采用了对象先行的教学方法(见图5)。

这项调研的结果显示,面向对象的程序设计语言被广泛地应用于程序设计入门课程的教学中。其中Java是应用最多的语言。在参加调研的44所高校中有30所选择了Java。位于第二位的是C++,共有8所高校选择它作为程序设计入门课程的语言,而其他程序设计语言则只在很少的学校中使用。

从教学方法上看,对象后行的方法以及对于传统的命令模式的强调是主要教学方法。对象先行的方法在目前的教学中应用的并不普及,而且主要集中于Java的教学中(40%)。对于C++和C#的教学,大部分(80%)采用的是对象后行的方法。可能的原因是C++是一种混合型的语言,它允许程序的编写不必严格遵守面向对象的模式。所以,许多教师把对象、类、以及继承的概念放在后面讲。

值得注意的是,非面向对象的语言作为程序设计入门课程的语言主要应用于商科类的专业。一方面可能是由于面向对象的程序设计语言比非面向对象有程序的程序设计语言有一个更陡峭的学习曲线。另一方面,脚本语言的出现使得快速开发可视化的商业应用软件成为可能。

当然,这项调研有它的局限性。一是参加问卷调查的高校数量比较少,只有44所,不能完全地涵盖英国各高校关于计算机程序设计入门课程教学。二是专业的划分主要是依据专业的名称及程序设计语言的应用方向来决定的,具有一定的主观性。但是,这项调研给出了英国高校计算机程序设计入门课程教学的量化的统计结果。有助于了解英国高校的计算机教育在入门阶段的基本情况。对于国内高校的计算机程序设计入门课程的语言选择及教学方法的使用有一定的借鉴作用。对于那些正在或考虑进行程序设计入门课程教学的教师,特别是开发可重用的教学软件的开发者来说,这些信息是非常有帮助的。

参考文献

[1]Chalk,B.,Fraser,K.,(2006)aSurveyontheteachingofintroductoryprogramminginHighereducation,proceedingofJiCC10,p1-6.