APP下载

高中信息技术课程面向对象技术教学初探

2021-12-17周晓燕

电脑知识与技术 2021年33期
关键词:思维方式面向对象高中信息技术

周晓燕

摘要:面向对象技术作为程序设计中的重要思想和模式在业界早已普遍使用。但由于难度、课时等多方面的因素,在高中信息技术课程的程序设计教学模块中一直难以展开和深入。该文就近年来在高中信息技术课程中面向对象技术的教学尝试做了初步的经验总结,并提出成熟的教学思路,以期利用有限的课时,能够将面向对象技术核心的思维方式及编程思路传授给学生。

关键词:高中信息技术;面向对象;思维方式;教学实践

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2021)33-0257-02

开放科学(资源服务)标识码(OSID):

1引言

随着计算机软件技术的发展,面向对象程序设计在行业中的应用早已占据主导地位。同时,面向对象在软件工程中,也是一种思维方式,甚至工作方法,其重要性不言而喻。

但在现阶段的中学信息技术教学中,由于种种原因,面向对象程序设计的内容有限,教师的重视程度也不足,这与其自身的重要性和在行业中的地位并不相符。

笔者在以往的教学过程中,也时常遇到学生提出相关问题,一般都无法用三言两语解释清楚。所以近两年,笔者尝试将面向对象的内容融入教学中,初步取得了一些经验。

2 高中阶段面向对象技术的教学现状

2.1 普通高中教学

以苏教版的高中信息技术教材为例,在程序设计模块中,面向对象的内容只占一个小结。以往的讲授只是简单地介绍,比较合理的做法是结合VB的界面编程,通过控件来介绍属性、方法等概念。而关于面向对象的三个最重要的特性,即封装、继承和多态,一般只是照本宣科,学生难以做到完全理解。

从学科知识的角度而言,教学效果自然差强人意。索性考核要求也不高,所以多年来,面向对象这部分内容只是简单介绍,甚至就直接跳过。

2.2 学科竞赛

信息技术奥赛,作为最权威也最具代表性的学科竞赛,主要使用C++编程语言(很快将不采用C, Pascal),涉及了更多的面向对象的知识,例如运算符重载、stl编程等等。事实上,这些都要求学生具备一定的面向对象编程能力和思想。

2.3 与国际课程接轨

对比国外的相关课程,例如英国的A-Level课程体系中的计算机科目,面向对象是作为重要内容系统讲解的,且对编程的要求也很高。所以可以肯定的是,从难度上讲,面向对象编程对高中生,特别是在小學初中有一定基础的学生而言,是不成问题的,当然,这还需要足够的学时。

2.4学生情况

在日常教学中,学生往往会提出或者遇到面向对象相关的问题。例如VB.net(代替老旧的VB6.0)中最常用的输出语句Console.WriteLine,到底是什么语法现象。再如很多学生接触了流行的Python语言(Python已作为新一代教材的指定语言),往往会对其“一切都是对象”的说法产生困惑。还有一些学生会结合小学阶段所学习的Scratch来思考程序的结构,如果没有面向对象的概念则仍然难以理解。这样的问题不在少数。

上述情况由来已久,使笔者感到,在教学中刻意回避面向对象的相关内容,已经远远不能跟上技术的发展,反而让学生的疑惑得不到解答。而在教学过程中适当引入面向对象的内容,采用一定的方法讲授给学生,是否对高中生而言就会困难重重,是否对教师而言就是费时费力?通过近几年的教学实践,答案是否定的。

3 教学实践中的几点问题

3.1 教学安排

毋庸讳言,课时有限是教学过程中最突出的问题,系统地讲解面向对象程序设计仍然难以做到。所以采用集中分散相结合的办法。集中讲解的课时不超过2堂课,甚至更少,主要以程序演示为主。分散是指讲授其他知识点时,联系或引申面向对象的内容和思想。例如,向VB的frame上拖拽按钮的时候,很容易就可以区分类和对象的概念。

教学方法上,尽量多通过实例引出概念,通过问题启发思考。这里的实例不仅仅是具体程序,还可以是生活的事例。例如,以现实中继承的例子,从而过渡到面向对象的继承。所提问题也需要精心设计,例如通过“类与结构体有哪些异同?”这样的问题,让学生掌握属性和方法的运用。

3.2 难度把握

