导航菜单

项目驱动的校企合作及做中学教改实践

熊祥光

(贵州师范大学 数学与计算机科学学院, 贵州 贵阳 550001)

摘 要:分析传统课程存在的问题,针对应用课题实践与项目开发训练这门课程,提出以真实问题、任务和项目为驱动,开展校企结合、强调做中学的教学改革思路。

教育期刊网 http://www.jyqkw.com
关键词 :实践课程;特色课程;教学改革;CDIO

基金项目:贵州省科学技术厅、贵州师范大学联合科技基金资助项目(黔科合LH字[2014]7041号)。

作者简介:熊祥光,男,讲师,研究方向为图像处理、数字水印技术,xxg0851@163.com。

1 传统课程存在的问题

1)重理论、轻实践。

传统的课程教学一直以任课教师讲授为主,学生往往被动接受知识。在理论教学过程中,教师重点讲解该门课程的基本原理和方法,学生难以体会到课程的挑战和乐趣,缺乏主观能动性。以数据库系统概论和软件工程这两门课程为例,它们作为计算机科学与技术专业的专业基础课,在所有设有计算机相关专业的学院都有开设。在授课的过程中,教师一般重点讲解与数据库和软件工程相关的基本理论、模型和方法。通过这些课程的学习,学生对数据库的基本概念有了初步了解,掌握了创建数据库和表等基本操作,对软件工程的生命周期模型和一些新的开发方法有所了解,但是授课教师往往没有实际的工程实践经验,不能针对当前主流的数据库软件和开发方法进行讲授,即使涉及相应的生产案例,因没有亲身体验开发过程,获得的体会相对而言也比较肤浅,所举案例较简单,且远离生产实际。对于上机实践,教师则仅注重解决教材后面的习题,但是这类习题往往是教材例题的演练,学生依葫芦画瓢,综合能力难以得到提高。由于实践机会较少,主观能动性未能得到充分发挥,解决实际问题的能力较弱,对于现实中的实际问题,学生往往不能应用所学知识加以解决,大多数学生甚至不知道如何下手。

2)教学课时少。

以贵州师范大学数学与计算机科学学院现行的教学计划为例,数据库系统概论和软件工程这两门课程的学时数都分别为54学时,其中理论36学时,上机18学时。这两门课程所选择的教材分别为王珊、萨师煊老师编写的《数据库系统概论(第4版)》和Ian Sommerville著、程成等译的《软件工程(第9版)》。两门课程的内容都很多,部分章节偏重理论,较难且较抽象,学生理解起来难度很大。此外,多数授课教师为了完成教学大纲规定的教学任务,到了学期的后半期往往都会“赶进度”。

3)学期成绩重考试、轻平时。

由于现在的课堂以灌输基础理论知识和方法为主,所以学生的学期成绩往往以期末考试的卷面成绩为主,平时成绩的比重较小(即使有,平时成绩也主要由考勤、平时作业来给分),考核方式单一,很难对学生的实际动手能力做出客观和全面的评价。因此,在平时的教学过程中,授课教师就很少关注学生实际动手能力的培养,部分课程存在的实践或实验环节往往也远离生产实际,造成学生的实际动手能力与分数不对等的现象十分突出。

2 应用课题实践与项目开发训练课程的开设背景及安排

学院于2008年对计算机科学与技术专业的培养模式进行改革,新开设了应用课题实践与项目开发训练课程[1-2]。该课程从2008—2009学年开始,首先在2006级和2007级计算机科学与技术本科班中开展相关的教学实践,之后对该专业的每一届学生都从大二的第一学期开始开设该门课程,在具体的实施过程中取得了良好的教学效果。目前,该门课程总计约220学时,12个学分,历时4个学期,以“导师制+小班教学”的形式开展教学,重点培养学生分析问题和实际动手的能力。

该门课程的规划大致如下:第1个学期对学生程序设计的能力进行加强,提高学生分析和动手解决问题的能力;第2个学期以小型的系统为案例,重点讲解系统设计的一些简单方法和补充学生没学过的一些基本知识;第3个学期,学生已有了设计一个完整系统的基本知识,因此本学期的主要任务是实战开发一个小型系统的某几个模块,当学生遇到困难,涉及没学过的基本知识时,再以专题讨论的形式给学生讲解,让学生感受到知识的用处;第4个学期的主要任务就是对第3个学期设计的系统进行完善,使设计的系统具有一定的实用性。

