吴粉侠,李 红,唐云凯
(咸阳师范学院 计算机学院 陕西 咸阳 712000)
当前信息技术飞速发展,在信息技术与教育教学的深度融合中,催生了一系列以慕课为代表的在线课程“建、用、学、管”的中国经验和中国模式。线上线下混合教学就是将线上慕课微课学习与线下课堂教学相结合的教学方式,强调以学生为主,充分发挥学生学习的积极性、主动性,借助线上教学资源与信息技术,达到高效获取知识的效果,结合课堂的思维训练达到培养学生计算思维能力,创新思维能力,最终达到人才培养的目标[1]。
“C++语言程序设计”是计算机学科的一门实践性很强的专业基础课,既有面向过程的编程思想,又有面向对象的编程思想,同时具有编程思想,在整个课程体系中下接专业基础教育,上承专业核心能力培养,可以为后继专业核心课程VC++,Qt C++等奠定良好基础[2]。而这门课程传统的教学中存在不少问题,很难真正达到课程的教学目标。
C++语言中的编程概念,编程思想相对于Java语言,C#语言来说是最多的,也是学生感觉学习最吃力的部分,所以在常规的64学时的教学中,一般都会将40学时用于理论知识的讲授,仅将24学时用于实践教学。这样的处理好似加大了理论,降低了难度,但事实上是,学生对理论的学习、理解,应用是建立在实践中的,只有多实践,那些理论才能内化。所以教学效果并不好。
C++语言既有C语言的全部特点,又增加了面向对象的编程思想,与C语言,Java语言相比,学习难度更大。但随着计算机学科的发展,有很多新的课程,为了兼顾课程的完备性,所以C++语言被压缩到48学时,甚至32学时。原本64学时要讲完都很吃力的课程,被压缩以后,教学难度更大了[3]。
学生仅听课是不会有太多问题的,但做程序时问题就特别多,一个小错误都可能耗学生几个小时的时间,不仅降低了学习效率,也打击了学生学习的积极性。而教师也很难保证课后对学生辅导答疑。因此,学生入门阶段产生的疑问若不能及时有效地解决,后续学习就成问题。
目前,网络在线学习是互联网+教育的一种常见学习形态,它将教、学、管、考融为一体,这种形态若是没有线下教育做辅助,教学效果是大打折扣,若线下教学配合得当,则会事半功倍。
本文所提出线上线下混合教学模式,是指将线上自主学习与线下教师指导相结合的教学模式,该模式是随着信息化技术和互联网技术的发展探索并形成的一种新的教学模式。线上线下混合教学模式是以行为主义和构建主义学习理论为指导,借助现代教育技术、互联网技术和信息技术等多种技术手段对教学资源进行优化组织、融合、呈现和运用,将传统面对面的课堂教学,实践实操与网络在线教学进行深度融合,以寻求两者优势互补,从而实现最佳教学效率和效果的一种教学模式。这种教学模式不受时空限制,既可以发挥教师组织、指导、启发、监控教学过程的作用,又能充分调动学生的主动性、积极性与创造性[4]。
当前,线上学习平台有:学堂在线、中国大学慕课、学习通、智慧树等。本文所建设的“C++语言程序设计”课程是搭建在智慧树学习平台上的。
本课程教学资源建设是建立在深挖教材,重构内容,精心组织的基础上的,且教材、视频、习题、测试是一体化的,是同步建设的。因此线上教学内容完全适合培养学生的教学要求,教学目标。
学生在线活动有线上视频学习,线上章节测试,线上提问答疑,线上考试。线上视频学习过程中有与知识点相关的弹题,可检测学生这个点上的掌握程序,也可防止学生刷课。为了达到更好的听课效果,笔者要求学生线上听课记笔记,写程序,这样本来要求在线上的知识性学习,验证性学习就完全可以在线上完成。线上章节测试也是对基本理论,基本知识的测试,是笔者根据教学内容精心设计的。对于学生在线上学习过程中遇到的问题,可以在平台上提问,学生互答。线上考试以客观测试为主。
教师线上活动有检查学生在线学习的进度、检查学生在问答区的互动、检查学生线上测试成绩。检查学生在学习中的难点,检查学生的章节测试成绩,查看学生个体的学习数据,通过这些数据就可以发现学生学习中存在的问题,可以对其进行个别关注,个性化指导,这种指导不仅能指导学生学习,还能增进师生情感交流,让学生感受到老师对他的重视。在问答区,教师可以对学生的回答进行评价、点赞、补充、选择优秀的问题设置精华帖,优秀答案置顶,必要时发布话题,引导学生分析问题,讨论问题,培养学生分析问题,解决问题的能力。
线上是知识性学习为主,线下是算法思维能力训练,编程思想、编程能力的训练,线上偏重知识,线下启发思维。
线下教学活动展主要包含检查学生的线上学习效果、线下的思维训练、线下答疑辅导,线下考核。
线上学习效果的检查:首先,检查学生的学习笔记,发现学生在学习过程中的难点问题;其次,检查学生视频课中的课堂程序,结合线上检查情况,汇总收集整理课堂教学中的重点难点。最后,针对发现的问题重点讲解,帮助学生理解知识。
线上思维训练,以任务驱动,案例教学,小组讨论多种教学方法开展。可根据章节要求设计一些相对综合的,课堂上能完成的案例,让学生分组讨论,合作完成;也可以结合教材中每章的大案例,深入讲解,以任务驱动,引导学生独立完成,最终达到知识应用,能力培养的目标。
线下辅导答疑针对的是学生在编写程序中遇到的各种问题。每个同学的基础不一样,学习能力不一样,学习中遇到的问题也不一样,由于基本内容都在线上完成了,线下就有了更多的时间解决学生个体的问题。在这个过程中,不仅解答学生的问题,还要教会学生解决问题的办法,加深学生对基本编程技术的理解。
线下考核形式多样,主要有随堂考核、作品展示、期末上机考试。对于没有大案例的教学内容,课堂考核通过删掉课堂案例中的核心知识点对应的代码,让学生补全代码的形式进行,通过这种方式,强迫学生把代码理解透,把知识点掌握。对于合作性的大案例,则让小组展示讲解程序,培养学生团队合作,沟通表达能力。期末上机考试,使用万维考试系统,依大纲要求,分配出题知识点,组卷体现课程考核的重难点。借助编译环境,是对学生编程能力,读程序能力,解决问题能力作真正的考查。
2019—2020学年,笔者所在学校软件工程专业与计算机科学与技术专业5个本科班均开设32学时的“C++程序设计单列实验课”,为了在不降低教学目标的情况下,在32学时授完这门课程,笔者将混合模式应用到了本学期的教学中。线上教学平台是智慧树在线教育平台,视频课课程名是“C++程序设计”。线上课程内容是基于科学出版社笔者所编著的教材《C++程序设计案例教程》,视频内容对教材内容作了二次优化与重构,教学内容不仅包含了面向过程面向对象的基本知识(函数,数组,指针,类与对象,继承与派生,运算符重载),同时包含了泛型程序设计思想(函数模板,类模板,容器,迭代器,函数对象,算法等),授课内容如图1所示。
图1 C++程序设计完整教学内容
由于所有内容都有微课视频,所以该课程是完全的线上线下混合教学。教学过程分为课前、课上、课后三个阶段。课前,学生按教师要求线上自主学习指定教学内容,手写笔记,完成验证性程序。课堂上教师答疑,检查,重点讲解,必要的情况下采用任务驱动,案例教学,分组讨论等教学方式,加深学生对理论知识的理解与应用。课后,完成章节测试及每一章节的综合案例[5]。完整的教学过程如图2所示。
图2 线上线下混合教学过程
该课程的线上线下混合教学模式在我校已经实施了2个学期了,涉及学生180人。本学期结课后,通过微信发放调查问卷,通过对线上资源质量、线上教学管理、线下教学管理、课堂互动等30个问题进行了调查,调查结果表明学生对线上线下混合教学模式认可度高,比较喜欢这种教学模式。部分问题调查问卷结果如表1所示。
表1 调查问卷中部分问题的调查结果
本文探索了“C++程序设计”课程的线上线下混合教学模式。该教学模式是以学生为主体的教学模式,教师在教学中起引导,指导,督促的作用,经一年的实践验证,确实能调动学生学习的积极性,更利于学生个性化的学习,能更好地满足不同层次学生的学习,总体教学效果能够得到极大改善,与传统教学及相比,主要优点有:
(1)信息呈现生动活泼,信息量大。微课信息量相当于传统教学中2倍的信息量。
(2)不受时空限制,更容易培养学生的自主学习能力。
(3)教师线下的个别指导,更利于学生深入理解理论知识。
(4)利于培养学生分析问题解决问题的能力。
(5)线下教学更侧重于思维训练,更处于培养学生的计算思维能力和创新能力。
(6)多维度的考核,能更准确的检测学生的编程知识和编程能力。