APP下载

Alberta大学程序设计教学模式探究

2011-12-31米娜瓦尔•努拉合买

计算机教育 2011年16期

  摘要:越来越多的大学开设Java语言作为计算机程序设计类基础课程,但对本课程的学时分配以及对学完Java语言后的后续课程安排是否合理,还有待于进一步的研究。文章通过对加拿大Alberta大学计算机科学系程序设计教学的调查研究,阐述该校程序设计教学中的几大特点。
  关键词:程序设计;Java技术;教学模式
  
  从事教学工作19年以来,笔者一直承担程序设计课程的教学工作。教学期间得到国家留学基金委的委派,获得去加拿大Alberta大学进修一年的机会。在国外进修期间,有机会旁听Java程序设计课程的理论课,并参与了上机实验课。经过一个学期的亲身体验,基本对该所大学的计算机科学系的教学过程与教学模式有了一定的了解。Alberta大学开设程序设计课程的最终目标概括起来就两句话:通过给学生提供广阔的学习平台,最大限度地挖掘学生的潜力;通过给学生提供全方位的服务,最大程度地训练学生程序设计能力。经过调查和详细总结,我们发现该校程序设计教学有如下特点。
  1程序设计课程开设的数目较少,分配的课时较多
  Alberta大学把程序设计课程作为计算机专业的基础课程来开设,主要安排在大学一年级。程序设计语言类课程的指导思想是:通过学习,学生既要掌握高级语言的知识、编程技术和基本算法,又要掌握程序设计的思想和方法,更具备利用计算机求解实际问题的能力,并能运用所学语言和其他课程相结合进行程序设计。加拿大 Alberta大学开设的语言课程主要有C和Java。进修期间,笔者对包含Java应用技术的各类课程的安排与学时分配进行了调查,调查结果如表1所示。
  从表1可见,Alberta大学计算机科学系在不同学期的教学安排中涉及到Java技术的课程总共有5门,每门课程理论学时大约为30学时,实验学时为40学时。该大学将涉及Java技术的5门课安排在不同学期,以及总共约350小时的学时分配,充分体现了该校对程序设计课程所采用的循序渐进、逐步求精、纵向深入的教学理念和将Java技术与各有关专业课程横向融会贯通的教学模式。合理的课程安排和分配较多的学时,为该大学能够培养出国际一流程序设计人才奠定了基础。该所大学每年都会派学生参加国际性程序设计大赛,并且次次都能获奖。笔者在该系的展览厅里见到了许许多多的奖杯,都是学生参加各种大赛荣获的。这些奖杯也算是对该系学生编程水平的肯定。
  2多媒体教学授课时间短、次数多,充分利用网络资源
  Alberta大学程序设计课程多采用多媒体教学,针对多媒体教学信息量大的特点,该校采用每周3次理论课、每次50分钟制授课方式,以便学生对授课内容分阶段进行消化吸收。而且该校对每门课程都设立有完整的教学网站。网站囊括内容、形式多样的辅助学习材料。学生随时可以从这些网站里获取帮助,提高了学生自主学习的主观能动性。老师授课时致力于基本概念及算法的讲解,细枝末梢由学生自主学习、巩固。实践证明通过网络资源补充学习内容,不仅可以提高学生的自学能力,而且学生可以很大程度地拓展知识面。
  3实验室设备齐全,实验时间长,指导形式多样化
  该校的每个实验室都配有白板、投影仪、打印机、教师使用机及最多30台学生用机。实验指导老师在实验前会利用大约20分钟的时间对实验重点、难点集中分析。有问题的个别学生,会把名字写在白板上,等待指导老师按学生提问的先后次序指导;每次实验大约180分钟,学生每次至少应完成4道程序设计题; 一学期内要求学生完成的实验小题目有40道,大作业有2道;为加速学生实验课前预习实验内容,实验题目及相关辅助资料会在Java课程网站提前一个星期发布;为了学生有足够的时间提前预习,甚至完成实验内容,实验室为计算机系在册学生全天24小时开放。提前做完的学生可以提前交作业,有专门的课程指导老师负责查收作业。
  实验指导工作由在该校就读的硕士研究生、博士研究生承担。这一举措,一方面训练了研究生、博士生的工作能力;另一方面减轻了任课老师的负担,使他们有更多的时间搞科研写论文,这一方式值得我们学习和借鉴。
  学生注册一门课程时会给每位学生分配一定的硬盘空间,并给其提供帐号、口令及该课程的公共邮箱地址。学生上机时,只能登陆到分配给自己的文件夹下完成并递交作业。Alberta大学这种给学生独立分配实验空间,并且只能通过口令,才能登陆到个人空间的做法,一方面减少了学生使用软盘或U盘备份作业引起病毒交叉感染的现象;另一方面避免了作业被别人删除的危险。做大作业时基本不占用实习时间,要求学生自行安排时间编写,实验室全天24小时为本校在册学生免费开发。学生遇到问题时发E-mail给指导老师,指导老师会把答复发到公共邮箱,供学生集体参考。有时也鼓励学生自由组合成几个小组,合作完成较大的程序设计题目。学生所遇的问题会得到及时的解决。这样做一方面提高了学生学习的积极性;另一方面也为学生能够按时并独立完成作业提供了保障。表2为Alberta大学在一年级第一学期对Java程序设计实验安排。从表中可以看出实验时间长,每组实验人数少。这样的安排不仅可以保证学生有足够的时间完成实验,而且也可以保障老师有足够的时间对学生提出的问题给予指导。
  4大作业采用指导老师提供程序骨架、学生填补代码的做法
  布置大作业时,指导老师会把大作业分成几大模块,明确每个模块要完成的具体任务。确定每个模块具体任务时,指导老师会给出要在该模块中使用的成员变量以及成员方法,会明确指定变量个数,变量名、变量类型、方法名、方法的返回值类型、形参、形参类型,并用注释语句说明每个模块要实现的具体功能,由学生编写程序,实现各模块的功能。这样做的好处是:学生拿到题目后心中基本有数,按指导书中的安排一步一步地完成大作业。对大学一年级的学生采用这种方法,一方面会避免初学程序设计的学生拿到题目后一筹莫展、无从下手的局面;另一方面老师也不会花太多的时间和精力答复学生的疑问,这也是较科学的一种做法,很值得我们借鉴。学生通过一学期中安排的两个大程序设计作业的训练,基本上可以掌握面向对象的软件开发技巧。
  5递交作业的时间非常明确,逾期不交者,不予受理
  指导老师对学生交作业时间控制的非常严格,会规定到几月几日几时。学生会在规定的时间内完成作业,并递交给指导老师。指导老师及时对作业进行评分,指导老师登记完学生分数后,要求学生在成绩单上签字。影响学生成绩的因素主要有:1)逾期不交者,不予受理,成绩为0。2)程序代码雷同的学生实验成绩一律为0分。指导老师会严格执行此规定,督促学生独立自主地按时完成作业。学生交完作业后,指导老师会把学生做过的实验的源代码发布到网站,供学生参考学习。
  6结语
  本文是笔者在加拿大Alberta大学担任访问学者期间参与Java语言理论教学和实践教学所获得的经验和心得体会的总结。它不是一种教学方法的系统论述,而是一些较有价值的教学观点和方法的讨论。如果我们要想培养出一批对Java程序设计技术掌握得精而透,并且可利用其解决实际问题的大学本科生,Alberta大学程序设计课程规范的教学模式中值得我们借鉴的地方有许多:提供比较齐全的实验室设备,并提供便利让学生对所提供的实验设施的开放式的利用;校园网教学网络资源的大力建设,以及在教学过程中对校园网及Internet网中Java学习资源的利用;在提供形式多样的指导形式的基础上倡导学生根据自身情况利用多种手段灵活自主学习。尤其是该校对程序设计课程所采用的循序渐进、逐步求精、纵向深入的教学理念和将Java技术与各有关专业课程横向融会贯通的教学模式很值得我们借鉴。
  
  Probe on Teaching Mode of Java Language Programming in Alberta University
  Minawaer • NULAHEMA