从“三个优化”探讨中美高校程序设计方法的改革与创新
2018-11-19韦庆清顾艳春崔如春
韦庆清,周 燕,顾艳春,崔如春
(佛山科学技术学院电子信息工程学院,广东佛山528000)
如今,改革和创新高校教育教学模式和教学方法,提高课堂教学水平和课程教学质量已成为每个高校大学教师所必须面对并重视的问题,同时,也成为了大学教师所要探讨研究的课题。因此,笔者借着学校选派到美国马里兰大学交流访学一年(2017.3-2018.3)的有利时机,从实际入手,根据所搜集和整理出来的各种实际教学数据资料及现场图片资料来具体分析、比较及研究中国高校与美国高校之间各自不同的课程教学模式和教学方法,从而有效促进教学水平和教学质量的提高。
下面以同一门普通高校大学本科计算机专业课程——面向对象程序设计为例,主要从教学背景、教学手段和课堂教学方法这三个方面来具体比较研究中国高校(以佛山科学技术学院计算机系为例,以下简称佛计)与美国高校(马里兰大学计算机科学系为例,以下简称UMDCS(马计))之间的实际教育理念、教学模式和教学现状。
1 教学概况分析
1.1 教学背景
(1)课程介绍。面向对象程序设计课程不管是在马计还是在佛计,都是大学本科计算机专业的必修课程,但其所设置的学分和学时数等却有所不同。
在UMDCS(马计),该课程安排在大学一年级春季学期,课程代号为CMSC131,课程名称为Object-Oriented Programming,学分数为4,学时数为72学时,其中理论课44学时,实验课(Discussion)28学时。其详细说明如图1所示。
图1 Object-Oriented Programming课程信息示意图
而在佛计,该课程安排在大学二年级第一学期,课程名称为面向对象程序设计C++,学分数为3,学时数为48学时,其中理论课40学时,实验课8学时。其详细说明如图2所示。
图2 面向对象程序设计课程信息示意图
此外,两所大学课程教学大纲及课堂教学内容安排大致相同。
(2)教材。在UMDCS(马计),不管是任课教师还是学生,都没有统一指定或购买的教学用书(教材)和学习用书(课本),但任课教师会向同学们推荐学习用书,如《Java Foundations》,买与不买由学生自己决定。
而在佛计,任课教师所使用的教材和学生使用的课本都是相同的,并且会由学校相关部门统一为学生订购。该课程使用的教材是由高等教育出版社2011年2月出版,李师贤等编写的《面向对象程序设计基础(第二版)》[1],此外,还会使用相关的辅助教材[2-3]。
(3)教学对象。在教学活动过程中,学生是教学活动的主体,教师想要很好地开展因材施教,其基本前提是要了解学生对象的基本情况,比如:之前学过的课程、学习成绩以及学习态度等,为教师顺利完成课程教学任务打下良好基础。
在UMDCS(马计),该课程安排的学习对象是大学一年级(如2016级)的学生,学生来源比较复杂,既有美国本地学生,也有来自世界各个不同国家的国际学生。其中比例数较多的有美国、印度、伊朗和中国等。本学期选修该课程的学生人数大约为384人,分成三个班级来实施教学任务。
在佛计,该课程安排的学习对象是大学二年级(如2014级)的学生,学生来源单一,全是中国本地学生。本学期选修该课程的学生人数为34人,该班学生之前学习过的课程有离散数学、C语言、数据结构和计算机组成原理等。全班同学的年龄差别不大,约20岁左右。
(4)考核方法。教学评价是整个教学过程的必要环节,它不仅反映了学生对该课程的学习情况,同时也反映出任课教师的教学情况,通过对学生的考核结果的分析,能很好地促进及改善任课教师自身的教学水平。常用的评价方法可以采用等级记分制即用A、B、C、D、E等大写字母表示,也可以采用百分数记分制即用 100、90、80、70、60 等数字表示。
在UMDCS(马计),本课程考核采用平时实验作业、期中测验与期末闭卷考试结合的方式,其中平时实验作业成绩占40%,期中测验占30%,期末闭卷考试成绩占30%。其具体内容说明如图3所示。
图3 Object-Oriented Programming课程考核方法说明图
其具体学时分配如图4、5所示。
图4 Object-Oriented Programming课程学时分配示意图(一)
图5 Object-Oriented Programming课程学时分配示意图(二)
在佛计,按2013版的面向对象程序设计C++课程教学大纲要求,本课程考核采用平时作业、实验与闭卷考试结合的方式,其中平时(作业、实验)成绩占30%,闭卷考试成绩占70%。其具体学时分配如图6所示。
图6 面向对象程序设计课程学时分配示意图
1.2 教学手段
(1)教学硬件资源。面向对象程序设计这门课程的学习特点是要演示分析大量的程序代码,若是安排普通课室恐怕难以胜任。对此,两所大学的课室安排基本相同,都安排了多媒体电教室,所提供的教学设备有大屏幕投影器、电脑、白板和话筒等。具体配置如图7所示。
图7 马里兰大学计算机科学系电教室(CSI 2115)示意图
(2)教学软件资源。该课程的另一个学习特点是学习软件设计开发的过程离不开编写程序代码、编译调试程序和运行程序等几个基本操作环节,而每个操作环节都需要各自相应的程序软件来实现。因此,这些功能作用各不相同的应用软件都需要事先安装好。而由于两所大学为该课程所选择的程序编写语言不同,则各自所需要准备安装的软件开发平台也不同。比如:UMDCS(马计)所使用的程序编写语言是Java,其所安装的软件开发平台是JDK和Eclipse集成开发环境及其相关辅助网络教学资源;而佛计所使用的程序编写语言是C++,则安装的软件开发平台是Microsoft Visual C++6.0及其相关辅助网络教学资源。上课时,老师可以根据教学需要很方便地在各应用软件之间来回切换。
2 教学过程比较
面向对象程序设计和其他程序设计课程一样,其基本学习特点是既要抓好理论基础知识的学习环节,更要加强实际编程操作的实验过程,两者缺一不可。在此,重点分析、探讨同一门大学本科计算机专业课程面向对象程序设计在两所大学之间各自不同的课堂教学过程。
2.1 美方课堂教学过程
从2017年3月27日至2017年5月5日,笔者连续不间断地于周一、周三和周五下午3:00至4:45到UMDCS(马计)教学楼2115课室连堂听课。
这门课程的任课教师是Fawzi Emad。课堂上,Emad老师用的是自带的手提电脑,本课程所需分析讲解的程序例子Emad老师已事先编写好并存放在Eclipse工作空间里。通常,上课前几分种,Emad老师会跟同学们总结说明一下前一次实验中所要注意或存在的问题,之后才开始本堂课内容的学习。学习内容通常是从分析讲解程序实例入手。此时,Emad老师会向同学们分析讲解大屏幕上显示出来的源程序代码,并且会重点强调说明哪些代码所体现或包含的是前面已学习过的知识和技术的具体应用,哪些代码是新学习的知识点。
在此教学过程中,Emad老师会利用投影器和白板来辅助分析讲解某些基本概念、基本原理及基本特征。此时,总会有同学向老师提出问题,Emad老师也总是不厌其烦地回答学生所提的问题,师生互动显得积极、活跃。待源程序代码分析完毕,接着便给同学们演示将源程序代码编译、调试及运行的具体操作过程,让同学们在屏幕上看到程序运行的结果信息。最后,Emad老师只是以口头形式来总结本堂课所学内容的相关理论知识和技术,而并没有像平时课堂上常看到的PPT文档总结。
整个课堂上,Emad老师看上去精神饱满,讲课生动有趣,十分投入。有趣的是,板书时,Emad老师常常会左右手并用,显得很灵活。而同学们在听课当中也很专注,并积极主动提问,有的同学除了做笔记,还会利用录音笔录音,以备课后可以重复再听。某具体课堂实况如图8所示。
图8 Emad老师上课实况示意图
由此可见,Emad老师所采用的课堂教学方法是常见的讲授法[4-5]。其具体实施过程是先分析与学习内容相关的实例程序代码,后归纳总结其相关理论知识和技术。显然,这种方式能很好地激发学生学习的主动性,同时,还有利于培养学生的创造性思维和独立思考的能力。但这种学习方式对学生的要求较高,适合于自学能力和理解力较强,学习基础较好的学生;而对那些自学能力和理解力不太强,学习基础不太好的学生来说,则显得比较吃力,会让其受到学习压力的影响而打击学习积极性。同时,这种学习方式有些地方显得零乱、无序,不利于对所学知识内容建立起一个完整的认知系统。
2.2 中方课堂教学过程
按照教学计划,这门课程安排在2016-2017学年第一学期开学初,相关教学部门早已安排好了班级课程表,任课教师则根据教学大纲和课程表的安排填写好并提交该课程的教学日历。课程教学日历中明确写出了每堂课所要讲授的学习内容,上课时,任课教师需携带教材、教学日历、教案(或电子PPT课件)等相关教学资材。
所幸的是笔者正好是这门课程的任课教师,所以对其教学情况比较熟悉。和Emad老师一样,笔者所采用的课堂教学方法也是讲授法[2]。但具体实施过程跟Emad老师却正好相反,即先学习理论知识后分析程序实例应用。
上课时,先启动VC++6.0集成开发平台,为切换分析讲解程序应用实例代码做好准备,然后打开本堂课将要学习内容的PPT文档并使之显示到大屏幕上,接着,先花几分钟时间,通过自述或向学生提问的形式来回顾复习一下前一次课的学习内容,以便自然过渡到新课内容的学习。例如:当要学习本课程第五章类与对象时,为导入新课特意设计的讲解内容如图9所示。
图9 课程实况示意图
此外,该过程还能起到集中学生学习注意力的作用。这时,便将屏幕显示的学习内容一一向同学们分析讲解。该过程主要是为了让学生理解并掌握相关基本概念、基本原理和基本方法,所以讲解过程尽量做到通俗易懂,深入浅出,且要注意观察同学们的学习反应以便及时调整讲解节奏和表述方式;此外,还要注意适当地与学生交流、互动,以保持学生的学习注意力和积极性。
通常理论讲解时间大约占整个课堂学习时间的一半,之后便安排与课堂学习内容密切相关的应用程序代码来进一步强化说明其基本理论知识在实际中的具体应用。也就是进入到课堂学习活动的第二环节。在这个环节里,为了节省时间,和Emad老师一样,事先把相关程序编写好存放在所设置的存储空间里,用到时可直接切换并打开源程序,把程序中的关键性代码向学生作进一步分析说明,让同学们体会并领悟到基本理论知识在实际中的具体应用,培养同学们的实际编程能力。最后,编译、调试并运行程序。如此一来,通过理论结合实践,进一步加强了同学们对所学内容的理解和掌握。其具体操作过程如图10所示。
显然,这种教学方式能让学生比较系统、全面地学习课程内容,教师也能比较容易控制整个教学课堂以及讲课的节奏和进度;但是在某种程度上限制了学生主观能动性的发挥,不利于培养学生的创造性思维和独立思考的能力,特别是对于那些学习基础好、编程能力强的学生,会在一定程度上限制了他们突出能力的展示和发挥。
图10 VC++程序设计操作过程示意图
3 教学改进措施
经过对比,中美双方两所大学所实施的课堂教学方法各有千秋,为进一步探讨高校教学模式[6-7]以及改进、改善课堂教学方法提供了行之有效的参考。
(1)优化教学目标。优化教学目标的目的是把理论知识的学习与实际应用能力的培养结合进来。首先优化理论学习目标,理论知识的学习是整个课程学习的基础,它为实际应用实验提供了指导依据。具体措施可采用化整为零的方法,具体来说就是把整个学习目标细化为一堂课、一个学习单元或一个章节的学习目标,当一个个小学习目标完成时,整个学习目标也就完成了;其次是优化应用实验目标,具体措施方法是把小组项目实验与个人项目实验结合进来,这既有利于激发个体潜能和积极性,又能增进同学之间的相互学习交流和相互合作,从而很好地完成课程教学目标。
(2)优化教学进程。在日常教学活动过程中,学生是学习的主体,因此,教师既要讲好课还应时刻关注学生的学习动向,把控好课堂进程。具体措施可采用通过设计问题向学生提问、设计师生互动环节以及转换师生角色等方法来培养学生独立思考和解决问题的学习能力,以及激发和保持学生学习的注意力和积极性,从而很好地完成学习任务。
(3)优化教学时间。优化教学时间主要指调整好教学时间的比例分配。根据本门课程的学习特点,具体措施可通过调整理论内容的学习时间与应用程序实例的学习时间,以及老师讲授时间与学生动手练习编程时间的比例分配,具体分配是5∶5的比例还是4∶6的比例等,这要根据实际学习内容而灵活调整,不能一概而论,其目的是为了充分、合理地利用好有限的课堂时间(中方一堂课时间为45分钟,而美方一堂课时间为50分钟或75分钟不等)。
总之,在课堂教学活动过程中,需要进一步优化教师的教学方法和教学进程,有效激发学生的学习热情,加强教师引领与学生自主学习相结合,加强师生双方互动交流,从而促进课堂教学任务的顺利完成。
4 结语
综上所述,通过对佛山科学技术学院与马里兰大学(University of Maryland)两所高校计算机本科专业课程——面向对象程序设计的教育理念和教学模式进行比较研究,找出了两所大学在教学背景、教学手段以及教学方法三方面的异同点。尽管中美双方任课教师所采用的课堂教学方法都是讲授法,但各自实施的教学过程却截然不同。美方教师具体实施的讲授法是先实践后理论,而中方教师具体实施的讲授法是先理论后实践,各有利弊。因而不能简单、片面地肯定或否定其中一方,而是要根据实际教学情况灵活运用好这种教学方法,以至于更好地把理论基础知识的学习和实际应用能力的培养有机结合起来。最后,提出了从优化教学目标、优化教学进程和优化教学时间等方面进一步改进和完善自身课堂教学的方法,为加快高等院校的创新教育教学改革步伐及增进两国高校间的教育教学交流尽自己的绵薄之力。