您好, 访客   登录/注册

计算机科学与技术专业程序设计类课程教学方法研究

来源:用户上传      作者: 骆解民 赵慧娟

  摘 要:对于计算机科学与技术专业学生,程序设计类课程贯穿专业学习始末。本文结合我校计算机专业目前的课程设置及教学情况加以分析,从提高学生学习兴趣、在课堂及实验中采用案例化教学、丰富考核形式等方面进行课程教学改革,以达到提高学生学习兴趣和实际动手能力的目的。
  关键词:计算机科学与技术专业;程序设计;教学方法;
  
  计算机科学与技术专业的培养目标是培养具有扎实的计算机科学与技术基本理论和基本知识,具有计算机应用系统的软件开发方法和工程管理方法,具有软件系统研究和开发的基本能力和相关学科的知识的学生。程序设计类课程作为计算机专业课程的重要组成部分,如何提高该类课程的教学质量,使学生达到专业培养目标,至关重要[1]。
  1 目前的教学现状
  1.1 开设的相关课程
  程序设计类课程与基础理论类课程不同,其实践性很强,侧重学生实际编程能力的培养。在我校的计算机专业课程中,以C语言为基础,使学生学习语法和简单的算法,培养基础的编程思维;在此基础上学习面向对象的编程语言C++,培养学生面向对象的编程能力,结合数据结构课程,掌握基本的数据描述及算法;有了前面两门课程及数据库课程、计算机网络课程等的铺垫,以Visual Studio为开发环境,开设Windows应用程序设计和网络应用程序设计等,开发一些实际使用的系统,逐步提高学生动手开发能力。除了以上课程,编程类相关的课程还有汇编语言、Java等。为学生提供了多样性选择。
  1.2 课程教学安排
  这些课程的教学安排通常是课堂教学占总学时的2/3,实验教学占1/3。有些课程如Windows应用程序、网络应用程序还安排有16学时左右的课程实践。作为实践性很高的课程,学生实际动手参与的环节太少,使得学生在课堂教学中通常作为旁观者,不能很好地融入到教学中。
  1.3 课程考核方式
  在以上这些课程中,通常是平时成绩占课程成绩的30%,包括作业、出勤等,期末考试占70%,一般采用的考试形式是闭卷笔试。考核模式通常比较单一。实际操作的课程采用闭卷笔试的形式,一部分同学采用背书、背题的方法通过,拿高分;其中有的课程改进考核手段,采用上机测试的方法,但题型大多是选择和填空,并且题库数目有限,这就出现学生考前背题库的现象。以上存在的这些问题,显然违背编程类课程的初衷,不能真正的培养和提高学生的编程能力和水平。
  2 教学改革
  2.1 提高学生学习兴趣
  古语说:“知之者不如好之者,好之者不如乐之者”。兴趣是最好的老师,培养良好的学习兴趣是学好编程类课程的关键。在课程开始,应当避免讲授太多、太深的理论知识,应当以短小精悍,立竿见影的小程序入手,培养学生学习兴趣和信心。
  基金项目:上海市信息管理与系统教学高地建设(B-8515-10-0001)。
  作者简介:骆解民,男,副教授,研究方向为计算机科学与技术。
  
  在学生中,可组织建立相应的程序设计兴趣组,邀请专业教师担当辅导老师,不定期举行前沿知识的讲座。定期地举办编程竞赛,竞赛的题目可以围绕学生生活中涉及的问题或当下计算机专业研究热点,提出系统需求说明,要求编写应用程序解决实际问题。鼓励不同年级、不同专业的学生积极参与,营造良好的学习氛围。邀请专业老师担任评委,竞赛中可设置一定的奖励,对于每次评选出的优秀作品可以在今后课程教学中进行演示,激励学生的学习热情和动力。
  2.2 梳理教学内容体系
  在程序设计类课程中,选用的教材一般都涉及所用编程语言的基本语法等基础知识。因此在这些课程中,部分内容的重复是不可避免的。理清教学重点内容,梳理教学内容体系对教学起到事半功倍的作用,可避免在不同课程中重复教学现象,同时可增强课程间的连贯性,达到水到渠成的作用。
  程序设计对于大多数的大一新生来说有一定的难度。在C语言教学中,教学重点应着重放在编程思维的培养,如数据类型,程序流程控制等。在此基础上,C++课程教学中,重点学习面向对象编程的概念和方法,如类、继承、多态等,基本语法放在次要位置;在Windows应用程序设计,重点放在熟悉Visual Studio开发环境、控件的使用、异步编程、访问数据库和程序部署等方面;在网络程序设计中,重点放在ASP.NET内置对象、XML WEB SERVICE、WEB应用程序的优化和部署、页面安全保护等方面。
  2.3 改革教学手段
  课堂教学中,对于C和C++,由于学生的专业知识几乎为零,可以精讲知识点,结合经典的小程序进行教学,多启发多引导,鼓励学生在学习程序设计类课程中可采用先读懂程序,然后模仿编写程序,最后独立编写程序的三部曲;对于Windows程序设计和网络应用程序设计,可采用案例教学,在课程伊始,给出用户需求,进行系统分析和设计,根据讲授内容知识点的进度,逐一实现和完善系统功能,争取在课程结束时能够完成应用系统的基本功能,未实现或应进一步完善的功能可留给学生作为作业,增加学生对相应知识点的学习,提高实际动手能力。
  2.4 重视课程实验/实践环节
  由于程序设计类课程所具有的实践性强的特点,对于课程的学时安排应当进行调整,增加实验课时或实践课时的安排,增加至课时总数的一半左右。为学生提供充足的实践时间,切实保证将书本、课堂所学与实际操作相结合。
  实验教学中,教师应在实验前,布置实验内容。让学生有充足的复习课堂教学内容,准备实验的时间。在实验中,注意观察学生遇到的问题,对于比较集中的问题,重点讲解或演示。在实验环节中,布置难度适宜的作业,要求学生在规定的时间内完成并提交,以使学生可以充分利用上机时间。
  对于编程类的课程,仅仅有配套的实验时间是不够的,应当在各个程序设计类课程教学结束后增加或留出两周的时间,作为课程实践环节。在实践环节,给学生布置有实际应用的系统开发题目,该题目基本涵盖课程所学的主要内容。该题目可以是个人独立完成或小组完成。通过实践环节,让学生对一学期课程所学内容,甚至是与其他课程的学习有一个融会贯通的过程,增加学生对所学专业和所学知识的充分理解和认识。实验/实践环节结束,对其中优秀的作品进行讲评,鼓励学生相互交流学习,不断完善自己的系统。
  2.5 改革课程考核
  程序设计类课程对于学生的实际操作能力有较高的要求,对于以往的闭卷笔试,虽然可以起到一定的检测学生学习情况的作用,但存在的诟病显而易见。因此,放弃背书闭卷笔试的形式,改革现有的考核体系势在必行。以使学生从传统的死记硬背中解放出来,使老师从繁重的批改纸质试卷,批改手写代码中解放出来[2-3]。
  增加考试内容的灵活性,减少死记硬背的内容,采用开卷笔试;甚至放弃笔试,采用上机编写/调试程序的形式。
  加大平时成绩在课程总评成绩中的比重,加强课程学习过程的控制,避免学生考前抱佛脚的现象。从原有的重视结果,转到重视平时过程中来。平时作业可结合课程进度,要求学生在规定时间内提交规定功能的程序模块。为了防止学生抄袭作业的现象,可开发网络测试平台。在该平台中可接收学生提交的程序,最好该系统具备重复度检查,控制学生中程序的复制现象。
  课程的考核也可采用在线评测[4](Online Judge, 简称OJ)是个基于网络服务器的系统。其主要功能有:用户注册、题库管理、在线提交和实时评测、考试等。该服务器上有丰富的题库,每道题目包含题目描述、输入数据文件和作为标准答案的输出数据文件三个部分。做题者只可以看到题目描述。编程语言有C/C++、Java、Pascal等供选择。根据题目要求和输入数据,在规定的时间内给出标准输出数据的程序,把编写好的源代码提交到服务器,在服务器端编译该源程序得到可执行程序,然后输入数据,将程序的输出结果和题目的标准答案进行对比,如果一致则为对,

  
  否则为错。在OJ系统上做题,可以立即看到结果,而且对于错误程序还可以修改后再次提交。用OJ进行上机考试,方便高效,能够较准确地反映学生的实际水平。在平时实验中,也可适当的使用OJ系统。提高学生学习的能动性。
  3 结语
  通过近年来对程序设计类课程体系的梳理、教学手段的丰富和课程考核方式的改革等,显著提高了学生对该类课程的兴趣和编程能力,在毕业设计和各种竞赛中有突出表现。但是,由于程序设计类题目的灵活性和复杂性,对于课程考核环节中测评题目难度的控制和标准答案的界定还存在一定的不足。在今后的教学中,更加丰富课程考核方式,如采用实验作业等将课程的考核贯穿整个课程学习,提高教学质量和学生的实际编程动手水平,使得教学双方朝着培养创新型和能力型人才的教学目标前进。
  
  参考文献:
  [1] 张全福. 汇编语言程序设计实验教学改革与探索[J]. 教学研究,2005 (6):545-546.
  [2] 周川. 简明高等教育学[M]. 南京:河海大学高等出版社,2002:50-55.
  [3] 郭玮,李文新. 程序设计类实习课程如何准确考查学生学习情况[J]. 吉林大学学报,2005(8):99-103.
  [4] 张丽萍,刘东升. 程序设计精品课程建设的研究与实践[J]. 内蒙古师范大学学报:教育科学版,2007(1):109-111.
  
  Research on Teaching Method of Programming Design of Major of
  Computer Science and Technology
  LUO Jiemin, ZHAO Huijuan
  (College of Information Technology, Shanghai Ocean University, Shanghai 201306, China)
  Abstract: Programming design will be involved for students who major in computer science and technology. According to the arrangement of the units related with programming design and the analysis of teaching and learning, some issues are discussed in the paper. They are involved in How to make learning more interesting, use more case studies in lecture and workshop, and change paper exam to programming exam in lab. Improving students learning interesting and practice ability are the aims.
  Key words: major of computer science and technology; programming design; teaching method
  (编辑:白杰)


转载注明来源:https://www.xzbu.com/8/view-44160.htm