应用型本科《面向对象程序设计》课程教学改革

2018-02-24 02:35顾青
青年时代 2018年34期
关键词:计算思维应用型教学改革

顾青

摘 要:《面向对象程序设计》是应用型本科软件工程专业的一门重要专业基础课程,培养学生的计算思维能力和程序设计能力是课程教学的核心任务。文章针对软件工程专业应用型人才培养目标,分析课程教学中存在的主要问题,融入计算思维能力培养,制定课程教学目标,并对课程的理论课教学和实践教学进行改革探索,以提高课程的教学质量。

关键词:应用型;面向对象程序设计;计算思维;教学改革

《面向对象程序设计》课程以阐述面向对象程序设计方法为中心,面向对象集抽象性、封装性、继承性和多态性于一体,已成为软件项目开发中广泛使用的编程思想与方法,更是软件工程专业人才必须具备的一种基本素质与能力。

在国家积极推进地方普通本科高校向应用技术型高校转型发展的大背景下,上海电机学院(以下简称“我校”)的软件工程专业在2016年成为了上海市应用型本科试点专业,其人才培养目标确定为:培养具有良好的软件工程技术能力、人文综合素养和发展潜力,能够在软件工程及信息技术应用领域,从事软件系统分析与设计、开发及测试、项目管理与运维的高等技术应用型人才。

《面向对象程序设计》是我校软件工程专业的一门核心课程,为了提高学生运用面向对象程序设计技术的计算思维能力和实际编程能力,实现应用型人才的培养目标,对课程进行教学改革是非常必要的。

一、《面向对象程序设计》课程教学存在的问题

在课程教学中,主要存在以下几方面的问题:(1)在课程教学目标中不能充分体现应用型软件工程人才的特点,未能突出对学生的计算思维能力的培养。(2)在理论课教学中,缺乏对如何运用计算思维进行问题求解的整体教学设计。(3)在实践教学中,针对单个章节的实验较多,缺少综合性、连贯性实验;未能进行分层次教学,对学习困难学生关注不够,未能有效提高学有余力学生的知识水平和创新能力。

二、《面向对象程序设计》课程教学改革与实践

(一)融入计算思维能力培养,制定课程目标

2006年,美国卡内基·梅隆大学的Jeannette M. Wing 教授首次提出了计算思维的概念:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。《面向对象程序设计》课程中的面向对象是一种计算思维,面向对象程序设计思想和方法具有强大地描述复杂数据和构建复杂系统的能力。

根据我校软件工程专业应用型人才培养目标,制定课程目标:(1)通过学习面向对象的编程思想和Java程序设计语言,使学生能够运用Java语言作为一种计算思维工具,具备用面向对象程序设计思想分析、解决实际问题的软件开发技能。(2)使學生能够遵循编码规范完成编码。(3)掌握软件开发过程中所使用的工具和方法。(4)引导学生树立科学的世界观,激发学生的求知热情、启发学生的创新意识。

(二)理论课教学改革

在理论课教学中,强调面向问题求解的计算思维能力的培养,主要采用案例教学法,通过对实用案例的分析、研究及拓展,培养学生的计算思维能力和编程能力。

1.面向对象特性

计算思维内容:面向对象特性部分包括了类、对象、抽象、封装、继承、多态等知识,在进行面向对象程序设计时,一般将一个复杂问题分解成一组可以相互协作的类,将数据与对数据的操作结合在一起,抽象出一种新的数据类型。

主要案例设计:例如,当设计银行账户Account类时,引导学生思考怎样对所有用户的账户信息进行分析、抽象,可以抽取账号、姓名、余额等数据(类的属性),还可以抽取存钱、取钱、转账、查账户余额等行为(类的方法)。通过数据抽象和行为抽象,可以描述银行账户这类对象共有的属性和行为,用类将数据和行为封装在一起,形成一种特殊的数据结构Account类,以此表示银行账户这类事物。为了避免在类外部的程序直接修改类的属性,将类的属性隐藏(使用private修饰符将类的属性声明为私有),通过该类提供的方法实现对private数据的操作和访问。这样,一个用户的银行账户就是Account 类的一个对象,它具有accID、name、balance等属性,还具有deposit( )、withdraw( )、transfer( )等方法。

