教学论文——计算机等级考试与计算机语言课的教学(2000-05)
推荐给好友
打印
加入收藏
更新于2009-03-08 07:25:27

计算机等级考试和计算机语言课的教学

20005

一、引子

    98年和99年,笔者连续两年参与了由省教委和省高校计算机基础教育研究会组织的计算机等级考试的命题和阅卷工作。其中,98年考试为笔试+机试,笔试部分(选择题)用机器判卷,机试部分(编程题)用人工判卷(主要看结果,个别题看程序);99年考试取消笔试只有机试,在四道大题中,一道(选择题)用机器判卷,其余3道(编程题)用人工判卷。从机试卷阅卷和原始得分来看,成绩并不理想,特别是CPASCAL的机试编程题,零分出现太多,通过率太低,令人感到沮丧。所以,笔者从去年开始就想写篇文章,以便分析个中情况,为今后参加等级考试的学生和参与教学环节的老师提供一些信息与帮助。

 

    在下面的文字中,笔者拟介绍和探讨以下3点:计算机等级水平考试、计算机语言课的教学目标和要求、如何提高语言课的教学效率和学生的语言应用能力。文中所述的观点,有些已有共识,有些则纯属个人看法,提出来供大家讨论和交流。

二、计算机等级水平考试

 

        目前,在国家和河南省一级均组织有计算机等级水平考试,但二者从面向到操作并不完全相同:由国家组织的计算机等级水平考试面向社会(收60元报名费),每年举办两次,分一、二、三、四共4个级别;由河南省组织的计算机等级水平考试面向本省大专院校的学生(收20元报名费),每年举办一次,98年以前曾安排3个级别(一到三级),从99年开始不再安排三级考试(该级别考生数量太少)。

 

    同一级别的两种考试,其要求和难度大体相同,其中:一级主要考计算机常识和计算机常规操作;二级主要考计算机软、硬件基础知识和计算机语言的应用能力;三级分偏软和偏硬两个方向,所考计算机知识更加深入、且偏向计算机的不同应用领域,如三级偏软,其笔试为一张试卷、但同时含有不同方向(管理信息系统、科学计算和CAD)的选做题。从报考情况来看,大量考生报考二级,有些文科类考生报考一级,只有少量的考生报考三级。至于考试的形式和特点,下面我们拿二、三级考试来做一个比较。 

    ① 国家的二、三级考试均为笔试+机试,目前已推出DOSWINDOWS两个版本。其中,二级考试按语种分为5张试卷(BASICFORTRANPASCALC及数据库);而三级机试所有方向用同一张试卷(用C语言出题和实现)。此外,国家考试的题型主要是选择与填空,机试题亦然,办法是给出程序的大体框架和局部内容,让考生填补其中的空档。笔者的总体感觉是每个题目的规模不算太大,但题目总量偏大。  

 

    ② 河南省目前已无三级考试。二级考试只含机试,分算法语言与数据库语言两种试卷。之所以将数据库语言单独设卷,主要是考虑到它的功能更侧重于库的组织和管理,与算法语言有所不同。二级考试题型主要是选择和编程,具体地说,前一部分为选择题,考计算机的软、硬件基础知识,两种试卷完全相同,将来由机器判卷;后一部分为编程题,强调算法,一般安排3~4道,出题时要求分成3个档次,其中难度低的题一般考生应能完成,而难度大的题只有少数考生能够完成。两种试卷的编程均不限具体的语种,考生可选任何一种自己熟悉的编程工具,比如算法语言可选不同版本的BASICFORTRANPASCALC等,数据库语言可选不同版本的FOXBASEFOXPRO等。判卷时,编程题主要看程序结果。与国家级考试相比,总的感觉是题量不是太大,但编程题有一定的规模和难度。

 

    比较两种考试的通过率,国家考试要略高一些。究其原因,与考试收费较高、参考人员比较重视不无关系,与考题题型(选择题多题碎量大)和难度(单题难度较小)也有一定关系。

 

    由于考试对象不同,原国家教委曾明确规定,高等院校不得组织学生参加由国家组织的计算机等级水平考试。笔者理解,此举是为了避免对高校正常的计算机教学造成冲击。但实际上,由于国家考试发证是“全国粮票”,省级考试发证是“地方粮票”,所以仍有一些学生以个人名义参加全国一级的考试,特别是一些民办高校(如郑州升达经贸管理学院),因学生就业压力较大,每年学校都会组织学生参加国家级的考试。

 

    自93年以来,我院(指河南工业大学的前身郑州粮食学院,下同)参加了历年由省里组织的计算机等级水平考试,参加项目主要是二级考试,其总体水平在省内高校中曾位居中上,总的情况是笔试成绩优于机试成绩。但是,近年来报考人数和通过率有所下降,总结原因大概有这么几条:

 

    ① 省级考试最后发证为“地方粮票”,对考生的吸引力减弱。针对这一点,目前已在酝酿新的方案,即几省联合、各省仍单独组织,但最后发证为统一形式。此外,以往的通过率不高,也影响到某些学生的报考。

 

    ② 语言课环节强调算法不够,有的考生连最简单的算法题也做不出来,直接影响考试成绩。

 

    ③ 部分考生上机能力较差,当考试形式由笔试+机试变为纯机试时,正好突出了他们的弱点。此外,校内考试一般以笔试为主,其判卷方式与机试相去较远。比如,一个程序有一处小错,机器调试就过不去,若不能及时排除,必然得不到正确结果,其机试成绩只能是零;而同样情况下,老师对笔试的判卷往往要“仁慈”得多,所以部分考生在校内考试时能顺利过关,在等级考试时却过不了关。这也是笔试成绩一般要优于机试成绩的原因。

 

    ④ 有些考生对考试重视不够或准备不充分,有些考生心理素质较差,考试时缺考、紧张、手忙脚乱,导致表现不佳。

