项目教学在非计算机专业高级语言程序设计课程中的应用

来源 :中国教育技术装备 | 被引量 : 0次 | 上传用户:scenery747
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要 针对当前非计算机专业的高级语言程序设计教学中存在的若干问题,从教学环节设计的角度阐述项目教学在实际教学中的应用方法,在培养学生学习兴趣的同时,提高学生分析和解决实际问题的能力。
  关键词 项目教学;高级语言程序设计;非计算机专业
  中图分类号:G642.4 文献标识码:B
  文章编号:1671-489X(2015)02-0098-03
  1 引言
  随着计算机技术在各行业应用程度的加深,社会对具有各类专业背景的计算机应用人才需求不断加大,客观上要求各非计算机专业学生也必须掌握基本的程序设计技能[1]。目前,各大高校的许多非计算机专业也陆续开设了高级语言程序设计课程,旨在培养学生运用计算机及其相关知识解决本专业实际应用问题的能力,为未来的发展打下基础,以适应2l世纪社会对复合型人才的要求[2-3]。
  高级语言程序设计课程是一门实践性和应用性很强的计算机课程。但是在针对非计算机专业学生的实际教学过程中,由于专业针对性不强、学生学习方法不正确等原因,学生对这门课的掌握程度并不令人满意。目前,各高校多数选用C/C 语言作为学生入门的程序设计语言。C/C 语言功能强大,表达能力强,但其丰富的功能所带来的繁多的数据类型和复杂的语法结构,给初学者产生不少困难[4]。而且非计算机专业的学生相对于计算机专业的学生而言,在专业特征、基础知识等方面存在较大的差异,而且程序设计课程的教学目标和要求也有很大不同。如果在课程中只是简单地搬用计算机专业的教学内容和教学方法,可能会造成学生在学习上的较大困难,从而导致学习效果不理想[5]。因此,根据非计算机专业学生的特点和培养目标,不断地探讨研究计算机程序设计课程的教学方法、教学模式,进行教学改革是十分必要的。
  为了提高非计算机专业学生的计算机知识和编程水平,在华南师范大学非计算机专业学生的高级语言程序设计课程教学中实施项目教学法,学习活动围绕若干个具体的项目主题展开,为学生创设真实问题情境和学习的环境,在激发学生学习兴趣的同时,提高学生的分析和解决实际问题的能力。本文介绍在项目教学中的一些经验和方法,特别是教学过程中的项目设计和教学实施的方法。
  2 非计算机专业高级语言程序设计教学中存在的问题
  对非计算机专业学生进行程序设计教育的目的并不是要把他们都培养成为计算机专家或专门从事计算机软硬件系统开发的专业人员,而是以应用为目标,以计算机作为辅助工具,目的在于培养学生具备综合运用计算机及其相关知识解决本专业实际应用问题的能力[6]。然而,在实际教学过程中,非计算机专业学生对这门课的掌握程度不能令人满意,究其原因,主要存在以下几点问题。
  教学对象的专业特征和学习目标的不同 由于所学专业的原因,很多非计算机专业的学生没有接触过计算机语言,在基础知识、专业知识等方面存在较大的差异。此外,不同专业对于课程的要求不尽相同,对于学生的实践动手能力的要求也略有差异。同样的教学方式对不同专业起的效果差异很大。如在“指针”的教学过程中,对于计算机专业的学生,要求他们能够熟练掌握由指针创建链表的相关操作,为后续的数据结构和算法设计等计算机课程中的编程打下基础;而对于非计算机专业的学生来说,指针内容本是学习难点,但不一定是学习重点,因为在后续的课程学习和应用中,指针的用处有限,在一知半解的情况下使用,还容易给程序造成致命错误。
  此外,在很多高校计算机专业的教学中,高级语言程序设计的课程分在两个学期开设,分别讲授结构化程序设计方法和面向对象程序设计方法。然而,对于大多数非计算机专业的学生来说,由于学时的限制,高级语言程序设计往往只开设一学期,因此,教师和学生在面向对象程序设计的教学和学习中投入时间非常有限。
  学生的学习目的不明确,学习兴趣不高 作为一门公共基础课,很多学生对此课程的重视程度不够。有些学生认为自己今后不做程序设计工作,计算机语言课程跟自己的专业没太大关系,学的好坏都无所谓[7]。有些学生为了在就业过程中多一个筹码,对课程的学习主要是为了通过计算机等级考试,没有真正认识到开设这门课程的目的与意义。因此,他们对知识总是被动地记忆,遇到问题不会理性地思考和分析,更经不起挫折,在上机实践过程中一碰到问题就惊慌失措,急于寻求教师帮助,渐渐地就对编程产生畏惧感和排斥心理,编程能力难以提高。
  非计算机专业的学生普遍存在程序设计能力不足以及缺乏必要的程序调试能力 因为各方面的原因,非计算机专业的学生学习程序设计会遇到许多困难,有些即使是课堂上听懂了,但自己做习题时常常无从入手。实验时,许多学生往往是把书上的例题照原样输入,运行出结果就算大功告成,不愿意去思考,不能举一反三。当程序运行出现了错误信息时总感到毫无头绪、无处下手,不会进行基本的调试操作,遇到问题不会理性地思考和分析[8]。
  针对上述问题,本文探讨在非计算机专业学生的高级语言程序设计课程中采用项目化的教学方法,希望能够充分调动学生主动学习的积极性,引导学生开动脑筋,思考、研究所学知识,达到增强教学效果的目的。
  3 项目教学法的设计
  项目教学法是以项目主题为中心,学生在教师的指导下完成一系列学习活动的方法[9]。学习过程中围绕几个具体的学习项目,用实践项目进行新知识的引入,激发学生学习的原动力,让学生学有所用。在非计算机专业学生的高级语言程序设计课程中实施项目教学,是在激发学生主动学习热情的同时,培养学生“探究性”学习的能力,使学生在发现问题、解决问题的过程中对所学知识加以深化理解、融会贯通,从而培养非计算机专业学生综合运用计算机技术和编程工具解决本专业实际问题的能力。
  课程项目设计 课程项目的设计是项目教学的关键环节,项目设计的好坏直接影响教学效果。在教学实践中,课程项目设计的整体思路是:以一个完整的项目贯穿整个课程教学,同时由多个与所学知识点密切相关的小型项目来驱动整个教学过程。   1)在教学实践中以一个完整的项目贯穿整个教学过程,并根据教学知识点推进设计项目的子任务。如采用“学生成绩管理系统”作为贯穿整个课程的项目任务,在授课初期,先告知学生这门课需要完成的综合性设计项目是一个具备成绩统计和查询功能的学生成绩管理系统;然后在授课过程中,根据教学任务逐步给出设计项目的子任务要求。
  例如:在学习程序设计初步的“顺序、选择、循环”结构时,提出的任务要求是通过三个基本结构,实现从键盘上循环输入学生成绩,并通过格式判断,对输入有效的成绩进行总分和平均分计算;在讲授“函数”知识点的时候,要求学生用函数的形式对学生成绩输入、格式判断和成绩统计的功能进行封装;在讲授“数组”知识点的时候,要求学生将成绩用数组的形式进行存储,并实现成绩的排序功能;在讲授“结构体”知识点的时候,要求将学生的学号、姓名和成绩等信息存储在结构体变量中,采用结构体数组的形式实现按照姓名或学号查询成绩的功能;在讲授“文件操作”知识点的时候,要求学生将成绩以一定格式存储在文件中,并实现查询和修改的功能。依此类推,可以根据课程的教学内容,对综合性项目的功能提出各种新的要求。
  最后,到课程结束之前预留一段时间,要求学生选择最佳的数据结构和编程方法实现整个学生成绩管理系统的所有功能,这就需要学生具体分析、认真比较,选择一种最佳方案来实现系统。
  除此之外,教师还可以根据学生的学习能力和编程水平,提出项目的扩展性要求。如针对非计算机专业的理工科学生,根据他们的专业特点和后续的学习任务,要求他们设计并实现一个具有查询和统计功能的数据分析系统。这类项目任务可以给予学生更加广阔的创造空间,有利于学生举一反三的能力和创新意识的培养。
  2)在课程学习的过程中,根据教学的知识点设计不同教学阶段的小型项目,使学生在真实的项目情境下应用旧知识,探索新知识,加深对所学知识的理解、巩固和迁移。例如:“顺序结构程序设计”的学习中要求实现“从键盘输入一大写字母,要求改用小写字母输出”;在“选择结构程序设计”的学习中要求实现“输入一个百分制成绩,要求输出成绩的等级‘A’‘B’‘C’‘D’‘E’”;在“循环结构程序设计”的学习中要求实现一个猜数字游戏,并根据猜数循环的次数计算积分;在“数组”的学习中要求实现“用选择法对10个整数排序”;在“函数”的学习中要求实现“用递归法将一个整数转换成字符串”;等等。
  这些项目的实施可以较好地调动学生的学习兴趣,让学生在实践过程中理解和把握课程要求的知识和技能。最终,通过项目教学改革,使得学生从被动学习转变为自主学习,变“我会做”为“我能做”“我愿做”,达到增强教学效果的目的。
  项目教学的实施方法 根据课程项目设计和学生的特点,在教学实践中主要采用以下几种方法开展项目教学。
  1)分层次的教学要求。非计算机专业的学生来自不同的专业,不同专业对于程序设计类课程的要求不尽相同,而且不同学生的知识基础、智力水平和学习能力也各有差异。因此,在项目教学的设计中,划分三个层次的教学要求,以增强教学的针对性,做到因材施教。
  基本要求:要求学生独立完成根据教学知识点设计的难度适中的各个小型项目,培养独立编写、运行、调试简单程序的实践动手能力。
  提高要求:要求学生在掌握教材知识点的基础上完成难度较大的项目任务,并能够把所学的知识点组合起来,完成综合性项目(如前述的“学生成绩管理系统”)的实践要求,进而提高学生对编程的兴趣和实际动手能力。
  扩展性要求:根据专业特点,要求学生在力所能及的情况下完成扩展性的实践项目(如前述的“数据分析系统”)。
  这就需要学生在牢固掌握程序设计方法的基础上阅资料,补充学习相关知识后方能完成项目,进而培养学生的自学能力和创新意识。
  2)个人任务型和小组合作型相结合的项目组织模式。个人任务型项目主要是指为不同教学知识点设计的小型项目。这类项目的组织模式要求学生个人独立编写、运行和调试程序,掌握程序的运行原理和程序编写的步骤,从而锻炼学生的逻辑思维能力和实际动手能力。
  小组合作型项目主要是指难度较大的综合性项目。这类项目的完成以小组为单位,每组3~4人,在组长的带领下进行讨论,并在教师的指导下查阅资料。各小组根据组员特长分工,最终完成任务,并进行成果展示和分组评比。教师在整个过程中的主要作用是为学生提供适当的组织、协助与点评。通过项目实践和团队合作,有助于学生树立自信心,培养团队意识。
  3)课堂教学与课外自学相结合的教学策略。由于学时的限制,在理论课上向学生讲授所有的知识点是不现实,而且实验课中可以让学生用于完成项目的时间也非常有限。因此,引导学生在课外时间自学,自主完成课程项目的任务,是完成教学任务、增强教学效果的关键。在课堂上,教师在讲授课本知识点的同时,为学生提供参考文献和网络资源,将一些知识点(如指针和面向对象编程)的学习从课堂延伸到课外,积极鼓励学生课后利用图书馆和互联网进行自主学习。在项目实施的过程中,教师将项目内容阶段化、任务化,引导学生开展学习和实践活动。实验课的时间主要用于项目任务的讲解、实践指导、答疑和检查。学生有明确的任务目标后,利用课余时间寻找和学习相关知识,完成项目的设计和编程。此外,作为高级语言程序设计课程的外延,教师还可以鼓励学生积极参加各种实训和竞赛,如“ACM 程序设计大赛”“机器人挑战赛”“挑战杯”“大学生创新创业计划”等。通过参与这些创新性的训练,可以进一步提升学生的计算机应用能力和信息素养。
  4 结论
  在非计算机专业学生的高级语言程序设计教学中,传统的教学方法教学效果不够理想。而项目教学法符合计算机编程语言实践性较强的特点,有利于提高学生学习积极性,培养分析和解决实际问题的能力。在非计算机专业高级语言程序设计课程的教学实践中,探索出一套有针对性的、行之有效的改革办法,通过基于项目的教学活动开展,为学生创设真实问题情境和协作学习的环境,在激发学生学习兴趣的同时,提升学生的计算机综合应用能力,对非计算机专业计算机类课程教学有一定的参考和借鉴意义。
  参考文献
  [1]陈兆学.非计算机专业C 面向对象程序设计课程“混合式”双语教学的研究与实践[J].计算机教育,2011(10):
  81-83.
  [2]潘丽丽,钟少宏,姜瑜.非计算机专业C语言程序设计实验教学模式[J].计算机教育,2011(18):81-83.
  [3]李军莉.大学计算机语言教学方法的研究[J].教育教学论坛,2014(2):54-55.
  [4]张建珍.C语言教学方法探究[J].计算机教育,2007(18):
  12-13.
  [5]陈伟宏,何建新,习胜丰.高校非计算机专业C语言教学改革探讨与实践[J].中国电力教育,2013(34):101-102.
  [6]聂林娣,杨慧.高校非计算机专业计算机基础教学改革的研究与实践[J].电脑知识与技术,2006(29):192-193.
  [7]肖何,邓利平.关于提高非计算机专业《C语言程序设计》教学效果的研究[J].电脑知识与技术,2013(17):4064-4066.
  [8]林山.高校非计算机专业的计算机语言教学方法改革探讨[J].硅谷,2008(23):146.
  [9]徐铭洋,王文华.探析项目教学法[J].电子世界,
  2013(10):203-204.
