HI,欢迎来到学术之家股权代码  102064
0
首页 精品范文 二级c语言程序设计

二级c语言程序设计

时间:2023-05-30 10:09:09

开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇二级c语言程序设计,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。

二级c语言程序设计

第1篇

1、一级考试科目:计算机基础及MSOffice应用、计算机基础及WPSOffice应用、计算机基础及Photoshop应用、网络安全素质教育,一共四个科目。于四个科目中选择一个参加考试并通过即可。

2、二级考试科目:C语言程序设计、C++语言程序设计、Java语言程序设计、VB语言程序设计、Web程序设计、Python语言程序设计、Access数据库程序设计、MySQL数据库程序设计、MSOffice高级应用共九个科目。于九个科目中选择一个参加考试并过关即可。2020年9月“VB语言程序设计”科目将进行最后一次组考,2020年12月起将停考该科目。

3、三级考试科目:网络技术、数据库技术、信息安全技术、嵌入式系统开发技术、Linux应用与开发技术共五个科目。其中,“Linux应用与开发技术”科目将于2020年9月首次开考。

4、四级考试科目:网络工程师、数据库工程师、软件测试工程师、信息安全工程师、Linux应用与开发工程师,共五个考核项目。其中,“Linux应用与开发工程师”项目将于2020年9月首次开考。

(来源:文章屋网 )

第2篇

一、如何应对全国计算机二级等级考试的公共基础知识大纲

计算机二级考试大纲中关于基础知识的有数据结构与算法、程序设计基础、软件工程基础、数据库设计基础四部分,下面笔者分别介绍一下这些部分的学习重点和方法:

1.数据结构与算法。

本章内容在计算机专业基础课中相对较复杂,考生对本章的内容必须理解,死记硬背是无效的。在二级等级考试中本章考核的重点和难点为二叉树的相关知识,其考核的形式主要为二叉树的遍历问题(如给图求遍历序列,给前序、中序遍历求后序遍历等)、二叉树的结点问题(如给出一些条件然后求叶子结点个数)、排序和查找。排序主要以计算时间复杂度的形式考核,查找主要以计算最佳、最坏比较次数的方式考核,其余的知识点主要以概念的形式考核,考生需要仔细看书并理解。

2.程序设计基础与软件工程基础。

这两章以概述的形式简介了规范化开发软件的方法。与数据结构不同,这两章内容主要是记忆性的知识点。程序设计基础这章在原大纲的基础上添加了面向对象程序设计的内容,考生对这部分知识了解即可;软件工程基础这章主要考核结构化分析、结构化设计方法(即SA及SD,约占50%)、软件测试(约占20%),考生需熟记相关的概念及规则。

3.数据库设计基础。

数据库是当前软件处理的信息核心,目前大部分软件是基于数据库的,因此,考生学习数据库的知识对程序开发是大有裨益的。本章主要的考点是关系模型、关系代数及数据库系统的基本概念,考生对其余的知识点了解即可。对于数据库的设计和管理,考生结合软件工程来看,会发现这两者有很多相似之处。本章内容除了关系代数会考一些简单的计算问题外,其余的都以概念题的形式出现,考生需要有针对性地进行复习。

二、二级公共基础知识的特点

大纲对全国计算机二级等级考试作了重大的调整:在取消了过时的考试科目和调整了一些科目的考试之外,新增加了目前比较流行的计算机语言C++、Java和Access数据库。公共基础知识的考核方式为笔试,与C语言程序设计、C++语言程序设计、Java语言程序设计、Visual Basic语言程序设计、Visual FoxPro数据库程序设计或Access数据库程序设计的笔试部分合为一张试卷,共有10道选择题和5道填空题,占全国计算机二级等级考试笔试总分的30%。公共基础知识部分的试题具有如下特点:

1.涉及面广,但难度小。

全国计算机二级等级考试中有关公共基础知识部分涉及的内容,从整体上分析,考核内容的难度不大,考点也相对比较集中。

2.考核重点为基本概念、基本方法和基本运算。

考试中涉及的题目都是基本概念、基本方法和基本运算,考核以概念和认识性内容为主,理解性、应用性内容极少。

3.考核重点是数据结构和算法。

数据结构和算法、程序设计基础、软件工程基础、数据库设计基础部分各占公共基础知识部分题目的百分比分别为:50%、12.5%、18.75%、18.75%,可见在全国计算机二级考试中,数据结构和算法是重点。

三、学习方法

1.考生的复习必须遵守“80/20的原则”。

全国计算机二级等级考试的公共基础知识部分覆盖面广,它至少涵盖了计算机应用专业的四门核心课程:数据结构与算法、程序设计基础、软件工程基础、数据库设计基础。事实上,这些课程本身的涉及面就很广,难度系数较大。所以,考生应把80%的时间用在20%的重点知识点上,争取用20%的重点知识点来答对80%的考题,这是考生复习全国计算机二级等级考试的公共知识部分的总体思路。

2.复习的关键是考生必须准确判断和掌握常见的考点。

考生必须准确判断和掌握常见考点,例如:算法部分主要考查算法的概念及算法的复杂度,数据结构部分主要考查最基本的概念、最典型的数据结构和最常见的操作,程序设计部分主要考查程序设计风格的基本要求、结构化程序设计的最基本知识和面向对象程序设计的最常见概念,软件工程基础部分主要考查软件工程的基本概念和软件生命周期的各个阶段的基础知识,数据库设计基础部分主要考查数据库基本概念、数据模型、关系代数基础知识、数据库设计方法和步骤。考生对常见考点的准确把握能避免盲目地复习,从而轻松面对考试。

3.基础知识的掌握方法。

很多考生在复习公共基础部分时都会发现内容零散,知识点之间的跳跃性大,似乎没有连续性。所以掌握起来很困难,似懂非懂,对知识点处于模糊认知状态。因此,考生必须在准确把握知识点的基础上,学会把“知识点”连成“知识链”,并把“知识链”织成“知识网”。

4.做题技巧。

考生切勿采取题海战术。对全国计算机二级等级考试公共知识部分,学生没有必要做大量的题目,更不能为了应付考试记一大堆错误答案。

5.非“灵活”地掌握知识点。

考生在掌握知识点时最好经历一个“先死后活、熟能生巧”的过程。全国计算机二级等级考试要求的知识点都是最基本的、最简单的,真正需要“灵活”掌握的考点极少。很多考生在考试过程中发现,该部分的题目“会做就是不懂”。所以笔者建议考生在复习过程中不要急于“灵活”,其实考生只要掌握基本的知识点,自然就“灵活”了。

6.答题技巧。

考生在遇到难题时要考虑成本和效果的关系,公共知识部分仅占30分,题目相对简单。因此,考生在答题过程中,对这部分内容要争取速度快、准确度高。在全国计算机二级等级考试中常常出现这样的情景:有些考生为了一道小题花费很长时间仍没有找到任何线索。一般来说,公共知识部分的考题难度不大,没有一道题目需要考虑很长时间。所以,考生如果做一道公共基础题在两分钟内没有任何思路时,就应该跳过此题,把时间留给后面的题目。

参考文献:

[1]全国计算机等级考试二级教程――公共基础.2008.

第3篇

【关键词】C语言程序设计,for循环,教学设计

在计算机应用专业课程体系中《C语言程序设计》占有重要地位,是专业职业基础课,它采用的是结构化的程序设计编程思想,巨集了高级语言和低级语言的功能,适合很多硬件的平台,既可以用来开发系统软件,也可以开发应用软件,是目前较流行的程序设计语言。在课堂教学过程中,教师的教学设计,将对教学效果产生直接的影响。因此教师必须对教学进行恰当的设计,提高教学的质量。

一、教材及内容分析

1、教材的地位与作用。教材是教学的依据,是教师在教学中的主要参考书,但是并不等于是教师的讲稿。在教学过程中教师要认真分析、正确理解和把握好教材,仔细分析教材的知识结构、内在联系、明确教材在知识体系中的地位与作用,它将关系到教师课堂的组织和实施、课堂教学目标的实现等等。

2、教学内容的选取。课堂教学中,教师不能照本宣科。有些教材涉及内容比较广泛,大部分都是文字叙述,因此,对教学内容的选取要具有适用性、针对性,结合教学目标,教学的重点、难点选取教学内容。

二、教学对象分析

教师上课课前应该了解学生自身的特点,分析学生的基础水平,分析学生的学习风格、分析学生的学习动机等等。

1、C语言程序设计循环结构循环中,主要介绍了循环结构程序设计中的while语句和do while、for循环语句。For循环语句的内容是学生掌握了C语言的基本语法知识和顺序结构、选择结构程序的设计,并学习了while语句和do while语句,对循环语句的进一步学习。因此学生有了一定的学习基础。

2、for循环语句是较灵活的语句之一,学生在学习过程中会难以掌握。在教学过程中教师应结合一些有趣的程序,提高学生的学习兴趣,兴趣是最好的老师。利用这里有利的条件,引导学生全身心投入课堂。

三、教学目标确定

教师教学过程中应该明确课堂教学目标。学生应掌握哪些知识,通过所学的知识应解决什么问题等等。结合教学的内容以及学生的特点,学生现有基本知识确定教学目标。

1、知识目标:掌握for循环语句的结构,理解for循环的执行过程。

2、能力目标:能使用for循环语句编写C语言程序,并能运用for循环语句解决程序设计中的实际问题。

3、素质目标:培养学生学习的主观能动性,激发学生学习热情,以及培养团队合作的精神。

四、教学重点及难点的确定

堂课教学中应明确教学目标,突出教学重点,突破教学的难点。重点、难点是教学精髓,教学的重点、难点如何处理,决定着课堂教学效果的好坏,反映着教师教学水平的高低。C语言程序设计循环结构程序中,要使用for循环语句进行程序设计,首先要求学生要掌握语句的基本格式,理解各个表达式的作用,以及执行过程,所以C语言程序设计中for循环语句的重点是“for语句的结构”。学生掌握语句的结构和用法并不困难,难的是在实际的应用中那些时候该使用那种循环来解决问题比较简洁、高效,所以我把本节课的难点确定为“for语句的应用”。