三、计算机语言课的教学目标和要求

 

    实施非计算机专业的计算机基础教育,目前分3个层次进行,即:计算机文化基础、计算机技术基础、计算机应用基础。各类高校中广泛开设的计算机语言课(这里主要指计算机高级语言课)属于它的第二个层次,但不同的学校和专业,在语种选择、开课门数,学时长短及考试方式上各不相同。具体到我院的非计算机专业,现开设有下面几门高级语言:

 

    ① FORTRAN语言——世界上第一个广泛使用的高级语言,有很强的计算功能,由于其使用历史悠长,所以留下了丰富的程序资源,并在某些行业中形成传统优势。在我院,它被建筑、机械、化工等专业所采用,其它院校(如上海同济大学,郑州测绘学院等)也有很多专业采用。目前使用的较新版本为FORTRAN 90

 

    ② BASIC语言——因内涵小、简单易学,为初学者和更多的专业所采用,在我院,开BASIC的面积最大。BASIC语言在发展中先后形成多个版本,如:基本BASICTrue BASIC(将BASIC最早结构化)、Quick BASIC(提供集成化环境、是WINDOWS平台提供的一个标准工具)、Visual BASIC(提供Windows下可视化的编程手段)等,我校开设的QBASICQuick BASIC的简化版本。

 

    ③ C语言——其特点是接近硬件和系统低层软件,有很高的编程效率和程序运行效率,常被用来编制系统软件、大型软件和控制软件,受到各类程序员的普遍欢迎,但相对比较难学,一般可作为第二门高级语言来开设。当前,我院C语言课的使用版本是Turbo C。如果学生需要进一步学习WINDOWS编程和面向对象的C++语言,最好先有C的基础;但CC++的一个子集,所以也有先不学C、上来就学C++(选用Borland C++Visual C++)的。

 

    ④ 数据库语言——配合数据库管理使用的语言,主要功能是进行数据库的管理和数据的简单处理。其计算功能相对较弱,所以授课环节一般不太强调算法。为使学生得到算法训练,在学习该课之前,最好先有一门算法语言的基础。文科及管理类专业在该课之后可考虑安排管理信息系统课或做一个课程设计,以培养学生的系统设计能力和锻炼他们的动手能力。(小型)数据库语言先后有多个版本出现,如dBASEFOXBASEFOXPRO等,其中,FOXPRO又分For DOSFor WINDOWSVisual FOXPRO等不同的版本。当前我院使用的是FOXPRO For DOS

 

    为便于组织教学,作为第一门语言课,其学时由学校统一为:算法语言60学时、数据库语言64学时,其中均含20学时的实验。

 

    在罗列了以上资料后,人们会问:这些语言课的共性是什么?作为第一门计算机语言课,其教学目标和要求到底是什么?重点又是什么?笔者的观点可以概括为以下几点:

 

    ① 学习计算机语言课的目的之一,是让学生了解计算机在高级语言这一级的工作方式。只要真正学会了一种语言,一旦需要,再去改学或改用别的语言,那就简单多了。

 

    ② 通过学习一门计算机高级语言,要求学生能利用该语言所提供的手段和资源来解决典型的算法问题。虽然不同的语言各有特色、各有所长,但它们中共性的东西更多,所以一般的算法都能很好地实现。下表是笔者的一个观点,它描述了学生在计算机应用能力上的不同层次,其中,语言应用能力与一般软硬件的使用能力相比是一种更高级、更深层的应用能力。

 

 