其他文献
某火电厂身处粉煤灰滞销区,粉煤灰的处理不仅增加了经营成本,而且增加了灰场的安全风险。根据粉煤灰的特点,该火电厂对粉煤灰的成分进行了化验分析,并自主设计了湿法分选漂珠和磁
根据学生的年龄特点及小学英语的学科特点,夸张手法在英语课堂中扮演着重要角色,实现了课堂的有效教学,是一种经济实用的英语教学手法。本文以有关的现代教育理念为依据,从教
水煤分离是选煤厂提高生产效率的重要一环。针对目前水煤分离所用的旋流器存在分级效率低、更换周期快、使用寿命短等问题,提出了对水煤分离所用旋流器的改进方案。通过比较
沟槽壁面减阻是船舶和管道输运中具有重要应用前景的减阻技术.应用热线测速技术,对沟槽壁面平板湍流边界层的多尺度相干结构被动控制和减阻机理进行了实验测量研究.从壁湍流多尺
石油资源是我国重要的能源,与国民经济的发展和人们的生活都有着密切的联系。随着油田资源的不断被开采,油田石油资源的不断开发,油井的含水率不断的上升,石油资源的开发难度逐渐
通过在水洞中开展的系列实验对通气超空泡形态及其稳定性进行了研究.研究表明,重力对通气过程和关气过程所形成的通气超空泡影响不同,但超空泡轴线变形量都以非线性方式增长.当重
本文从县乡公路水泥混凝土的拌和及运输,模板安装、混凝土的摊铺、振捣及整面、模板拆除和养生与切缝等方面,对县乡公路水泥混凝土路面施工技术进行了探讨,以其为提高县乡公路施
随着新型多媒体传感器网络的出现,现有编码方法不能有效适应其庞大的数据量.因此针对多媒体传感器网络能量、资源受限的问题,该文研究能提供低复杂度、低能耗、低成本编码器
海洋颜色等光学数据随空间变化很大,为了解决卫星遥测海洋光谱成像数据校正和光谱分析仪无法进行海洋表观特征成像测量的问题,依据窄带光学成像原理研制的海洋多光谱成像仪具有8个窄带光学通道,可同步成像测量.同时结合利用光谱比较测色法和三次样条插值光谱重建等技术研制的多光谱图像数据采集、处理和分析软件,对东海南部典型海域进行了实景测量,取得的数据填补了我国该领域的空白.该设备体积小、重量轻,便于进行海洋表面
水是人类的生命之源,必须要保证人们饮用的是纯净的饮用水,而饮用水源中一旦存在重金属,就会对人体造成很大的伤害,也会影响整个饮用水系统的春进行,日本曾经发生过比较严重的重金