- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
?
?
计算机程序设计教学中问题求解能力的培养探索
?
?
徐建军尹良泽陈立前
【摘要】针对计算机程序设计教学中实际存在的问题,教学过程中把知识讲授转化为对问题求解能力的训练以及计算思维的培养,并以二维数组的为例展示了一个具体的教学设计,最后介绍了课程实践所采取的措施,取得了良好的教学效果。
【关键词】计算机程序设计?问题求解?教学案例
G64A2095-3089(2019)13-0243-02
计算机程序设计目前是各个高校理工科的基础课和必修课,是一门理论和实践并重的课程。但在实际教学过程中,这门课难教、难学已经成为师生的共识,传统的程序设计教学一般是以教师为中心,学生是被动的参与者,教学过程中偏重知识和理论的传授,而忽视思维和能力的培养训练。大多数学生都认为程序设计艰涩难懂、学难致用、学完即忘,遇到具体问题往往无从下手。
实际上,计算机程序设计这门课除了掌握一种高级程序设计语言之外,更加重要的是训练学生分析问题和利用计算机进行问题求解的能力,在这个过程中培养学生的计算思维[1]。计算思维是指运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等一系列思维活动,具体内容包含抽象、分解、迭代、递归、折中、并行、容错等。作为计算机类的基础课程,计算机程序设计课必须要改革教学方式,更新教学理念,树立以培养问题求解能力为核心的教学目标[2,3]。
1.教学设计
目前,我校的《计算机程序设计》课程讲授的是C语言,C语言功能强大、应用灵活,但是其语法细节特别多,所以在课堂讲授时不能面面俱到,需要抓住重点和难点进行精讲。从问题求解能力培养的角度来说:基本表达式和控制结构是基础,要求熟练掌握;函数则是课程的重点,这是进行封装和抽象的主要语言机制;数组、字符串、结构等复合数据类型则是解决实际问题经常使用的,应结合实际问题加强练习;指针是C语言的精髓,但也是传统的难点,这部分内容可以结合教学实际情况进行合理取舍。
教学过程中,笔者结合教学内容引入了丰富的教学案例[4],见表1所示。表中这些原生态的案例都有实际的工程应用背景,授课时围绕如何分析解决这些真实的问题,启发学生一步步思考,在过程中让学生体会如何把一个现实问题转成计算机求解的步骤,以此来培养学生针对实际问题的分析和求解能力,从而实现把编程知识的讲授有机植入到问题求解能力的训练中。
程序设计的经典公式是:程序=数据结构+算法。教学内容就是按照数据结构(如何表示数据)和算法(如何处理数据)两条线索进行组织的,对于每个实际问题启发学生分析出数据结构和算法。同时,在这个过程中还要强调对程序从结构和效率等方面进行持续优化,并结合工程实践经验介绍编程技巧,最后还设计合适的课堂练习进一步加强学习效果。
2.案例分析
这里以多维数组为例进行具体教学展示。多维数组是学完一维数组之后,一般以二维数组为例来学习多维数组。这一讲是以“地形导航”为教学案例实施教学。
地形导航是无人机等系统设计的关键部分,系统预先存储了任务区域的地形信息,然后根据当前所处位置和目的地,自动规划出飞行路线等。可以考虑把地面划分成网格,逐块存储各类地形信息(如海拔高度)。首先给出说明:山峰是四周海拔都低于中心点的位置(排除边界上的位置),山谷是四周海拔都高于中心点的位置(排除边界上的位置)。如图1所示,可以把地形网格中的海拔高度用一个二维数组进行表示,图1(b)中椭圆框标出的就是符合条件的山峰节点。这一讲的任务是编写一个地形导航分析程序,分析输出地形网格中山峰、山谷的位置和数量等信息。
1)数据结构
首先提出问题:程序中如何表示地形网格?因为地形网格有多行多列,可以用多个一维数组,但地形网格大小不确定,所以多个一维数组并不合适。由此自然过渡到用矩阵来表示,然后引出C语言是用二维数组来表示矩阵。在给出二维数组的概念和声明形式之后,得出求解“地形导航”问题所使用的数据结构:用二维浮点数组来表示地形网格。
接下来的问题是如何给地形网格存入数据,首先介绍初始化二维数据的语法和示例代码,重点强调初始化二维数组时只能省略第一维,然后示范初始化地形网格的代码。
2)算法设计
“地形导航”重点要解決的问题如何找到所有山峰?启发学生进行算法设计:遍历二维地形网格数组中的所有节点(但要排除边界上的节点,如图(b)虚线框所示),依次与四周节点(上、下、左、右四个节点)进行比较,判断是否满足山峰的条件。其中的关键如何遍历地形网格以及如何与四周节点进行比较,这里需要学会使用二维数组。二维数组的遍历一般是通过两层的嵌套循环实现,对二维数组元素的访问关键在于设置正确的行列下标。然后启发学生分析四周节点的具体行列下标,最后给出查找山峰节点的示例代码。
查找山谷节点的过程则可以作为课堂练习,由学生模仿查找山峰节点代码自行完成。
3)程序优
您可能关注的文档
- 计算机网络系统的防雷设计.docx
- 计算机网络技术在医院信息化建设中的应用探究.docx
- 计算机网络安全中数据加密技术的运用.docx
- 计算机求职简历.docx
- 计算机技术在环境监测中的应用.docx
- 计算机在教学中的应用优势.docx
- 2024年度必威体育精装版国家开放大学《公司概论》形考作业(含答案) .pdf
- 2024年流动资金借款合同官方版(3篇) .pdf
- 2024年秋季小学教务工作计划(六篇) .pdf
- 2024年教师资格之小学综合素质题库与答案 .pdf
- 2024年小学教师工作计划模板(八篇) .pdf
- 2024年药学类之药学(师)题库检测试卷B卷附答案 .pdf
- 2024年必威体育精装版仁爱版五年级数学(上册)期中考卷及答案(各版本) .pdf
- 2024年高中生个人职业生涯规划 .pdf
- 2024年法律职业资格之法律职业客观题二题库与答案 .pdf
- 2024年资产评估师之资产评估基础真题练习试卷B卷附答案 .pdf
- 2024年度社工(初级)《社会工作实务(初级)》考试典型题题库及答案.pdf
- 2024年新员工下半年工作计划范文(3篇) .pdf
- 2024年律师委托代理合同标准版本(三篇) .pdf
- 2024年股权抵押借款合同范本(4篇) .pdf
文档评论(0)