“Java语言程序设计”课程教学改革和探索
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“Java语言程序设计”课程教学改革和探索
上海大学以钱伟长校长的教育思想为核心,实行以“学分制、选课制和短学期制”三制教学模式,其中的短学期制为“3+1”四学期制,3个教学学期各为10个教学周。
“Java语言程序设计”作为专业选修课只有40个学时,是继高级语言程序设计课程(C/C++)后的第二门编程语言课。
如何在较少的时数中,既能让学生能熟练运用Java,同时还能培养学生自主学习的能力,是一项值得研究和探讨的问题。
在这样的背景下,我们从2001年冬季学期开始探索计算机专业自学课程的教学模式,陆续开设了“Java语言程序设计”、“电子商务”、“ACM程序设计”三门自学课程,力求培养学生多方面的能力,如自学能力、沟通能力、团队合作能力和组织领导能力等,通过三门特色课构建的自学课平台获得了上海大学和上海市教委重点课程建设资助。
本文是作者结合多年来对“Java语言程序设计”课程的教学改革得到的探索体会。
2改革实践
传统的程序设计语言课程的教学一般分为课堂理论教学和上机实践两个环节。
理论教学教师是课堂的总导演,整个教学过程都由教师主宰,学生只能被动地去理解和记忆教师讲解的知识。
而上机实践注重的是学生理解和消化课堂讲授的知识,偏重于如何编写功能单一的“小”算法,局限于一个或两个知识点,同时留给学生的练习时间偏少,使得多数理论停留在纸上谈兵的阶段,学生只见树木,不见森林,课程最后编应用程序时,学生往往无从下手。
我们采用一种全新的以学生自主学习为主导的互动教学模式。
具体做法是:用1+1+1教学模式,即1/3课时进行课程教学、1/3课时进行课堂主题演讲与讨论、1/3课时进行课程上机实验(实验课时按上海大学要求安排2倍时间),对课程主线、重点、难点采取课堂讲授的方式;交叉学科和前瞻性的内容通过学生自学采取主题讨论方式;学生知识掌握程度和能力通过综合性上机作业方式体现。
着眼于教学内容中原理与应用的结合,应用与创新相结合。
2.1课程网络平台,方便学生自学和交流
我们开发了课程网络平台,在课程网络平台上提供齐全的教学大纲、实验大纲、课件、学生参考书、例程源码等教学资料,学生可以在课程开始就通过课程平台下载教学资源、软件工具以及辅导材料等,了解课程学习的各项信息,提交作业,查看提交作业情况和成绩,下载往届学生的优秀作品等。
课程网络平台还提供了自测题和留言板,方便老师和学生课外的交流与互动。
2.2任务驱动和研讨式教学,激发学生兴趣
课堂上采用任务驱动和研讨式教学。
我们采用的方式是:首先由教师提出任务,并指出完成这些任务需要掌握哪些知识®教师对其中的重点、难点作适当讲解,并提供案例®学生通过自学或协作学习完成任务实践®归纳、总结和研讨。
为提高学生们的学习兴趣和热情,我们还设置了主题演讲和讨论课,主题分三类:教师预先给出的主题、自学中总结出的体会和课程设计的设计方案讨论。
学生可以根据自己的学习情况选择主题,准备演示文稿和案例,在演讲课上由学生上台演讲,演讲完后学生们对演讲内容进行探讨。
实践下来,这种方式很受学生们的欢迎,这种方式一方面给学生提供了一个展示自己能力的舞台,另一方面可以促使学生经常对所学的知识进行提炼和总结,起到了事半功倍的效果。
2.3设计大作业,培养多方面能力
实验环节除了常规的上机实验外,还要求学生完成一个小组设计大作业。
设计大作业不同于课堂教学中的上机任务,平时的上机任务力求短小,着重突出某个知识点,而设计大作业是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,是对学生的一种全面综合训练,是与课堂听讲、自学和联系相辅相成、必不可少的一个教学环节。
我们采取的方法是让学生2~3人自由组合,自行选择感兴趣的项目进行设计和编码,并撰写大作业报告。
让学生自行选择项目并不是让学生漫无边际的选择,而是要把握如下基本原则:
(1) 设计阶段的主要目的是培养学生综合运用知识的能力,要求所选项目应覆盖大部分关键知识点。
如应包括图形界面、多线程、网络通信、数据库连接等关键知识点。
(2) 要求有一定代码量,要求代码600行以上。
学生们对自选题目有很大的热情,如即时通讯工具、支持断点续传的下载工具、各种网络游戏、简易搜索引擎、邮件群发器等都是学生们感兴趣的题目。
实践下来,不少学生认为大作业对他们的锻炼非常大,对他们的就业很有帮助。
设计大作业能锻炼和培养学生的自学能力和创新能力。
而多人合作开发又能培养学生的沟通能力、团队合作能力和组织领导能力。
2.4考核环节和成绩评定
改变传统的“一卷定优劣”的考核方式,考核指标多样化,包括讨论、提问、自学报告、实验等多项考核内容;期末考试采用考前综合作业检查(演示与口试相结合)和书面笔试相结合等多种考核形式,减轻学生的备考压力,提升自主学习与上机实践的主观能动行和创新性。
学生要想顺利地通过考核,平时就得自己多动手,多实践。
在05~06春季学期和06~07秋季学期,我们提出平时成绩考核指标为平时上机实验(10%)、考勤(10%)、自学报告(10%)、课堂讨论(10%)共四项指标,占总成绩的40%。
期末成绩占总评成绩的60%,考核指标包括程序质量成绩(30%)、大作业报告成绩(20%)和验收答辩成绩(10%)三项。
在07~08秋季学期,我们在不改变总评成绩分布的情况下,期末成绩考核指标中增加了笔试内容,但笔试占的比例不大,主要是考核学生对Java基础知识的掌握情况,考核指标包括笔试测试(10%)程序质量成绩(20%)、大作业报告成绩(20%)和验收答辩成绩(10%)四项。
3实践效果
为了跟踪教学实践的效果,我们要求学生在课程学习结束后就教学模式写出自己的想法和体会,下面总结一下:
(1) 与传统教学相比,这样的教学设计在教师观、学生观、学习观和评价观上均体现了独特的见解和主张,具有新颖而丰富的内涵。
(2) 在教学过程中采用“任务驱动教学”,增强了学生学习的主动性,通过综合比较,学生可以很容易地、全面地掌握所学知识,提高用Java语言解决实际问题的能力。
(3) 在“互动式教学”中,学生不再仅仅是“听课者”,而是集“听课者”与“协助”教学者于一体,在宽松活泼的学习氛围中发现问题,拓展思路,深化理解。
(4) 小组协作完成大作业能培养学生严谨的学习作风,培养团队合作精神,使学生早日了解软件工程设计的规范,对今后的就业帮助很大。
(5) 从Java语言程序设计课程中可以挖掘优秀的学生早日参与到教师的实际项目开发中。
在几年的实践中,先后有8名同学参与了Java开发科研项目,发挥了相当大的作用。
参考文献
[1] 辛明军,吴悦. 计算机专业自学课程的实践教学体系建设与探索[J]. 实验室研究与探索,2007,(12):248-250.
[2] 吴悦,沈云付. 计算机专业实践教学的探索[J]. 计算机教育,2006,(8):45-46.
[3] 吴悦,沈云付. 计算机专业教学改革实践与探索[J]. 上海大学学报,2003,(9):67-70.
[4] 沈云付,吴悦. 健全教学质量保证体系搞好本科教学质量评估[J]. 上海大学学报,2003,(9):58-60.。