五、for循环语句教学方法的选择与运用

课堂教学方法的选择与运用是非常重要的,对教学的质量有着直接的影响,应灵活的选用适合学生的教学方法。C语言程序设计中for循环语句教学以行动导向教学为主线,通过“提出问题―分析问题―解决问题―问题扩展―讨论―总结归纳―实践”的程序,过渡到知识应用和练习。提出问题,要求使用while和do while语句实现,然后利用知识的正迁移效应,在总结了while和do while语句在使用中容易出现的问题后,利用学生“有没有一种语句和方法能解决这些问题”的悬念来激发学生学习本节课内容的兴趣。

本次课采用多媒体课件进行教学,通过课件把文字和图片有机的结合,使学生在学习过程中更加容易理解,学习效率高。在课堂讨论和实践过程中,教师适当引导,学生主动探究、归纳总结学习内容,既有利于学习新东西,又能充分发挥学生的主体作用。在重点的突破上,采用范例比较教学法,给出具体的案例,让学生通过典型的例子掌握知识,同时通过用while、do while语句的所编写的程序进行比较,加深学生印象,让学生快速的掌握for循环语句的基本结构及使用方法。

六、for循环语句教学过程设计分析

七、结束语

由于学生的学习能力不够强,教师在教学过程中,应结合学生的学习特点,把知识的难度降到最低,以通俗易懂的语言来教学,并注重培养学生的综合素质。在教学活动过程中,想学生之所想,急学生之所急,一切从学生需要出发,让学生在快乐中学习,在学习中感受快乐。

参考文献:

[1]谭浩强.C语言程序设计[M]. 清华大学出版社.

第4篇

关键词:《C语言程序设计》;教学内容;实验内容;课后思考;考核方式

中图分类号:G642文献标识码:A文章编号:1009-3044(2011)20-4917-01

《C语言程序设计》在各高等院校广泛开设。不同学校的学生对这门课程要求不一样,对一般本科院校的学生来说,这门课程难度偏大,学习起来有一定困难,不易学习!随着课程教学的改革,许多学校对这门课程课时进行了压缩,教师根据课时也进行教学调整,随着课时减少,很多学生没有养成自学的习惯,导致教学效果不理想。《C语言程序设计》对大部分学生,是接触的第一门计算机语言课程;它学不好,直接影响到学生后面对计算机学科的学习,数据结构、算法分析等课程也就很难开展。根据以上现象,本文拟从教学内容、实验内容、课后思考以及考核方式等方面进行探讨,提出《C语言程序设计》教学改革方案;期望跟任课教师交流学习,共同提高教学质量,培养学生C语言的编程能力。

1 教学内容调整

由于C语言涉及的概念比较复杂,规则繁多,使用灵活,容易出错,不少初学者感到困难,迫切希望能找到一本容易入门、容易学习的C语言教材。对目前国内各高校使用教材分析发现,C语言教材章节安排一般如下:C语言概述,算法,数据类型、运算符与表达式、顺序程序设计、选择程序设计、循环控制、数组、函数、预处理命令、指针、结构体与共用体、位运算、文件等[1]。这样的安排很符合学习逻辑,但很多教材数据类型、运算符与表达式论述过多,弄的很复杂,在没有计算机组成原理的知识背景下对数据类型、码制等问题的学习,几乎不可能做到真正理解;如果在这些内容花过多篇幅描述,或花过多时间讲解,会把学生刚从第一章中学习了几个C程序例子激发学C语言的激情慢慢抹灭,甚至有的学生因为理解不了,对学C语言产生害怕的心理,不利以学生的学习。

针对上述问题,对教学内容调整如下。第一章概述精细讲解几个例子(输出、2个数加法、2个数最大数),第2章只精细讲解一个例子(5!阶乘),其他的例子简单讲解,第3章讲解数据类型时,只要求学生掌握基本数据类型定义,对基本类型存储、范围、类型转换可以后面章节例题中讲解。顺序结构可以跟基本数据类型合并起来讲解,使学生上机、实验都有了练习的内容,持续了学生学习C语言的热情。一般院校学生的学习主动性不是太好,保持学生的学习兴趣很重要。

2 实验内容思考

实验是提高学生实践能力的主要途径之一。在学习C语言过程中,经常会听到学生说:“上课我能听懂老师所讲的,下课让我自己编写程序,我就不知道怎么入手了。”这样的现象在刚开始学C语言的学生中普遍存在;这种现象会打击学生的积极性,也不利教师教学。在刚开始教学的章节,教师可以固化下简单程序编程的步骤。如一个程序体有4部分组成,变量声明(变量定义)部分、输入部分、数据加工、输出部分;通过输出思考程序输入,通过输入、输出来确定程序的变量,再通过原始数据推导数据加工。当学生把这几个问题都弄清楚了,也就能顺利写出程序。经过前面章节简单程序的编写,到函数章节时,再提高学生对复杂程序编写能力。

实践教学内容的设计上,以巩固和综合运用课程上讲解的主要知识点为主线,内容应该具有趣味性和实用性,以从简单到复杂的任务驱动方式,要求学生从一个代码较短的程序开始逐渐完成一个代码较长的实验程序的设计。要求题目可以如下:身高预测、模拟计算器、猜数游戏、小学生算术测试、餐饮服务质量打分、学生成绩管理、模拟数字式时钟等[2]。

3 课后习题思考

随着课程教学的改革,C语言课时也大大被缩减;但是编程能力提高唯一的方法就是多读程序多写程。一般院校学生学习的自觉性普通不高,这就要求教师督促和施压;因此,课后习题布置和课后指导学习是很有必要的。课后习题的布置,可以不局限于课本;比如国家计算机等级考试二级C语言的历年真题、国家软件资格水平考试程序员级别的历年真题等都是很好的题材;程序员考试的题目更注重学生的编程能力和程序的实用性。面授时间短、学生多等原因是教师不能回答每个学生的问题,所以教师也可以建立教学网站,方便随时跟学生交流、答疑,也方便教师把课程资源共享。

4 考核方式改革

编程能力是这门课程考查的重点。什么样的考查方式能更科学地反映学生的编程能力?一直是广大教育者思考的问题。传统的考核方式主要是以笔试,理论考试为主,这经常会出现“高分低能”的现象。

C语言的考试可以不进行理论笔试;期末考试以实践环节的考核加答辩的方式。 做到不仅考理论, 同时还要考实际编程能力。平时成绩、实践考核成绩、期末考试成绩按 20%: 20%: 60%的比例评定综合成绩。

实践考查方式如下。学生可以根据自己的能力选择相应题目,进行协作完成;考查题目:1)贪吃蛇游戏;2)蓝黄棋游戏;3)五子棋游戏;4)推箱子游戏;5)骑士游历问题;6)八皇后问题;7)C语言课程设计综合应用实例――学生成绩管理;不懂的学生可以通过跟其他同学协助讨论、查找资料实现程序;对学生考查,采用答辩的方式;从4个方面进行考查: 1)程序的运行情况。A.好;B. 中;C. 差。2)对程序的结构解释。A. 好;B. 中 ;C.差。3)对某些局部模块的详细解释。A.好;B.中;C.差。4)对某些语句的现场编写情况。A.好;B.中 ;C.差。这些题目难度多层次,要经过看书学习,查资料跟同学讨论协助完成;通过答辩,评定学生对理论知识、程序的掌握程度以及编程能力并给学生建议。通过这种方式让编程能力好的学生带动其他学生,让其他学生体会学习的乐趣,编程的乐趣;让同学间互相协助。经过实验这种方法可行有效,但需要教师答辩,花费教师过多时间。

5 结束语

《C语言程序设计》的教学改革应围绕“以课程知识点为核心,以提高学生程序设计能力为主线,培养解决实际问题的应用型人才为目标”的思想,抓好课程理论、实验、考核的每一个环节,重点突出理论与实践相结合[3],根据学生实际情况,因材施教;培养出应用型程序设计人才以及提高教学质量。社会需求、生源都在不断变化,教学改革是个永久性的课题,要求教育工作者与时俱进不断改革创新,寻求适合的教育方法。

参考文献:

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

第5篇

1.熟练掌握C语言的基本知识;

2.具备基本的C语言程序设计能力,能熟练地阅读、理解和编制简短的C语言程序;

3.掌握C语言的编译和调试。

考试范围和要求

一 、源程序结构

1. 理解C程序的组成;

2. 熟练掌握主函数main。

二、数据定义

1. 基本类型:整型、实型、字符型。

(1)熟练掌握基本数据类型的常量表示,包括:整数的十进制、八进制、十六进制;实数的十进制小数形式和指数形式;字符常量和字符串常量;

(2)熟练掌握变量的命名规则;

(3)熟练掌握整型、实型、字符型变量定义、赋值和使用。

2. 构造类型:数组、结构体。

(1)熟练掌握一维数组的定义、初始化及一维数组元素的引用;

(2)掌握二维数组的定义、初始化及二维数组元素的引用;

(3)熟练掌握字符数组的定义和初始化方法;

(4)熟练掌握字符串的存储,字符串的处理;

(5)能应用一维数组解决简单的应用问题,如遍历、检索、排序等;

(6)能应用二维数组处理矩阵运算;

(7)掌握结构体类型定义、结构体变量的定义和初始化,正确引用结构体变量成员,掌握结构体的简单应用编程。

3. 指针

(1)正确理解指针的概念;

(2)熟练掌握指向各种类型的指针变量的定义和初始化,指针变量的一般使用;

(3)理解指针与一维数组的关系;

(4)熟练掌握指针在字符串处理中的应用;

(5)了解指向指针的指针(二级指针)。

4. 变量的存储类别、作用域和生存期

(1)了解变量的存储类别,包括auto 自动型、static 静态型、extern 外部参照型;

(2)能正确运用全局变量和局部变量。

三、运算符与表达式

1.熟练掌握运算符的功能、目数、优先级和结合性。包括:算术运算符、自增(++)和自减(--)运算符、关系运算符、逻辑运算符、赋值运算符、复合赋值运算符、逗号运算符、条件运算符、位操作运算符。

