邹 姗 刘贵如 姚红燕 窦易文
(安徽工程大学计算机与信息学院, 安徽 芜湖 241000)
随着人工智能研究与应用热度的不断攀升,计算机技术已渗透到各个应用领域,其中的研究热点如辅助驾驶[1]、机器人[2]与电气相关专业的联系最为紧密。为此,安徽工程大学计算机与信息学院将“计算机软件技术基础”作为电子科学与技术和通信工程专业的计算机类必修课程之一。该课程涵盖了计算机专业的四门专业课程:“数据结构”“软件工程”“操作系统概论”和“数据库系统概论”,是一门计算机综合类专业基础课。电子科学与技术与通信工专业的学生通过学习本课程,能够了解并掌握计算机软件最基本的方法,提高软件素质和用计算机求解实际问题的能力、抽象思维能力和动手编程求解能力,为今后熟练应用本专业相关软件,并进行相关的二次开发等奠定坚实的知识基础[3]。
“计算机软件技术基础”是一门综合类专业基础课,有着很广泛的实用价值,但真正透彻地掌握它却不容易。所以传统的“理论教学+实验教学”并不能满足当前本课程的教学与学习需求,主要存在如下几点问题:
学习该门课程的目的,大部分同学都未能明确,学习时缺乏兴趣和动力。并且还存在缺乏解决实际问题的经历,无法体会到本课程所涵内容的实用性与重要性等问题。很多学生学完本课程,只能叙述几个常用术语或经典算法,既没有理解操作系统对软硬件资源的管理,也没有掌握到软件开发的工具与流程,更不用说结合数据库知识,开发完成一个应用系统。
电器学院学时略有不同,电科有42个课时,通信仅有30个课时。很多问题无法深入讲解,更无法通过更多的实例和实验加深理解与应用。
由于“软件技术基础”的课程由四部分知识组成,分别为“数据结构”“数据库”“操作系统”“软件工程”。以上课程专业性较强,对于非计算机专业的学生,在缺乏兴趣与熟练的编程技能的情况下学习,难度较大。
由于课时与学生专业导致的兴趣与能力问题等原因,教师在教学时会感觉有心无力,从而导致教学效果不能达到预期效果。
综合上述问题,如何根据学生的特点,采用多元化的教学方法开展教学,使他们在掌握常用的软件技术后,为后修的课程打好基础的同时,培养学生主动学习,以提高自身分析问题、解决问题的能力,成为目前课程教学中需重点解决的棘手问题。结合建构主义学习理论中的任务驱动教学法[4],本文重点对任务驱动、信息化与实践相结合的教学法在“计算机软件技术基础”课程教学中的应用展开分析和探讨,以提高教师的教学效率,从而促使学生主动高效学习,并将之应用到各自的专业领域。
项目驱动教学法来源于建构主义学习理论,与其相适应的项目驱动教学模式为:以学生为中心,教师在整个教学过程中起组织和指导作用,利用情境、协作、会话等学习环境要素充分发挥学生的主动性、积极性和创新精神,最终达到使学生有效实现对当前所学知识的意义建构的目的[4]。
课程教学的具体应用如下:
用实际待解决的案例作为课程的引导,从学生的好奇心着手,给学生留下思考的问题,从而提高学生学习课程的积极性。如世界著名的“哥尼斯堡七桥问题”作为“数据结构”课程的开课案例,增强了学生课程学习的兴趣。
在讲解具体知识点时,可以选择与实际生活密切相关,使用的核心算法更具有代表性的案列。在讲解“数据结构”课程的“单源最短路径”算法时,用深入社会生活的导航作为案例。先提出问题,让学生在不断寻求解决方案的同时潜移默化地提高他们主动思考的能力,接着引导学生进行对象与对象关系的分析,选择恰当的数据结构,抛出算法思想,最终给出核心算法,并在学生的实验中验证算法。整个解决实际问题的过程既可以让学生体验到主动思考带来的与众不同的乐趣,同时掌握与熟练应用课程知识。“单源最短路径”问题及经典算法(Dijkstra(迪杰特斯拉))如图1所示,其中在分析了对象与对象关系后,选择有向带权图来表示这个问题,并采用了邻接矩阵的存储结构。
终点从A座(源点)到各终点的当前最短路径值及求解过程i=1i=2i=3i=4i=5B座∞∞∞∞∞无C座10(A座,C座)D座∞60(A座,C座,D座)50(A座,E座,D座)E座30(A座,E座)30(A座,E座)F座100(A座,F座)100(A座,F座)90(A座,E座,F座)90(A座,E座,D座,F座)VJC座E座D座F座S{A座,C座}{A座,C座,E座}{A座,C座,D座,E座}{A座,C座,D座,E座,F座}
图1 Dijkstra(迪杰特斯拉)算法案例
始于2015年的“工程教育专业认证” 旨在为相关工程技术人才进入工业界从业提供预备教育质量保证,对专业建设起了很好的促进作用,其认证理念为“学生中心、产出导向、持续改进”,强调学生的学习成果,聚焦于学生“应该得到什么”[5],在各国工程教育认证标准中都明确列出毕业生的基本知识、能力和素质的要求。而任务驱动的教学模式更是强调以学生为主体的实践教学,强调任务的独立完成度。
“校园导航”的任务要求在“软件技术基础”课程知识讲解完毕后布置,要求学生利用所学知识进行实际问题的解决,要求如下:任务描述与需求分析(软件工程知识);对象与对象关系分析,数据结构与算法的选择(数据结构知识);数据的存储(数据库知识)。
随着前沿信息技术的迭代发展,“互联网+教育”已成为教育均衡化发展领域中的助推器[6]。信息化因其具有可以实现“突破时空”“资源复制”“支持个性化”与“全过程管理”等方面的技术优势[7],从而成为常规教学的有效辅助手段。
在“软件技术基础”课程的教学中,采用了“超星学习通”+传统课堂教学+“E会学”方式进行教学。课前将教学资料及教学进度安排上传学习通,并提醒学生课前采用下载或在线阅读的方式进行课程预习;课程采用传统教学(PPT+讲授)的方式进行面对面的互动式授课,其中的互动除了传统的口头提问回答方式外,还加入了学习通的课堂测试环节,极大的调动了学生的学习主动性;课后,“E会学”每个章节均设置了相应的选择题与判断题,以验证学生对基本概念的掌握程度,同时在“超星学习通”中安排了稍微复杂的题型,如论述题与应用题,以便从多层次验证学生在理解概念、经典算法、问题分析与灵活运用的能力。
以上方法的综合运用实现了教育优质资源共享与教育优质化成果共享的可能性,多层次保障教育公平的实现。
采用灌输的方式,教师单方面的授课,已不能满足当前的教学需求,“教”与“学”需相辅相成。教学时,积极引导学生进行主动思考与学习才是秉承学生中心的工程教育专业认证理念的终极方法。“软件技术基础”课程作为计算机相关课程,更强调其动手能力,所以建立开放实验室,强化实践教学,让学生在摸不着、看不着的课堂抽象学习中,自己动手验证各知识点,从而在达到知识的学习与应用能力提高的同时,还能增强学生的学习兴趣。
为实现以学生为培养中心的专业认证教育理念,避免培养出只会“纸上谈兵”的毕业生,考核时需要综合考虑学生期末考试成绩与平时成绩,以强调学习过程的重要性。课程成绩由平时成绩与期末成绩组成,平时成绩则含三个部分:课堂表现、作业与实验。各考核环节所占分值比例及考核细则如下。
图2 考核方式和成绩评定方法
按照以上的考核方式,以近两届的学生成绩及课程达成度形成统计数据以进行比较,如图3所示。
图3 总评成绩及分析
“软件技术基础”课程对于与计算机有交叉知识的电器学院学生是相当重要的。但对于电子科学与技术与通信工程专业的学生来说,常常觉得过于抽象,难于理解。本文在分析了该课程存在的问题基础上,提出了三种方法相结合的课程教学体系的改革,此改革方案有效提高了学生的学习效果。学生在掌握概念的同时,能够深入理解相关算法,面对实际问题时,能够灵活利用所学知识解决之,从而达到了学以致用的教学目的。
随着需求与软硬件教学环境的不断变化,课程组成员不断更新教学理念,让学生不仅仅达到高的考试分数,也不囿于本门课程的应用能力的提高,而是培养可以独立思考与学习的合格人才,为将来的更高层次的学习提供支持。