您好, 访客   登录/注册

项目驱动的程序设计实践课程的“翻转课堂”+SPOC教学研究

来源:用户上传      作者:

  摘要:程序设计实践课程是高校计算机学科部分相关专业的必修课程之一,该课程对于高校学生的逻辑思维能力和动手实践操作能力要求较高。然而,在高校程序设计实践课程中学生对待课程的“畏难”心理、学校对于程序设计实践的重视度不够、高校教师考核方式的不科学等都是阻碍高校学生编程能力提高的障碍。结合时代发展及我国教育信息化规划,本文提出以项目教学为驱动的程序设计实践课程的“翻转课堂”+SPOC教学模式。根据项目驱动教学特点,基于“翻转课堂”+SPOC的网络在线教学平台,笔者结合具体Java教学实例从课前准备、课中教学和课后评价三个方面对程序设计实践课程展开了教學研究,为高校计算机程序设计实践课程提供一定的参考。
  关键词:项目驱动;翻转课堂;计算思维;SPOC
  中图分类号:G642.4 文献标志码:A 文章编号:1674-9324(2019)01-0157-03
  根据2011年《教育信息化十年发展规划》中所提出的理念,我国教育要在改革过程中实现信息化元素的介入,全面推进信息技术与教育之间的有效结合。
  近几年来,为了积极响应国家的号召,不少高校加强对程序设计实现课堂的教育教学改革,本文以Java程序设计课程实践环节展开教学研究。
  一、高校程序设计实践课堂教学现状分析
  1.学生存在“畏难”心理。计算机程序语言和人类语言的逻辑差别是比较大的。我国现如今大的教育背景致使大部分高校生在大学期间才初次接触程序设计课程,调查显示,有相当一部分大学生对程序设计课程存在“畏难”心理。程序设计课程对学生逻辑分析能力要求较高,刚刚接触的学生常常找不到头绪,不知道怎么学习计算机程序编写。部分程序代码的编写过程是十分枯燥的,往往不起眼的小失误,如变量名称的前后不一致、标点符号使用不恰当等都会导致整个程序无法正常运行,这对学生树立学习的信心是非常不利的。
  2.程序设计课程对实践教学重视度不够。程序设计课堂培养学生的计算机思维能力固然很重要,但实践教学也是绝不可忽视的。很多高校在对计算机编程课进行教学安排的时候犯了一些指向性错误,没有考虑到理论与实践教学之间的紧密联系,制定教学计划的时候将理论教学与实践教学分别安排给不同的教师。这种分离式的教学模式使得程序课程的实践教学质量不能得到保证。
  所谓的程序设计实践课程教学无非就是根据制定教材的例题或是与教材配套的上机指导实验书作为实践教学的主要内容。这样的实践教学不能切实培养学生的计算机思维和实际动手能力,教师可控性太差,目的性不强。实践教学重视度的缺失是制约高校程序设计课堂进步的一个重要因素。
  3.课程考核方式不科学。程序设计实践课堂对学生实践能力要求很高,其最大的特点就是“灵活性”,教学内容的灵活和学生编程方式的灵活性都对课程考核方式提出了很高的要求。不同于传统的学科,以所掌握知识的书面呈现作为期末考核形式,程序设计实践课判断学生是否达到课程考核要求的判断标准为是否对所学知识点灵活操作,而且程序能否成功调试运行完成。不少程序设计实践课的教学导师并未在实际行动中贯彻实施这一考核标准,书面考核方式往往导致学生为达考核要求而死记硬背现象的产生。
  二、项目驱动和“翻转课堂”+SPOC概述
  1.项目驱动教学。提高学生编写程序的能力是开展程序设计实践课程的目的,也是开设程序设计实践课程最根本的宗旨,将引导学生熟练进行编程项目开发作为教学目标,帮助学生提高面向对象进行分析的基本技能。此外,程序设计实践课程还可以帮助学生掌握项目驱动并建立整体架构的开发能力。
  单纯代码的编写和代码实现的小技巧只是作为一名合格IT编程人员的基本素养,大信息时代下要求程序设计人员必须懂得整体架构、以“项目驱动”为起点展开对问题的分析。所谓“项目驱动”教学即以学生为主体,以项目完成为起点和动力展开对高校程序设计学生的教学,其不同于传统的任务教学法,而是注重培养学生完成实际实际项目的动手能力[1]。在以项目为驱动的程序设计实践课程教学过程中,为了让学生对编程基本知识点有更深刻的理解和把握,高校教师应结合当今在具体应用中使用较多的主流技术,并结合高校学生身边的具体场景,给出学生能够感兴趣并能真真实实学到技术的应用项目,并分析项目重点、难点,演示项目的最终呈现效果及实际价值,激发学生对程序设计实践课程的学习兴趣和求知欲。项目驱动教学给了学生一个教学目标,从而以此为目标提升课堂教学和学生自主学习效果,大大提升学生对Java程序设计过程中理论知识的理解和将理论应用于实际项目中解决分析问题的能力[2]。
  2.“翻转课堂”+SPOC。当前SPOC(Small Private Online Course,小规模限制性在线课程)的大多数教学案例主要是针对围墙内的大学生和在校大学生这两类学生设置的[3]。以围墙内的大学生为教学蓝本的SPOC教学案例是整合课堂教学与在校教学两种教学方式的新型融合性教学方法,学生在大学课堂上采用MOOC(massive open online courses,大型开放式网络课程)的讲座视频及其包含的在线测试、在线评价等功能性模块,实现“翻转课堂”教学。“翻转课堂”(the Flipped Classroom/the Inverted Classroom)指的是学生可在课外通过教学视频实现自主学习,课上与教师、同学积极沟通实现更好学习的一种学习方法。不少高校针对计算机程序设计实践课程展开“翻转课堂”+SPOC的教学模式,学生可以在线学习的方式接触到国内外高校一流的程序设计课程,同时师生之间、学生之间也可通过沟通实现优质教学资源共享,提高高校实践教学水平。与传统教学模式不同的地方在于,“翻转课堂”+SPOC程序设计实践课程的教学内容质量较高,同步、异步的教学模式选择灵活[4],不仅能够体现出在校开放课程的独到之处,还可以将传统课堂教学模式中存在的不足进行充分的弥补。新型教学模式的优点不仅融合了实践信息技术和传统教学的可取之处,还将教师与学生之间的角色转换为学生为主的状态,充分迎合了以学生为教育过程主体的核心教育理念。   但“翻转课堂”+SPOC在实际应用于高校程序设计实践课程的教学过程中时是存在一些问题的。首先,高校学生对计算机编程认知有限,其知识层次及学习能力存在差异,在接受部门高质量教学视频时会存在吃力现象。其次,计算机编程设计实践课堂对学生动手实现能力要求较高,大部门教学视频更侧重于编程理论、编程方法的讲解,高质量的实践课程相对较少。计算机程序设计实践课程的教学机制是高校学生整体编程能力难以提升的重大制约因素,不完善的教学机制注定不能培养出能力出众的计算机程序设计人才,为此在实践教学过程中,应针对具体学科特点,对“翻转课堂”+SPOC教学模式进行修正、完善。
  三、项目驱动的程序设计实践课程的“翻转课堂”+SPOC教学模式研究
  高校计算机Java程序设计实践课程的开展需要根据其教学内容的特点合理制定教学方法,项目驱动教学和“翻转课堂”+SPOC教学模式非常适用于这门课程的教学。本文在考虑到课程本身特点的前提下提出这一教学模式,目的是为了解决学生在实际动手进行程序设计过程中表现出来的实践能力不足的问题。为了更好地提高高校学生对程序设计课程的学习兴趣,消除学生“畏难”情绪,在根源上提高高校对程序设计实践课程的重视程度,本文对项目驱动的程序设计实践课程的“翻转课堂”+SPOC这一教学模型进行了深入的研究,分析这种教学模式在程序设计实践课程中的适用性,主要通过课前、课中、课后三个模块阐述教学模式与课程之间的结合。
  1.课前准备阶段。要想提高高校学生对Java程序设计课程的兴趣,课前教学准备阶段是十分重要的[5]。首先,教师应结合Java编程语言的特点,考虑学生的认知水平准备好合适的项目,并根据不同的教学阶段将项目进行合理划分为几个子项目。为了激发学生的学习兴趣,教师应根据各个子项目的侧重点,准备与知识点相对应的课堂导入、备课环节及测试点,将整个教学内容制作成“微视频”或者以幻灯片的形式挂在本班学生经常观看的Java程序设计课程的在线网络教学多媒体平台上。此外,教师还应在课前准备阶段设计好实践课程的每一个教学活动,对每个子项目的教学过程设计出具体的教学步骤。根据教师给设定的具体程序设计项目,学生可在基于“翻转课堂”+SPOC的多媒体平台上自主学习教师发布的数字化课程资源,在课前预习阶段对所学知识点做到大致了解或掌握。
  如教师给出“网站下载器”一个具体的项目,要求主要以Java程序设计语言(结合项目的具体要求,也可少量搭配Web开发自行选择其他程序设计语言)实现以下几项功能:以图形界面为展现媒介,用程序实现网络数据的发送请求以实现所需图片的下载过程;对于需要个人注册、登录的网站进行有效模拟;运用多线程同时完成对该网站多张图片的下载过程;结合实际需求对某些图片实现加密并定向保存到前期制定文件夹。单纯给定“网站下载器”项目可能会使学生找不到头绪,教师将这个综合类的大项目在课前根据所实现的功能以分类的形式进行子项目划分,学生利用课堂上所学到的基础知识完成设计难度较低的所有子项目,进而达到整个项目合理完成的目标,只要对每个子项目的设计做到全部掌握,那么整个项目的设计也可以顺利完成。教师除了完成子项目的划分,还应给学生提出问题,激发学生的兴趣[6]。第一项功能中涉及“图片文件搜索”的程序实现,教师可在相应的教学环节给出学生思考问题:(1)文件和目录应以何种方式进行区分;(2)怎样实现文件夹和子文件夹的搜索过程;(3)计算机应怎样完成搜索条件下的筛选工作等问题。
  2.课中教学阶段。由于在前期在网络平台完成了自主预习、学习过程,在教学过程中,一旦学生对某个具体功能的实现和某些代码存在疑惑,可随时向教师举手请教。针对个别问题,学生可在学生计算机上实时指导功能实现,针对疑惑较为集中的部分,教师可在课堂组织集体答疑,在机房实时实地演示学生困惑的地方,这样学生便可集中注意力参与整个教学过程,提高学生的积极性。在教学过程中,教师还可通过问题引导、项目驱动、实现路径分解、代码编写及调动的方式进行示例讲解,给学生演示出子项目具体功能的实现[7]。
  在课堂上,教师可将学生分为不同的学习小组,小组成员不能过多,必须使每位学生有单独负责的部分,以项目验收的具体要求评定学生是否达到本节课堂的教学目标。首先,教师可随机抽查小组进行项目实现效果演示,并根据演示过程及结果向小组内学生提问,检查代码的书写是否规范、演示的功能是否完善、界面显示信息是否符合呈现要求等多种考核标准;其次,不同小组间也可实现有效沟通,针对不懂的问题向教师请教,做到取长补短;最后教师可根据项目实现的具体功能,对学生完成的功能予以评价,鼓励学生继续努力以实现更大的进步。
  3.课后评价阶段。课前与课中两个环节的教学效果如何及时反馈到教师手里是十分关键的,在课后阶段的教学环节中学生可以利用所学程序设计知识制作一个多媒体网络平台。在网络平台上学生可以将学习成果以及遇到的阻碍通过在线上传的方式反馈给教师,学生自主发现问题并在教师的引导下解决问题是这种教学模式的鲜明特点,线上与线下能够实现最大程度的紧密结合。通过Java程序设计实践多媒体教学平台,每个小组还可将课堂上完成的作品进行在线上传,供教师和其他小组完成传阅。教师可在课下实现对课堂上没有展示的小组作品进行考核评价,学生也可在网络平台完成相互沟通、学习[8]。传统的教学模式下,学生的沟通受时间、空间限制,“翻转课堂”+SPOC的教学模式给教师和学生提供了方便、快捷的沟通平台。通过积极沟通,学生可认真分析每个子项目存在的问题,对整个项目功能的实现打下了良好的基础。课后评价环节的意义在于帮助学生找到自己在程序设计实际操作中的不足之处,遇到的学术方面的阻碍能够得到正确的引导和及时的解决。通过整合学生反馈给教师的信息,教师可以针对性地加强该方面理论知识和实际操作的教学,以项目为驱动顺利完成程序设计的教学过程,从而大大提高学生在计算机方面的逻辑思维能力和动手操作能力。
  四、结语
  信息化进程的不断推进要求高校输送更多计算机程序设计方面的人才,解决了学习计算机程序设计的学生的就业压力问题。计算机程序设计注重对学生“理论+实践”双重能力的培养,相比之下,后者尤为重要。项目驱动的程序设计实践课程的“翻转课堂”+SPOC教学模式为高校计算机程序设计课程的教学注入了新的活力。
  参考文献:
  [1]程珍,池凯凯,李燕君,徐利锋.项目驱动和翻转课堂相融合的教学模式在Java程序设计教学中的应用[J].计算机教育,2018,(02):91-94+99.
  [2]常燕,李丙红,刘嘉敏.在Java程序设计教学中任务驱动法对计算思维能力培养的探索与实践[J].教育现代化,2017,4(43):159-161.
  [3]刘嘉敏,常燕,黄静,李丙红.基于计算思维的程序设计课程教学改革[J].教育现代化,2017,4(39):43-45+47.
  [4]夏爱月.项目教学法在程序设计教学中的应用[J].中国教育技术装备,2017,(05):91-92.
  [5]吴德.基于SPOC的在线课程教学模式设计初探——以《Java程序设计》为例[J].電子世界,2016,(24):57+60.
  [6]曹菡,裴艳,王长缨.基于翻转课堂教学模式的大学生计算思维能力的培养研究[J].中国医学教育技术,2015,29(05):494-497.
  [7]李凌霞,郭川军,王晓.应用型本科院校计算机专业“慕课+翻转课堂”教学模式研究——以《Java程序设计》课程为例[J].黑龙江教育(理论与实践),2017,(11):46-47.
  [8]戴振中,叶晓彤.基于“多微驱动”的SPOC混合教学模式的研究与实践——以《面向对象程序设计》为例[J].教育教学论坛,2017,(28):133-134.
转载注明来源:https://www.xzbu.com/9/view-15332348.htm