3 基于CDIO的实践课程探索

针对传统课程中存在的问题和项目实战课程的规划,在项目实战课程教学中,学院引入了CDIO工程教育理念。CDIO是一种国际工程教育的创新模式,其分别代表构思(Conceive)、设计(Design)、实施(Implement)和运作(Operate)[3]。CDIO 模式不仅注重培养学生具备扎实的专业知识,还注重培养学生的创新精神和协作精神,它让学生以积极主动的、实践的学习方式学习工程的理论、技术和经验[4]。

通过第1和第2个学期的课程学习和实训,学生对Java程序设计、软件工程、数据库、网页设计等课程已有了基本了解。因此,第3个学期的实践课程主要是整合学生已学过的知识,开发一个具体的小型软件系统。

1)教学实施。

在教学过程中,以开发一个完整的驾校学员管理系统过程为主线,将其划分为几个专题。以每一个模块中的问题为基本开发活动,先由任课教师讲解开发过程中可能用到的原理和技术,演示每一个模块的原型,激发学生的创新思维。当学生掌握某一个模块的设计原理和开发方法后,要求其通过构思,在原来的基础上自行设计并实现。当学生遇到问题或没法继续开发时,再来讲解相应的专题,这样在讲解新的知识时,学生就会意识到知识的用处,提高学习的兴趣。

2)数据库设计。

数据库设计是开发管理系统的一个重要步骤,在进行数据库设计时,需要确定创建哪些表、表中有哪些字段、字段的类型和长度等。由于MySQL数据库具有跨平台性、开放源码、功能强大、使用方便等优点,本系统中的数据库选择MySQL数据库。根据该系统的基本功能,需要设计User表、StudengInfo表、HealthInfo表、CourseInfo表、GradeInfo表和LicenseInfo表,分别存储用户信息、学籍信息、体检信息、课程信息、成绩信息和领取驾驶证信息。在对数据库进行设计时,并不是一次性地把所有的表、视图、索引、触发器等设计好,而是当开发系统遇到新问题时,在学生思考后才进行讲解和设计,使学生明白相关知识的实用价值。

3)以软件工程思想为基础构建新系统。

驾校学员管理系统的基本目标是减少管理员的工作强度,提高学员信息查询和数据处理的效率。因此,可将该软件系统划分为5大模块,即用户管理、学籍信息管理、成绩信息管理、体检信息管理和领证信息管理。在授课的过程中,以这5大模块为基础,采用循序渐渐的方式,先讲解用户管理模块的原理和实现方法,之后让学生进行构思、设计和实现。当大部分学生实现该模块后,再讲解其他模块。当然,在讲解完相应的原理和方法后,教师会根据学生的实际情况给出实现每一个模块的基本代码,而不会让学生感到无从下手,以提高学生继续学习的兴趣。

4)平台的选取。

以Java语言为基础,该系统的集成开发环境为MyEclipse,Web服务器为Tomcat。在上一个学期中,学习小组学习了Java和网页设计的相关基础知识。因此,教师从构建工程入手,先讲解访问和操作MySQL数据库的方法,继而对系统的每一个模块分别进行设计和实现。在开发系统的过程中,先开发出系统的原型,再开发余下的每一个模块。对于每一个模块,给出学生可以运行的部分源代码,之后再让学生在所给源代码的基础上进行修改和补充,使每一个模块的功能更加完善和友好。

教师给出部分可以运行的源代码,可提高学生学习的兴趣和分析解决问题的能力。例如,在开发学籍信息管理模块时,考虑到若有学员退学时需删除其学籍信息,这时可引导学生积极思考——这个学员退学后在HealthInfo和GradeInfo等表中的信息是否需要删除?若要删除,是不是需要编写相应的方法对每一张表中的信息进行删除?给学生时间思考之后,让他们分组讨论,最后由教师进行总结,指出可通过在StudentInfo表上创建一个触发器,只要在StudentInfo表上执行DELETE操作,就会删除HealthInfo和GradeInfo等表中相应的记录,使数据库中的数据保持一致,从而让学生理解触发器的作用,提高学习新知识的兴趣。

