基于经验内化导向型的沉浸式课程教学改革

2018-12-30 11:56王新年
计算机教育 2018年7期
关键词:学时内化编程

王新年

(中南民族大学 计算机科学学院,湖北 武汉430074)

0 引 言

安卓平台开发课程的特点主要是基于安卓移动平台的APP开发,属于编程语言范畴。编程语言的特点是逻辑性高、实践性强,只有在不断实践的过程中才能增加和积累编程的经验,所以很多教师历来对于编程语言感到难以教学,学生短期内也难以理解学习编程语言。在这种情况下,采用传统的课堂讲授模式很难让学生理解并且积累经验,有鉴于此,笔者将传统课堂教学全部转化为实验教学,采用沉浸式教学模式,不断积累实践经验,将编程知识内化,提高教学效率,更好地达成教学目标。

1 沉浸式教学模式

沉浸式教学模式普遍运用于语言教学[1],如英语、汉语等语言的教学,按照不同的标准,沉浸式教学分为全部沉浸和部分沉浸[2]。编程语言作为计算机程序的编写语言,和英语、汉语等语言学习一样,需要不断地练习和实践。掌握一门编程语言需要大量的时间进行练习,只有通过不断编写程序才能熟悉、掌握和精通编程语言,逐步积累编程经验,从而将分析、调试和解决问题的经验内化。

安卓平台开发课程属于专业选修课,按照现有的课程教学大纲,课堂讲授是32学时,实验教学是12学时。实验教学主要是学生上机练习,完成教师指定的各项编程内容,让学生完全沉浸在编程的过程中,属于1/4沉浸式教学。本次课程改革是将课程讲授的32学时全部纳入实验教学学时,也就是44学时全部是实验教学模式,课程全部在软件工程实验机房完成,形成全部沉浸式教学模式。

2 经验内化过程

从课程层次来看,各种课程的定义有三个标准[3],一是计划水准,二是实施水准,三是结果水准。中国课程教育注重计划水准,欧美国家则三个水准都具备。计划水准基于可预设的教学计划和可观察的教学活动,而非学生的实际体验,容易造成课程实践中本末倒置的现象,将教学计划和活动本身作为目的,而忽视计划和活动的真正意义——促进学生的学习与发展。实施水准强调通过课程学生体验到的意义。结果水准更关注预期的学习结果或目标,把课程本身作为手段。

安卓平台开发课程更注重实践性,强调学生在教师的指导下通过实践汇总获得全部经验,是将编程知识内化成学生学习经验的过程。学生需要在教师的指导下,通过课程不断地编写程序而获得编程经验、项目经验,从而使学生对所学的知识进行思考和运用,并最终内化为学生的体验[4],进而获取相应的经验。

3 沉浸式教学改革实施过程

经过44学时全面实施沉浸式教学,笔者完成了学生的编程经验内化过程,并对实践过程中的课程目标、课程内容、课程组织和课程评价进行了评估[5],将最终的编程结果作为评价指标。教学模式从传统的教师处于主导地位、学生处于从属地位变成教师是实践的指导者、学生是实践的主导者,这有利于学生的知识内化、能力培养和编程素质发展,构建了一种有利于师生互动、彼此合力、共创共享的新型沉浸式实践体验教学。

3.1 课程目标

课程目标具有导向性,没有目标就没有课程。目标是课程建设的起点,也是教学活动的终点,它要与教学内容的选择、活动的组织和教学评价互相配合,具有具体、明确、可操作性强的特点。安卓平台开发课程的目的除了教学大纲所明确提出之外,还应该有通过反复实践形成良好的编程体验,使学生具备一定的实践开发能力,并获取初步项目经验的效果。44学时的上机实践,具有高强度、全沉浸的实践特点。根据高级程序员和优秀程序员的养成来看,课程的最终目标就是编程编程再编程、实践实践再实践。

3.2 课程内容

课程内容符合教学大纲的要求,但对最终的训练目标提出了更高的要求,要求最终的项目训练有利于学生创新能力的培养、获取更丰富的编程经验、激发开发兴趣。完整的安卓平台开发课程要求对每一个知识点进行完整的案例实践,包括从安卓平台的构建、UI的布局和组件、四大组件、网络通信、存储到完整项目实践训练的全过程。

3.3 课程组织

这次课程改革中,课程组织是非常重要的一环,若稍不留意,就会导致课堂效果大打折扣。首先,根据硬件环境确定选课人数。课程的教学地点全部在软件工程实验室完成,实验室总共有64台计算机,所以每次教学的选课人数不能超过64人。其次,准备每次课程的教学目标(Objective)。每次上课前在QQ群里布置本次课程的实践内容,包括所有的源代码和说明,学生可以在课下先做练习。由于增大了实验学时量,要求学生必须有额外的2本Android编程书籍作为自己的辅助参考书。再次,实施课堂教学模型相应的过程和步骤:Q&A环节,对上次课的内容进行提问,学生回答;讲授(Presentation)阶段,给学生讲授今日课程的知识点内容,讲解其中的重点和难点,所耗费时间约10~30分钟,其余时间为学生训练时间,也就是内化阶段(Assimilation)。在训练时间内,教师不断巡视学生训练情况,并对有疑问的学生进行指导,充分将时间留给学生。教师是训练的指导者,学生是训练的主体。最后,进入检查阶段,教师检查学生的训练结果(Post-assessment)和今日训练记录(Diary-checking),查看代码和运行结果。教师将没有完成训练任务的学生记录在案,要求课下完成,下次训练时间做检查,并要求其讲解源代码。最后进行总结(Summary),主要是总结学生知识点掌握情况和训练完成情况。

