- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
立体化程序设计能力培养方法.doc
立体化程序设计能力培养方法
摘要:分析影响学生程序设计能力提高的关键因素,建立立体化的程序设计能力培养方法,以案例为中心进行教学,以问题驱动进行程序设计实践,在师生之间、课堂内外、学生之间形成一个立体化互动学习网络。
关键词:程序设计能力;立体化培养方法;案例教学;问题驱动;学生互动
0 引言
人才是当代国家的核心竞争力,培养创新型高级专门人才已经成为社会不断向前发展的源动力。高等教育承担着培养高级专门人才、发展科学技术文化、促进社会主义现代化建设的重大任务。提高人才质量是高等教育发展的核心任务,是建设高等教育强国的基本要求。目前,软件人才需求以每年40万的规模增长,预计在2014年将达到400万左右。软件人才在我国依旧缺乏,软件人才需求缺口大。对高校而言,如何提高计算机专业学生的程序设计能力,是广大程序设计类课程教师面临的新课题。
1 计算机专业学生程序设计能力培养现状
程序设计能力是计算机专业学生必备的一项基本技能。程序设计能力培养不仅包含技能培养,还包含学生分析问题、解决问题以及创新能力的培养。为此,各高校从大一开始就开设了高级语言程序设计课程以及后续一系列课程,以提高学生的程序设计能力。然而,即使各高校设置了丰富的程序设计能力培养课程,学生的程序设计水平也没有得到大幅度提高。
当前软件企业招不到合适的人才,计算机专业学生找不到工作,这种局面的形成归因于学生的程序设计能力并未达到软件企业预期的要求。调查表明,企业新招聘员工中只有15%直接来自高校毕业生,而85%来自社会招聘,因为社会招聘人员动手能力强,入职后能很快适应工作岗位。程序设计能力层次见表1,从表1可以看出,要胜任企业软件开发工作,至少需要100000行代码量;对于本科毕业生,至少需要有10000行代码量,而目前计算机专业大多数学生本科4年的代码量均在1000行,有的甚至更低。
1)程序设计类课程依然重教学,轻实践。理论教学依然是程序设计类课程的重点,理论学时多,实践学时少。教师花费大量时间进行语法、数据结构概念、算法理论讲解,因此也使得有针对性的实践太少,基于相关知识和理论的案例教学不足,学生很难将所学知识点和理论用于解决实际问题。
2)实践环节枯燥,学生无法提高学习积极性。
在传统程序设计实践教学中,教师布置3~6道作业题,学生当堂完成,然后将代码以及运行结果截图打包上传到服务器,教师一一评阅。教师给出的习题往往直接针对课堂教学的知识点,无任何实际背景或故事情节,实验枯燥乏味,学生学习积极性无法提高。
3)学生多,教师少,教师无法逐个解答学生的问题。
在大学不断扩招的情形下,师生比进一步扩大。实践教学过程中,教师无法一一发现和解答每个学生的问题。学生将作业代码和运行结果截图通过FTP上传至服务器,教师查看运行结果,由于学生多,教师无法逐个查看和运行学生代码,疲于应付,因而导致实践效果差。
4)实践能力评价方法单一。
目前的课程考核多采用笔试,学生的实践能力只能通过平时作业和实验进行主观性评价,难以激发学生自主训练实践能力的激情。在这样的教学模式下,久而久之学生就失去了编程兴趣,同时也降低了后续程序设计类课程的学习积极性,以致形成恶性循环,学生代码阅读量、代码编写量均得不到保证,程序设计能力自然无法提高。
为了提高学生的程序设计能力,文献[1]提出一种贯穿在系列课程中的程序设计能力培养方法,强调在一系列课程中持续不断地进行系统化训练,采用面向专业应用的分类教学,贯彻落实案例驱动、强化实训等教学方法。文献[2]初步将ACM模式应用到程序设计类课程实践教学中,使学生的编程能力和解题思维能力得到有效训练,教学效果显著提高。文献[3]也提出采用ACM竞赛形式的程序设计能力层次化培养模式。这些方法都是提高学生程序设计能力的有益尝试。
2 立体化程序设计能力培养模式
针对目前程序设计能力培养方面依然存在的一些突出问题,我们借鉴国内外一流大学的经验,与学校、学院教学部门配合,探索并建立立体化程序设计能力培养方法。立体化程序设计能力培养方法如图1所示。
1)培养方法和过程。
在立体化程序设计能力培养方法中,教学活动仍然分为理论知识讲授与编程实践,但理论课不再以单纯介绍语法知识为主,而是以具体的程序案例分析为主,让学生从案例中掌握语法。在实践教学环节中,教师设计若干有趣的问题,学生在解决问题过程中学会相关的语法知识与编程技巧。学生编写的程序代码全部通过安徽大学程序自动评判系统进行评判,学生只需在规定时间内完成,不再局限在实践课堂内完成,令学生有了足够多的思考和动手编程时间。对于学生在编程过程中出现的各种问题,教师和ACM/ICPC队员及时进行在线细致辅导。在
文档评论(0)