- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“程序设计语言”课程教学方法探讨
摘要:程序设计语言课程教学应当注重能力培养,以学生能够独立地读写程序为中心目标。课程内容须少而精。上机实践不宜选用算法设计难度大的题目。文中介绍了多种获取学习状况反馈的途径。一个反响良好的措施是要求学生每天读透一个程序示例,并在下一次课上随机抽取学生上台讲解。
关键词:程序设计语言课程;教学方法;能力培养;每天一例
中图分类号:G64 文献标识码:B
文章编号:1672-5913 (2007) 21-0031-03
前言
程序设计语言课程已经成为高等院校的基础课程。它不但是计算机专业学生的必修课程,而且是非计算机专业的必修课程。学好本课程,有利于学生深入地理解和掌握计算机技术,更好地使用计算机。
本文是我在从事程序设计语言教学过程中的经验教训和心得体会的总结。目的是引发一些思考和讨论,从而在程序设计语言课程教学上探索出更有效的手段和方法。
我讲授的是C语言,授课对象是非计算机专业的学生。教材选用的是谭浩强教授编著的《C程序设计(第三版)》。本文给出的观点和方法不限于C语言教学范畴,尽管部分例子采用了C语言编写的程序代码。这些观点和方法可以推广应用至各类程序设计语言课程教学中。
我的观点和方法概括如下:
●衡量课程学得好坏的标准有两条:(1) 会读程序;(2) 能写程序解决问题。
●课程内容须少而精。
●课堂教学要多交待背景、多举例和多提问。
●强调课后复习,采取措施进行督促。
●强化实践环节,及时解决学生们遇到的问题。
●获取反馈,跟踪学生的课程学习状况。
1衡量标准
计算机程序设计课程学得好与坏,就看这个学生能否做到两件事:读程序和写程序。“会读程序”是前提,会写程序并且写出好程序是最终目的。诚如谭浩强教授所言:衡量这门课学习的好坏,不是看你“知不知道”,而是“会不会干”。
会读程序不是一件容易的事。应该要求学生读“透”程序――把程序语句背后的含义读出来。举个例子来说,程序清单1的功能是把一个二维数组行和列互换,存到另一个二维数组中。
程序清单1:
#include
void main() {
int a[2][3] = {{1, 2, 3}, {4, 5, 6}};
int b[3][2], i, j;
printf(数组a: \n);
for(i=0; i=1; i++){
for(j=0; j=2; j++){
printf(%5d, a[i][j]);
b[j][i] = a[i][j];
}
printf(\n);
}
printf(数组b: \n);
for(i=0; i=2; i++){
for(j=0; j=1; j++)
printf(%5d, b[i][j]);
printf(\n);
}
}
上述程序是简单的。读透它不仅仅是给出程序运行结果,而应该读出语句背后的含义。例如以下程序段的含义是把数组a的一行转换成数组b的一列。由此,我们也可以读出变量i代表的是数组a的行号,数组b的列号。行号/列号正是变量i背后的含义。
程序清单2:
for(j=0; j=2; j++){
printf(%5d, a[i][j]);
b[j][i] = a[i][j];
}
能写程序解决问题是更高一层的要求。这一能力必须通过不断的练习来获得。这主要依靠课程实践环节。需要注意的是,写程序前须要求学生复习知识点和多读程序示例,否则学生在上机编程中会遇到相当多的低级错误,效率大打折扣。
2课程内容
课程内容要少而精。课程应当聚焦于基础概念和核心知识点,不宜贪多。讲一门程序设计语言,只要提供学生进一步自学的基础就可以了。
相信很多人认同这个观点,只是操作起来就走样。课程设计者也许是想多塞些知识给学生,或者在他/她眼里任何一个知识点都是那么重要。殊不知这带来以下问题:(1)教师赶进度,减少对隐藏在背后的知识的详细讲解。在“课堂教学方法”一节会提到,这些背后的知识是掌握某些课程知识的前提。(2)学生消化不了。不但多塞的内容掌握不了,连基本的都学得不扎实。(3)给学生造成课程“难”的印象。一旦提不起兴趣,积极性和主动性就得不到发挥。这一后果比少学一点更严重。
授课者应该思考向学生提供什么。举例来讲,C语言课程不见得要逐一讲授众多字符串操作函数和文件操作函数的用法,而应该是举例讲解,进而归结出库函数的使用方法。重要的是掌握在阅读
文档评论(0)