3.4 课程评价

课程评价是监督和保证课程质量的关键所在。传统的课程评价就是单一的平时成绩和期末成绩,这种单一的评价容易抹杀学生的经验积累、训练创新、思想方法等。本课程评价与目标联系在一起,更注重过程性评价,由于知识内化是一个过程,那么评价其实也是一个过程,而不是结果。本课程并没有建立起一个科学、系统、可操作、客观、及时反馈的综合评价体系,只是根据需要建立了一个日常的评价体系,该评价体系不涉及教师环节,主要针对学生知识内化、经验积累过程的评价。

课堂评价过程建立了QPAPDS课堂教学模型,其中分为Q&A(问答)、Presentation(讲授 )、Assimilation(内 化 )、Post-assessment( 训练评估)、Diary-checking(今日训练记录检查)、Summary(总结 ) 。

在备课的时候,需要制作相应的 Q&A 表格,包括问题分类(概念、公式、流程等)、掌握程度(必须掌握、一般掌握)、难度系数、回答是否正确(正确、不正确或者模糊)。

实践检查表格分为两个,一个是统计学生对该实践内容的总体完成程度表,内容包括实践内容、训练内容、时间长度、完成度、检查人等要素;一个是课堂上每个学生训练内容完成度的情况表。这两张表格属于Post-assessment训练评估内容。

学生今日训练记录检查表主要包括内容符合性、是否完成等内容。

由于在掌握程度和难度系数以及完成上存在主观性,笔者计划采用模糊评判技术来进行衡量,但目前仍然采取百分制来进行度量,Q&A表格、实践检查表格和今日训练记录检查表在百分制中各占30%、50%和20%。

3.5 期末考核

最终的考核是要给学生一个总成绩,传统的考核方式是实验分、期中考试分和期末考试分比重为2:2:6,这样的比值不符合经验内化导向型的沉浸式课程教学研究,所以对传统的分数占比重新进行了定义,加大训练项目的考核量,减少期末考试成绩的占比。经过向学校申请,考核方式改为平时考勤分、训练项目分和期末成绩分比重为2:5:3。

4 与传统教学模式结果对比

经过本次课程改革,笔者初步完成了经验内化导向型的沉浸式课程教学研究,课程教学结果分析如下。

4.1 平时考勤

经过本次课程改革,学生缺课率明显减少,以每次的Q&A环节和训练结果检查就可以看到学生的考勤情况,学生出勤率保持在2/3以上。

4.2 实践训练

在内化过程中,大部分学生都能按时完成代码的输入和结果的输出,部分学生还课下补充代码训练量,说明学生不满足现有知识内容,主动学习更深层次和更广程度的内容。此外,由于以学生为实践主体,学生的积极性大幅度提高,自我约束能力增强,在课堂上玩手机、睡觉的现象完全杜绝。

4.3 训练考核

每个学生都独立完成了一项Android APP的开发,具有一定的深度和难度,一部分代码还具有学术和商业价值。

4.4 期末考核

通过期末考核发现,学生的基础内容掌握较好。由于部分题型考核深度和难度高于训练内容,学生在这一部分上丢分较多,但绝大多数学生得分还算不错。最后的编程题,由于是脱离开发环境写代码,约有20%的学生不能完成,30%学生较好完成,50%学生能完整地完成,证明50%的学生达到了训练的要求,脱离开发环境能写出代码,有了一定的编程体验和经验积累。

总体来讲,与传统教学模式相比,这次教学改革中学生分数和编程经验均高于往年,基本实现了课程改革的目的。

5 结 语

本次课程改革采用经验内化型沉浸式课程教学改革在总体上是成功的,并且摸索出了一套新型教学模式QPAPDS,其中的Q&A和Diarychecking应用到了其他2门课程——“用户界面设计”和“软件设计IV:软件工程导论”,该模式还将应用于以后的课程教学中。

此次实验创新性地采用经验内化导向型的沉浸式教学模式,取得了一定成效,但还存在一些问题,如课堂评价体系不足、评价和监督不足等情况。此外,由于本班课程参与人数较多,导致监督和评价工作量大,建议该模式应用于小班教学。

猜你喜欢
学时内化编程
第二课堂成绩单制度下的学时发放标准的探索
——以中国民用航空飞行学院为例
《诗词写作》课程教学大纲(节选)
编程,是一种态度
教学大纲国画(工笔花鸟)
元征X-431实测:奔驰发动机编程
激活中队活力,内化少先队员组织归属感
编程小能手
激活中队活力,内化少先队员组织归属感
探索学时积分制 构建阶梯式成长激励体系
纺织机上诞生的编程