APP下载

计算思维在Java课程教学改革中的应用

2017-04-15邓华

电脑知识与技术 2016年34期
关键词:计算思维案例教学课程改革

邓华

摘要:针对目前Java类课程普遍存在的教学产学脱节的问题,该文以Java开发技术与通信工程实践课程为例,利用计算思维对现有的教学方式进行更新,通过培养学生将实际问题抽象化、程序化的计算思维,提高学生分析问题、解决问题的能力,优化教学效果。

关键词: Java;课程改革;计算思维;案例教学

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)34-0133-03

Abstract:In view of the problems of present Java course disconnect production. In this paper, taking the Java development technology and communication engineering practice course as an example, this paper uses the computational thinking to update the teaching methods. Through training students to abstract the practical problems, the program to improve the students' ability to analyze and solve problems, and to optimize the teaching effect.

Key words: Java;Course Reform;Computational Thinking;Case Teaching

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言,具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等领域,同时拥有全球最大的开发者专业社群[1]。

正是由于Java开发技术的广泛应用和市场需求。几乎所有高校的通信类、计算机类等专业都开设了Java编程语言的相关课程。但这类课程在相当长的时间内都是采用以理论为主、实践为辅的教学模式。虽然在后续的教学改革中引入了多种项目训练,但实践效果仍然不佳。归根结底是因为授课模式一般是以基础语法和核心类库的使用理论为核心进行讲解的。这种“以知识为中心”的组织方式强调教材中各章节的,虽然有利于学生全面学习Java语言的理论知识,但由于学生缺少程序化的计算思维,缺乏将实际问题转变成程序化表现方式的经验,导致学生的应用系统设计能力和项目开发设计能力无法满足就业要求。

因此,如何在有限的教学课时内尽可能的培养学生编程思维、提高编程能力,是目前Java教学改革的重点方向之一。

1 教学改革思路

1.1 教学理念改革

《Java开发技术与通信工程实践》是目前高等院校通信类专业的一门重要课程,目的是在网络技术飞速发展以及智能终端设备广泛应用的时代下,培养学生编写与网络技术相关的跨平台应用软件的能力。然而经过教学调研,该课程与其他Java类课程一样,教学反馈结果并不理想。多数学生并未达到培养目标中所要求的编程水平,包括考试成绩较好的学生也存在实际动手能力较弱的情况。

经分析,产生上述问题的原因主要是教学理念陈旧。当前教学的主要方法是让学生掌握知识,而不是教学生如何运用知识解决实际问题,学生的思维能力在教学过程中没有得到很好的训练。

因此,教学改革首先要做的就是理念改革,需要引进新的行业思维作为指导思想。计算思维是当前国际计算机界广为关注的一个重要概念,也是当前计算机教育重点研究的重要课题,由美国卡内基·梅隆大学计算机科学系主任周以真教授于2006年提出。旨在运用计算机科学的基础概念进行问题求解、系统设计、人类行为理解等涵盖计算机科学之广度的一系列思维活动[2]。鉴于计算思维的课程教学改革方面的先进性,很多教育者探索和尝试计算思维在课程教学中的实践及应用。笔者在《Java开发技术与通信工程实践》课程的教学过程中主动融入计算思维的基本理论和思维,通过理念的更新来改变以往以理论知识灌输为主,动手实践为辅的教学模式。

1.2 教学方法改革

在现实的教学过程中,虽然我们通过引入实例、加强上机实践等手段來培养学生的编程能力,但由于缺乏计算思维与应用能力的融合,导致学生更多的是仿照实例照本宣科,知其然而不知其所以然,面对问题仍然束手无策。

结合计算思维理念,笔者把整个教学过程分解,设计出一个个项目教学方案,按行动回路设计教学思路。在方法上辅以项目教学法为手段的渐进式培养模式,让学生在项目案例中学习知识、掌握知识并灵活运用知识。具体做法是采用简单案例对学生发现问题和解决问题的计算思维能力进行初步培养,采用较复杂案例对学生的计算思维进行强化训练。

这样的方法改革不仅传授给学生理论知识和操作技能,更重要的是培养他们的职业能力,这里的能力已不仅是知识能力或者是专业能力,而是涵盖了如何解决问题的计算思维。

2 基于计算思维的教学方法

以计算思维指导课程改革并不意味着一定要将现有的课程教学内容“推倒重来”,而是在原有教学内容的基础上,重新组织教学内容,适当增加新的能体现计算思维的知识点,删除一些陈旧的知识或技术细节[3]。通过调整课程内容的结构,构建以计算思维贯穿教学过程始终的知识体系。基于这个出发点,整个教学过程可以划分为计算思维的培养和实践。

2.1计算思维的培养

计算思维的培养是指将Java基础知识中非常有计算思维特点的知识点进行着重讲解。通过将知识点的来龙去脉与实际生活场景相印证,来引导学生学会思考、学会发现问题和分析问题,从而达到计算思维初步训练的目的。

