前言:中文期刊网精心挑选了计算机程序设计语言范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
计算机程序设计语言范文1
关键词:程序设计语言;程序设计能力;分析要点
Teaching Main Point Analysis of Computer Programming Language Courses
Li Yongliang
(Shandong Transport Vocational College,Weifang261206,China)
Abstract:In computer science and computer non-computer major teaching,almost all schools set up high-level language programming course.Programming language teaching although it is difficult,but very meaningful,it is beneficial to develop creative thinking,help students develop problem-solving through computer awareness and ways.
Keywords:Programming language;Programming skills;Analysis
main points
在教学中与一些应用软件或工具软件相比,编程课程的教学具有较大的灵活性。很多学生的学习能力较差,课后不肯花时间,久而久之,导致听不懂,给计算机编程语言课的教学带来一定的难度。采用何种教学模式进行教学就成为编程
语言教学的一个关键。
一、引言
根据以往的教学经验和通过与学生、同事之间的交流,得知部分学生反映上课时都能听懂讲解,可在涉及到具体的编程及上机操作时,往往会出现没有思路、无从下手或错误百出,不会调试程序等各种情况,究其原因,在教学方面可能存在以下2个问题。
(一)过于注重对语句语法的讲解,缺乏以算法为核心的编程题教学。教师钟情于举一反三地对使用语句、语法的深入教学,而不是有机地结合算法思想进行教学,贴近生活并引起学生兴趣的编程题讲得很少。由于教学不是站在如何应用计算机工具编程解决实际问题或实际项目的角度,就没有把逻辑与编程解题思路放在主体地位,也就没有很好讲解如何分析问题和解决问题。结果导致学生程序设计能力、上机解题能力训练不够,更谈不上引导学生进行课题研究和科研探索。
(二)学生厌倦传统的课堂教学,缺乏师生之间的沟通交流学生对于先讲后编、先听后编这一传统的课堂教学方式有厌倦心理。课堂成了教师的“一言堂”,教与学不能衔接起来。有时教师为了赶进度,讲授法成了唯一的教学方法,师生之间缺乏足够的交流和沟通,学生没有有效、实用的学习辅助途径,也间接影响着学生的学习兴趣和学习效果。
二、程序设计能力认识
程序是软件的本体,程序设计(Programming)是指设计、编制、调试程序的方法和过程。它应排除软件开发中的工程与管理因素,主要指软件开发过程中的技术因素,尤其是计算机技术因素。
根据调查分析,合格程序员必须具有:1.扎实的专业基础知识;2.很强的综合分析和解决问题的能力;3.熟练的编程调试能力;4.创新能力;5.团队合作能力;6.持续的自学能力;7.强烈的好奇心;8.较高的英语水平和软件工程的实践能力等。
应看到,程序设计能力,并非完全等价于程序员所应具备的专业素质,它还包括其他一些内容,如:1.理解问题,根据已知条件,找出求解该问题的数学方法或建立相应的数学模型;2.归纳程序的基本功能;3.设计数据结构和算法;4.用程序设计语言实现算法描述;5.编译与调试;6.测试程序,保证程序正常运行。
综上所述,可以将程序设计能力定义为:依据程序设计思想与观念,应用程序设计语言,采用相应程序开发技术和环境,进行程序设计并达到预计结果的程度。
三、要点分析
基于对程序设计教学思想、程序设计能力的认识,为使学生充分掌握程序设计的思想和方法,有效实现程序设计课程教学目标,我认为程序设计教学还应注意并强调以下几个基本的教学任务和要求。
(一)应着重培养学生的结构化程序设计的基本观念。结构化程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和“单入口单出口”的控制结构,它是程序设计的基本原理之一。贯彻课程始终、通过具体实例潜移默化地培养这一思想,比在软件工程中空洞的说教,更容易被学生理解和接收。
(二)为了使初学者能尽快地掌握计算机知识,进入计算机的应用领域,在课程讲授过程中,要特别注意培养学生的学习兴趣。学习兴趣就是学生在心理上对学习活动产生爱好、追求和向往的倾向,是推动学生积极主动学习的直接动力。学习兴趣直接关系到教学效果的好坏。为提高学生的学习兴趣,笔者归纳出6个办法:1.通过演示程序突出程序语言的实用性;2.通过简单的编程练习突出语言的易学性;3.运用恰当的类比使复杂问题形象化、简单化;4.做到一题多解;5.要善于举一反三;6.通过解决实际问题使学生乐学。
(三)教师在教学过程中引导学生思考和探索教学时发现,学生问不出问题的原因往往在于没有真正学好。实际上,问题是最好的老师,是学生学习的引导者,没有问题便没有深入。在教学过程中,引导学生在问题解决中学习,即提出问题,留给学生时间思考、讨论、解决问题,从而更深入地展开学习。实践证明,这种教学方法充分调动了学生学习的积极性和主动性。
计算机程序设计语言范文2
关键词:计算思维;程序设计方法;c语言程序设计;教学方法
《c语言程序设计》是计算机相关专业及其他理工科专业的基础课,它是一门实践性很强的计算机基础课程。教学目标是通过课程的学习,学生不仅要掌握C语言程序设计的语言知识、编程技术和基本算法,更重要的是在实践中逐步掌握程序设计的思想和方法,培养学生问题求解和程序语言的应用能力,为后续专业课程的学习打好基础。
由上述的教学目标我们知道C语言程序设计这门课程中教师不仅讲授C语言语法知识,还要帮助学生掌握程序设计的能力。但目前c语言程序设计课程教学中只注重知识讲解,而忽略了程序设计思维的培养,导致学生只会看不会写。鉴于此,本文提出基于“计算思维”培养程序设计能力的教学方法,并将其运用于《c语言程序设计》课程教学实践。
1C语言教学存在的问题
对于程序设计的初学者,编写程序包含至少两个方面的要素:1)程序设计语言的语法知识;2)计算思维,即算法,也就是用计算机的思维把客观世界的问题分解成计算机所能处理的步骤,并描述出来。
目前大学《c语言程序设计》教学普遍存在的关键问题是:重语法,轻算法,注重传授知识,忽略程序设计思维培养。大多数教师强调C语言语法知识的讲授,造成学生死记硬背C语言的语法知识,却不会运用,导致理论与实践相分离,使学生误以为C语言是枯燥的理论课程,从而产生厌烦情绪,失去C语言课程学习的兴趣和动力;部分教师并没有在课堂上带领学生一起完成程序从无到有的编写过程,学生不能形成程序设计思维,导致学生产生这样的疑问:“程序为什么要这样写?”,大部分学生处于“看得懂别人写的程序,但自己不会写程序”的状态。
著名国内计算机教育专家谭浩强教授指出算法是程序的灵魂,在他所编写的《c程序设计》一书中,“算法”这一章里用了几种方法阐述如何描述算法,这其实包含了把客观世界中问题的解决方法转换成为用计算机思维解决问题这一重要思想!笔者与同行交流讨论时发现,竟然有部分老师跳过“算法”这一章节,这是典型的重语法,轻算法,只注重传授知识,而忽略程序设计思维培养。
2以计算思维培养程序设计能力教学法的运用
据笔者多年从事计算机程序设计语言教学工作经验及教学过程中所做的调查了解到这样一种情况:许多学生面对某个编程题,不知道如何下手,并非学生不会用所学的数理化知识解决该问题,只是不知道如何用计算机编程来解决问题。这种情况的根本原因就是学生不知道如何把解决该问题的方法转换成计算机思维表示出来。进一步说就是没有形成计算思维。
计算思维的含义是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。其本质内容体现了抽象、约简、规划、关注点分离、递归、优化、分解等思维特征-引。显然如果学生不明白计算思维,不理解计算机是如何解决问题的,那么他一定不会编写程序。因此想要培养学生程序设计能力那么必须使学生养成计算思维,使用计算思维去把客观问题的解决方法转换成计算机所能处理的步骤(即算法)描述出来,最后再将算法转换成程序语言代码,即编写出程序。
2.1通过案例驱动逐步建立计算思维
对于程序设计初学者,在开始时先通过案例让学生逐步了解计算思维,让学生知道计算机是怎样来解决问题的,更具体的来说是让学生知道计算机是通过什么样基本步骤的组合或者重复来解决问题的,从而学生知道要让计算机来解决问题,就要把问题分解成计算机所能处理的基本步骤,计算机通过重复执行这些基本步骤即可解决问题。通过反复的练习与加强让学生逐步建立计算思维,掌握分析问题和用计算机的思维方式来解决问题的能力。
下面通过案例w现计算思维。
题目:计算1+2+3+…+100。
计算机程序设计语言范文3
论文摘要:现存的非计算机专业编程语言的教学弊端种种,本文提出了一种新的思路。即:使用VBScript语言在记事本中编写程序,在IE浏览器环境下来运行之,且通过实例论证该方法的实用性,使其真正为每个用户服务。
0引言
说起我国非计算机专业编程语言教学的走向,就不得不提到我国高等学校计算机基础教育发展的历史。我国的计算机基础教育始于20世纪80年代初期,从80年代初以来,高校的计算机基础教育大致上经历了三个发展阶段:80年代是起步阶段,90年代是规范阶段,进入21世纪,开始了第三阶段,即深化提高阶段。
计算机基础教育是指面向大学中非计算机专业学生的计算机教育,这部分学生约占全体大学生的95%以上。非计算机专业中进行计算机教育的目的是培养大批能使用计算机的人才,而不同于计算机专业的培养计划,可以说他们是计算机应用人才,学习计算机的目的完全为了应用,计算机只是作为一种现代工具来掌握,而不能当做纯理论的课程来学习。明确了这个培养目标,那就可以有的放矢。
目前各高校非计算机专业编程语言教学的现状是:学时是有限的,学习内容是繁杂的,由此对学生产生的学习压力不仅苦不堪言,而现实更是多数非计算机专业的学生在毕业后,对于大学期间学习的编程语言大部分是忘记,若想拾起来重新使用,也不是一件易事。如何解决非计算机专业编程语言教学和实际使用二者之间存在的矛盾这个问题,是我们每个从事高等计算机基础教育的老师不得不思考的问题。
1非计算机专业编程语言教学的现状
对于现存的高等院校非计算机专业编程语言教学的弊端,我们做以下几点分析说明:
(1) 非计算机专业编程语言教学培养目标定位有误
对于非计算机专业学生进行的编程语言教学,应与计算机专业的学生有所不同。计算机专业培养的是计算机专门人才,将来从事信息技术理论研究、科研教学、系统开发等专业性的工作,而在非计算机专业中进行编程语言教学的目的是培养大批能使用计算机的新型人才,他们需要达到的程度仅仅是使用计算机这个工具。作为高等院校非计算机专业编程语言教学计划的制定者,对于专业和非专业要达到的目标一定要明确,否则有可能南辕北辙。
(2) 非计算机专业的编程语言教学设置好大喜功
经过作者在国内各大高校做的调查,几乎各大高校对于非计算机专业编程语言教学一般从大学一年级就开始,陆续开有VB、C、FoxPro、SQL、C++、PB、Delphi、Java等,有的院校在高年级非计算机专业还开有计算机编程语言课程,美名其曰:多学点东西,增加就业砝码。
诚然多学点东西是不会有什么害处,但是不知道说这个话的人有没有想过:对于非计算机专业的学生来说,能有多少比例的学生在真正学这些开设的计算机编程语言课程,更多的恐怕是在各种考试之间疲于应付。当大家手捧毕业证书的时候,手拿四年所修的学分成绩单的时候,当大家面试应聘的时候,留在大家脑海中的计算机编程语言可能屈指可数,可以炫耀的可能仅仅是修过的计算机课程的数量。
作为从事高等教育的老师,我们不能为了这些表面的假象自欺欺人。如何在有限的学时内进行优化选择,使学生学到最需要的知识。当然不仅是指当前最需要,而且也包括今后踏上工作岗位,对于需要用到的计算机编程语言知识的时候也可以信手拈来,不用再重新学过。因此,对于非计算机专业的学生,我们应该敢于摒弃学习那些当前为了考试,今后根本用不多,仅仅是为了增加学分的计算机编程课程。
(3) 系统本身庞大,掌握的知识有限,学不能使其精
对于现存的计算机程序设计的任何一门语言,如VB、Visual Fox、SQL等,系统都是很庞大的。以一个简单的例子,VB为例来说明,VB采用的事件驱动的编程机制,提供了动态数据交换(DDE)和对象链接与嵌入(OLE)等技术。在数据库方面,VB具有很强的数据库管理功能,不仅可以管理MS Access格式的数据库,还能访问其他外部数据库,如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环境,此时对于二者的交流可能存在障碍。
针对上述,我国高校计算机基础教育体制中存在的诸多问题,作者提出了一种新的思路。
对于一台安装了操作系统(Windows XP、Windows 2000 Professional、Windows ME、Win 98等)的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语言和Visual Basic、Java等高级语言之间的一种脚本语言,它接近于高级语言的大部分功能,但却比高级语言简单易学。
(2) 在运行该程序时,不像其他的程序设计语言需要经过编译或解释等步骤,以此来生成目标文件、连接文件以及可执行文件等,使用VBScript在记事本中编写的程序需要做的工作仅仅是双击该文件名,而不会生成其他的中间文件,这样就大大节省了系统的存储空间。
(3) 在运行该程序时,对运行环境没有提出特别的要求,仅仅是需要一个IE浏览器。这对于拥有一台PC机的用户是轻而易举的事情。
(4) 当你还在费尽心思考虑程序的在多台机器之间传递的时候,使用在此提倡的方法无需有这方面的顾虑。对于在任何一台PC机上编写的 .html文件,你可以轻松在多台机器上拷贝和运行,而无需进行额外的路径配置等工作。
当然,我们提倡的这种方法并不是十全十美,如:对于需要大量使用界面图形来处理的问题,或者需要使用数据库的问题,该方法就有所欠缺,但是该方法对于仅仅是为了自己方便,进行一些数据处理来说,是再合适不过的了。
全社会的计算机普及,为大学的非计算机编程教育创造了良好的氛围和外部环境,使广大非专业人员学习和使用计算机编程语言变得更加容易,如何使学有所用,使高等教育成为社会发展的推动力量,是高校非计算机专业编程教学面临的严重的挑战,这也是本文的初衷。
参考文献
[1] 施吉林, 刘淑珍, 陈桂芝.计算机数值方法[M].高等教育出版社.
计算机程序设计语言范文4
关键词:C语言;C++语言;程序设计
中图分类号:G642 文献标识码:B
文章编号:1672-5913(2007)14-0022-02
1引言
大学计算机科学专业的程序设计语言课程,一般分为必修和选修两种。C和C++都作为必修课;而VB和Java等一般作为选修课。现在大多数高校计算机科学专业开设程序设计语言课程的顺序都是,先开C语言,再开C++语言。然而,我们在教学实践中发现,学生学习C语言程序设计,接受了“自顶向下,逐步求精”的模块化程序设计思想,在学习C++语言时,对C++语言的特色:类和模板所提供和支持的“自底向上”的面向对象程序设计思想,很难适应、理解、接受和掌握。同时,由于课时的压缩,两门语言都要开设,学时更显不足,致使学生两门语言课程都没有充分的时间学通、学透;更有甚者,正常的教学内容不能完成,学生一知半解、似懂非懂,课程的难点知识没有时间讲和学。这种结果直接影响后续课程(比如,数据结构)的学习;同时学生动手开发软件的能力也将受到影响。
本文在分析比较C和C++程序设计语言异同的基础上,结合多年的教学实践经验,提出在大学计算机科学专业中,直接开设C++程序设计语言,不再开设C语言的观点。并根据作者的教学实践经验,给出直接开设C++时,教学内容、教材选择和开设时间的建议。
2程序设计语言C与C++的比较
2.1C与C++的共性
C++是C的增强版,是在C的基础上增加了数据抽象和面性对象的程序设计这些新特点,很自然C++拥有C语言的基本功能。它支持结构化的程序设计,任何用C写的程序都可以在C++环境下运行。
在C和C++语言中,标识符、变量、常量、基本数据类型、指针、表达式、运算符的优先级等的规定都相同。枚举类型和结构体类型的定义方法也相同。关系和逻辑运算、条件语句、循环语句这些控制流语句的定义和使用也都相同。C和C++中数组的定义和使用相同。函数的定义与调用基本相同,只是C++引入了引用参数。也正是由于引用参数的引入,使得C++的使用比C更方便。关于动、静态变量及其范围的规定在C和C++中相同。因此。可以说,C语言所拥有的功能,C++都有,而且也是C++的基本部分。但是,C++比C具有更强的功能,具有C所没有的特性――数据的抽象和支持面向对象的程序设计。同时,关于枚举变量,结构体变量的声明C++的语法约定更简洁方便。
2.2C与C++的不同
C与C++在程序设计的思想与规模、动态存储管理、文件使用、枚举和结构体类型、输入和输出,以及程序注释等方面存在差异。C++不仅具有C的所有功能,可以实现所有C语言所能实现的功能,而且C++的功能更强大,使用更简洁方便。因此,使用C语言设计程序所能解决的实际问题,使用C++语言设计程序也一定能够解决,而且实现起来更方便。
2.3C++的特色
C++最大的特色是提供了数据的抽象和实现数据抽象类型的机制――类,以及支持面向对象程序设计的封装、继承和多态等特性。由于类的出现,使得C++中的数据类型不再局限于系统所提供的固有类型,用户可以根据自己的实际需要设计创建新的数据类型。同时,由于类的使用,使得数据和操作被封装在具体的类中,实现了信息的隐藏。C++提供了两种构造新类的方法:继承和构成。这两种构造方法使得C++具有面向对象程序设计的特性。C++还提供了虚函数机制,这使得类的操作可以实现动态邦定。C++中的重载机制使得C++的使用更方便快捷和人性化。C++的模板使得C++具有多态特性。另外,C++的异常处理机制使得程序的调试变得容易和方便。还有C++的虚基类,使得它非常适合用来开发面向对象的程序。
C++中的引用类型,使得函数的参数可以采用引用参数,避免了C语言中函数参数的单向值传递所带来的弊端。而且使用起来非常方便。
C++还提供了作用域限定运算符(::),该运算符可用于解决名称冲突。还可用于指定标识符的有效范围,如名称空间中标识符的使用。
标准C++还支持名称空间[3~5],除了系统提供的标准名称空间std外,用户还可以定义自己的名称空间。名称空间的使用给程序设计带来了很大的方便。
C++的上述诸特色,显示了C++不仅能实现C程序设计语言所支持的结构化程序设计,而且还支持面向对象的程序设计。可以开发出更大更复杂的应用软件。
以上C与C++的比较可见,C++的基本部分与C语言基本相同,而且C++的语法相对于C语言的语法更简洁方便易使用。因此,C++完全可代替C来完成程序设计,完全可以在大学计算机科学专业的本科生中直接开设C++程序设计语言课程,而不用先开设C语言,再开C++。这样,可以将节省出一部分学时分给C++课程,使得C++的学时更充足些,学生也掌握地更好些。
3程序设计语言C与C++开设建议
通过以上的分析比较,可见在高校计算机科学专业程序设计语言课程的开设中,可以不用开设C程序设计语言,而直接开设C++语言程序设计。
C++的教学内容应该包括:基本知识部分:程序设计与问题解决概述;C++语法、语义以及程序开发过程;数值类型、表达式与输出;程序输入与软件设计过程;条件、逻辑表达式与选择控制;循环;函数;作用域和生命期;高级控制结构;固有数据类型和用户定义的简单数据类型。C++高级知识部分:结构体、数据抽象和类;数组;基于数组的表;面向对象的软件开发;指针、动态数据和引用类型;链结构;模板与异常;递归。
C++课程开设时间放在一年级第二学期比较适宜。因为学生在第一学期已经学习了一些关于计算机的入门知识,对计算机科学有了一定的了解,这时开设C++程序设计语言,学生接受起来比较自然。而且直接学习C++语言,没有别的计算机语言的影响,学习起来更易于接受。C++的课时建议为周学时4,以保证学生有足够的学习、吸收和消化知识的时间。另外,这个学期开设C++可为学生后续专业课程(如,数据结构)的学习做铺垫。更重要的是作为计算机科学专业的本科生,在当前的形势下掌握C++这一通用的编成语言,不仅为将来的发展奠定良好基础;也为今后参与社会竞争打下坚实基础。
以上观点的有效实施依赖于C++程序设计语言教材的选择。在选择教材时,必须选择适宜作为入门语言学习的C++教材。在此建议采用参考文献[3]中的教材――美国Jones and Bartlett Publishers出版的原版教材“Programming and Problem Solving with C++ (Third Edition/Fourth Edition)”。该教材知识讲述逻辑性强,内容安排循序渐进,讲解非常透彻清晰,是国内许多中文教材无法媲美的;而且没有任何先驱课程要求,学生学习起来很容易理解和接受,该教材是美国大学计算机及相关专业程序设计语言的入门教材,是美国最畅销的计算机科学教材,也是教育部推荐使用的计算机专业类影印版教材。作者在过去4年中使用该教材对计算机科学专业的学生讲授C++程序设计(双语教学)。4年以前作者曾多次讲授C语言程序设计。结合多年的教学实践,作者提出在大学计算机专业的程序设计语言课程设置中,直接开设C++程序设计语言的观点。关于教材的选择,也可选用其他一些翻译过来的国外优秀教材,如参参考文献[5]中的《C++大学教程》(第五版),该书是针对一学期的课程设置的,英文版在国外也是作为计算机专业的大学一年级教材;或者考文献[4]中的《C++核心思想》。作者的经验是最好选用国外原版教材,而且以参考文献[3]为最好。
参考文献:
[1] 谭浩强. C程序设计(第二版)[M]. 北京: 清华大学出版社, 1997.
[2] 龚杰民, 金益民, 殷勇. 标准C语言程序设计及应用[M]. 西安电子科技大学出版, 1995.
[3] Nell Dale, Chip Weems, Mark Heading. Programming and Problem Solving with C++(Third Edition)[M]. 美国: Jones and Bartlett Publishers, 2003.
[4] [美]Cay Horstmann著, 晏海华等译. C++核心思想(第三版)[M]. 北京: 电子工业出版社, 2004.
[5] [美]戴特尔等著, 张引等译. C++大学教程(第五版)[M]. 北京: 电子工业出版社. 2006.
作者简介:谢娟英(1971-),女,陕西西安人,副教授,主要从事智能信息处理方面的应用研究。
通信地址:陕西师范大学98# 邮编710062
Tel: 029-85307830(home),13088965815
计算机程序设计语言范文5
[关键词]C语言程序设计 可视化 系统观 计算思维
中图分类号:G4 文献标识码:A 文章编号:1009-914X(2016)06-0235-02
1 引言
计算思维是当前国际、国内的计算机科学界、教育学界关注的重要课题,计算思维的研究和发展对我国的计算机教育有着十分重要的意义。
2006年3月,美国卡内基梅隆大学的计算机科学系主任周以真教授最早给出了计算思维的概念:计算思维是运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[1]。
目前国外关于计算思维的发展有一定的成效,2007年3月,卡内基梅隆大学和微软公司宣布建立“微软――卡内基梅隆计算思维中心 ”(Microsoft Carnegie Mellon Center for Computational Thinking),该中心将致力于计算机科学新兴领域的研究,特别是那些能够对其他学科的思维产生影响的领域;美国计算机协会(ACM)在网上公布的对CC2001 (CS2001)进行的中期审查报告(CS2001 Interim Review)中就清楚表明,要求将“计算思维”的概念及其本质加入到“计算机导论”课程当中去;美国国家计算机科学技术教师协会(CSTA)了名为《计算思维:一个所有课堂问题解决的工具》(Computational Thinking: A problem solving tool for every classroom)的报告,报告对什么是计算思维进行了详细的阐述,并且得到了微软公司(Microsoft Corporation)的大力支持。
国内也有一批专家学者在计算思维方面做出了一些颇有成效的研究, 我国对计算思维的关注主要时间是高等学校计算机教育研究会于2008年10月在桂林召开的关于“计算思维与计算机导论”的专题学术研讨会,此会议专题探讨科学思维与科学方法在计算机课程教学中的推动和创新作用。对此,多数高校在研讨会之后分别在自己所在高校开展了关于计算思维的研究,桂林电子科技大学计算机学院也开设了以计算思维为核心培养的计算机导论精品课程。
培养学生的计算思维能力应该成为计算机公共基础教学的核心任务[2]。《C语言程序设计》是一门重要的理论性和实践性都很强的计算机公共基础课,初学者普遍反映难学。计算思维的培养面临着许多挑战[3],目前仍没有有效的教学模式,仍然处于探索阶段。C语言程序设计的学习和计算思维的培养是相互促进的,计算思维能力提高后,可以更高效和深入的学习C语言程序设计,C语言程序设计的学习又能促进计算思维能力的提高。本文通过采用可视化教学模式在C语言程序设计的教学中的应用,以直观的方式讲解C语言中抽象的知识,以动态的可视化方式展示隐含在C语言程序设计中的计算思维,从而达到降低学生的认知负荷,在提高C语言程序设计的学习效果的同时,增强计算思维的能力。
2 C语言程序设计可视化教学模式的设计和计算思维的培养
《C语言程序设计》的知识蕴含了计算思维,掌握好C语言程序设计知识有助于计算思维能力的提高,计算思维能力的提高又促进和加深C语言的学习,这是个相辅相成、互相促进的关系。《C语言程序设计》的计算思维教学方法应重视从以下几个方面实施可视化教学模式。
2.1 以静态图形展示基本概念
C语言中的很多概念是比较抽象的,不易深入理解,这成了初学者利用C语言的基本语句进行解决问题和创造性思维的拦路虎。理解和使用好这些概念要求学生能够在计算机能力的限制之下计算性地思考。例如对数组的理解与使用,如果仅仅教会学生“数组是连续排列的相同数据类型的元素集合”这样的抽象知识,学生仍然难以灵活应用数组去解决问题。为了让学生直观的理解数组的特点,可以如下图所示展示出如何使用数组[4]。这样,就可以将“不可见”变为“可见”, 将“无关”变为“相关”。
如上图所示,教师在讲解数组之前,先把变量比喻成箱子,不同规格的箱子相当于不同的变量类型,把一维数组比喻成多个无缝隙排列在一条直线上的相同规格的箱子。这样,学生就容易理解数组的能力和局限性:数组可以通过“箱子编号”随机访问数组元素,数组是通过内存的连续区域来存储数据的,使用数组时不能越界,数组元素的类型必须相同。
2.2 问题的可视化展现
《C语言程序设计》课程讲解的问题的逻辑结构、存储结构往往比较抽象、枯燥。生动、形象的可视化形式引出用有趣的应用实例,例如约瑟夫斯问题和汉诺塔问题,可以极大地激发学生的学习兴趣,活跃课堂气氛,可以使学生迅速、清晰的抓住问题的本质,从而把精力集中于基于计算思维的问题求解上来。
3 C语言程序设计系统观的教学观点和计算思维的培养
系统设计的能力是计算思维的应有之意,目前的C语言课程只是强调语法和编程能力的培养,而不能很好地培养学生的系统设计的能力。另外对于计算机硬件系统的相关课程,如数字逻辑、计算机组成原理、汇编语言、计算机微机接口技术等,学习以后,学生对硬件系统知识有一定的了解,但知识都是孤立、片断性的,更不用说具有系统层面的认知和设计能力,能站在系统的高度考虑和解决计算机系统的应用问题能力[5]。
计算机学科主要研究的是计算机系统各个不同抽象层的实现及其相互转换的机制,计算机学科培养的应该主要是在计算机系统或在系统某些层次上从事相关工作的人才。独立学院计算机专业课程的设置按照计算机系统抽象层各层的内容学习对应的课程,如图1所示。可以清楚地看到,我们将计算机系统的各层的知识分解为一门门独立专业课程让学生学习,这些独立的专业课程好比一节节单独的火车车厢,而没有课程帮助他们帮这些火车车厢连接起来,形成一辆完整的火车,而只有完整的火车才有它本来的价值。而完整的火车即是系统观,即具备能够站在系统的高度考虑和解决应用问题,具有系统层面的认知和软件设计能力。
3.1 从系统层面构建知识体系
我们将C语言围绕C语言程序的编译、链接和执行,从系统层面帮助学生形成计算机学科完整的知识体系,并且注重后续专业课程之间的关系和衔接能促使学生真正做到融会贯通,领略到计算机系统能力的真正涵义[6]。同时学生在大三和大四可以有更多的时间学习各个专业方向的知识,加强专业技能的训练。
教师以C语言的编译、连接、执行为主线,结合计算机系统各大部件,具体介绍了各大部件的功能和结构,剖析了高级语言与底层计算机系统之间的关系,从而引起学生对高级语言程序编写的思考,激发学生从计算机系统的的角度学习,使其能够站在系统的高度考虑和解决应用问题。
3.2 基于系统观的教学内容设计
老师在讲解各个知识点的同时,要注意以实际生活中的问题和学生实际编程遇到的问题引入,吸引学生的注意。比如, 在讲解程序的转换及机器级表示时,主要讲清C语言、编译、操作系统和硬件结构的关系,并且注意用汇编级的指令系统去解释C语言程序运行的结果,对出错的结果能从指令集与硬件系统的角度去理解程序的结果[7]。能从系统的角度去思考与解决问题。
面向系统观进行教学内容设计可以让学生更多地了解学习C语言程序设计的意义。学生通过学习计算机系统与C语言的联系,可以改善编程的过程[8],能够更迅速地查明故障来源,从而减少程序中的错误,提高程序的性能,为进一步应用计算思维解决问题作好铺垫。
4 结语
基于计算思维的C语言程序设计的教学,是一个需要长期探索的过程,教师应在教学的过程中不断地总结,根据学生的真实感受与学习情况,加以思考,不断地进行创新与尝试,才能设计出科学合理且有吸引力的教学内容。
参考文献
[1]Wing J putational thinking[J].Communications of the ACM,2006,49(3):33-35.
[2]何钦铭,陆汉权,冯博琴.计算机公共基础教学的核心任务是计算思维能力的培养[J].中国大学教学,2010(9):5-9.
[3]李廉.计算思维:概念与挑战[J].中国大学教学,2012(1):7-12.
[4] 杉浦贤 著 李克秋 译. 程序语言的奥妙:算法解读[M].北京:科学出版社,2012: 31.
[5] 王志英,周兴社,袁春风等. 计算机专业学生系统能力培养和系统课程体系设置研究[J]. 计算机教育.2013(9):1-6.
[6] 李山山,刘卫东. 面向系统能力的计算机组成原理实验实施[J]. 计算机教育.2014(15):107-110.
[7] 袁春风.大学计算机专业教育应重视“系统观”培养[J].中国大学教学.2013(12):41-46.
计算机程序设计语言范文6
关键词:C语言 教学方法 考核
《高级语言程序设计》是高校非计算机专业的一门计算机类必修课程,由于程序设计教学自身的特点,学生在学习的过程中难免感到枯燥、难懂。因此在教学过程中,如何使学生感受到程序设计的魅力,找到一条新颖有趣的教学方式,选择恰当的教学方法,一直是广大计算机教师不断思考的课题。我校以C语言作为《高级语言程序设计》的目标语言进行教学设计,本人在多年的教学实践中,努力探索新的教学方式,认真研究不同的教学方法,大大提高了学生的学习积极性,取得了一定的教学效果。下面探讨一些心得体会。
一、精心进行教学设计,做到理论与实践并重
对于非计算机专业的学生来说,很多学生在开始接触《高级语言程序设计》课程时,由于对C语言认识不深刻,认为C语言过时了,不值得学,学习积极性不高。因此在进行教学设计时对教学内容与教学方法要进行精心设计,不能只是单纯的讲授C语言的语法,而应将理论教学与实践教学并重,并将之紧密结合、互相促进,提高学生的积极性,以求达到最佳教学效果。在实际教学中应充分发挥C语言解决实用问题的导向作用,将枯燥的理论生动演绎为解决问题的利器,通过设计巧妙的教学内容,充分调动学生的积极性,让学生的思维围绕教师的思维活动。通过一些有趣实用的题目去诱导学生学习,给学生的思维中留下一定的期望与神秘感,促使学生驱动自己的好奇心,从而充分调动学生主动学习的欲望。
二、不断改进教学方法,多种手段并用
要取得良好的教学效果,仅仅进行教学设计是远远不够的,还要结合灵活多变的教学手段进行教学,让学生真正参与教学过程,真正做到“学为主体,教为主导”。
1. 讲授演示教学法
讲授演示教学法是在传统教学方法的基础上,进行适度的改良,以学生对具体知识和技能的掌握作为主要目标进行教学的方法,它主要由以下四个步骤。
首先由教师导入问题。教师在了解学生已有的知识结构、专业水平的基础上,由简单问题导入新的教学内容,让学生感受到新知识在解决实际问题中的作用,从而激发学生对新知识的学习兴趣。
第二步,教师进行讲解演示。教师通过自己深入浅出的讲解,要让学生理解新知识的应用原理,做到“知其然,并知其所以然”;然后演示操作步骤,详细说明操作的实现过程。
第三步,学生自主实践。按照教师的演示讲解,学生自己动手实践新知识的应用,教师从旁指导答疑,让学生真正理解掌握新知识。
最后进行总结练习。教师对整个教学活动进行归纳总结,突出教学重点、难点,同时了解学生对新知识的掌握程度。在此基础上,由学生自己通过练习,逐步对新学知识达到完全掌握和熟练运用。
2. 范例对比教学法
范例对比教学法是指根据典型的例子采用不同的解决方式进行教与学,使学生能通过实例来掌握新知识。例如:编程求1+2+3+……+100之和,这是循环语句典型的求累加的问题。针对这一问题,即可以采用while、do-while语句来实现,也可以采用for语句来实现。通过同一问题的三种实现方法,让学生掌握三种循环语句的原理、特点和用法,了解它们之间的相同点与不同点,以及三种语句的使用范围等知识点。
范例对比教学法以精选出的程序实例为中心,把学习的重点放在实例的讲解上,把要学习的语法结构和概念融入到具体实例中,整个教学过程中强调学以致用,避免了枯燥、繁杂的理论说明,不仅增进了学生的学习积极性,同时对提高学生综合分析能力和解决实际问题的能力有很大帮助。
3. 探讨式教学法
探讨式教学法是教师在教学中根据教学要求和重难点设计问题,学生在教师引导下参与课堂研讨,分析问题、解决问题,从而启发学生思维并培养学生能力的一种教学方法。在C语言程序设计教学中,探讨式教学法能够突出学生的主体地位,充分发挥学生的主观能动性,有效地培养学生分析问题与解决问题的能力。
当然,在实际教学过程中可采用的方法还有很多,如案例教学法、研讨式教学法等,正所谓“教学有法,教无定法”,端看你怎么使用。只要能取得良好的教学效果,完全不必拘泥于任何一种教学方法,多种手段并用。
三、提高学生操作能力,充分利用实践课
《高级语言程序设计》是一门实践性非常强的课程,对于非计算机专业的学生来讲,实践课的课时安排普遍不足,因此在教学过程中要充分利用有限的实践课时间,尽可能地提高学生的操作能力。而教材上的例题、习题基本以算法设计为主,内容枯燥不易编写,学生上机积极性不高,程序设计过程的成就感不强,因此在实践内容的安排上不能简单的让学生照抄或直接编写程序。在实验过程中,可以让学生先做基本的实验,通过实验理解课堂上所学习的理论知识;再通过验证书上的例题,理解并掌握程序设计的步骤,进而能自己进行课后习题的程序设计;最后通过一些算法设计与过程设计相结合的提高性实验,一步一步的提高学生的实践应用能力。
对每一个知识点,可以设计一些紧扣知识点的相对简单而趣味性强的问题,学生在实验时由浅入深,循序渐进,每次实践都能有收获,这样将极大地提高学生编写程序的积极性。在此基础上,再布置相对复杂一些的算法设计问题,学生就能够有信心有能力综合应用所学知识进行设计,解决问题。当然趣味性的题目只是培养学生兴趣的手段,要真正让学生学好C语言,关键还是让学生充分掌握运用C语言解决实际问题的能力。因此无论在课堂上讲的例题,还是课后布置的作业,都可以设计一些与专业相关的实用性较强的题目,来培养学生的创新能力和自主学习能力。
当然,一门课程的教学效果如何,除了教师的精心组织和讲解之外,学生的学习积极性也是一个关键。只有教师和学生共同努力,充分互动,才能切实提高教学效果,才能真正让学生学有所获,才能避免理论与实践脱钩,也才能充分调动学生的积极性。
参考文献:
[1]牛继来.C语言程序设计初学者入门方法探讨[J].电脑知识与技术,2011(31)