2.熟练掌握隐式类型转换和强制类型转换;

3.熟练掌握各类表达式的计算规则及应用。

四、预处理命令

1.理解编译预处理;

2.正确定义和使用宏,包括不带参数的宏、带参数的宏;

3.正确使用文件包含命令;

4.了解条件编译。

五、流程控制

1.熟练掌握表达式语句、空语句、复合语句;

2.熟练掌握选择控制语句及应用(if…else…, switch…);

3.熟练掌握循环控制语句及应用(while, do while, for)

4.正确理解break,continue语句的含义,并能熟练运用。

六、函数

1.自定义函数

(1)正确定义函数;

(2)正确理解函数形参与实参的关系,能熟练运用函数参数传递,包括指针作为函数参数;

(3)熟练掌握函数调用方式;

(4)正确运用函数的返回值,包括指针作为返回值。

2.常用的标准库函数

(1)熟练掌握输入/输出函数的应用(如:printf、putchar、puts、scanf、getchar、gets等)。

(2)正确运用数学函数(如:sqrt、fabs、pow等)

(3)熟练掌握字符串函数(如strlen、strcpy、strcmp、strcat等)。

七、文件

1.理解文件的基本概念,文本文件的输入/输出过程;

2.熟练掌握文本文件操作的常用函数及使用(如:fopen,fclose、feof、fprintf、fscanf等)。

八、试卷结构

1.考试时间150分钟。

2.试卷题型及比例:

判断题 约10%

单项选择题 约20%

程序阅读题 约20%

程序改错题 约10%

程序填空题 约20%

程序设计题 约20%

3.试题难易比例

容易题 约40%

中等难度题 约50%

较难题 约10%

九、参考书目:

1.《C程序设计(第2版)》,谭浩强,清华大学出版社,2003

2.《C程序设计题解与上机指导(第2版)》,谭浩强,清华大学出版社,2003

第6篇

关键词:C语言程序设计;教学方法;单片机

中图分类号:G642.4 文献标志码:A 文章编号:1674-9324(2014)10-0066-02

一、引言

随着微电子技术的不断发展和广泛应用,计算机编程语言也越来越丰富,因而学生也被要求具有应对各种语言的学习应用能力,在掌握好C语言后,对于其它语言的学习则游刃有余。基于单片机进行应用系统开发,C语言作为一种高级的编程语言,无论是现在进行嵌入式系统开发的相关企业,还是当前的全国电子设计大赛等学生竞赛中,都越来越受到大家的关注,并将其作为一个主要语言开发工具。故本文提出的基于单片机的C语言教学方法,对结合单片机进行符合实际工程需求的硬件和软件开发的爱好者或学习者有很重要的意义。

二、教学对象

本学期本人所教授的主要课程之一是《C语言程序设计》,所面向的教学对象是大一新生,大多数同学由于在高中阶段很少接触电脑,对于语言的学习更是陌生,而且数学功底比较薄弱,同时,加上学习过程中大多数学生往往缺乏积极性和主动性,遇到困难不能刻苦钻研,往往选择放弃。因此,针对学生的基础情况,教学讲授的进度不能太快,教学的内容不能讲的太过深奥,而且教学方法要灵活多变,结合实际事物进行简单比喻来讲解,只有这样才能较为形象地教好C语言这门课。

三、C语言的应用地位

C语言是一门使用最广泛的程序开发工具编程语言,是极具发展前景的计算机高级语言。其作为一种结构化的程序设计语言,具有相当强的结构性、可移植性和功能性。通过采用C语言进行编程开发可以使众多开发者专心研究所设计程序要实现的功能及相关实现算法,从而有效减少开发和软件调试的时间。C程序设计具有良好的程序结构,对于模块化的程序设计非常适合,故通常会采用从上至下,追求逐步求精的结构化程序设计方法,来将所要实现的功能模块化,不同的功能通过不同的模块去完成。这样易于进行调试工作和方便快捷地管理好大型项目,从而最大限度地减少重复劳动。

四、单片机的应用教学现状

单片机的学习是我院电子类专业需要掌握的一门实践性非常强的专业课程,我院学生通过对其的实践性学习后,能够独立参加全国电子设计大赛,并能较好地完成比赛项目。为使我院的单片机教学效果更好,学生对该门课程掌握的更加牢靠,故需要对单片机的教学进行大胆改革,通过在C语言的课程教学上,结合单片机以及相关的硬件设计知识进行讲解。从我院电子专业开设C程序设计课程以来,通过学生所反映的情况是该门课程比较难学习,而且不知道他们在学完C语言后到底有什么用,能够应用到哪些地方,更不知道将自己的所学应用于单片机的开发中能不能实现目标。故根据以往教师的教学经验,并结合学生反映的情况考虑,本人觉得有必要作出这样的改进,在C语言的课程上,通过结合单片机及相关硬件设计知识来讲解C语言,并从以下几方面引起重视。

五、《C语言程序设计》的课堂教学

1.教学设计前的思考。《C语言程序设计》不仅是电子类专业理工科学生的一门计算机公共必修课程,而且C语言也是作为计算机等级考试(二级)的考试内容之一。C语言对于大部分刚进入大学的学生来说,也是一门比较难的计算机语言课程。要做好这门课程的教学设计,首先要对学生的具体情况有一定程度的了解。该课程通常的教学法是语法格式的讲解、语法要点的逐步讲解和通过例题对语法的应用讲解。这种机械的教学灌输思想枯燥无味,会使学生失去对该门课程的学习兴趣,所以,本人认为应该先要求学生课前对本堂课所要讲解的知识进行预习,并能识记有关知识点,将不理解之处画上记号,待课堂老师讲解时再认真听并理解所教授内容,这样通过教师为主导、学生为主体的方式学习,教师通过精讲相关的硬件设计实例,通过硬件设计所要实现的功能引出相关软件设计,进而将软件设计时所涉及到的相关C知识进行讲解,然后通过另一简单例子让学生自己去通过分析来巩固知识点。

2.结合多媒体的讲解,强化实验及实践能力。因为教师授课的主要对象是大学一年级新生,所以需要教师采用通俗易懂,并结合简单例子进行相关讲解,这样能够使学生容易理解和消化。教学过程中,采用多媒体,通过编程演示加深学生对运用的语法理解和深刻记忆。并把理论知识和硬软件的设计内容进行整合讲解,让每个学生独立完成实际应用实验题。

3.减少和消除学生对程序设计语言的排斥和畏惧感。本人在教学中会引导学生多读程序,在读的过程中领悟和提高。对于软件生存周期的设计、编码、调试、运行这几个阶段,本人可以通过C语言设计实例来体现,以培养学生编程中的工程思想。讲授课程时以提出问题、解决问题、深入拓展问题、再解决问题,对问题进行评价和优化设计的螺旋式滚动教学的方法,收到了不错的教学效果。

教学过程中,对于数组、指针等重要的知识点,则需要制作更生动的课件,提高学生的学习兴趣和主动性。例如,在讲解数组的冒泡法排序时,本人让7位同学分别拿着一个数据牌站到讲台,进行现场模拟气泡排序过程,通过第一次排序找到了该组中的最大值,经过第二次排序找到了次大值,通过现场的模拟以及班上同学的参与,使课堂更加丰富有趣,并且所有同学都能掌握气泡排序的过程。由于在教学中引入的现场模拟,使同学们更容易理解这些抽象的内容,更重要的是碰到类似的问题他们会触类旁通,从而慢慢培养出编程的兴趣。

六、实践培训操作

上机实验是学习程序设计语言的重要环节,自己编写的程序上机调试运行中,可能有很多想不到的错误,通过改正这些错误,可逐步提高自己对C语言语法的理解力。在课程的教学中,会进行阶段性的实训项目,将每一阶段的学习进行小结性的贯穿和提高。将相关的知识点融入到程序的编写中,从而巩固知识点并将琐碎的知识点做一个整合。暑假期间,对于电子爱好的学生进行集中培训,然后按照全国电子设计大赛的要求给大家几个题目做,这几个题目涵盖非常广的知识点,大家如果想编出程序就必须要找到课本的相应知识点进行复习,从而编出程序,学生普遍反映通过集中培训课的锻炼,他们的编程能力有了很大的提高,很多以前不懂的内容通过自己钻研也懂了,通过自己的努力以后也体会到了编出程序的喜悦感,可以说收到不错的成效。

七、结束语

C语言的教学重点是培养学生分析与解决问题的能力,这种能力的培养与学生的刻苦学习分不开,因此,在本人的课堂中会一再强调C语言不是看会的,也不是听会的,而是亲自动手实践练会的。基于单片机的C语言开发和设计,极大地促进了单片机在生产、生活各个领域的应用,提高了程序开发效率。因而,C语言学习效果的好坏,对今后单片机课程的学习具有深远的影响。

参考文献:

[1]向艳.C程序设计课程教学体系和模式探讨[J].计算机教育,2010,(3):112-114.

[2]谭浩强.C语言程序设计教程(第三版)[M].北京:清华大学出版社,2013.

[3]冯运仿.《C语言程序设计》课程教学模式的研究与实践.福建电脑,2012,(1).

第7篇

关键词 C语言 实验教学 任务驱动式

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

C语言是通用的计算机程序设计语言。其数据类型丰富、表达能力强、使用灵活方便、生成目标程序设计代码质量比较高,对硬件也能直接进行操作,因此C语言将作为大部分高校的普遍程序设计的首选课程,也是其编程的基础性课程。学习程序设计必须具有语法规则、算法思想、数据结构和程序设计等方面的知识,C语言比较复杂,教学内容理论性较强,较难掌握,学生易产生厌烦情绪。以前C语言运行环境是以Turbo C2.0为主,现在虽然可以在VC++6.0运行环境下进行编程与调试,但是它的程序运行还不能完全可视化。就对我校高职计算机专业学生的具体调查发现:学完C语言后能熟练掌握、灵活运用的学生为10%左右,基本掌握的学生为45%左右,大部分学生还是不能掌握其编程技巧。为了提高和改善学生学习C语言的教学现状,根据C语言自身特点,探讨新的教学模式和教学方法。以促使提高该课程的教学效果。

