下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大作业在程序设计语言学习中的作用 摘要:通过访谈北京地区17所高校的60名程序设计课程初学者,了解他们学习程序设计语言产生困难的原因以及他们的学习方式和看法。从学生的角度对大作业教学形式进行益处分析,并指出面临的挑战。 关键词:大作业;程序设计课程;语言学习;调研 1.初学者学习程序设计语言产生困难的原因 1.1单一化的课程设置 受到教学资源和教学能力的影响,目前国内大学的程序设计课程除了某些特殊专业的课程需要一些特殊语言(如浙江大学生物医学工程系要求采用mcs51单片机汇编语言)之外,大多数采用c/c+、java、vb、c#等语言。对于初学者而言,较多院系选择让学生学习c/c+,但是学生常常
2、会在后续其他课程的学习中发现所学语言并不是需要使用的语言。例如,学生在清华大学水利系课程的学习中,有时会使用到matlab、vb、fortran乃至lisp等语言。 这就对学生如何理解编程思想和设计程序提出挑战,但现状往往是学生学完了c/c+语言课程,认为掌握得也不错,却对别的语言望而生畏。究其原因有以下几点:学生只学过c语言,于是只会用c语言编程;害怕学习其他语言会像c语言一样枯燥且花费时间;尽量绕开需要使用语言的地方。最终的结果是学生越来越不敢应用自己曾经学习的编程技能,导致程序设计能力下降。 1.2众多基础技能和知识需要学习 对于初学者而言,程序设计这门课的学习任务往往比较重,有各种作业
3、和实验课。但不可忽视的是,要想学好程序设计并能够自主编写程序,就必须具备一些其他学科的基础知识,如线性代数、离散数学、算法设计、数据结构等,而主要矛盾就在于上述课程或者没有开设,或者比较难。因此,这门本来就比较难学的课程容易给初学者造成一个暗示,即“应该先把上述课程学好再来学编程”,这种现象从信心上打击了初学者。 1.3紧凑的课程设计和短时间内转化思维 程序设计语言的内容相对较多,受学期学时的限制必然被安排得比较紧凑。对于初学者而言,比较难的正是前面几节课,因为就算是一个最简单的“hello world!”程序,教师都需要对其中所包含的很多内容进行解释,有时还会涉及后面章节的内容(如#incl
4、ude指令和cout命令就涉及头文件、编译、运算符等内容)。因此,学生在前面几节课中对于很多内容需要先记下来如何使用,然后在后续的课程学习中再掌握原理,而这会不停地增加初学者的疑惑,直至最终使初学者认为程序设计是一门不适合自己的课程。 编程重在思维的转化,而这对于初学者来说往往是最难的。无论是面向过程还是面向对象的程序设计语言,对初学者而言都是一种新鲜的思维方式,而不仅仅是一套知识体系。以前受固定思维模式影响比较严重的初学者往往难以在短时间内转换思维,跟上紧凑的课程设计,这导致的最终结果是初学者既没有学好程序设计,又被打击了学习信心和积极性。 2.大作业及其益处分析 2.1大作业概述 大作业不
5、同于一般的编程练习题,从量和复杂度上来说都有相当大的区别。大作业是一个较为完整的程序开发过程,具体来说就是要求学生编程解决一个有一定难度的问题,综合利用所学课程的基本内容、基本理论和知识结构对难点问题进行分析的作业形式。 2.2原始调研数据罗列 笔者通过对北京地区17所高校的60名程序设计课程初学者进行访谈(调查问卷及结果如表1所示),了解他们学习程序设计语言产生困难的原因以及他们的学习方式和看法 2.3数据处理和益处分析 综合被调研者的口述内容和调研数据,大作业有以下几个优点:训练方面广、灵活性较强、连贯性强。 1)训练方面广。是否进行大作业设计的初学者平均代码编写行数如图1所示。从数据上来
6、看,进行大作业的初学者为44人,占总调研人数的73.3%;进行大作业设计的初学者平均代码编写行数是不进行大作业设计的初学者平均代码编写行数的5倍,其中有11名初学者编写的程序多于1000行。可以看出,编写大程序可以保证初学者尽量多地使用语言。 2)灵活性较强。主要表现在不同大学不同课程的大作业具体内容的实行上,包括2个方面。首先,从设计命题(有的学校不要求)到开题,再到算法讨论和实现以及最后的程序提交和总结过程,导师都可以针对不同的要求和课程难度设置,灵活地安排大作业难度。在调研中,也有初学者表示他们可以按照自己的水平,灵活地选择目标和方向以及需要自己完成的项目。其次,导师的考查形式具有灵活性
7、,对于开放性问题,导师可以设置面试答辩方式,也可以使用提交报告和运行展示的方式。考查时间可以设置在项目进程的关键时期,此期间可以由初学者进行一些汇报展示等。 3)连贯性强。主要表现在初学者的表述上。有的学校会为大作业设置一些必须使用的关键技术(如文件读取、多态、继承等)。比较优秀的大作业程序设计重点应该放在核心思路的讨论和核心算法的优选上。程序设计往往贯穿整个学期,有的学校还专门设计一套时间表,精确到每个具体日期,要求初学者在某个日期提交程序设计的具体内容。从程序设计安排上看,大多数学校主要以培养编程习惯和熟练度作为编程核心,有条件的会更加重视思维的培养和小组团队合作共同开发的能力训练。大作业
8、可以比较容易地将教学、自学、互学联系在一起,将整个学期的课程串起来。 对于初学者而言,面对程序设计有两道坎。第一是掌握语言本身,即能够顺利地使用本门课程的语言达到自己想要的目标。第二是掌握程序设计思想,即掌握结构化程序设计的精髓,以便在后续的应用中举一反三。初学者通过一般的小作业能够巩固基本的程序设计语言知识,相对而言,通过大作业则能够将程序语言的学习内容贯穿起来,训练整体思维的同时还能够加强程序使用的熟练度,提高小组合作能力和自主解决问题的能力,在量和质上达到飞跃。最关键的是,由于大作业课堂上的知识很难满足需求,使得初学者在实践过程中自主学习新的技术和算法,提高了自学程序设计语言和举一反三的
9、能力,为后续程序设计思想的培养奠定基础。 3.面临的挑战 总的来看,90%以上的学生认为大作业对编程训练有效果,其中有半数以上认为这个作业很值得做。然而,笔者综合60名受访者陈述的观点发现,相当多的学生仍然无法达到培养编程思想并在后续学习中运用该编程思想的目标,仍然为后续语言需求不对等的问题感到迷茫。究其原因主要包括以下几个方面:题目由老师布置;几乎没有小组合作;繁重的课业导致学生无法专心投入;没有改进程序的意识,认为能够编出程序即可;考查形式对于学生没有压力。 中国的“传授一接受”教学模式会使学生减少自主学习活动,逐渐产生依赖教师的习惯,降低自主学习能力。对于教师的依赖使得学生不愿意自主设计
10、命题,即使设计出命题,该命题也存在各种缺陷。少见的小组合作模式是难点,学生没有小组合作的习惯,其实小组合作的模式不仅能培养学生合作讨论并解决问题的能力,而且可以起到让学生相互监督和督促的作用。学生对于课业压力与学习精力的平衡较难把握,除了面对繁重的学习压力还要完成大作业,算法的设计和优化也是需要面对的难题,需要学生投入较大精力。学生动手能力的提高过程中需要解决2大问题:程序设计能力;程序调试能力。这2个问题相辅相成,都是一个逐步实践和提高的过程,怎么从中找到一个平衡也是教师亟待思考的问题。 4.结语 学生对于程序设计语言的学习有语言设计不对口、牵连知识多、思维转化难等困难。综合整个调研,笔者发现被广泛采用的大作业教学模式有相当突出的优点,应用形式也多种多样,是很有意义也很值得推广的一种作业形式。很多学生无法达到培养程序设计思维能力的目标,而这正是教师通过一门程序课程教学所要达到的目标,因此在大作业的完成过程中,教师应该更加关注这方面内容和技能的培养。 该调研有几个明显缺陷:样本容
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年互勉模特形象授权协议样本版B版
- 2024年度儿童游乐设施家具设计与定制合同3篇
- 资金使用计划
- 2024年度矿区专用叉车租赁及运营协议
- 美术教学活动课题研究计划
- 2024年度体育赛事广告植入合同3篇
- 2024工程所需木工劳务长期合作合同
- 早教中心师资合同
- 油井采光井建设协议
- 长期供货合同违约责任
- 系统商用密码应用方案v5-2024(新模版)
- 劳动教育智慧树知到期末考试答案章节答案2024年湖州师范学院
- DB37-T 1914-2024液氨存储与装卸作业安全技术规范-地方标准
- 2023国家开放大学《经济学基础》形考任务1-4参考答案
- PDCA循环法员工入职培训PPT模板
- 数学常用英文词汇
- 沟通技巧—听的技巧.ppt课件
- 国批减免征免性质拆分
- 屋面渗漏水修补方案(全面完整版)
- 万科工序检查一览表建设监理工程管理检查表
- 项目管理人员安全生产责任制确认书
评论
0/150
提交评论