从知识点难度上考虑,面向对象的封装、继承两个概念,学生易于理解。笔者在教学中通过人与人的关系来讲解封装和消息的概念;通过现实生活中的继承来讲解继承的含义。如果时间允许,花一节课时,由老师编写相关的程序(现为VB.net)并做解释,不仅能够让学生的理解更加清晰,同时也解答了程序应用中的种种疑惑。

而对于面向对象的多态性,不管从概念还是程序理解上来说难度相对较大。现在采取的方法是通过简单例程讲解静态多态。而动态多态性,则期望普及Python语言后,通过Python来讲解,则会非常方便。

3.3 强调优势

在教学过程中,尽量让学生体会面向对象的优势。通过与面向过程的编程方式做比较,让学生理解从函数模块到“类”的发展;结合人们日常的思维方式,让学生体会“面向对象其实是编程思维的返璞归真”;再从开发者的角度,让学生切实感到面向对象也是一种高效率的软件开发方式。从多个方面使学生能够自然地接受面向对象技术。

4 高中信息技术课程面向对象知识模块教学总结

4.1教学效果总结

通过对学生学习情况的了解,绝大部分学生对面向对象编程有了初步了解,能够将其与面向过程的编程方式区分开来,并理解面向对象编程的特点和优点,特别是对遇到的一些语法现象不再迷茫。就难度而言,学生普遍反映课上所讲完全可以理解,包括例程。当然,更深刻的体会不可能一蹴而就,但已经完全达到打好面向对象编程基础的教学目的。

此外,一些学习较好的学生,已经能够用面向对象的思路模仿着编写一些程序,对遇到的问题,会主动思考是否可以用类来做抽象。对这些学生,笔者引导他们尝试对以往的程序用面向对象编程做改写,在这个过程中,更能清楚地比较面向过程和面向对象两种编程模式。但这些工作暂未全班推广。

4.2教学经验

首先,笔者认为,现有的高中信息技术课程中的程序设计教学模块,难度和深度已经足以讲解面向对象的相关知识,无须刻意回避。而讲解面向对象的相关知识,学生的收获是很大的,所以完全应该坚持下去。

其次,通过精心的教学设计,可以尽量做到化难为易,化繁为简,同时也增强了学生的学习信心。例如,编写合适的例程;概念多角度讲解;多举实例和生活中的例子等等。

最后,根据学生特点,对较优秀的学生再推一把,通过指导课外学习,充分调动他们的积极性。

4.3 量表评价

具体的面向对象技术在高中信息技术课程中的教学效果,以校本课程评价量表的形式说明如下:

5 结束语

在整个面向对象技术的教学过程中,笔者觉得,最理想的状态是在讲解基本概念的基础上,引导学生自觉地去使用面向对象技术思考问题、分解问题、解决问题,使学生真正体会到其优势和好处。

事實上,面向对象,从来不仅仅是编程技术,也是方法和模式。在高中信息技术的课堂上,利用有限的课时,能够将这种思维方法和工作模式传授给学生,那么面向对象技术的教学目的也就真正达到了。

参考文献:

[1] 韩燕丽,杨慧炯.工程应用导向的面向对象系列课程体系重构[J]. 软件工程,2019(3):60-62.

[2] 张成.基于核心素养的高中信息技术学科教学策略研究[J].中小学教学研究,2019(1):73-76.

[3] 谭火彬,林广艳.培养软件工程思想的面向对象程序设计课程改革与实践[J].计算机教育,2018(8):53-58.

[4] 孙勇徐,建辉.定位于实践的面向对象程序设计课程教学探索[J].教育现代化,2018(10):271-274.

[5] 谭珊珊,杨简云,程庆雷.高中信息技术项目学习记录表的设计与实施路径——以《人工智能及其应用》单元为例[J].中国信息技术教育,2020(21):58-60.

[6] 周静,吴涵.项目化学习在高中Python编程教学中的应用[J].中国信息技术教育,2020(20):55-56.

[7] 韦丽娟. 面向对象程序设计的高中编程思维培养[J]. 信息化建设, 2016(8):42.

[8] 丁智国,钱婕. 面向对象程序设计课程教学改革[J].计算机教育,2011(9):9-12

[9] 毛晓娟.基于创客教育理念的项目教学应用研究——以普通高中信息技术课程为例[D]. 天津职业技术师范大学,2018

【通联编辑:王力】

猜你喜欢

思维方式面向对象高中信息技术
面向对象的计算机网络设计软件系统的开发
面向对象的数据交换协议研究与应用
高中信息技术探究式教学的实践与思考
面向对象Web开发编程语言的的评估方法
面向对象信息提取中影像分割参数的选择