1 根据人才培养方案,合理调整其教学内容

高职院校教育的目的是培养生产一线应用型和技能性人才,着重培养学生的学习能力、就业能力、工作转换能力和创业能力。高职学生的学习基础较差,逻辑思维能力较弱,想象空间较窄,因此,在学习C语言程序设计课程时,必须考虑学生的学习能力和基础能力,适当降低理论知识的难度和深度,力求教学内容浅显易懂。在本门课程的教学过程中一般要求学生掌握程序设计的三种程序设计的基本结构、数组、函数、指针等教学内容,对于其中过繁过深的知识,例如指针,结构体等,我们则可以进行取舍,使学生知道它们即可。对于重点、难点的教学内容必须进行详细讲解,使学生不仅掌握它们的理论知识,更能灵活编写类似程序以求解决生活中的实际问题。总之,教学目的是使学生真正掌握并力求能熟练灵活运用C语言进行编程。

2 重视培养模式,培养学生学习兴趣

传统模式下,C语言程序设计课程的教学内容一般则采用黑板式的教学方式来实现。大部分理论知识都要在教室来进行学习,很少在机房来进行程序的编写。C语言程序设计运行环境一般以Turbo C2.0为主,但Turbo C2.0的调试环境采用DOS模式,调试不是很直观,且操作采用命令和键盘来实现,界面不可视化操作使学生很不理解,因此会使学生失去学习的动力和学习的积极性。尽管C语言实用价值很高,但理论性很强的教学内容,很难引起学生的学习兴趣,如果我们再不讲究其教学方法,则难以达到本课程的培养目标。为了改变目前的教学现状,教师必须利用学院现有的教学资源对教学内容进行重新整合,改进以往单一、枯燥乏味的教学模式和教学方式,让知识变得有趣而生动化,从面提高学生的学习兴趣、学习的积极性、学习的动力和学以致用的能力。

3 合理利用多媒体技术,提高教学效果

传统的教学模式是利用黑板式教学手段在教室进行讲授C语言程序设计课程。特别是在讲解如何利用运行环境进行上机步骤、程序调试方法,程序运行过程和程序运行结果的查看等内容时,课堂教学则显得枯燥无味、不够清楚,也不直观,在这种教学方式下,大部分学生则会对C语言这门课程失去学习兴趣、学习的积极性、学习的动力和学习信念。高职院校多年来进教学改革和更新教学设施,基本上来讲,教学设备都比较齐全。先进的多媒体教学手段出现后,被广泛使用在许多课程的教学上,多媒体教学具有直观生动、图文并茂的优势,能够把枯燥无味的理论知识变得生动形象化。但先进的教学手段并不完全代表一定会收到良好的教学效果,教师则必需精心制作出适合自己课程的教学课件,把传统教学不能很好表达的教学重点和教学难点进行重新设计,并与传统教学有机结合,从而达到满意的教学效果。合理利用多媒体技术不仅可以加强学生的学习兴趣,也能激发学生的学习动力和求知欲,使学生真正体会到学习的快乐和满足。

4 加强实践环节,培养学生的编程能力

C语言程序设计是一门实践性很强的课程,学生不仅要掌握C语言的概念,语法规则,又要动手编写程序,并进行上机调试运行得出结果。所以培养学生的实际操作能力则显得尤为重要。在实践课的教学过程中教师必须做到:教师必须为每次上机习题做到精心挑选,认真对待,在实验内容上应做到有较容易的题目,也要有综合性较强的题目,题目要求不仅要顾全验证性、综合性和设计性实验的比例,也要做到使所学的知识内容进行整合,达到学习的系统化。学生在进行实验时,根据学生的学习能力和操作能力,将其分组来进行实验。实验过程中,要求学生根据实验内容再进行分解,教师正确引导学生学会运用正确的思维方法,由易到难,自顶向下,逐步求精,找出解题的关健,并且鼓励他们互相学习、大胆讨论,这样不仅能调动每一位学生的学习动力,也能加强团队精神的培养。

5 考试考核制度的改革

C语言程序设计课程的培养目标是学生的思维能力和实践能力,学生最终成绩评定也是体现学生在整个学习过程的主要评价,采用单一的试卷考试方式已经不能体现出学生的实际能力水平。我们对学生的要求不仅要考学生的知识水平,更注重考核学生的学习能力、知识应用能力、对问题的分析能力和解决实际问题的操作能力综合考评。即要更多地通过关注学生的学习过程,用可持续发展的方略去评价每一位学生,更好地体现评价的激励功能,使其做到促进学生学习的主动性和积极性。建议的考评标准为:理论占40%,实践技能占60%,或进行全国计算机等级二级C语言考试,凡通过者可获得一定奖励。

在目前信息社会中,计算机的应用越来越广,因此,高职院校的责任重大,学院在进行计算机教育中应依据培养目标提出不同的教学要求。使每一位学生在学习C语言时,都能由浅逐深、循序渐进地进行教学培养,教师在学生学习的过程中必须激发学生的兴趣,更新教学理念,充分利用、整合各种教学资源,注重教学模式和教学方法的探索,真正使C语言程序设计这门课程成为学生学习其他计算机编程知识的基石。

参考文献

[1] 张长海.以程序设计为主线为主线讲授“高级语言程序设计”课.计算机教育.2005(5).

[2] 谭浩强.C语言程序设计.清华大学出版社.2002(6).

第8篇

关键词:教学内容;教学手段;教学方法;考核方式

C语言是早期最经典、最强大的面向过程的程序设计语言之一。虽然现在面向过程已经全面转向面向对象,但是C本身的中级语言的设计理念以及对现有VC/C#等语言的深刻影响,使其至今仍是程序设计入门的首选语言,也是工科院校计算机专业学生接触的第一门程序设计语言。对于计算机类专业学生来说,一旦掌握了C语言,就可以较为轻松地学习其他任何一种程序设计语言,为后续的面向对象程序设计以及Java程序设计等语言的学习打下基础;对于其他非计算机专业的工科学生来说,比如电子、机电专业来说,该课程为学生用计算机编程解决实际问题提供了方法,是学习单片机技术教学的基础和重要工具。

一、C语言教学中面临的问题

C语言程序设计是一门基于dos操作系统下的面向过程的程序设计语言,随着面向对象语言的开发,C语言在界面交互性上逊色不少,作品上也不如Flash、三维动画效果吸引眼球,难学、难懂、难以应用的课程,对学生越来越缺乏吸引力。针对这种状况笔者认为,更新教育观念、探索新的教学模式才是根本出路。笔者根据多年的教学经验,对C语言程序设计课程从教学内容、教学手段、教学方法、考核方法方面进行了一系列的创新改革。教学内容主要解决如何调动学生积极性,激发学生创新能力,如何提高学生的创新能力、实践能力、研究能力、发现问题和解决问题能力等综合素质;教学方法主要解决如何实现“以人为本”,分层次教育,如何通过引导、启发等方法,激发学生的发散性思维。同时要利用目前课堂和实验教学在培养学生创新能力和实践能力方面的优点,利用大学生实训基地,为学生的创新和实践能力的锻炼和培养提供一个良好的平台。

二、教学内容的创新

课程内容的选取与组织是课程教学改革的基础。人才培养方案对C语言程序设计教学内容进行重新整合,把课程学习划分成培养学生的基本程序设计能力和培养学生的专业程序设计能力两个阶段。

第一阶段安排在大一第一学期,主要针对没有程序设计经验的大一新生,重点讲授C语言的基本知识,包括三种基本结构、数组、函数的概念。在第一阶段教学中,笔者采用案例教学方法结合具体的程序实例,创设情境,引导学生自己总结掌握C语言的基本语法和程序设计的基本方法。第一阶段的学习结束的时候,学生可以具备基本的程序设计能力,独立编写具有初等难度、几十行的程序,并且能够较顺利地完成程序调试与测试。第二阶段教学放在大一第二学期初,针对具备基础程序设计能力的学生,重点培养学生的专业程序设计能力。在第二阶段的教学中,以学生为主体、以教师为引导,采用国家火炬计划河北省软件人才工程实训课程,使学生融会贯通所学知识,完成一个具体的项目,以达到提高学生程序开发能力的目的。迄今为止,学生完成的项目包括“银行储蓄管理系统”“彩票信息查询系统”。教学实践证明,这种理论和实践技能并行的教学模式,更加有助于学生的创新能力的提高,使学生在不断实践中掌握技能,在技能学习中提高基础理论。

三、教学手段的创新

在学习过程中除了发挥教师的引导作用,还需要充分调动学生的参与主动性。在授课期间灵活采用多种教学手段,如:自学、演示、对比、课堂提问、学生演练和讨论等,通过不同方法,寻找创意思维“契机”,安排创意铺垫内容,培育学生的创意萌芽,营造创意环境,引发学生争鸣,为学生提供更多的思维空间,诱发学生的思维灵感。例如,在教学中讲解“循环结构的循环嵌套”的时候,提出马克思手稿中的数学题的案例:伟大的思想家马克思的手稿中有这样一道有趣的数学题:有30个人,其中有男人、女人和小孩。他们在一家饭馆中吃饭,共花费50先令。如果每个男人吃饭要花3先令,女人要花2先令,每个小孩要花1先令,问男人、女人、小孩各多少人?先提出问题,引导学生分析、讨论案例,提问学生运用数学知识完成案例提出的问题需要进行哪些操作,这样学生就会比较有兴趣,课堂气氛就活跃起来。然后帮助学生从案例分析中理解并掌握什么是多重循环,并且如何使用双重循环解决问题,最终完成程序的编写。

在学习的第二阶段采用开放式训练教育方式,利用专题设计和课外指导方式,鼓励学生课外自主进行训练。如:完成的项目“彩票信息查询系统”,教师提出设计方案,学生完成基本功能以后,自己可以对其他功能进行完善。

四、教学方法的创新

课程每个章节内容结构主要由三部分组成:

知识点:介绍本章需要掌握的知识或技术。

应用案例:介绍本章知识应用的案例。