比如Java的基础知识主要是以特有的方式描述了程序语言设计的共性知识,即数据表示和程序流程。那么在教学中就需要培养学生在脑海中建立数据类型和程序执行流程的概念,锻炼将逻辑步骤转化为程序代码的能力。这就是从逻辑思维角度培养计算思维。

再比如面向对象思想这一章节是从抽象思维角度培养计算思维,根本上完全符合计算思维规律。Java 作为一门面向对象的高级程序语言,天然涵盖了面向对象的三大特征是封装、继承、多态,那么在程序设计中考虑的不是某一具体操作而是一类操作,通过将功能抽象化后进行封装来提高功能的重用性。在教学中就需要培养学生运用面向对象思想解题,包括分析问题、抽象出问题中涉及的类及其属性和行为、规划出类的层次关系、思考行为的逻辑实现思路。

根据这样的教学方式,可以看出整个教学过程就是不断的训练计算思维的过程。因此在每个知识点的教学内容中,要讲解清楚理论知识背后蕴含的计算思维(如图1)。让学生随着知识点的贯通,循序渐进地掌握简化、转换、递归、抽象、分解、建模等计算思维的基本方法,进而将一个复杂问题转换成多个简单的子问题来构建求解。

2.2计算思维的实践

计算思维的培养是贯穿整个课程知识体系的指导思想,计算思维的实践则是对指导思想的具体执行。考虑到在有限的课时基础上,完成这一新的课程知识体系是很困难的。因此,笔者对教学的内容进行重组,采用以案例教学为手段的渐进式培养模式,让学生在案例中学习知识、掌握知识并灵活运用知识[4]。

1) 通过场景引入知识点;

2) 通过案例讲解实现过程;

3) 通过提出问题引申新知识。

这种教学模式在周而复始的螺旋过程中(如图2),达到了知识的进阶。能够显著提高学生对知识点的理解,为分析解决实际问题创造了有利条件[4]。

以面向对象这一章节为例,引入场景“美团购物”作为教学案例,引导学生根据“美团购物”的业务设计一个基础的“团购”类,包含成员变量和成员方法,再实例化一个对象,也就是“美团购物”中一个具体的订单,既有商品名称、店家、地址、价格等成员变量,又有提交、付款、消费等成员方法。这样学生很快就能通过场景类比来理解类和对象的概念及它们之间的关系。

当学生理解了类和对象的概念后,可以自然地引出“外卖”场景,引导学生继续通过场景类比来思考“美团购物”与“美团外卖”的区别与联系,由此来深入理解类的派生、继承、多态等相关概念。

当然在“美团购物”的场景中,还会遇到是否可以使用优惠券、商品已售完、或者未到消费时间等问题。这时就可以引导学生建立一个有效的异常处理逻辑模型来合乎情理的解决这些问题,进而自然地过渡到异常处理这一章节的教学。

组织多个诸如此类的场景案例将大纲中的知识点包含进去,可以有效地提升学习效果。因为场景案例来源于日常生活,所以学生的代入感很强,学习积极性会高涨。当场景案例讲述完毕后,多个Java知识点都会被串联起来,也就是将所学的知识进行全面系统的梳理。同时,场景类比让学生对课程知识的学习不只停留在对概念的理解,更多是提升了他们使用Java知识来分析、解决实际问题的能力。这正是计算思维的核心思想。

3 总结

正如前文所说,Java语言天然涵盖了计算思维的思想,所以教师在授课,不仅是讲一个程序该如何写,更重要的是讲程序为什么要这样写,也就是把将现实问题程序化的思维方式灌輸给学生,让学生学会使用计算思维的方式思考问题、分解问题、解决问题,而不是让学生照抄程序。在计算思维的指导下,《Java开发技术与通信工程实践》取得长足的进步,教学质量明显提升。

发散而言,计算思维的引入势必能激发学生的积极性、主动性。所以计算思维的培养应是贯穿于整个专业教学过程中的,可在各门专门课中推广这一教学方式,从而整体提高专业办学质量。

参考文献:

[1] runoob.com. Java 简介[EB/OL]. http://www.runoob.com/java/java-intro.html.

[2] Wing J M.Computational Thinking[J]. Communications of the ACM,2006, 49(3):33-35.

[3]强小利,蓝雯飞. 面向计算思维的Java程序设计课程教学探讨[J].计算机时代,2015(11).

[4]朱子江,刘东,胡毅.基于计算思维的 Java 程序设计课程教学实践[J].计算机教育,2015(24).

猜你喜欢

计算思维案例教学课程改革
程序设计课程中计算思维和应用能力培养问题研究
“双创”形势下高职财务管理课程改革探索
案例教学在机械创新设计课程中的应用
马克思主义基本原理概论课案例教学的几点思考