当前位置: 简表范文网 > 专题范文 > 公文范文 >

软件工程专业编程语言课程群教学中的问题与对策初探

| 来源:网友投稿


打开文本图片集

摘要:编程语言课程群在培养学生编程能力中具有基础性作用。该文首先分析了软件工程专业编程语言课程群教学中存在的主要问题,然后提出了改革编程语言课程群教学的几点具体措施,这些措施对于提高学生的编程能力具有重要作用。

关键词:编程语言;课程群;编程能力;过程化教学管理

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)25-0140-02

Abstract: The curriculum group of programming language has basic function in developing students" programming ability. The main problems existing in the programming language curriculum group teaching are analyzed, and some concrete measures for the reform of programming language course group teaching are posted. these measures are important to improve the students" ability of programming.

Key words: Programming Language; Curriculum Group; Programming Ability; Teaching Process Management

1 引言

编程能力是软件工程专业学生应具备的核心能力之一,它的培养是通过一系列课程来实现的。编程语言如C语言、Java、Web程序设计、Java Web等组成了编程语言课程群,这个课程群在培养学生编程能力中具有基础性作用。编程语言课程群在编程能力培养的重要性已受到广泛认同,在我校新修订的软件工程人才培养方案中,为了适应应用型技术大学转型发展需要,编程语言课程群地位更加突出,特别是作为基础的第一门编程语言教学时数大大增加,同时调整了实验学时数,基本上理论与实验学时数各占一半,而且鼓励教师在实验室上理论课,加大了学生动手实践要求和机会。

近年来,我校在编程语言群教学工作取得了一些成绩,如:公开发表了十余篇编程语言教学改革论文,多个编程语言课程改革项目获得省级、校级立项建设,出版了几部编程语言自编教材或教学辅导书等。尽管如此,目前编程语言课程群教学还存在不少问题,不适应学校向应用技术大学转型发展的需要,不适应编程能力培养的需要。在教学中我们发现至少下面五个问题比较突出。

(1)编程语言课程群的教学缺乏统一管理,部分教学内容重叠

编程语言课程群的教学工作缺乏统一管理,各门课程教学各行其是,课程之间部分教学内容重叠,课程之间的衔接不够。从总体上看,编程语言群中各编程语言的语法基础具有一定的相似性,如C语言与Java(或C++)。Java是在C语言的基础上发展起来的,语法基础与C语言相近。若在上Java课程时,对其前面的语法基础介绍与训练太多,将无法用更多的时间来介绍面向对象设计、GUI、异常处理、多线程、网络等高级主题;同时,对学生已经有一定基础的语言基础进行过多的重复,会降低学生的学习积极性和学习兴趣,甚至产生厌学情绪。

(2)第一门编程语言的基础不牢固

学好第一门编程语言相当重要,但是万事开头难。若第一门编程语言学得好,将对后继编程语言及其他课程的学习奠定基础,就可以“举一反三,触类旁通”;反之,就可能是“基础不牢,地动山摇”。目前通常选用C语言作为第一编程语言,C语言对初学者来说是一门较难的课程,学好它并不容易,需要学生用心学习才行。在教学过程中我们发现,一些学生一开始学习不上心,日积月累,问题越来越多,就容易产生厌学情绪。更重要的是,C语言的语法严谨,不能随意编写程序,少数学生从课程开始到课程结束仍然写不出几个正确的程序,总是包含语法错误或逻辑错误。有的学生阅读、编写、调试程序的时间与精力不够,软件开发平台(如:Eclipse)使用不熟练,软件工程基本素养的训练和培养不够。

(3)教学过程化管理不够

不注重学习过程的考核,期末笔试所占学期总成绩的比例大(占60%),而实验成绩占的比例小(占20%)。而且实验考试在实验成绩中的比例没有具体规定,没有明确规定:实验考试不及格,则课程总成绩不及格。实验考试过程没有期末笔试那么正规、正式,考试时间通常只有笔试的一半,试卷的批阅也没有规定。这不利于调动学生平时的学习积极性,平时的教学秩序、教学效果很难保证。实际上,学生阅读、编写、调试程序的能力主要是在平时的教学过程中培养出来的,期末笔试时间短、内容不全面,不能全面考核编程能力。

(4)课外实验、课程设计、课程实训管理不够

目前编程语言的实验主要是在老师指导下的课内实验,而缺少课程规定的课外实验。尽管现在多数学生都有自己的计算机,但是缺乏在计算机实验室的集体学习环境。编程语言课程没有统一要求学生完成课程设计,学生学习一门编程语言编码量不够。课程实训往往规定在一两周内完成,通常3-5人为小组完成项目,但少数学生没有自己写代码,学生动手独立编程训练不够。不少学生没有认真训练如何编写好的程序和较大规模的程序,软件开发平台使用技巧掌握不够。