操作系统(DOS/Windows)的使用能力

常用计算机设备的使用能力

通用软件(如OFFICE)的使用能力

专用软件(如AutoCAD)的使用能力

语言应用(编程调试、典型算法与数据结构、界面设计)能力

 

低层软件、硬器件、接口芯片的使用能力

软件工程的开发技术和管理能力

 

 

    ③ 不管是哪一种语言,也不管其内涵是大是小,都应大致包括以下的教学内容: 

  • 一般的语法规则和主要关键字。
  • 上机环境和语言处理的具体过程。
  • 程序和数据存储的概念(代码区和数据区)。
  • 程序/程序模块的运行和调用过程(断点地址、入口地址、堆栈、参数)。*
  • 构成结构化程序的基本结构(顺序、选择、当型与直到型循环)。*
  • 典型的算法(数值运算算法,如:级数求和、数组遍历、穷举、迭代、递归等,非数值运算算法,如:检索、排序、字符串操作等),以及与之结合的典型的数据结构(常量、变量、数组、文件,有的语言课涉及到指针、结构体、链表等)。*
  • 其它资源(由系统提供的函数、用于人机界面的手段、系统低层资源的利用)。 

    笔者认为,学生的语言应用能力应主要通过算法训练来加以培养,所以,在上面诸项中,尾部打星号的环节更为重要,应该在各教学环节中加以突出。

 

    当前,由于微机性能和操作平台的提升,应用程序的规模越来越大,功能越来越强,界面也越来越友好,使用者在应用自如的同时也变得越发“傻瓜”化,那么,语言课的学习是否还有必要?此外,为了编写WINDOWS平台下的应用程序,是否需要在语言课中引入可视化编程技术?选用什么工具?怎样引入有关的概念和技术?这些问题都值得好好探讨。

 

    对前一问题,笔者认为,计算机语言的应用能力是一种基本素质,一个现代大学生不能没有这方面的训练。对于后一问题,已有一些学校在进行大胆的探索:如南阳理工学院上来就开Visual BASIC,轻工学院准备上来就开Delphi(一种建立在PASCAL基础上的可视化编程工具),这些做法似乎有点激进,有待于进一步观察。笔者还是倾向于分两步来走:① 语言课负责解决程序结构和算法、培养学生的语言应用能力;② 可视化编程可作为一门选修课来处理,负责介绍面向对象的概念、WINDOWS编程机制和人机界面的可视化设计等,具体工具可在Visual BASIC、Delphi和C++ Builder中选择。如果硬在第一门语言课中再纳入更多的内容,将会使任务变得十分沉重,结果很可能是界面设计冲淡了算法设计。 

      四、如何提高语言课的教学效率和学生的语言应用能力

 
    关于如何提高语言课的教学效率和学生的语言应用能力,笔者认为可以从以下几个方面入手:

    ① 授课环节充分强调算法,注意总结算法规律。在讲程序结构、数据结构、并介绍典型算法的时候,注意不要把算法例子仅仅处理成语法或程序结构的例子。典型算法一定要求学生掌握,并能举一反三。

    ② 加大上机实践的份量。除课内上机外,可向学生布置课外上机任务,比如,学生作业可滞后上缴,等上机调试后再缴也许效果更好。

    ③ 教学内容进一步分清主次:有些详讲、有些略讲,对一些繁杂琐碎的内容要有取舍和归纳。比如,对非结构化的编程手段(诸如BASIC中用IF-THEN/GOTO实现循环和FORTRAN中一些老的非结构化成分)就不必多讲,对各种繁琐的输入输出格式不必面面俱到。

    ④ 改革考试形式,引导学生自觉增强计算机语言的应用能力。据悉,省内少数高校(如郑州工业大学、郑州轻工学院)要求学生必须参加计算机等级考试,并用该成绩来构成其语言课的成绩;另,北京航空航天大学的语言课考试已采用机器出卷、随到随考的方式。具体到我院,因通过率较低采用前一做法似还不够成熟;对后一做法笔者比较赞成,有待进一步研究和实施。 

                       关于该文的补充说明 


                                        2008年9月 

    这篇文章写得比较早,目前许多情况已发生了变化:

    1、具体承办该考试的河南省高校计算机基础教育研究会已演变为河南省计算机教育研究会,其业务范围已进一步拓展到计算机专业教育的领域。除原来的本科院校外,其成员单位也扩展到高职高专院校。

    2、考试平台已由DOS升级到WINDOWS,并采用服务器/浏览器的考试环境。考试系统经多次改进已日趋成熟,并研制了新的校园版考试系统。每年的考试次数也由一次改为两次,大约一次在每年的6月中旬,一次在12月中旬。

    3、文管一级考试已改为文管二级考试,其中增加了数据库应用的内容。这样所有的考试都统一为二级,不再安排一级和三级考试。目前每年有大量考生、特别是专科类考生参加了文管类的二级考试,其总数占到参考考生的一半以上。

    4、机试试卷只分两类,即文管类和理工类。文管类的题目构成为:计算机软硬件基础知识(30道单选题)、一道WORD应用题、一道EXCEL或PowerPoint应用题、4道数据库命令级应用题。理工类的题目构成为:计算机软硬件基础知识(同文管类)、一道累加累乘类编程题、两道由考生三选二的编程题,内容包括过程类编程、文件操作类编程、可视化编程或其他类型的编程。

    5、所有考试试题均来自系统配备的试题题库,由系统自动抽取。每年试题会有一定的变化,题库也逐年有所扩大。

    6、所有考试仍不拘计算机语言的具体语种,但适考语种范围已明显有所变化。如理工类的FORTRAN、基本BASIC和PASCAL等语种的考试已日渐式微,很少有人再报名考它们,所以已经被取消或准备取消,而新增了Visual BASIC的考试试题。而文管类的数据库管理试题也包容了SQL、ACCESE和Visual FORXPRO等提供的形式不同的操作命令。

    7、考试阅卷方式也有所变化,即所有编程题都阅读考生的答案和具体程序,出错时根据其错误性质和严重程度适当给小分,所以考试试题零分的情况也已大大减少。另外,针对C语言考试通过率低的情况,酌情适当降低通过门槛。

 
    8、包括我校在内的计算机语言课已将支持可视化编程的语言工具,如Visual BASIC作为学习编程的第一计算机语言。这得益于一批走在前面的高校的大胆探索和由此形成的一批适用教材。

 
    9、有的学校将该考试成绩与学生的语言课成绩直接挂钩,有的学校部分挂钩,上面没有要求,具体由各校自己掌握,但挂钩越紧密的学校学生参考人数越多,成绩也明显越好。

   

    WINDOWS<span style="FONT-FAMILY:

相关链接


 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.