创新训练:针对具体的问题,应用本章技术来完成知识点的应用。

在整个教学过程中,教师采用框架式教学,像建筑工程师修建筑一样,先采用精讲的方式,让学生建立整门课程的知识框架;接着通过案例教学、项目式教学等多种教学方式,让学生逐步去进行细节知识点的填充;最后通过综合训练方式,完成整门课程的学习。

例如,在讲解C语言程序设计中的函数时,搭建出例如综合排序等程序的框架,给学生留出函数,让学生自由开拓思想,独立完成一些小型实例的编程,经过具体知识点的训练后,还要重点进行综合知识的应用训练,开展一系列的创新应用,以达到知识综合运用和培养创新能力的目的。

五、考核方式的创新

传统的C语言程序设计考核模式一般以标准化的笔试题为主,这种考核方式侧重语法知识的考核,忽视编程实践能力的培养。为此,笔者改革传统的考核方式,将考核分为平时实验和期末考核两部分。平时实验成绩考核的是学生每一章知识,实训作业就是在每一章节结束的时候,布置相关的习题,学生利用业余时间编程,并且在实训期间进行调试,调试成功后上传到服务器上。期末考核成绩采用的是教研室开发的上机考试系统。上机考试系统模拟C语言二级考试建立了知识面齐全、题量充足、难易度合理的试题库,采取随机抽题的形式重点考查学生的程序设计能力和程序调试能力。这种考核方式督促学生在平时学习中加强对编程举一反三的实践环节。实践证明,这样不仅能有效培养学生的实践编程能力,还激发了学生动手实践解决问题的兴趣。

总之,经过不断的摸索与实践,通过以上的教学方法与教学手段的改革和实践,不仅提高了学生的学习兴趣,让学生从枯燥无味的语言学习中解放出来,从被动学习走向主动学习,同时也培养了学生分析问题、解决实际问题的能力,充分发掘了学生的创造潜能,锻炼了创新和协作精神。

参考文献:

[1]郭芹.对高职高专计算机专业程序设计教学的思考[J].中国科技信息,2008(1).

第9篇

[关键词]C语言教学 金字塔原理 知识构建 教学研究

一、引言

C语言程序设计是近年来在国内外得到迅速推广应用的一种计算机语言,它功能丰富,表达力强,使用灵活方便,目标程序运行效率高,兼有高级语言与低级语言的许多特点,许多机型、操作系统都支持C语言开发[1]。C语言的实用性使之成为编程的首选语言,但概念多、规则繁杂、使用灵活、书写方式多变、容易出错,教师教学和学生学习都感到闲难,增加了教学的难度,而学生抱怨课程内容枯燥乏味,没有兴趣,在解决实际问题编写代码时往往无从下手,缺乏编程和调试的能力[2]。

在C语言程序设计教学实践中,广泛采用任务驱动法、模块化教学、项目教学法、案例教学法等优秀的教学方法,并取得相应的教学效果。本文提出一种基于“金字塔原理”的知识构建的教学方法,注重在教学过程中引导和训练学生思维,由上至下构建目标问题框架(分解问题),由下至上逐步解决问题,纵向运用模块方案,横向保持内在联系。该方法在提高教学效率和学生思维能力方面,效果明显,是其它教学方法的有益补充。

二、目前主要教学方法及其特点

(一)任务驱动教学方法

该方法强调任务设计对学生学习兴趣的引导与激发,任务的设计贴近学生的现实生活, 以激发学习兴趣为出发点,选取有典型性意义的、覆盖教学目标知识范围的任务,分解难点和重点,引导学生在完成任务过程中探究式学习,对加强学生的实践技能方面效果较好。

(二)模块化教学方法

模块化教学法是20世纪70年代初由国际劳工组织研究开发出来的以现场教学为主,以技能培训为核心的一种教学模式。它的本质在于教学内容的取舍取决于职业岗位对从业者的要求,从职业活动的实际需要来组织教学内容,强调能力本位和知识的“必须和够用”,与传统教学强调知识的系统行和完整性有所区别[3]。

(三)案例教学法

案例教学法运用社会或身边发生的事例激发学生学习兴趣,说明道理,给学生的行为以启发的教学模式,通常是“以例激趣―― 以例说理―― 以例导行”。案例教学法是一种注重师生互动的研究性教学方法,教师要预先选择典型案例,在案例教学实施过程中,教师要注重引导,启发学生进行积极的思考,让学生保持较强的求知欲和浓厚的学习兴趣,以培养学生的创造性思维,提高学生参与课堂的能力,然后通过案例的步步进阶,使得学生掌握全面的知识点[4]。

(四)项目教学法

在项目教学中引入软件工程的概念,以团队的形式进行项目的开发。主要注重培养学生的综合能力,提高学生的程序设计水平。在实践环节中,让学生在沟通中成长,在协作中进步,在自由中学习。实践中,首先给出实践参考项目,提出实践的基本要求,再者引导学生构建自己的团队,实施项目。最后进行项目成果展示,实现各个项目小组的交流沟通[5]。这种方法适用于在学生掌握了课程的基本内容的基础上使用。

三、基于“金字塔原理”的教学方法

(一)金字塔原理

金字塔原理是避免文章或语言表达上的“思维混乱”而提出的一种组织结构,即:自上而下式地寻找论据支持论点,或自下而上式的根据事实做出判断。无论哪种方式,最终都要呈现出骨架刚劲有力的、有金字塔结构的描述。表达的总论点放在顶端,下一层是支持总论点的关键句,再下一层是支持关键句的论据,依次类推,便于更形象地理解了逻辑性和条理性[6]。C语言程序设计无论是从语法结构还是从代码编写上来看,都具有表达和描述的特征,同时在学生学习过程中知识体系构建的过程,也是一个金字塔形的知识建构的过程。

(二)金字塔原理组织教学,建立课程的知识构架