(5)非编程语言课程的编程能力训练不够

非编程语言课程,特别是数据结构、操作系统、计算机组成原理、计算机网络、编译原理、软件工程等课程,程序设计的训练也非常重要,学习这些课程也是提高编程能力和水平的重要手段。但是,在这些课程的学习过程中,不少学生不愿自己编写程序,而只是调试老师指定的代码、粘贴来自网上的代码,这样既无法提高编程能力,也无法学好、学活相应的课程。

2 优化编程语言课程群的具体措施

2.1 加强编程语言课程群的教学管理

建立编程语言课程群教学指导小组,加强编程语言课程群的教学管理,改革课程考核体系,提高实验教学与实验成绩的比重。深入研究编程语言课程群(C语言、Java、Web程序设计、Java EE、C#等)教学内容的交叉、关联与继承关系,分析它们在培养编程能力过程中的角色和任务,对编程语言课程群的教学进行整体规划与优化[1]。必须让学生牢记:单凭阅读和学习语法结构并不能真正掌握一门程序设计语言,必须进行编程实践——亲自编写程序并研究别人写的程序。学习一门新程序设计语言的唯一途径就是使用它编写程序[2]。

精心设计各课程的教学内容、典型案例、编程项目与实训项目等,从简单的顺序结构(Input、Process、Output,简称IPO)编程,到模块化、结构化编程,再面向对象编程,再到Java Web开发、Java EE流行框架技术开发应用等。避免课程之间不必要的重复,提高教学效率。注重典型案例的基础作用,循序渐进地进行开展编程能力训练。任课教师要在教学指导小组的指导下工作,深入研究教学内容,讲究教学方法,加强教学互动,注意课程之间的教学内容衔接。

加强学生调试程序能力的培养,从第一门语言课程开始,学生就要练习编程语言和开发工具的基本调试技巧[3]。不断学习流行软件开发平台(如Visual Studio、Eclipse、MyEclipse等),最终熟练掌握开发平台的使用技巧,提高编写程序、调试程序、分析程序的能力。

2.2突出第一门编程语言的基础地位

通常C语言作为入门语言教学,C语言对初学者来说是一门较难的课程。在教学过程中,我们实施“教、学、做”合一、“课堂与实验室合一”的教学模式,通过各种教学手段提高学生阅读、编写、调试程序的积极性和主动性,尽力使他们感受到编程的快乐和成就感[4]。另外,让学生学习并掌握流行软件开发平台(如Visual Studio、Eclipse等)的使用方法,从最基本的命名规范、注释、缩进的细微入手训练软件工程素养[5]。为加强C语言的编程能力,我们在大一的下学期开设“C实例分析与应用”课程,同时为后继课程(如:数据结构与算法等)打好基础。

此外,C语言作为第一门编程语言对初学者来说有一定困难,也可以选择其他语言(如:Python)作为第一语言。Python语言的设计哲学是“优雅”、“明确”、“简单”。国际上用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python教授程序设计课程[6,7,8]。

2.3加强教学过程管理,严格实验考核

严师出高徒,第一堂课应让学生明确教学目标要求,约法三章,严格课程管理。注重教学过程化管理,根据编程语言课程实践性强的特点,要加强实验教学的过程化管理[9,10]。不仅要提高实验学时数占总学时数的比例,还要提高实验成绩在学期总成绩中的比重(如:40%以上)。加强平时的实验项目考核,学生编程能力的提高主要是在平时的实验项目中实现的。鼓励学生使用开发平台进行大量调试、修改程序训练,从中感受编程中失败的痛苦、成功的喜悦和成就感。通过在线考试系统或在线测评系统平台完成实验项目成绩的统计与管理。

实验考试过程应该正规、正式,考试时间不少于笔试。严格实验考试,若实验不及格,课程总成绩不及格。实验考试采用在线考试系统或在线测评系统方式,随机抽题,自动阅卷。为了提高学生的应试能力,以及阅读、分析、编写、调试程序的能力,鼓励学生平时在实验过程中(如:规定的实验项目完成之后)通过考试系统进行积极训练。

2.4加强课外实验、实训教学管理

课内实验是在老师的指导下进行了,有的学生一离开老师的指导就无能为力了。课外实验正好可以培养学生的自主学习能力,促进同学之间的相互讨论,实在不能解决的问题也可以找机会问老师,课外实验的学时数应不少于课内实验。

大量项目实践是提高编程能力的根本保证。课内的课程设计、单独的课程实训以及企业实训是主要的项目实践活动。通过这些项目实践活动,逐渐掌握如何编写好的程序和较大规模的程序,掌握软件开发平台的使用技巧与程序调试能力,理解软件工程的基本方法,熟悉软件工程过程(问题定义、需求分析、系统设计、算法设计、模块测试和调试、集成测试等)。还可以不断提高学生问题分析能力、规划设计能力和团队合作精神等综合能力。通过完成各种实验项目可以不断赢得自信。

上述实践活动只有通过认真、踏实的态度,不断坚持下才能够达到好的效果,因此关键是要严格管理,绝对不能流于形式、走过场,应规定实训项目成绩等级的具体标准。

2.5编程能力培养应贯穿所有专业课程

不断提高学生的编程能力,仅靠编程语言课程群是不够的,要加强非编程语言课程(如:数据结构、操作系统、计算机组成原理、编译原理、数据库原理、计算机网络等)的编程能力与编程能力训练,应提高非编程语言课程实验学时占整个课程学时的比例,以及实验成绩占学期总成绩的比例,使学生通过自己的编程实践与软件工程训练,提高对课程内容的理解和掌握。把这些课程的内容当做应用开发的工具、技术、系统、项目的成功案例,加以学习研究,特别是掌握其相关的设计与实现的基本思想和方法[11]。

此外,应鼓励学生参加各种程序设计竞赛,如:ACM程序设计大赛、中国大学生计算机设计大赛、全国大学生计算机博弈大赛等等,通过比赛展示自己计算机应用与创作才智,进一步提高自己解决实际问题的综合实践能力、创新创业能力和团队合作精神。

3 结语

加强编程语言课程群的管理,对课程群中各门课程教学内容进行总体规划和优化,精选编程案例、编程项目与实训项目,由浅入深、循序渐进地提高学生的编程能力。对于每一门编程语言课程,要加强教学的过程化管理,特别是实验教学的管理与考核。编程能力的培养应贯穿所有专业课程和专业活动,使学生在潜移默化中提高编程能力与软件工程素养。在第一门编程语言课程教学实践中,我们积极进行教学改革实践,表1是三学期“C语言程序设计”课程的成绩统计分析表,尽管这三个学期试题难度不全相同,对教师的评价指标也不完全一致,但从总的情况看,教学改革实践还是受到学生的欢迎和好评。

表1是第一门编程语言教学改革实践过程的情况分析,随着改革的进行,学生的满意度不断提高,采取了多种措施提高了学生的编程能力和软件工程素养。但全面提高编程能力,还需不断探索,采取改革编程语言课程群教学的综合措施。

参考文献:

[1]张基温.计算机课程体系整合畅想[J].计算机教育,2014(8):59.

[2]Brian W. Kernighan, Dennis M. Ritchie. C程序设计语言(第2版·新版)[M].徐宝文, 等译.北京:机械工业出版社,2004.

[3]罗先录,罗显松,胡韶峰,等.应用型本科计算机类专业程序设计课程体系建设研究[J], 工业和信息化教育. 2016(3):38-41.

[4]吴元斌. 提高C语言初学者编程能力的几点措施[J]. 现代计算机,2015(1):13-15.

[5]B. A. Forouzan, R. F. Gilberg. C程序设计-软件工程环境(原书第3版)[M].黄林鹏 等, 译. 北京:机械工业出版社,2008.

[6]梁勇(Liang Y. D.). Python语言程序设计[M]. 李娜 译.北京:机械工业出版社,2015.

[7]沙行勉. 计算机科学导论: 以Python为舟[M]. 北京:清华大学出版社,2014.

[8]嵩天,黄天羽,礼欣. Python 语言:程序设计课程教学改革的理想选择[J].《中国大学教学》, 2016(2):42-47.

[9]郭小清,谢忠红.计算机专业程序设计类实验课程教学方法与考核方式探讨[J].高校实验室工作研究,2015(1):11-12.

[10]朱晓旭,杨季文,赵雷,姜小峰,姚望舒. 程序设计类课程过程性考核研究与实践[J]. 计算机教育, 2014(22):99-102.

[11]张燕,蒋宗礼.《应用型软件工程专业人才培养指导意见》研制思考[J].《中国大学教学》, 2015(6):28-31.

相关推荐

热门文章

优秀大学生实习报告【完整版】

最近发表了一篇名为《优秀大学生实习报告2022精选》的范文,好的范文应该跟大家分享,看完如果觉得有帮助请记得(CTRL+D)收藏本页。能拓展大学生的综合素质,培养适应型人才。实习是大学生拓展自身素质的主要载体之一,那么关于一份好的实习报告要怎么写?以下是小编为大家准备了优秀大学生实习报告2

2022年度集体荣誉感演讲稿大全【优秀范文】

本页是最新发布的《集体荣誉感演讲稿大全》的详细范文参考文章,感觉写的不错,希望对您有帮助,希望大家能有所收获。演讲稿是人们在工作和社会生活中经常使用的一种文体。它可以用来交流思想、感情,表达自己的主张、看法;也可以用来介绍自己的学习、工作情况和经验……下面是小编为大家整理的荣誉感演讲稿大全

关于河流污染演讲稿合集(完整)

最近发表了一篇名为《关于河流污染的演讲稿》的范文,感觉很有用处,重新编辑了一下发到。演讲稿具有逻辑严密,态度明确,观点鲜明的特点。在不断进步的时代,能够利用到演讲稿的场合越来越多,在写之前,可以先参考范文。下面是小编为大家整理的关于河流的演讲稿,希望能够帮助到大家!关于河流污

三下乡社会实践报告最新

《2022三下乡社会实践报告最新》是一篇好的范文,好的范文应该跟大家分享,为了方便大家的阅读。随着个人的文明素养不断提升,报告的使用成为日常生活的常态,通常情况下,报告的内容含量大、篇幅较长,那么下面给分享关于2022报告最新,欢迎阅读!三下乡社会实践报告【篇1】20__年8月,队(新城区三分队)在

2022年度大学生个人实习报告最新(完整文档)

最近发表了一篇名为《2022年大学生个人实习报告最新》的范文,觉得有用就收藏了,希望大家能有所收获。使大学生增加社会阅历,积累经验。社会阅历和工作经验是职业场中的决定因素。只有参加实习,通过实习的检验,才能积累自身的阅历和经验。小编在这给大家带来2022年大学生个人实习报告最新,欢迎大

毕业自我鉴定总结(完整文档)

本页是最新发布的《2021年毕业自我鉴定总结》的详细范文参考文章,感觉很有用处,重新编辑了一下发到。自我鉴定就是把一个时期的个人情况进行一次全面系统的总结,写自我鉴定有利于我们能力的,因此我们是时候回头做好总结。自我鉴定怎么写才能发挥它的作用呢?以下就是小编给大家整理的2021年

2022教学工作会议演讲稿(全文完整)

《教学工作会议演讲稿》是一篇好的范文,觉得应该跟大家分享,希望大家能有所收获。演讲稿是人们在工作和社会生活中经常使用的一种文体。它可以用来交流思想,感情,表达主张,见解。也可以用来介绍自己的学习,工作情况和经验等等。下面是小编为大家整理的工作会议演讲稿,希望能够帮助到大家!教学工作会议演讲稿1各位:

五四精神演讲稿

本页是最新发布的《2022五四精神演讲稿》的详细范文参考文章,感觉很有用处,这里给大家转摘到。演讲稿也叫演讲词,它是在较为隆重的仪式上和某些公众场合发表的讲话文稿。演讲稿是进行演讲的依据,是对演讲内容和形式的规范和提示,它体现着演讲的目的和手段。以下是小编整理的2022五四演讲稿

小学三年级运动会加油稿(2022年)

最近发表了一篇名为《小学三年级运动会加油稿》的范文,好的范文应该跟大家分享,重新整理了一下发到这里。运动场上有,面对漫漫的征程,没有畏惧和退缩,任汗水打湿脊背,任疲惫爬满全身,依然奋力追赶,只有一个目标,只有一个信念,为班级赢得荣誉,拼搏吧。下面

梦想从这里起航演讲稿10分钟左右(全文完整)

本页是最新发布的《梦想从这里起航演讲稿10分钟左右》的详细范文参考文章,感觉很有用处,为了方便大家的阅读。是什么?是人们在梦里所大胆的想象,是美好的期望,它不一定会实现。那既然有可能实现不了,为什么还要人们拼命去实现呢?因为梦想的美好在于实现它的过程。下面是小编为大家整理的梦想从这里起航演

2022管理实习报告最新

本页是最新发布的《管理实习报告2022年最新》的详细范文参考文章,觉得应该跟大家分享,希望对网友有用。在不断进步的时代,报告的适用范围越来越广泛,报告具有双向沟通性的特点。那么报告应该怎么写才合适呢?下面是小编整理的报告2022年最新,希望能够帮助到大家。管理实习报告2022年最新1【前言

五四青年节青春演讲稿

《五四青年节青春演讲稿2022》是一篇好的范文,觉得有用就收藏了,重新编辑了一下发到。青年们还要集中进行各种社会志愿和社会实践活动,还有许多地方在青年节期间举行****仪式。五四的核心内容为,进步,民主,科学。以下是小编为大家准备了五四青年节演讲稿2022范本,欢迎参阅。五四青年节青春演讲