5)项目的运作。

许多虚拟的项目或课程设计所做的小项目往往止于考核结束,但是对于实训,实践课程却是学生CDIO创新项目的起点。通过一个学期的实践,学生开始对所做的项目产生浓厚的兴趣,部分学得较好的学生会根据自己的调研,在原系统的基础上进行扩展,使开发出来的系统更能满足用户的需求,促进自主创新研究。

4 今后的改革方向

经过几个学期的教学实践,以CDIO教育理念为基础的项目实战课程取得了较为满意的教学效果,大部分学生分析问题的能力和实践动手能力有了明显的提高。但是,该门课程还存在诸多问题,在今后的教学过程中,还需要进行如下几个方面的改革。

1)进一步转变教学理念。

对于理论教学,在讲解基本原理和方法的同时,重点是以真实的问题、案例或项目为驱动,通过让学生编写能运行的程序解决具体的问题、案例或项目来巩固所学的基本知识。要以CDIO的教学理念为导向,以培养学生的计算思维为目标,让学生树立“学中做,做中学”的理念。在整个教学过程中,要以学生为主体和以教师为主导开展教学活动。当然,在初学阶段,选择的问题、案例或项目应该是学生当前掌握的知识能解决的,以增强学生的学习乐趣和成就感。

2)增加上机学时数。

目前该门课程的上机学时较少,学院计划在今后的教学过程中,增加该门课程的上机学时,使其与理论学时等同或超过理论学时,保证理论和上机实践并重,以体现CDIO让学生“学中做,做中学”的教育理念,重视在实践教学中培养学生的实践能力和创新能力。

3)让部分学生参与教师所做的课题。

为了提高学生发现问题、分析问题和动手解决实际问题的能力,可让部分学得较好的学生参与教师所做的课题或开发富有挑战的选题,让学生在开发软件的过程中真正体会程序设计带来的挑战和乐趣。

4)开展校企合作,以企业真实的项目为载体。

根据企业真实项目的需求,将学生组建为若干项目组,由任课教师和企业的软件工程师在校内外的实习实训基地通过多种形式组织实施,培养学生的项目开发能力,提高学生的职业素养,为毕业之后的就业打下坚实基础。

5)鼓励学生通过计算机网络等多种渠道进行课外学习。

在教学过程中,推荐国内外高校优秀的学习网站,让学生在课后自主学习,主动查询相关的资料。鼓励学生参加各类竞赛,教师通过指导学生参加竞赛,以便发现教学过程中的诸多不足,便于在今后的教学中让任课教师改进其教学方式。

6)考核方式改革。

在今后的考核方式上,需建立多元和完善的考核评价体系。考核不仅注重对基本知识的了解,更应该注重学生对基本知识的应用而不只是知识点的简单记忆。对于学生的最终成绩,理论考试或上机考试占最终成绩的40%,平时成绩占最终成绩的60%,其中考勤占5%,平时作业占15%,实验报告占20%,答辩成绩占20%。

5 结 语

基于CDIO的教育理念,学院在计算机科学与技术专业2008—2012级的应用课题实战与项目开发训练课程中进行了几年的实践探索,取得了较好的效果。但是,也存在或产生了一些新的问题,如学生主动学习意识还不强,做项目占用学生相当多的学习其他课程的时间和业余时间,使少部分学生产生了消极情绪。因此,还须合理安排学生的项目难度并开展教学改革,激发学生自主学习和不断探索的精神。

教育期刊网 http://www.jyqkw.com
参考文献:

[1] 王祥斌. 应用课题实践与项目开发训练特色课程中的报表设计教学[J]. 计算机教育, 2012(6): 103-106.

[2] 王祥斌, 唐翠芳. 应用课题实践与项目开发训练特色课程中的软件工程实验教学[J]. 计算机教育, 2014(5): 114-117.

[3] 王力, 陈静, 侯燕玲. 数据结构课程的CDIO实训研究[J].计算机教育, 2013(11): 57-60.

[4] 石晓军, 张文宇, 宦蕾. 基于CDIO教育理念的计算机工程实践教学探索[J]. 计算机工程与科学, 2014, 36(A2): 108-110.

(编辑:杨 涛)

下载文本