摘要:随着计算机技术在电子信息领域应用的渗透,面向电子信息专业学生的程序设计能力培养显得尤为突出。针对电子信息的专业特色,比较注重发挥与IT行业结合紧密的优势,形成具有结合计算机、网络等资源,注重实践能力、培养复合型人才的专业特色。实现这个目标,需要加强电子信息专业学生基于硬件环境的程序设计能力。本文面向电子信息专业学生的专业特点,基于建构主义教学思想的抛锚式教学模式,是根据行业背景和竞赛提取的典型问题设计课程案例和对应课件,利用案例-任务驱动式提高学生的编程能力。
关键词:电子信息;建构主义;抛锚式;编程
作者简介:陈晋音(1982-),女,浙江象山人,浙江工业大学信息工程学院,讲师;杨东勇(1961-),男,浙江台州人,浙江工业大学信息工程学院,教授。(浙江 杭州 310023)
基金项目:本文系“基于人工免疫和移动代理的无线传感器网络轻量级入侵检测研究”(Y1100378)的研究成果。
中图分类号:G642.3 文献标识码:A 文章编号:1007-0079(2011)32-0087-01
随着计算机技术在电子信息领域应用的渗透,面向电子信息专业学生的程序设计能力培养显得尤为突出。国内大多数高校都设置了面向电子信息专业的程序语言课程,主要以C语言和C++为主,如何通过程序语言课程学习培养和提高电子信息专业学生的编程能力显得至关重要。在电子信息学科专业规范中表明:计算机应用能力对于电子信息领域相关专业的学生都有要求,学习和掌握程序设计语言可以让学生熟悉程序内部的运作方式,帮助解决在软硬件研发和使用中所遇到的问题。电子信息专业学生掌握的计算机应用课程较多,根据专业规范要求设立的知识体系包括程序设计语言、VC++应用编程、操作系统、数据结构、软件工程等选修模块。目前国内各高校对如何有效设置这些课程讨论非常激烈,采取的形式也各不相同。本文基于建构主义抛锚式思想对电子信息专业学生编程能力的培养做一个初步探讨,包括其课程体系和教学内容、方法、手段的具体做法。
一、基于抛锚式思想的计算机课程教学内容设置
建构主义作为一种新的认识论,反对机械反映论。它认为,认识不是人脑对事物直接的、简单的反映,而是以原有知识为基础,在主客体的相互作用中建构而成的。在认识论的基础上,固件主义提出了学习实质上是一种“意义建构”的独特观点。以“建构”观念取代传统的学习是一种“反映”的观念,更能体现学习的本质特征。因为“反映”是从客体的角度来看问题,强调学习作为一种认识所具有的客体性和符合性;而“建构”则强调主体性和选择性,指出了学习作为一种认识是主体能动选择、主动建构的过程,其中心在于学生的“学”。
基于以上原理,建构主义教学模式分为:支架式、抛锚式和随机式,其中抛锚式教学要求建立在有感染力的真实事件或真实问题的基础上。确定这类真实事件或问题被形象地比喻为“抛锚”。由于抛锚式教学要以真实事例或问题为基础(作为“锚”),所以有时也被称为“实例式教学”或“基于问题的教学”。抛锚式教学由这样几个环节组成:(1)创设情境——使学习能在和现实情况基本一致或相类似的情境中发生。(2)确定问题——在上述情境下,选择出与当前学习主题密切相关的真实性事件或问题作为学习的中心内容。选出的事件或问题就是“锚”,这一环节的作用就是“抛锚”。(3)自主学习——不是由教师直接告诉学生应当如何去解决面临的问题,而是由教师向学生提供解决该问题的有关线索,并要特别注意发展学生的“自主学习”能力。(4)协作学习——讨论、交流,通过不同观点的交锋,补充、修正、加深每个学生对当前问题的理解。(5)效果评价——由于抛锚式教学要求学生解决面临的现实问题,学习过程就是解决问题的过程,即由该过程可以直接反映出学生的学习效果。针对电子信息类专业的计算机课程设计,基于建构主义抛锚式教学模式,我们安排层次划分的课程内容设计及教学进度。
表1 按层次划分的课程内容设计及教学安排
层次课程名称教学内容开课时间教学方式评价
建构思想,初级技术层次C语言程序设计C语言程序基础:程序流程设计、语法基础第一学期课堂授课与课外上机实践结合程序设计题库训练
编程技术基本层次C++语言程序设计面向对象程序设计思想:类和对象的概念第二学期课堂授课:建立概念框架,提出问题,引入情景综合解决方案评比
编程技术中级层次ⅠVC++应用程序设计VC++应用编程第三学期课堂授课:深入探讨MFC的开发与使用启发性案例应用
编程技术中级层次Ⅱ数据结构基本数据结构,复杂数据结构第四学期复杂游戏后台设计
编程技术高级层次JAVA程序设计与软件工程JAVA语言程序基础:软件工程基础第五学期实际项目的模块化设计
上述基于抛锚式教学模式实现分层教学课程安排,涵盖国内大部分电子信息类专业程序课程设计的核心知识内容,内容安排上主要考虑了基本技术、高级技术及理论算法和应用。在课堂授课环境和上机实践环境,我们改革了传统的教师授课、学生听课的模式,而是针对授课对象的不同认知水平,提出相应教学内容,并设计分层式的教学方式,结合课堂授课和上机实践结合模式。
课堂授课环境教师依据课程进度安排,设计典型的具有应用背景的案例,并基于抛锚式教学模式教师将教学建立在有应用背景的案例之上,在对每一章节内容开始讲授时,不直接讲解有关的概念等内容,而是先提出一些具有一定难度的并且有兴趣的问题让学生去思考,看能否用已有的知识寻求到解决问题的方法。然后根据每次的讲授内容,将案例分割设计成多个具体且相对简单的实例程序分析讲解。对应启发案例设计一套实用性较强的课件PPT,进度符合课程安排,便于学生边学习边应用。
对于实践环节,教师将所有学生分成不同小组,以小组为单位分配不同任务,并提供参考书籍,使每个小组的学生在完成任务的过程中达到教学目标。在此教学模式下,学生在真实的集成环境中认真研究和模仿案例,分析与此相关联的任务,分组讨论和交流,在学习过程中建构知识体系,掌握操作方法。
二、层次教学与启发性教学资源结合
层次教学方法提倡根据程序设计核心知识的分层结构,将其划分成若干个时间段教授于不同认识水平的学生,体现在我们面向电子信息类专业程序课程设计主要设置如表1所示;结合建构主义的抛锚式教学模式,利用设计好的一套启发式教学资源,教师在课堂设置问题的情况下,让学生开展思考、寻求方法、设计解决方案、划分模块、编程实现等一系列自主解决问题,提高其实际编程能力。我们设计的启发性教学资源主要来源于具有行业背景和竞赛,主要包括两类:一是利用行业背景提取的典型问题;二是电子信息类竞赛中实际需要解决的功能模块案例。
1.启发式教学资源的设计方法
启发式教学资源有别于传统的教学资源,传统教学资源主要是指教材,而我们这里提出的启发式教学资源是指源于具有行业背景和竞赛的典型问题和功能模块案例。主要具有以下几个方面的特点:(1)开展社会调研、分析企事业单位和毕业生的反馈信息,根据专业对应的工作岗位和岗位群实施典型工作任务分析。(2)根据职业能力复杂程度整合典型工作任务,形成综合能力领域。(3)独立职业岗位信息化能力,根据认知规律重构课程结构体系。
最后,引进在杭的高新企业,提供实习、讲座和实际工程开发等形式,并将部分开发经历编写成案例等形式,引导学生参与。在企业、研究等实践工作中进行学生创新能力的培养。
2.结合启发性教学资源的层次教学
依托电子信息类的程序设计课程核心内容,在教师的指导下,学生能自主的查找文献、阅读文献,自主的利用科学工具从事创新型的科研训练。案例库体现创新性的科学思想或者体现工程的综合和系统创新。体现科研工作与教学的结合。该工作结合教师的科研工作,可以是高水平科研工作的一个部分工作,依据科研的体会和经历编写。
我们正在开发一个在线资源系统,通过这个系统可以为学生提供极为丰富的程序设计电子化教学资源,包括网上案例库、在线完成编程、在线提交作业并检测程序、闯关式程序设计训练等多种模式。学生也可以通过各种网上搜索引擎(yahoo、google、sohu等),方便快捷地获取自己所需要的信息。这样可以多方位地为学生提供一个更加优良的学习环境,创造知识构建的良好情景。
三、教学过程设置
展示案例的时机一般是在教师导引入“主题”之后进行。教师应尽可能地渲染案例所描述的氛围,让学生尽快地进入案例情境之中,从而充分感知案例,为后面的“分析”与“探究”做好准备。学生在教师创设的情境、协作与会话等学习环境中,充分发挥自身的主动性和积极性,对当前所学知识进行意义构建、解决实际问题。须注意的是,这时教学过程的控制和调节十分重要,对教学质量有着很大的影响。建立本科生的学术交流体系,一方面,在课程的教学中,划分部分教学时间,由教师主持学术讨论;另一方面,课外组织学生学术交流。建立创新学分制度,给学生学术交流以学分支持。并在课外科技实践活动中结合学术交流程序,提前让学生在学术交流的氛围下学习,一方面能够让他们接触到程序设计相关的最新应用需求和发展方向,另外一方面也能够让他们提早确立自己的兴趣爱好,为今后参加各类课外科技实践、电子设计竞赛等打好基础。
参考文献:
[1]陈志凡,耿文才,郭廷忠.案例教学法在环境经济学教学过程中的应用探讨[J].高等理科教育,2010,(4).
[2]蒋浩,黄学良,徐志科.“C++程序语言”课程教学环节的组织与设计[J].电气电子教学学报,2009,(6).
[3]苗玥,金柄饶.支架式教学方法在计算机程序设计课中的应用研究[J].实验室研究与探索,2007,(4).
[4]王春山,王超,陶佳,等.非计算机专业程序设计语言教学实践与探索[J].河北农业大学学报,2007,(4).
[5]秦伟刚,黄琦兰,沙琳,等.计算机专业课程设计改革探讨[J].电气电子教学学报,2010,(S2).
(责任编辑:麻剑飞)