案例拓展设计:例如,模拟一个银行的1000个用户账户,教师提出问题:怎么存储这些对象数据呢?引导学生进行分析、讨论,引出并解释当需要存放批量数据时,数组是一种有效的存储方式。要求学生在课后独立完成以下操作:创建一些Account 类的数组对象、从数组中检索对象、遍历数组中的对象以及选择处理数组中对象。

2.图形用户界面与事件驱动

计算思维内容:这类程序,由于用户的操作顺序并未事先预知,程序的执行过程取决于用户在图形界面上的操作顺序(事件顺序)。这部分教学的主要目标是培养学生理解和掌握计算思维中事件驱动的思维方式。

主要案例设计:例如,首先以用户界面友好为设计原则,设计一个银行ATM机的图形用户界面,引导学生思考标签、文本框、密码框、按钮等组件的界面布局,并编写事件处理程序,使得用户在通过图形界面输入数据信息或者操作界面组件时,能控制程序执行相应的任务,并将执行结果显示在图形界面上。用户需要通过某种交互事件来告诉程序应该如何操作数据(查余额、存钱、取钱、转账)。教师通过程序运行演示,让学生理解事件是程序运行中出现的行为和动作的反映,当用户和图形界面进行交互通信时产生事件,继而触发事件处理程序。

(三)实践教学改革

1.课内实验

为了更好地激发学生的学习兴趣,教师可以选择将一个实际应用项目进行修改并分解成各个子项目,使之符合课程教学目标,子项目的内容对应了课程教学中的一个阶段的知识、能力要求。例如,将“学生信息管理系统”项目拆分成8个实验子项目,通过不断递增式地完成子项目,最终可实现一个完整的项目。

在指导学生做实验时,教师要启发引导学生掌握调试程序的技能、自己找到程序出错时的问题所在。要求学生在实验报告中,记录程序调试及运行中出现的错误、分析出错原因、以及解决办法,鼓励学生尝试以不同的方式设计程序求解问题,并加以分析比较,得出结论。

2.课外实践

为更好地开展个性化教育,创建课程学习QQ群,在群里发布一定量的课外编程题和微课视频,给教师与学生、学生与学生的课后互动交流提供在线学习平台。更加关注学习困难的学生,充分利用任课教师每周一次的晚自习辅导时间,将这些学生召集到实验室,面对面地详细了解其学习上的疑难,进行答疑解惑,帮助学生建立起学习的自信心,使其能够最大可能的获得知识和技能。组织和培训部分学生参加软件类的学科竞赛,例如蓝桥杯大赛、互联网+大赛等,培养学生的学习兴趣,激发学生创新能力。

三、结语

教学改革的实践证明,在《面向对象程序设计》课程的教学中融入计算思维的理念,学生通过一学期的理论课学习、设计一个完整的实验项目以及分层次的课外编程实践,提升了学习兴趣和自主学习能力,取得了良好的学习效果,培养了学生运用面向对象的思维分析问题、解决问题的计算思维能力,以及使用Java语言实施解决方案的程序设计能力,从而提高了软件工程专业应用型人才的培养质量。

参考文献:

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

[2] 徐利军,冯国富,葛艳,等.面向计算思维能力培养的程序设计课程教学方法探索[J].教育教学论坛,2017(17):132-133.

[3] 彭秀芬,陆克中.新工科背景下面向对象程序设计教学改革探讨[J].电脑知识与技术,2018(21):186-188.

猜你喜欢
计算思维应用型教学改革
关于应用型复合人才培养的教学模式探讨
“5-2-1”应用型人才培养模式探索实践
程序设计课程中计算思维和应用能力培养问题研究