在教学设计中,以“整体―部分―整体”的模式进行教学设计,课程开始时,学生对一门新的课程的积极性、学习兴趣较高,笔者直接给出“寻找最佳存款方案”的源程序,首先讲解程序的基本组成部分(头文件#include、主函数main{ }、自定义函数、{函数体}、数据),初步建立C语言程序设计的基本知识框架;其次对于浅显易懂的部分如定义变量、基本语句等采取精要讲解完成教学,最后简要讲解该程序的其它内容。此时并不要求学生都掌握该实例的全部内容,而是对C语言程序设计有一个宏观上的理解,同时掌握一些初步内容。这种模式有利于学生在思维上上升一个高度初步了解C语言程序设计课程,消除陌生感,避免一开始就进入细节学习的混沌状态。

建立初步的知识架构后,就像登山之前从地图或高空对登山路径、环境和景区分布有了全面的了解和掌握,在登山时,目标明确,任务清晰,这种前瞻地把握事物整体的方法避免学生在学习中遇到困难时产生迷蒙感和挫败感,有利于保持学习兴趣。

(三)采用模块化与案例教学法进行各项内容的教学

(1)模块化建立知识结构

一个完整的C语言程序由头文件、函数、函数体、数据4个基本部分组成,我们就把这四个部分划分为四个大的知识模块,有的模块包含较多的内容,需要再次细分二级模块,如数据模块中,就分为数组、常量、变量、指针,还涉及到函数值返回等内容。模块划分强化知识集合的相对集中,而不是割断模块之间的内在联系。课本中指针、函数返回值和链表的内容靠后一些,难度相对增加,在模块教学的顺序中,适当延后或提前,分散难度,保持整个教学过程中难点呈均匀分布,而不是先易后难。在教学中巧妙把握模块的独立性与内在联系,在学生知识构建中模块化内容自然形成,同时也包含模块间的关联。

(2)模块化与案例分析教学

在模块化教学过程中采用案例分析教学,一个案例包含多个知识,甚至是课程的大部分知识,呈现给学生的是该案例程序的完整内容,讲解时重点放在目标知识点上,非目标知识点仅作简要讲解或功能描述,形成既有侧重点又有覆盖面的教学,而不是单一知识点的“攻坚”,多个案例分析教学后就构成了一个知识面的“重复结构”,这种“重复”有利于加深记忆。例如,课程开始时,就用一个包含基本语句、变量、循环结构这些相对简单内容的案例,侧重点放在基本语句和语法上,对于变量、循环这些内容仅做功能描述或简要讲解,对于少数学生来说,已经能掌握案例的全部内容,而大部分学生则应掌握目标知识点(基本语句和语法),在后续的变量部分的教学中,又涉及到语法的内容,采取同样的方式处理,形成知识的循环结构,让学生的学习能“跑”的跑起来、能“走”的走快点、其它的跟着“走”。

以住的教学模式习惯按课本的章节顺序进行各知识点的教学,然后结合实例巩固,由下至上堆积知识来构建知识结构,在进行知识点教学时,常常过度讲解,割裂了与其它模块的联系,知识重复概率降低,听懂的学生已经走神,没接受的学生仍然不懂。在改进的教学中,我们采取既突出重点,又注重知识板块之间的连贯性和覆盖面的策略,在涉及到另一模块的内容时仍然简要讲解,对于旧的知识点有利于加深印象,起到良好的复习作用,个别没有掌握的学生得到再次的学习机会,甚至产生顿悟;对于新的非目标知识点,经过简要讲解后,接受能力好的学生已经掌握,其它学生即便没掌握也有了一个初步的印象。每个案例始终保持程序的完整性和准确性,方便学生笔记和复习时阅读。

(3)实践环节

在上机实践环节中,直接把授课案例的源码给学生调试通过,引导学生简要分析程序与输出结果之间的因果关系,间接复习了整个程序的全部知识,然后给出与之相似的任务,鼓励学生自己分析,画出由知识结构组成的程序流程图,敲出代码,并调试,再次形成一个知识的“重复结构”。布置任务时,障碍设置不宜过大,避免随着学习的深入、难度增加,产生挫败感,导致学习兴趣下降。

按总学时72个课时算,当教学进行到45个学时的时候,已经完成大部分内容的教学,经过案例实践的训练,学生掌握了一定的编写和调试程序的能力,具有较强的主观能动性了,实践课也应作相应的调整,难度加大,按模块化任务的形式进行软件开发模拟,把一个复杂任务分为若干个相对简单的子任务,每个子任务即为一个模块,模块化是组织程序的基础,多人或多组协同工作来完成软件的不同模块可以提高开发效率,这是软件工程对模块化的要求。另一方面,C语言又称之为函数语言,函数是实现程序功能的最小单位,一个函数完成一个功能是程序设计的基本要求。一个模块通常用C语言的函数来实现,因此函数是实现模块化思想的有力工具。我们在教学过程中,以函数作为着眼点,培养学生的模块化设计思想。

首先,训练学生以函数为单位组织程序。教材中的例程为了节省篇幅,往往在一个程序当中实现全部算法或功能。针对这一问题,我们安排学生按模块化思想用函数重新组织程序,培养学生的模块化思想。

其次,加强团队协作训练。在上机或作业过程中,在一个题目中给出多项任务,将学生分组,不同小组分别用函数来完成不同的任务,借此来培养学生的协同工作能力,促进学习[7]。

(四)思维训练

德国教育学家第斯多惠曾说:“教学的艺术不在于传授本领,而在于激励、呼唤。[8]”在C语言程序设计课程教学中,激励学生树立一种有效的思维模式显得尤其重要,在学生的学习过程中,我们注重金字塔形式的自上而下构建知识结构,自下而上学习巩固,纵向模块化案例训练实践,横向重复巩固。在案例分析中,引导学生分解问题,建立架构,逐步细化,画出知识结构图,完成代码编写。经过这种思维训练,学生在思考和解决问题的过程中,就是一个若干知识模块的集合在大脑里运转、优化组合和实现的流程,最终完成任务。

(五)教学中的几个原则

(1)整体性原则

整体大于局部之和,无论知识模块的大小,尽可能的把整个框架呈现给学生,有利于从整体上把握知识点,上升一个高度来学习、分析和解决问题,有了整体构架后,再逐步细化,深入学习各个知识点,在学习各知识点时清晰的知道它在模块中的地位与用途。

(2)层次性原则

在某一个特定知识目标教学时,这个目标本身要反映出学习效果的层次性。如布卢姆、加涅等人对教育目标分类都是有层次性的,他们累积性的层次分类,表现为每一层次的行为或操作包含了较低层次的行为和操作。应用这种层次累积的思想,对教学目标要求进行层次分析。

(3)动态性原则

即所构建的金字塔式知识结构不应当处于僵化状态,必须根据学生学习的效果反馈能够进行不断调节的动态结构,这种动态性也体现在学生随着学习的深入,对课程内容的掌握逐步增加,知识结构的纵向加深和横向的丰富和完善。

四、结束语

在《C语言程序设计》教学中,采用“金字塔原理”的知识构建模式,结合其它教学方法开展教学,通过案例激发学生兴趣,模块化搭建知识结构,目标任务的分解实现来提高学生解决问题的能力,取得较好的教学效果。这种基于知识构建的教学方法和学生思维训练的方法,同样适用于其它课程和知识的学习。

[参考文件]

[1]谭浩强.C程序设计(第三版)[M].清华大学出版社,2005.

[2]王创伟,汤克明,蔡长安.《C语言程序设计》教学改革方案与实践[J].现代计算机.2010(10).

[3][4]蔡茜.浅谈模块化案例教学法在《C/C++语言程序设计》实践课程中的应用[J].科技信息.2010(13).

[5]黄婷.浅谈《C语言程序设计》实践教学[J].北京电力高等专科学校学报.2010(10).

[6][美]巴巴拉.明托.金字塔原理[M].汪洱,高愉,译.海口:南海出版社, 2008:10.

[7]韩春成,邢鹏飞,燕扬.C语言程序设计教学改革实践[J].长春师范学院学报(自然科学版)201O(10).

第10篇

【关键词】NCRE 计算机等级 计算机实验

【中图分类号】 G 【文献标识码】 A

【文章编号】0450-9889(2015)02C-0152-02

NCRE是National Computer Rank Examination的简称,中文为全国计算机等级考试,是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系。自1994年开考以来,已经有二十年的开考经历,历经了多次改革与变化。我院于2009年申请作为全国计算机等级考试的考点,也感受到了该项目在每次考试中的新变化,通过近几年组织学生对该考试项目的培训与考试经验,笔者从NCRE实施的改革,以及考点计算机实验建设与实验教学变化等方面谈谈自己的看法。

一、NCRE改革情况简介

(一)考务系统的改革

考务系统由以前使用多年的单机版,更新为网络版与脱机版,更新后的考务系统在功能上相对较多,但报考科目及人数必须先上报教育部考试中心,然后再从教育部考试中心下载预报名的相关数据,这是以前单机版所没有的操作程序。在使用以前的单机版时,考生相对较少的考点,往往采用现场报名的方式,统一进行拍照、报名,而对于考生相对较多的考点,则根据单机版的相关数据创建NCRE网上报名服务器,方便了考点的考务管理。考务系统进行更新改革后,网络版的教务管理系统可以设置出脱机版,而脱机版系统则更适合考生人数相对较少的考点,则考生人数相对较多的考点则选择网络版的考务系统,但是新的考务系统操作过于麻烦,需要申请用户名等信息后才能报考,这需要考点网络版与脱机版相结合使用,才能更适合考生人数较多的考点。

新的考务系统中,大部分的功能与旧版本系统相同,但是在旧版本中打印考生准考证时,可以自定义信息栏,考务管理员在分发准考证时,则可根据此信息分类,方便考生准考证的发放。在新版本的考务系统里,打印考生准考证时却没有自定义信息栏,则必须按照考生姓名分类,及身份证信息进行分类,造成了准考证分类的不便。但是在网络报名系统中,则可根据考点自身的情况,由考生在网上自行打印准考证,这给考点带来了方便之处。总之,考务管理人员必须熟悉管理系统的使用、熟悉该项考试科目的流程、熟悉考试相关的法律法规,这样才能更好地组织考生进行报名考试。

(二)考试系统的改革

考试系统的改革是NCRE项目考试的主要内容,将以前的笔试内容全部放到计算机当中进行选择题的测试,实现了无纸化的考试模式。各科目的考试模块已经经过了多年的测试,科目考点内容及形式相对比较稳定,但是,由于软件的不断更新,部分科目的考试内容也需要相应的变化,具体体现在以下几个方面:

1.操作系统的更换

以前的操作系统使用的是Windows XP版的系统,由于该版本于2014年退役,微软已不再提供相关的安全补丁,所以NCRE采用了Windows 7版本的操作系统,由于该新操作系统的使用,所以NCRE考试管理系统必须升级,在安装系统的版本上,管理系统对Windows 7的版本提出了严格的要求。

2.NCRE考试内容的改革

随着微软OFFICE软件的不断更新,由OFFICE2003版本升级到OFFICE2010版本,则对计算机等级考试科目内容进行了全面的改革。由于两个版本的风格有较大的变化,所以在考试之前,考生必须进行足够时间的练习。全国计算机等级考试有一级、二级、三级、四级。每个等级都由几个不同的考试科目组成,随着NCRE的改革,考试科目的规则也进行了相应的变化。如要获得四级证书前,则必通过全国相应的三级证书,获得三级的证书前,则必须先通过全国二级的相应证书。从专业方向上也进行了相应的规定,参加数据库工程师全国四级考试的必须先通过三级的数据库技术,获得数据库技术证书前则必须通过全国二级的数据库方面的科目考试。而其他的全国四级科目类别中,则要求在参加该相应类别的全国二级时,通过任何一门程序设计类的编程语言,打破了以前考生任选科目,任选等级考试的格局。

二、基于NCRE改革,促进计算机实验教学与实验建设

(一)计算机实验教学变化

NCRE考试内容变化后,考点培训的教学内容也必须发生相应的变化。笔者根据计算机等级的考试大纲,结合我考点培训的全国计算机二级的相关教学内容,谈谈在实验教学方面进行的教学改革。

全国一级考试的改革。由于操作系统更改后,全国计算机一级的考试内容发生了变化,由“一级B”改成了全国一级“计算机基础及MS OFFICE应用”“计算机基础及WPS OFFICE应用”“计算机基础及Photoshop应用”等多个模块,考试时供考生自由选择。以MS OFFICE为例,由2003版本升级为2010版本,对于考生而言,由于采用无纸化考试,以新的考试科目及考试方式出现。理论基础部分占有20%的比例,其他操作项占有80%的比例,理论的部分内容容易记忆与理解,所以考生得分是很容易的,难点主要在于对应用软件的操作部分。基本的操作题型,包括文件的复制、移动,文件夹的复制与移动,文件属性的设置等内容,WORD、EXCEL、PowerPoint及电子邮件等部分的考查占有绝大部分的分值。

全国二级“ACCESS数据库”科目考试已有多年,在二级考试的培训工作中,许多培训机构对全国二级考试花费了相当大的精力,按照二级考试的大纲,编制了全国二级的培训教材及相关的模拟软件,有利于广大师生对该科目的培训,也有利于考生自学进行练习。但是由于考试软件版本的升级,这些都将需要重新编制,这给考前培训提出了更大的挑战,培训时必须严格按照考试大纲教学内容进行培训,根据以往出现的考点概率,加强实验操作题的练习。

全国二级“MS OFFICE高级应用”科目是2013年新开考的考试科目,主要考查的是OFFICE2010版本的知识内容。这是一个新的考试科目,所以在考试与培训方面,对于培训教师与考生来说,都是全新的,由于没有考试的新例,所以在培训的过程中都是摸索的阶段,必须严格按照考试大纲进行教学。但是在考试的过程中发现,有的题型只有考试的效果图,没有具体的考试要求,例如文字的字型、字号及颜色等都没有具体的说明,所以考生在答题的过程中,没有把握确定是否已经做成功。培训教师在培训的过程中,都是按照规定的内容进行教学,所以教会给考生的只是一种方法,具体的操作还得看考生在考试过程中的发挥了。

全国二级其他科目的考试中,考试大纲及软件都没有变化,不同的是考试软件运行在不同的操作系统上而已,对于培训了多年的考试教材都有很好的教学经验分享给考生,主要的科目有“C语言程序设计”“VB语言程序设计”“VFP数据库程序设计”“JAVA语言程序设计”“C++语言程序设计”“MYSQL数据库程序设计”和“WEB程序设计”等,科目越多,考生选择的空间就相对变大,可以根据自己的学习或工作的环境,选择适合自己考试的科目去考,这样才能更有效地通过全国计算机等级的二级。

(二)计算机实验建设变化

由于NCRE考试的改革,对考点计算机实验室的配置提出了新的要求,从操作系统上来说,Windows XP系统的配置要低于Windows 7系统的配置。考点对于使用多年的配置机型,在举办NCRE的考试项目上,则必须选择配置更高的计算机硬件设备的实验室。这将对考点的实验室建设提出了新的计划要求。

在以往的计算机实验建设中,实验室主要用于日常的教学,对计算机实验配置要求不高,从DOS操作系统到Windows XP操作系统阶段,由于软件需求的配置不高,对一般普通的计算机实验室配置基本上能达到考生考试用机的配置要求,但随着信息化的建设,除了考生考试用机的配置外,对考场的环境也提出了更高的要求。实验室建设不仅要满足日常的教学需要,还需要达到多媒体视频与音频的教学效果。目前根据全国计算机等级考试考务要求,需要建设标准化的考试场所,要求考点安装视频设备来监控考场,这对计算机实验室的建设提出了更高的要求与标准,满足了标准化考场的建设需求,同时也促使考点计算机实验室建设持续的发展。

总之,作为考点,由于计算机软件系统不断更新,硬件系统必须进行相应的提升,为考点的考证工作提供良好的考试环境。同时,在教学方面,通过NCRE的改革,使教学内容与相应的计算机考试内容进行接轨,积极发挥等级考试的引导作用,促使教师在教学中发挥更大的激情,引导学生拟定合理的考试计划与目标,提高学生学习的积极性与主动性,提升学生的计算机操作能力,为以后更深入的学习打下坚实的基础。而在培训的过程中,教师只有通过不断的教学改革与试验,才能适应各种认证机构的检测,提高考点的认证通过率,为应用型人才的培养作出贡献。

【参考文献】

[1]宋斌,鲁洪伟,高珉.全国计算机等级考试无纸化模式对计算机教学的导向[J].电脑知识与技术,2013(9)

[2]张桂杰.浅析全国计算机等级考试改革及应对策略[J].商场现代化,2012(6)

[3]金花,张智勇,朱亚涛,在计算机基础教学与等级考试关系中对教学改革的思考[J].福建电脑,2008(6)

【基金项目】广西机电职业技术学院院级项目(2013)KY009

第11篇

关键词:C语言;NCRE;模板式教学;编程能力

C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点,它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。

同时C语言也是高等院校的重点课程之一,是工科专业学生的基础课程,是计算机、软件、电信、自动化等专业接触的第一门重要专业基础课,学好C语言对培养学生的编程能力有着非常重要的作用[1]。

1C语言在NCRE中的作用

全国计算机等级考试(National Computer Rank Examination,简称NCRE),是由教育部考试中心主办,面向社会用于考查计算机应用知识与能力的全国性计算机水平考试体系。NCRE证书是具有基本计算机使用能力的社会通用标准,是职务晋升、职称评定、岗位竞聘的重要依据[2]。

目前NCRE考试中C语言主要用在二级C语言和三级信息管理、网络、数据库的上机考试中。二级C语言分填空(30分)、改错(30分)和编程(40分)三个大题。三级中只有一个编程大题(100分)。由分值的分布情况来看,C语言编程能力对考试的通过与否有着极其重要的作用,特别是三级考试显得更为重要。

2007年上半年的统计数据显示,二级C语言的考试人数在二级考试的所有语种中占38.24%,VFP占37.33%[3]。但C语言的通过率却只有VFP的一半左右。因为C语言是一门实践性非常强的课程,不仅要在课堂上理解每个知识点,还必须通过大量的上机实验进行融会贯通,这才能真正的掌握它,而目前大学的教学计划普遍设置为70~80课时左右,按理论和上机1U1的配置来说课时量显然是不够的,加之课堂上的内容无法当堂全部消化,所以必须要求学生在课外花大量时间去实践,但由于种种原因,大量学生并不能达到这个目的。同学普通对C语言产生了畏难心理,信心受到一定打击,当学到指针时,许多学生都很难一次性听懂,这导致部分同学放弃了后面的学习。有的考生在二级C语言上机考试中甚至都只做填空题和改错题,放弃了编程题。100分试卷变成了60分,由此可以想象通过的可能性肯定会降低很多。

基于此,在现有的教学模式下,笔者在一个NCRE二级C语言考试培训班中进行了一次模板式教学的尝试,以期待一个更好的教学效果。

2模板式教学的实践

2.1什么是模板式教学

其实模板对学生来说并不陌生,经历过高考的学生大部分都背过英语作文模板;PowerPoint也提供很多现成的幻灯片模板;特别是在网页制作上,模板更是异常流行。

“模板”在新华字典中的解释为:浇灌混凝土用的模型板,一般用木料制成。现在“模板”的概念已经广泛应用于分子生物学、遗传学、网站、Microsoft Office办公软件、面向对象程序设计等领域,如在Microsoft Office办公软件领域,模板是指一个或多个文件所包含的结构和工具构成的已完成的文件样式和页面布局等元素。如Word 模板能够生成单个文档,而FrontPage 模板可以形成整个网站;在面向对象程序设计领域,模板是建立通用的与数据类型无关的算法的重要手段。如C++国际标准ISO14882将模板正式引入标准库,要求用模板类取代传统C++中定义的类。由此可见,模板在现代社会中是非常重要的。

模板式教学就是让学生在一定的基础上利用一些固定的套路来解题,可以把它理解为足球中的长传冲吊、下底传中等战术。现在有的观点认为教学模板是应试考试的产物,没有什么实际意义,甚至于约束了学生的思维,不利于学生的发展。但笔者的观点恰恰相反,教学模板是教师多年教学经验的总结,学生不仅可以利用模板迅速解题,甚至自己也可以在实践的过程中创立适合于自己的新的模板,这样的话可以使学生融会贯通各个知识点,快速的掌握C语言。

在NCRE二级C语言上机考试时,可以先读懂题目含义、理清思路、分析考点,判定本题具体应该应用哪个模板,然后先把模板写出来,再去填空。这样的话,编程题实际上就已经变成了一个填空题,那么它的难度相对来说就小了许多,不至于一见到题目就有一种茫然的感觉。经过对目前二级C语言上机考试中出现的编程题的分析,发现所有的编程题均可以大致分为以下六个种类:字符串、数组、结构体、链表、自然数取位数、数学公式等。这六个种类也基本上涵盖了所有C语言的考点,只有掌握所有知识点,并进行灵活应用,这样才能轻松解答所有考题。

下面就用三个模板实例来讲解模板式教学是如何进行的[4]。

2.2部分模板实例和解题思路

实例一:二维数组模板。

for(i=0;i

for(j=0;j

{

……

}

这个模板的作用是依次遍历二维数组中的所有元素,模板中M和N是可以动态变化的。它可以应用在求解二维数组最大值、最小值、平均值,二维数组转存一维数组等多种题目上。具体二级考题如题1所示。

题1:请编写一个函数fun,它的功能是:求出2×M整型二维数组中最大元素的值,并将此值返回调用函数。

解题思路:简单分析题目后不难发现,这是一个需要遍历两行M列二维数组的题目,在定义完初始变量后,可以马上输入二维数组模板,再在模板中用IF判断语句筛选出最大值,即可轻松解完此题。完整参考代码如下。

fun (int a[][M])

{

int i,j, max=a[0][0];

for(i=0;i

for(j=0;j

{

if(max

max=a[i][j];

}

return max;/*返回最大值*/

}

实例二:结构体模板。

for(i=1;i

if(a[i].s

{

……

}

这个模板的作用是依次遍历结构体中的所有元素,其中IF判断语句的条件是动态的。它可以应用在求解结构体数组最大值、最小值、平均值等多种题型。如果再加一层FOR循环还可以处理结构体数组元素排序等问题。二级考题如题2所示。

题2:学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。

解题思路:既然题目中已经明确表示此题是结构体类型的题目上,所以在定义完初始变量后马上输入结构体模板,在模板中用a[i].s>max这个IF判断条件找出结构体中分数最高的学生。由于题目中已经说明分数最高的学生不止一个,所以还要用一个结构休模板遍历一次结构体,在这一次遍历中模板的IF判断条件变为a[i].s==max,它可以找出所有最高分的结构体元素。完整参考代码如下:

int fun( STREC*a, STREC *b )

{

int i, max=0,cnt=0;

max=a[0].s;

for(i=0;i

if(a[i].s>max)/*筛选最高分*/

{

max=a[i].s; /*最高分存入变量max*/

}

for(i=0;i

if(a[i].s==max) /*找出所有最高分*/

{

b[cnt++]=a[i];

}

return cnt; /*返回人数个数*/

}

实例三:链表模板

while(p!=NULL) /*while循环遍历链表*/

{

……

p=p->next;

}

这个模板的作用是依次遍历链表中的所有元素,其中头节点变量p是动态变化的。它可以求解链表最大值、最小值、平均值等。二级考题如题3所示。

题3:N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。

解题思路:在此题的题意中也已经明确表明是一

个关于链表的题目,在定义完初始变量后,套入链表模板,先把链表中所有元素求和,再除以链表元素的个数即可求出平均值。完整参考代码如下:

double fun( STREC *h)

{

double sum=0.0;

while(h!=NULL)

{

sum+=h->s; /*链表所有成绩求和*/

h=h->next;

}

return sum/N;/*返回平均分数*/

}

2.3教学效果对比

为了校验模板式教学的效果,笔者对自己代课的两次二级C语言培训班的上机考试效果进行了一次统计,在第一期中使用常规的教学方法,在第二期培训班中进行了模板式教学的尝试,数据如表1所示(其中一期有四人缺考,二期有三人缺考)。

由表1可以看出,使用了模板式教学的二期培训班的及格率、满分率都有所提高,特别是第三大题的满分率显然高出了很多。

3结语

模板式教学只是大学C语言教学的一次尝试,虽然结果表明它在NCRE二级培训班中有一定的效果,但并不能说明它也适合所有的C语言教学场所,笔者会在今后的教学中继续尝试完善这种教学方式,以期待它能得到一个完美的教学效果。

参考文献:

[1] 谭浩强. C语言程序设计[M]. 北京:清华大学出版社,2005.

[2] 魏鉴,黄伟. NCRE二级VFP机试逻辑陷阱分析与思考[J]. 计算机教育,2008(20):148-150.

[3] 刘瑞挺,黄啸波. 等级考试的新调整[J]. 计算机教育,2008(3):27-30.

[4] 田淑青. 全国计算机等级考试二级教程――C语言程序设计[M]. 北京:高等教育出版社,2007.

Practice and Thinking Based on C-language Template-style Teaching for NCRE

WEI Jian , CHEN Yan-hua

(Wuhan University of Science and Technology, Zhongnan Branch, Wuhan 430223, China)

第12篇

关键词:范例教学;物流信息系统;策略

中图分类号:G642.3 文献标识码:A 文章编号:1002-4107(2015)02-0042-02

物流信息系统是物流管理专业一门重要的专业课程,涉及物流信息技术、物流信息系统开发、管理及辅助决策优化等教学内容,属于综合性、交叉性较强的一门课程。其中,信息系统开发更是涉及面向对象程序设计、数据库技术及软件工程等知识,使得物流信息系统课程融合了物流管理专业多门专业基础课的学习内容,进而要求学生对这门课程的学习具有较强的综合能力,融会贯通的能力。为了使学生在学习物流信息系统课程时不产生畏难情绪,能够循序渐进地掌握物流管理信息系统开发方面的内容,本文以德国著名的物理和数学教学论专家M・瓦根舍因教授提出的“范例教学”理论为指导,探究范例教学在物流信息系统课程教学中的应用[1-4]。

一、“物流信息系统”课程教学现状

物流信息系统是物流管理专业的一门核心专业课程,后续课程涉及电子商务,企业资源计划。对于物流管理专业毕业生掌握及后续灵活使用物流信息技术及物流管理信息系统进行辅助管理、决策及优化具有重要支撑作用。然而,这门课程涉及的教学内容多而难,使得学生在学习过程中无所适从,很难将相关知识融会贯通,尤其是对于物流管理信息系统开发方面涉及的教学内容难以理解、难以编程实现,进而导致学生在毕业设计过程中表现出对这方面的选题十分畏惧。这主要是物流管理专业目前的课程体系有所欠缺及物流信息系统课程本身的“面向对象”等知识难度较高导致的。

目前,兰州交通大学物流管理专业对于物流信息系统这方面课程的学习主线是:C语言程序设计(48学时)数据库技术基础(以SQL Server为背景)(48学时)大型数据库技术开发(以Oracle为背景,48学时)物流信息系统(48学时)JAVA程序设计(48学时,开设在大四第一学期)电子商务企业资源计划。

对于这样的学习主线,导致的缺陷是学生虽然学习了结构化的程序设计语言C语言,但对于管理类的学生而言,难以使用C语言开发交互式的GUI图形用户界面,更难以和后续的数据库技术相结合来开发物流管理信息系统。而对于具有面向对象优势的JAVA程序设计课程开设在大四第一学期,导致与学生就业高峰时期的应聘有些许冲突,进而降低了学生的学习积极性,使得48学时的JAVA程序设计课程教学难以触及真正的物流管理信息系统开发方面的教学内容。为此,拟调整教学学时及课程学习主线来改变这样的现状。优化后的课程学习主线为:JAVA语言程序设计(80学时)数据库技术基础(以SQL Server为背景,48学时)物流信息系统(48学时)物流管理信息系统课程设计(2周)电子商务企业资源计划。这样的教学主线有效地去除了对于管理类学生学习难度较大的Oracle数据库技术,同时,又能使学生集中主要学时学习面向对象程序设计、主流数据库SQL Server技术、信息系统开发以及后续的课程。新的课程设置主线更具循序渐进的特色,有利于学生逐步学习、理解、掌握面向对象程序设计、数据库、以UML为建模工具的软件工程等方面的难点知识。

二、范例教学理论的主要思想

范例教学理论中的“范例”一词来自于拉丁语Exemplum,它的含义为“例子”,或者说“典型的、言简意赅的例子”,总的来说就是“好的例子”[5]。范例教学的主要思想是:让学习者从选择出来的有限的例子中主动获得一般的、本质的知识。即期望借助这种一般的知识、能力来理解并解决一些结构相同或类似的单个现象或问题。运用教学范例的目的是使得学生更易于理解和掌握课本知识及原理,同时激发学生自学的兴趣,进而为学生照猫画虎及举一反三式的创新打下基础。

三、范例教学在“物流信息系统”课程中的应用策略

除了课程设置体系方面的优化有助于物流信息系统课程的教与学的效果的提升之外,采用范例教学理论来克服物流信息系统课程本身的难点知识是另外一条重要途径。

(一)面向对象主要技术

物流信息系统开发方面的内容主要包括:面向对象分析及设计、数据库设计及面向对象程序设计。其中,难以理解和掌握的技术概念主要有:类、对象(或实体)、接口、继承、多重继承、封装、重载、泛型、设计模式以及UML建模方面的知识等。为此,期望采用UML建模语言对这些概念进行可视化的同时,借助一种先进的面向对象程序设计语言来实现。以强化学生采用UML建模分析的能力及提升学生编程实现的能力,起到通过感性认识加强理论理解的同时,提高学生的动手实践能力。

(二)UML建模及JAVA程序设计语言

面向对象分析与设计的过程中,一般使用统一建模语言(Unified Modeling Language,UML)来实现系统分析员、领域专家及需求客户等不同角色人员之间的沟通。在具体的UML建模过程中,一般需要借助计算机辅助软件工程(Computer Aided Software Engineering,CASE)工具来可视化相关分析与设计的内容,即在采用UML进行系统分析与设计时,可选择一些可视化的工具,诸如Rational Rose,Microsoft Visio,Power Designer以及StarUML。其中,StarUML以其简洁、小巧及开源等优势特性获得广泛青睐,可以用于绘制用例图、类图、序列图、状态图、活动图、通信图、模块图、部署图以及复合结构图等,同时可以多种图形图像格式(JPG、 JPEG、BMP、EMF和WMF)导出建模结果,更是与Java、C++、C#等程序设计代码之间实现了正向逆向工程。因此,选用StarUML作为UML建模的CASE工具来讲授教学范例是非常合适的。

对于面向对象程序设计语言而言,存在以C#、C++、JAVA等为代表的许多面向对象程序设计语言,其中,又以JAVA语言最具特色。JAVA是一种纯粹的面向对象程序设计语言,所有的事物都封装在类里,不像C/C++在类之外还存在非类的特性――全局变量,而且,JAVA语言及其相关的IDE大都不像微软的Visual Studio平台那样产生研发的框架,即每一行代码都是程序员自己设计、输入、调试等,这有助于初级程序员对开发内容的全面理解及掌控。而且,JAVA是易学的,尤其是相对于C++而言,学习难度曲线要平缓得多,同时,JAVA又是解释型的,具有天然的跨平台特性,这显著优于C#,因而,选择JAVA作为范例教学过程中面向对象实现的程序设计语言是恰当的。

(三)教学范例选择

在教―学过程中,提升学生对问题的认识、理解、掌握能力,消除学生的恐难心里,激发学生的主动学习兴趣,培养学生的独立学习能力是非常重要的教学目标。因此,对于综合性、交叉性较强的物流信息系统开发中的教学难点内容,在实施教学范例选择及设计时,应遵循背景易于理解,便于初学者进行需求分析及基于UML的面向对象分析及设计,而且编程实现的代码量要尽量少。这里,拟以“基于C/S结构的大学生教材进销存管理系统”为选题,这是因为大学生每学期都面临到教材管理中心以班级为单位采购教材的现实,信息系统管理员仅涉及二级学院教务员、学校教材管理中心管理员,业务流程是教务员根据二级学院教师的教材订单(请购单)录入二级学院教材订单信息,教材管理中心的管理员则依据各二级学院的订单汇总信息及库存信息,进一步确定向各出版社或出版商所下的订单信息,然后是各种教材运抵教材管理中心之后的入库管理,现有库存管理,以及开学时面向学生领取教材业务的出库管理。总而言之,这个教材进销存业务信息系统既满足了背景知识简单,又涉及物流领域的进销存环节,同时又能以较小的代码量实现完整的信息系统功能。这样的范例应该是麻雀虽小,五脏俱全。这样短小精悍的范例可以让学生不产生学习上的畏难情绪,同时完整的功能又能激发学生尝试的激情,进而实现学生轻松学习、领会相关知识,让学生体会到理解、掌握相关知识点后的成就感,最终提高独立实践和进一步创新的能力。

综合上述分析,本文从课程设置主线的角度依据知识掌握上的循序渐进特点,对物流管理类专业中的物流信息系统课程群设置提出了优化设置方案。此外,针对物流信息系统开发方面的教学难点内容,提出了以范例教学理论为指导,以StarUML作为UML可视化建模的工具,以JAVA作为面向对象程序设计语言,选择Eclipse或JCreator作为集成开发环境,以及以SQL Server作为后台数据库管理系统,综合性的实施物流管理信息系统范例设计及范例教学来提升物流信息系统课程的教学效果,进而提升物流信息系统课程群的建设效果,促进学生在物流信息化方面有模仿的意识和进一步创新的潜力。

参考文献:

[1]王霞,夏国坤.高等数学中的数学思想方法的范例教学[J].大学数学,2013,(6).

[2]王璐,马爱莲.范例教学理论的科学性及其时代观照[J].教育与教学研究,2010,(2).

[3][德]W.克拉夫基;徐长根译.范例教学[J].外国教育资料,1988,(1).