高职计算机专业编程实践教学研究
2012-04-29赵兆
赵兆
摘要:研究了高职计算机专业编程能力培养的课程群、实践教学体系、存在的问题,从多个角度提出了编程实践教学的改革建议,给出了案例项目驱动的编程实践教学法的实施方法。
关键词:计算机专业;程序设计;实践教学;案例驱动
中图分类号:G424文献标识码:A文章编号:1009-3044(2012)02-0421-02
编程能力是计算机专业学生的基本专业能力,是就业应聘时被用人单位重点考察的能力。程序设计以及进一步的系统开发要求学生有较好的逻辑思维能力、数学基础、建模能力,能熟练掌握集成开发环境、测试工具、软件工程规范,具有良好的吃苦耐劳、团队合作精神。目前,高职计算机专业学生普遍编程能力不强、专业技能特征不明显,导致学生就业质量不高。提高学生编程能力是目前高职计算机专业人才培养亟待解决的重要问题。
1编程实践教学现状
1)编程能力培养课程群
理论基础:高等数学、离散数学;语言课程:C(或C++)语言程序设计、数据库程序设计、面向对象程序设计等;结构和算法:数据结构、算法设计和分析;系统设计:软件工程、软件测试技术等。
2)编程实践教学体系
编程课程群、其它理论课程的实验教学部分、专门的课程设计、第二课堂、程序设计类的学科竞赛、实习、毕业设计。
3)编程实践教学存在的问题
①学风可能出现问题。由于学历层次为专科,很多学生对编程自信心不足,普遍有畏难情绪,自觉性不高,没有专业自豪感,自备的学习电脑变成了玩游戏的工具。对就业市场缺乏准确认识,缺乏将来在IT企业就业的自信心,导致学习动力明显不足。
②编程的前修课程学习不到位。学生对高等数学、离散数学这些理论课程的学习意义认识不足,错误认为这类课程与计算机专业的基本技能关联不紧密,不考虑技术生涯的发展潜力和后劲。英语学习积极性不高,不能结合编程语言的开发环境阅读联机帮助中的英文内容。
③师资自身编程能力和教学方法有待提高。部分编程任课教师,没有项目研发实践经历,程序调试和系统测试技巧掌握不多,程序开发环境的功能掌握不全面。教学课件制作粗糙,不能充分利用多媒体教学平台,教学过程缺乏足够的上机演示和训练。文件、OS系统功能调用、常用基本算法的实现等不讲授或讲授不到位。
④实践教学环节质量没有得到保证。语言类课程课后编程作业量不够,且多数采用纸上编程的形式,很少布置课外上机编程作业和上机检查,考核手段主要采用笔试,程序设计语言种类设置偏多,编程作业没有结合应用和趣味性,其它相关课程(如:操作系统)的实验教学没有到位,实验室开放制度没有落实,学生课外时间没有得到真正有效利用,三年期间编程训练不断线没有落实。
2编程实践教学改革
1)提高学生专业自豪感,加强学风建设
强调社会信息化建设对合格计算机专业人才需求依然很大,学有所长的学生依然是IT企业竞相高薪聘用的对象。随着世界经济结构变化,计算机服务外包人才需求旺盛;信息技术对传统产业的技术改造以及对社会各领域快速渗透,进一步保证了社会人才市场对计算机专业合格人才持续的高需求状态。目前部分计算机专业学生因学风等问题使得专业基本技能没有学到位,从而导致就业不理想。
2)优化编程类课程群,把握课程重点
程序设计课程应当有足够的实验课时,最好设置相应的独立的课程设计(如:C语言课程设计)。不能只给学生讲解编程开发环境中最常用的功能,而至少要介绍开发环境中大部分功能,形成学生对开发环境的整体认识,程序调试技巧要着重讲解。程序设计语言种类要少,目前很多学生学了好几门语言,因时间和精力限制,最终都没学会,毕业时没有1门语言能熟练掌握。《离散数学》课程不能开设成纯粹的数学理论课,而应当配以适量的实验课(如:编程实现求解等价关系),着也为以后《数据结构》学习打下基础。《软件工程》应对软件测试方法、测试工具、测试用例构造技术做重点讲解。可在大学三年级设置《软件综合课程设计》。
3)加强校企合作,进行项目开发实训
校企合作是培养符合社会需求、了解技术发展、强化专业技能、提高职业素养的重要途径。目前进行计算机专业技能实训的社会教育服务机构、IT研发企业很多。这些企业有较好的软件开发教学案例,采用真实的软件工程方法对学生进行编程、软件测试、项目管理、行业规范的训练。学生实训地点可以是学校机房(此时机房需进行适当的软件环境改造和优化),也可为企业的研发场地。校企合作过程同时能提高教师的软件研发能力。
4)积极参加相关学科竞赛,提升编程能力
政府或学会组织的各级计算机程序设计类学科竞赛很多,如:ACM程序设计竞赛。这类竞赛能提高学生的编程等综合能力和编程兴趣。获奖学生能提高就业质量。在课程建设方面,最好把竞赛的题目作为《数据结构》或《算法设计和分析》的教学案例或课后作业。竞赛队伍可含有低年级学生,由专职教师进行专门训练和管理,学校给予政策倾斜。
5)充分利用第二课堂,设立编程类大学生创新性试验项目
编程能力提高只靠第一课堂是远远不够的。借助学工类和学生类组织,成立多个学生编程兴趣小组,由教师进行专门指导和管理。最好结合计算机技术实际应用设立编程类大学生创新性试验项目,其中完成优秀的项目可计入学分,进一步扩充后可成为学生就业应聘时进行演示,体现学生技术实力。
6)编程训练不断线,编程方向要集中
由于程序设计语言种类很多、高级语言功能类似、应用领域非常多、时间精力有限,学生最好重点掌握其中一种语言(如:JAVA语言)。若有可能,非语言类的课程的编程实现类实验项目最好使用学生自己拟专攻的语言,逐步熟悉该语言程序设计开发环境中尽可能多的功能。学生也可以结合感兴趣的应用领域(如:信息管理、网络应用、游戏)重点学习其中一种语言,此时学生自学或学校开设讲解应用领域基础知识的课程。
7)程序设计课程考核要进行笔试和机考相结合
以往程序设计课程考试一般都是笔试,主要考核学生对基本语法的掌握情况,题型主要是填空题、选择题、改错题、纸上编写小程序。此考试方法不足以考核学生编程的真实水平,而且纸上编写的程序的正确性,难以完全把握,所以应该加上机器考试环节,既能促使学生进行更多的上机编程实践,由能准确判断编程是否正确,还能考核学生对基本编程环境是否熟悉。
3案例项目驱动的编程实践教学法
案例项目驱动教学法是案例驱动和项目驱动相结合的一种教学方法。课堂上通过案例的讲解让学生充分掌握相关的知识,并让学生利用所学知识在实验课中完成一个小项目。该教学法适宜于在《软件工程》课程教学中使用,是以学生为主体,教师为辅助,以学生在项目实践中发现知识、解决问题、提高系统设计和编程实现能力为根本目标。
1)选择的教学案例应具备的条件
案例最好是由教师自主开发的已经投入实际运行的软件系统,经过改造而成,同时具备以下条件:①不会出现知识版权纠纷;②技术的综合性比较强;③有软件使用说明书,相关文档齐全;④配备针对该案例的自编教材;⑤案例涉及的应用领域知识,学生能凭借直觉理解;⑥源代码完整,使用的编程语言是学生学习过的语言;⑦软件能在学校机房环境正常运行。
2)学生开发的小项目应具备的条件
项目应该是针对教学内容而设计的能由学生独立完成的、可以收到良好教学效果的小任务。最终过渡到某种具有实际应用价值的产品。该项目应满足下列条件:
①该项目过程可以用于学习一定的教学内容;②能将教学内容的理论与实践结合在一起;③该项目能够激发学生的学习兴趣;④项目有一定综合性,技术难点在案例中有所体现;⑤项目的应用领域涉及的知识学生能理解;⑥有明确的评分标准,可以对完成的项目进行评价;⑦项目完成后,师生共同总结学习过程和方法。
3)案例项目驱动教学法的实践
项目教学过程分为四个阶段:第一阶段是让学生熟悉案例软件的使用,进行案例的感性认识,阅读相关案例的文档。第二阶段是让学生了解完成一个工程项目所需要完成的模块,直接引导学生进入项目“情景”,激发学生学习的积极性和能动性,又能让学生在以后开展项目开发时能体会到使用者的具体需要。第三阶段是在教师对案例各模块开发过程的演示下,针对本组项目开展研究讨论、分工协作,共同完成工程项目的系统分析、结构设计、代码编写、程序调试等工作。第四阶段由项目组共同完成实训项目。
参考文献:
[1]毛玉萃.计算机科学与技术专业实践教学体系的构建与实施[J].实验室科学,2009,(4):97-99.
[2]朱翠苗,郑广程等.高职计算机专业实践教学体系构建[J].职业技术教育,2009,(26):67-68.
[3]马刚.浅谈模拟软件在计算机实践教学中的应用[J].科技信息,2010(11):230,184.
[4]王永飞.高职计算机专业课程实践教学现状和对策研究[J].铜陵职业技术学院学报,2009(3):14-16.
[5]于洪渊,朱惠敏.如何在计算机教学中培养学生的创新能力[J].吉林省经济管理干部学院学报,2006,20(3):94-96.
[6]张涛.计算机实践教学中的文化素质教育[J].计算机教育,2010,(17):17-20.