您好, 访客   登录/注册

计算机专业程序设计语言类课程教学整合研究

来源:用户上传      作者:

  计算机发展到今天,硬件技术迅速发展,多媒体、网络和通信突飞猛进。计算机编程语言也在不断地发展:从机器语言到汇编语言以及高级语言,甚至可能发展到智能开发语言。高校在培养学生编程能力及编程思想上也不断地发展和提高,通过课程设计等实战型培训学生的团队合作能力、解决问题能力以及创新能力。但学生在学习过程常会因多种联系在一起的知识点和解决方法分散学习而浪费时间,或因缺少项目实战,不能彻底学习到精髓。因而本文着重研究计算机语言类课程教学内容整合和项目教学法应用的可行性及带来的优势。
  C、C++和 Java 等计算机语言(也称宿主语言)课程作为计算机专业重要的基础课,在计算机专业本科教学和软件开发中起着重要的基础作用,对学生用计算机解决实际问题的思维能力训练也是非常重要的。而学生掌握计算机语言类课程的程度将直接影响到计算机在其专业领域中的应用,如何提高学生的程序设计能力和软件开发思维将变得相当重要。
  一、计算机语言类课程的教学理念
  计算机语言类课程所涉及的知识难度相对较高,而且其编程内容、编程思想渗透到本专业的其他课程中。如果没有学好计算机语言中编程方法、算法逻辑、设计思想、思维方式,就等于没有学好这门课程,甚至影响其他专业课程的学习效果。加之计算机相关专业层次多,如本科、专科、高职和研究生等,同一层次的生源质量又参差不齐,在此情况下,教师应该充分了解学生的实际情况,最大限度地调动学生学习的主观能动性,使学生能主动配合老师的教学,实现该课程的教学目标。例如,来自偏远地区的学生,在中学阶段接触计算机较少,水平相对低一些;相反,城市学生的计算机水平相对较高。针对这种情况,要利用一定的时间和方法使水平较差的同学及时补上相关知识,不至于听不懂内容而失去对计算机语言课程的兴趣。
  毋庸讳言,学生有时反映计算机语言听不懂、不知学了什么、难学等,固然有学生本身的原因,以及教学目标和课程设置的偏差等因素,但教学内容安排不合理应该是主要问题。在计算机语言的讲解初期,如果不能抓住学生的学习心理,一开始就给学生灌输大量的、很难听懂的知识,就会使学生感觉很难而无法听进去,以至出现学生对后续内容的讲解都无法听懂的现象。如在 C或C++教学中,基本语法未充分理解,就安排难度较大的编程练习;数组和指针的概念还未理解,就快速讲解指针数组并配备较难的例题和习题;面向过程编程基础未打好,就在面向过程的基础上讲解面向对象的编程等。
  综上所述,在计算机语言类课程的教学工作中,应该具有良好的教学理念,要发挥教师专业知识和教学水平;充分调动学生的学习热情,发挥其主观能动性;要合理安排教学内容,以适应教学的需要。
  二、计算机语言类课程传统教学模式中存在的弊端
  (一)教学课时紧张,实践环节欠缺
  首先,计算机语言类课程中的实践课时较少。目前我国高专教育学制是 3 年,在教学中教师为了完成教学任务,安排基础理论知识占用了大量的课时,从而导致实践课时不足,这样学生动手能力、实践能力的培养就得不到保证,也就缺失了高专学生高等技术应用型人才的特色。其次,与本科学生相比,高专学生的基础知识相对较差,使得他们吸收知识的速度较慢,学习有一定的难度。
  (二)学生学习缺乏动力和兴趣
  兴趣是学习的动力,有些学生认为学习语言类课程太枯燥而且用处不大,不如学习多媒体、应用类的课程有趣; 另外从课程内容安排上说,一般语言类课程安排都是前半部分讲授基础知识,占用较长的时间,内容枯燥无味,不像应用类的课程能让学生马上看到效果,因此就会大大降低学生学习的积极性,使他们产生厌倦情绪。而到了后半部分学习编程方法的时候,会出现一些抽象概念,这时往往需要较强的逻辑思维能力和一定的数学、英语基础,学生就会觉得无从下手,对语言类课程产生畏惧心理,就知难而退了。
  (三)学生缺乏学习目标
  部分学生根本就没有弄清楚学习这类课程是干什么用的,造成学习的时候找不到重点是什么,中心思想是什么,不知从何下手. 还有部分学生在学习过程中没有经历过开发项目、建立项目的过程,甚至有的同学没有自己独立编过程序,只是将现成的程序录入计算机调试,忽略了编写的过程。这样学生通常只是为了考试、考级而学习,忘记了最终独立开发项目的目的。
  (四)教学方法缺乏创新,考核方式简单
  高专计算机语言类课程一般采用课堂讲授加上机实验相结合的教学形式。理论课上,老师通常将一些程序模式进行固化,让学生记忆、套用,进行“填鸭式”教学,学生缺少主动思维,特别是编程题没有自己的思路,无法独立完成。上机实验时学生为了完成任务,仅对课本上现有的例题进行编辑调试。这样学生根本不能掌握如何分析问题、如何建立编程思维。再加上笔试这样单一的考核方式也使老师和学生都忽视了实践课的环节,本末倒置。
  三、课程整合及新型教学法应用提高教学质量的作用
  通过整合计算机语言类课程教学内容和新型教学法的应用,学生能够充分体会到多种语言在表达同一个算法思想及解决问题方法的异同点以及在不同环境下的多种应用(如:多种语言的混合编程等),进而找到最有效解决问题的方法。 分层次和专业需求地学习计算机编程语言,通过分初、中、高以及实战型等不同层次培养学生的编程能力,同时也能减少学生在学习同一个知识点上浪费时间和精力。 应用项目教学法培养学生实战工程项目的各种能力,包括团队协作、适合工作角色的工作能力等。 同时也要求教师教学思想不断进行创新、发展。 通过彻底研究一个最典型的例题,从数据结构、语法、算法、优化、规范化编写代码等不同方面和角度培养学生编程能力和编程思想,同时有效节约学生和教师为熟悉不同例题所花费的时间和精力, 有利于学生从不同方面和角度学习体会计算机编程语言,从而更快更准更有效地定位学习兴趣和计算机编程语言选择,化被动学习为主动学习,从而达到高效率地学习。   (一)计算机语言类课程教学内容整合的可行性和方法
  在计算机语言类课程教学过程中,围绕教学目标提出项目教学,围绕项目展开教学。以任务为驱动,师生双方边教、边学、边做来完成某个教学目标和教学任务,融理论教学、实践教学、生产、技术服务于一体,充分发挥师生双方的主动性和互动性;开展多种教学方式,如互联网教学、手机 Wap 网络教学,以及多种自由化教学模式,尽可能发挥师生最大能动性,使得师生同时进步,使得程序设计的学习过程成为学生的兴趣,而不再单纯地作为一门课程。将计算机编程语言整合教学,通过彻底研究一个最典型的例题在不同编程语言中的应用,从而提升学生从不同角度分析、认识、转换、解决问题的能力。项目实战教学培养大学生自主创新、创造的独立能力,从实战中学习体会编程思想和团队合作能力,充分发挥个人在团队中的能动性和创造性。
  在计算机编程语言类课程中,很多内容是十分相似的,可以整合到一门课程里来讲授,这样可以节省出更多的时间来给学生讲授新技术,新方法。例如,在 C 语言、C++语言、JAVA 语言中,有些内容是类似的,在 C 语言、C++语言和 JAVA 语言中的数据类型,表达式、运算符、顺序结构、选择结构、循环结构、数组和函数等非常类似。这样一来,我们在教学过程中,可以只在一门课程中将类似知识点讲透彻,其他课程就有更多的时间去讲解其他技术,不但节约了时间,而且也扩展了学生的知识面。
  程序设计语言类课程的学习是为了解决实际应用,而并非这类语言的本身。因此程序设计语言类课程整合教学,就是分层次分专业进行计算机编程语言的学习,通过典型课程揭示各种计算机语言课程之间的相关性和延续性,体现程序设计语言之间的共性和内在联系,揭示各种计算机语言的共性本质,进而找到解决问题的最有效方法,达到能够在运用其他语言时触类旁通,进而提升从不同角度认识、分析、转换、解决问题的能力。
  程序设计语言类课程的整合教学,可以不断加强学生系统地掌握程序设计语言类课程的核心能力,也有助于培养学生适应就业、提高竞争和自主创业的能力。这种探索和实践对于其他专业或课程的教学改革也将起到一定的借鉴作用。
  (二)新型教学法的运用
  在计算机语言教学过程中,不仅要学习语言的语法和编译器的相关知识,更重要的是要学习程序设计的思想和算法,培养编程思维。在各种教学法中尤以问题为主的教学法和强调实践活动的教学法见长,它们很适合计算机语言类课程的教学。
  1.以问题为主的教学法
  创新的动力在于不断提问。问题是学生学习的驱动力,没有问题便没有深入。教学的目的就是激发和培养学生的问题意识。所提“问题”,也是以教学中相关的一些问题为主。这样把学习知识的过程化解为提出问题、分析问题和解决问题的过程,促进学生创新精神和创新能力的发展。这一类教学活动的实际教学中以启发式教学居多。如果在教学中很好地运用启发式教学,就可以调动学生学习的积极性和主动性,又能启发学生的思维。例如,在 C 的 main 函数指针数组参数的学习中,许多学生无法理解基于指针数组参数方式交换字符串的例子。此时,教师应解释两个概念:argv 内存区和*argv 内存区,也就是说这是两个不同的内存区,根据数组表示和指针表示之间的法则,*argv 也就是 argv[0](这是编译器的逆行为),对*(argv+i)的操作就是对指针数组元素(下标 i)的操作,而指针数组元素存放的是那些常量字符串的首地址。因而使用选择法交换指针数组的值也就是交换指向那些“逆序”的字符串的首地址。在此基础上学生就可以理解使用指针数组传递参数的过程。进一步,我们可以在“电子黑板”上画出 argv 和*argv 的内存结构图。
  2.强调实践活动的教学法
  这一类教学活动以探究式教学模式为主。“任务驱动式”是实施探究式教学模式的一种教学方法,是一种新型的、以学生自主学习、教师加以引导的教学方法。它打破了传统教学方法中注重学习的循序渐进和积累的循规蹈矩,不再按照教学内容从易到难的顺序,而是以完成一个“任务”作为驱动来进行教学,完成教学任务。在完成“任务”的过程中,又培养了学生的自学能力、创新精神和合作意识。
  3. 辅助教学手段的使用
  (1) 充分利用多媒体教学手段。基于多媒体技术的教学能够以丰富的信息展示在学生面前,使得教学内容形象、生动、更为直观,教学秩序更加规范。
  (2) 以网络技术为支撑的网络学习环境。以网络环境为依托的计算机实验平台为学生提供了丰富的教学资源。通过网络教学平台,可以下载网络课件、提交电子作业,进行在线答疑和自测练习;可以展示方式多样的信息,有利于学生对信息的加工和处理。教师还可以以此环境为依托进行网络教学和远程教学。
  四、结语
  通过实践表明,整合计算机语言类课程教学内容及多种新型项目教学法,更能激发学生主动学习,培养学生发现问题、分析问题、解决问题的能力,进而达到创新和自我总结能力,有助于培养学生适应就业要求,提高竞争能力和自主创业的能力。
转载注明来源:https://www.xzbu.com/9/view-11920540.htm