中美两所高校JAVA语言课程教学的对比研究
2016-12-19张义,宛楠,陶皖
张 义,宛 楠,陶 皖
(1.安徽工程大学 计算机与信息学院,安徽 芜湖241000;2.安徽工程大学 计算机应用技术重点实验室,安徽 芜湖241000;3.皖南医学院,安徽 芜湖241000)
中美两所高校JAVA语言课程教学的对比研究
张 义1,2,宛 楠3,陶 皖1,2
(1.安徽工程大学 计算机与信息学院,安徽 芜湖241000;2.安徽工程大学 计算机应用技术重点实验室,安徽 芜湖241000;3.皖南医学院,安徽 芜湖241000)
通过对比美国UB大学(University of Bridgeport)和安徽工程大学在JAVA语言课程理论教学、实验教学和考核方式这3个方面的实施情况,根据两校的现状,借鉴UB的Java语言课程教学设置优秀的一面,提出改进安徽工程大学和国内部分高校Java语言课程的教学措施,以期达到提高教学质量,深化教学改革的目的。
教学内容;课堂组织;考核方式
0 引 言
程序设计语言是当前高校多数理工专业的必修课程。美国高校也不例外,以美国UB大学(University of Bridgeport)为例,该校的 “Introduce to computer I”就是为全校理工专业开设的一门计算机课程,课程选择的是Java程序设计语言。笔者由学校选派,在美国的UB大学研修了一个学期(Spring2016),并选修了UB的两门课程“Introduce to computer I”和“Introduce to computer II”,作者一直在高校从事程序设计语言类课程的教学,如C语言、Java语言等,从而能够对两所高校的程序设计语言的教学有一个较为深刻的认识和理解,以期通过对比研究,取长补短,提高程序设计语言教学的水平和质量。
1 理论教学对比
1.1 理论教学内容
1.1.1 UB的Java程序设计语言理论教学内容安排
课程内容涉及以下主题:History of Computing and Hardware Basics(计算机历史和硬件基础知识);The Elements of Java(Java程序的基本元素);Classes and Methods(类和方法);Numeric Types(数据类型);Branching and Method Algorithm Design(分支和如何设计方法);Loops and Files(循环和文件);Additional Control Structures(控制结构);Object-Oriented Software Engineering(面向对象软件工程);Arrays(数组);Inheritance,Polymorphism, and Scope(继承、多态、封装);Array-Based Lists(列表 容 器 );EthicalConsiderations ofComputing:ACM,IEEE codes of Ethics(编码标准)。课程选用的教材是 《Programming And Problem Solving With Java》2nd edition,作者:Nell Dale等[1]。
UB拥有功能完善的教学管理系统,教师通过该系统发布教学资源、实验通知、作业通知等,学生通过该系统提交课堂作业、实验作业、家庭作业以及考试代码等,学生可以通过该系统获知自己的分数和班级平均分。学校会为每位在校学生提供一个Canvas账户,学生所选课程的教学资源和相关通知能够在学生的Canvas中下载。
在学期开始前,教师会将教学资源上传到教学管理系统。教学资源包括:slides(课件)、syllabus(大纲)、schedule and task list(教学计划)、Install Net Beans(下载开发工具)、How to Submit Assignments(作业提交方式)等。
教师会根据课堂所讲内容,布置相关作业并发布在教学管理系统中。学生在系统中下载作业文档,在课下完成后,通过教学管理系统提交作业文档。教师会根据学生所提交的文档判定成绩,并最终计入总评成绩。学生所提交的作业有严格的格式要求。
(1)Cover page(封面)
内容包括题目、姓名、ID等,例如:Assignment 1:Java Reviews;Name:Jimmy Smith;ID#:000000; Instructor:Thompson;Date:January 21,2015.
(2)Table of Content(目录)
(3)Abstract(a brief summary of the contents within this document,no more than one paragraph is required)(摘要)
(4)Introduction(a brief description of the problem you are solving)(简介)
(5)Screenshot of output(输出截屏)
(6)Source code(源码)
(7)Conclusion(结论)
(8)Work cited(if applicable)(引用)
1.1.2 AHPU(安徽工程大学)的Java程序设计语言理论教学内容安排
课程内容涉及以下主题:数据类型、顺序选择和循环、数组、方法、类和对象、对象交互、对象容器、继承、多态、设计原则、抽象与接口、控制反转与MVC模式。
课程选用的教材是自编教材《Java程序设计:原理与范例》。在上第一次课的时候会向学生介绍课程概况,并提供教学课件等资源。但缺少类似UB的教学管理系统,多数会通过QQ群等网络方式在课下发布相关通知等。
教师会根据所授内容布置一定数量的作业,作业多以模仿或改进课程所讲程序为主。由于程序设计课程的特殊性,代码的运行成功与否才是作业正确的标准,因此不要求学生交纸质作业,而是提交电子版的代码。如果学生在完成作业的过程中遇到困难,会通过网络方式进行解答。
1.1.3 二者对比
教学内容均涉及Java语言的核心知识点,没有明显差别,相似度较高。所选教材在教学中扮演的更多的是参考书角色,教学内容并不是完全按照教材来安排的。不同的是,AHPU缺少相应的教学管理系统,如何将教学资源以更好的方式提供给学生,在这方面还有差距。
1.2 理论教学课堂组织
1.2.1 UB的Java程序设计语言理论教学课堂组织
UB班级学生人数在30人左右,教师教学全程采用板书的方式,在教学过程中学生可以随时提出自己的问题与老师互动,学生提问踊跃。通过问答的方式即时解决学生的疑问,一旦出现无人提问的情况,反而是老师最紧张的时候。当对所讲内容有学生表示不理解时,教师会反复讲解,同时课堂上还会安排1-2名助教,辅助回答学生提出的问题,助教多为高年级学生。教师不考勤,课堂管理松散,存在学生迟到早退现象,人数最齐的时候就是测试和考试的时候。
1.2.2 AHPU的Java程序设计语言理论教学课堂组织
班级学生人数在80人左右,教师教学过程中70%以上使用幻灯片,30%采用板书,大部分时间是教师从头讲到尾,学生参与度较低,多数学生较为沉默,不太愿意大胆提问。究其原因,一是学生较为拘谨,不愿在众人面前提问;二是多年教学方式形成的思维定式,使得学生不习惯提问;三是缺乏鼓励;四是人数较多,学生声音不够大,没法保证班级其他同学都能听到问题。在考勤方面,教师考勤严格,点名次数较多,学生迟到早退较少。
1.2.3 二者的对比
由于在学生人数上有明显的差异,因此这也成为课堂组织方式不同的主要原因。与UB相比AHPU的课堂更像是讲座,教师负责讲,学生负责听。UB更像是讨论会,学生对老师讲授的知识点不断提出疑问,老师负责进行解答,因此能够即时把握学生的学习状况,对于AHPU来说这点不够理想。在课堂组织方面,由于UB的考核方式不依托考勤,因此UB的课堂明显要比AHPU的方式更自由松散,而AHPU的考勤要更加严格。从教学学时来看,UB的Java理论课程每周2.5小时,共 15周37.5小时。AHPU的Java理论课程共40学时,30小时,UB的理论教学时间要多于AHPU的时间,具体见表1。
表1 理论课程对比
2 实验教学对比
2.1 实验教学内容
2.1.1 UB的Java程序设计语言实验教学内容安排
UB的Java语言实验教学所采用的IDE(Integrated Development Environment)是NetBeans。Net-Beans是Oracle公司提供的免费Java程序开发平台。教师在教学管理系统中给出了详细的下载方式和使用步骤,学生只需按照提示下载安装后就可以进行程序的编写和调试。实验教学内容会在实验课前发布在教学管理系统中,每次实验通常会包含一个实验题目。题目包含详细的问题描述和具体要求,以及样例输出。实验题目所涉及的知识点远多于理论教学中提到的知识点,要想顺利完成实验,需要学生课下花大量的时间延伸学习。
2.1.2 AHPU的Java语言实验教学内容安排
AHPU的Java语言实验教学所采用的IDE是Eclipse。Eclipse是一个开源的、基于Java的可扩展开发平台,教师会在实验课程开始前指导学生下载安装Eclipse及JDK,并演示如何使用Eclipse编辑和调试Java程序。教材附录中也提供了详细的Eclipse使用方法。实验教学内容会在实验课开始前通过网络方式进行发布,每次实验通常会包含一到两个实验题目,题目多为理论课内容的综合应用。实验题目所涉及的知识点一般不超过理论教学中所提到的知识点。
2.1.3 二者的对比
两所高校所选择的IDE不同,分别为NetBeans和Eclipse,使用效果相当。实验内容所包含的题量均为1-2题,但从难度和工作量上来看,UB的实验内容难度要高于AHPU的实验内容的难度。UB题目的综合性更强,AHPU的题目以模拟为主。
2.2 实验教学课堂组织
2.2.1 UB的Java程序设计语言实验教学课堂组织
教师会通过多媒体的方式,边讲解边操作,学生使用自己的电脑按照老师的指导完成实验。同理论课教学类似,UB的学生会随时提出疑问,老师或助教会一对一的进行指导。当然,教师并不会直接给出程序的源码,而是通过逐渐引导的方式,让学生最大限度的自己完成程序。当实验完成后,要在规定的时间内通过教学管理系统提交实验程序,以获得相应的分数。
实验教学的节奏非常快,当教师介绍完编程思路后,会很快的使用各种快捷键输入代码,如果没有清晰的思路就很难跟的上。学生需要精力高度集中才能顺利的完成实验。从大部分情况来看,很少同学能在有限的教学时间内完成,多数情况下会在下课后继续留在实验室编写代码,教师会离开,但助教会一直认真辅导直到学生完成实验。总体来说,实验课的强度和难度要明显高于理论课。
2.2.2 AHPU的Java程序设计语言实验教学课堂组织
实验教学中会以介绍编程思路为主,当学生在编程中遇到困难提出问题后,教师会将这个问题进行统一的讲解。原因是实验人数与理论课人数相同均为80人左右,统一讲解可以提高效率。学生完成实验后需要提交实验报告,以便评定实验成绩。实验报告包括:实验题目、实验代码、运行结果等。
实验教学的难度和理论教学难度相当,老师在讲解代码的时候会尽量让学生跟上节奏。学生在掌握理论教学方面的知识后,多数同学能够在老师的指导下完成实验任务。若有部分同学未能完成,课后会通过网络的方式进行交流讲解。
2.2.3 二者的对比
UB的实验课程难度要高于AHPU的实验课程难度。UB的实验采用的是教师加助教的指导方式,AHPU是教师指导的方式。由于学生人数差距较大,AHPU更多的是采用集中讲解的方式。UB的Java实验课程每周1.25小时,共15周合计18.75小时;AHPU的Java实验课程共24学时,合计18小时。UB的实验教学时间要略多于AHPU的时间。具体见表2。
表2 实验课程对比
3 考核方式
3.1 UB的Java程序设计语言考核方式考核方式由以下5部分组成:
1.Assignment(作业)。包括 Homework、Lab、Program3部分,其中Homework和Program需要学生自己独立完成,完成后按照老师给出的格式要求撰写文档然后提交到管理系统,Lab指的是实验课程上的程序,完成后同样要提交到管理系统。作业部分占总成绩的10%。每次作业的提交都有一个规定日期,必须在此之前提交才有效。虽然所占比重不大,但之后的Quiz、Midterm exam和Final exam中所涉及的知识点在Assignment中都会覆盖到。
2.Quiz(测试)。1个学期共进行3次测试,测试的内容为之前所讲的知识点,题型包括:选择题、问答题、改错题、编程题等。每次测试的分数占总成绩的10%,3次共30%。
3.Midterm exam(期中考试)。期中考试分笔试和机试,题型和Quiz类似,但难度更高,机试题目为一道编程题,难度适中。期中考试成绩占总成绩的25%。
4.Final exam(期末考试)。期末考试的方式和期中考试相同,只是题目的综合性更强难度更高,期末考试成绩占总成绩的30%。
5.Paper(小论文)。涉及有关计算机伦理道德方面的内容,占总成绩的5%。
3.2 AHPU的Java程序设计语言考核方式考核方式由以下2部分组成:1.平时考核
平时考核主要包括:课堂考勤、实验成绩、作业成绩等,平时成绩占总成绩的20%。
2.期末考试
期末考试为上机考试,试卷包括4-5题的编程题。期末考试成绩占总成绩的80%。
3.3 二者对比
比较UB与AHPU的Java程序设计课程评定学生成绩的评分项目各自所占比重如表3和图1所示[3]。
表3 Java程序设计课评分所占比重对比
图1 程序设计课程评分所占比重对比
经对比,UB的考核方式要比AHPU的考核方式更多元化,更看重过程,最终成绩的判定也更为复杂。AHPU最终成绩的判定主要还是依据期末考试成绩。究其原因有:(1)UB有一套教学管理系统,学生通过系统提交作业、考试代码等,这样在平时提交作业和上机考试时便于组织。AHPU目前还缺少这样的系统。(2)助教环节的差异,UB的班级人数在30人左右,并安排有3名左右的助教,这样在每次测试完成之后,可以很快的完成成绩的评定。AHPU的班级人数一般在80人左右,若在没有助教的情况下采用多次考试的方式工作量太大。
4 对国内部分高校的Java程序设计课程教学的启示
通过理论教学、实验教学和考核方式3个方面的对比,UB的教学方式对国内部分高校的程序设计教学有以下启示。
1.引进一套完善的教学管理系统,教师可以通过系统发布作业、实验题目、上机测试题目、考试成绩、课程通知等相关信息。学生则可以通过该系统提交作业、程序代码、获取课程资源等。
2.实施学生担当助教制度,从本专业高年级学生中选择优秀的学生担当助教。一是可以提高教师的工作效率,二是担当助教的学生可以得到锻炼,三是上课的学生可以得到更多的指导。
3.适当增加学时,UB的理论教学加上实验教学,教学时间共37.5+18.75=56.25小时。AHPU的理论教学加上实验教学,教学时间共30+18=48小时。教学内容相当的情况下,增加学时可以有更充分的时间讲授内容。
4.借鉴UB的考核方式,完善考核环节,在班级学生人数无法改变的情况下,适当增加随堂考试,以把握学生对知识点掌握的情况,并将考试成绩计入总分。
5.适当调整实验题目难度和工作量,提高实验题目的综合性,让不同层次的学生都有充分发挥的空间。适当增加作业量,让学生在课下通过自己的延伸学习掌握更多的知识点。
6.在理论课的教授过程中,将板书和幻灯片结合好,增加板书的比例,让学生有更多的思考时间,鼓励学生提问,增加互动性。
5 结 语
古语说:他山之石、可以攻玉。程序设计语言课程是中外高校理工专业的必修课,通过对UB和AHPU的Java程序设计语言课程3个主要方面进行深入的研究和对比,我们不仅看到了中美两国高校在课程教学方面的差异,而且比较了优劣、拓阔了思路,有利于进一步改进国内部分高校的Java程序设计课程教学方案,为深化教学改革起到推动作用。
[1]Nell Dale,Chip Weems,Mark R.Headington.Programming and Problem SolvingWith Java[M].2th ed.Jones& Bartlett Publishers 2007:1-18.
[2]李波.美国高校第一门计算机课程调研情况分析[J].中国大学教学,2014(4):91-96.
[3]杨永红,等.中美土木工程专业道路勘测设计课程教学对比研究[J].高等建筑教育,2012,21(3):66-70.
责任编辑:胡德明
A Contrastive Analysis of JAVA Course Teaching between a Chinese and an American School
Zhang Yi1,2,Wan Nan3,Tao Wan1,2
(1.School of Computer and Information Science,Anhui Polytechnic University,Wuhu 241000,China; 2.Key Laboratory of Computer Application Technology,Anhui Polytechnic University,Wuhu 241000,China; 3.Computer Department,Wannan Medical College,Wuhu 241000,China)
The paper compares and contrasts UB (University of Bridgeport)with AHPU(Anhui Polytechnic University)from the three aspects of theory teaching,experimental teaching and assessment methods of JAVA language curriculum.And then,based on the advantages of UB,some suggestions are put forward in order to improve the effect of JAVA teaching and deepen the reform of this course at AHPU and some other domestic universities.
teaching contents;classroom management;evaluation method
G642.0
A
1672-447X(2016)05-0094-05
2016-08-20
安徽省高等教育提升计划一般项目(TSKJ2015B13);计算机应用技术重点实验室开放基金(JSJKF201502);省级信管专业综合改革试点(JD00914S01)
张义(1982-),安徽阜南人,安徽工程大学讲师,研究方向为海量信息智能处理。