大学计算机课程的研讨式教学模式探索
2019-05-09艾明晶
艾明晶
(北京航空航天大学 计算机学院,北京 100191)
0 引 言
近几年来,在国家优先发展教育事业的战略部署下,越来越多的高等学校对教学愈来愈重视,加大教学投入并把教学作为教师考核的首要内容,教育改革正在逐步深化,大学教学质量得到显著提高,但是由于地域差异和教育资源的不平衡,进入大学的学生基础参差不齐,传统的大班化教学难以满足学生的个性化需求,往往造成基础差的学生跟不上、基础好的学生吃不饱的情况。
面对不同基础、不同教育背景的学生,怎样才能做到“促进每个学生主动地、生动活泼地发展,尊重教育规律和学生身心发展规律,为每个学生提供适合的教育”[1]?一个行之有效的方法是开展分级教学,根据学生的基础将学生分为提高班和普通班。不同基础班的教学内容、教学方法和考核方式都有所不同,因材施教,许多高校的多门课程都采用分级教学,以实现学生的个性化培养。将大多数学生编入普通班,通过理论教学,系统地夯实学生的基础理论知识,并传授给学生一定的思维方法;通过课后作业和实践教学,深化学生对理论知识的理解,使其掌握必需的技能和解决问题的方法。一小部分基础好、自学能力强的学生,则编入提高班。针对这部分学生,相对于普通班,除了教学内容更深、更广,教学进度更快以外,还需采取何种教学方法更能够激发学生的学习兴趣,提高学生的自主学习能力,培养学生的独立思考能力和创造性思维,是需要重点探讨的问题。
1 研讨式教学模式的内涵与意义
提高班的班额小,学生基础好,求知欲强,善于思考,适于采取研讨式教学模式这种先进的教学方法。
1.1 研讨式教学模式的起源与内涵
研讨式教学模式起源于18世纪的德国,最早由18世纪德国教育家弗兰克提出[2],德文称为Seminar(中文常音译为席明纳或习明纳),其特点是在教师指导下,由学生组成研究团队,定期集中讨论,共同关注该领域的最新进展[3]。后来该方法被逐渐推广到美国、英国、加拿大、澳大利亚等西方国家的大学教育教学中,并得到普遍推崇和广泛应用。
1911年,蔡元培先生开始在中国的大学课堂教学中尝试使用研讨式教学方法。在20世纪50年代,苏联把西方国家研讨课教学法传到中国的大学。逐渐地,我国越来越多的大学意识到研讨式教学在培养学生独立研究和创新思维方面的独特优势,开始尝试与深化研讨式教学[4-6],这对提升本科和研究生阶段的教学质量起到一定的积极作用。
国内众多学者从不同的角度对研讨式教学模式的内涵进行了诠释,但一个比较一致的看法是研讨式教学是指在大学或研究生院里教师和学生为研究某一问题,在教师的指导下、以学生为主采用的小组共同讨论和研究的交互式教学方式,真正达到学有所获、日学日进、教学相长的教育目的[7]。
1.2 开展研讨式教学的重要意义
研讨式教学模式的一个显著特征是以学生为主体,围绕一个或几个问题开展研究和讨论。研讨式教学是一种以解决问题为中心,由教师设立问题情境,师生共同探索问题,通过问题研究和问题探讨两个阶段,让学生掌握知识的教学模式[3]。这种以问题为载体的探究式教学,能够使学生在设问和释问的过程中萌生自主学习的动机和欲望,进而逐渐养成自主学习的习惯[8]。
与传统教学“以教师为中心”的教学模式不同,研讨式教学是以学生为中心,教师主要起引导的作用,课堂成为学生和教师进行问题探究、互动的场所。这可以从根本上解决“填鸭式”教学所造成的弊端,如课堂教学中普遍存在的“三低”问题:到课率低、抬头率低、点头率低[9]。学生的学习兴趣被充分激发,学习主动性被充分调动起来。通过自学、探究和讨论,学生不仅能收获知识,更重要的是提升能力,其成效将远远大于学生被动学习的教学效果。因此,越来越多的高校在不同的课程中,纷纷加大研讨式教学模式的比重。
2 研讨式教学模式在大学计算机课程中的应用
大学计算机是一门面向大学一年级非计算机专业学生的大类平台课程。入学时学生的计算机基础参差不齐,可以采取分级教学,根据学生基础,将学生分为普通班和提高班,因材施教。提高班的班额一般控制在40人之内,这些学生已经具备一定的计算机基础知识,计算机操作能力比较熟练,学习能力强,思维活跃,特别适宜开展研讨式教学。
2.1 研讨式教学模式设计
研讨式教学模式包括5个步骤:指导选题→学习研究→分组讨论→大班交流→完善提高,具体涉及课前学习、课中研讨、课后完善3个环节,研讨式教学模式设计如图1所示。
图1 研讨式教学模式设计
传统教学模式是以教师为主体,教师讲解,学生听课,师生交流比较少,学生之间交流更少。研讨式教学模式创建了一种新型师生关系,学生成为教学活动的主体,不仅能大大增进学生与学生之间的交流与思维碰撞,还能显著增加教师与学生之间的交流。
2.2 大学计算机研讨课选题设计
大学计算机课程体系包括计算思维与计算机模型、问题抽象与建模、程序设计基础与数据结构、算法设计与优化、科学计算与数据处理、工程思维与领域前沿6章内容。课程以计算思维为主线,按照“思想→问题→模型→数据结构→算法→程序→优化→数据处理→工程”的顺序,循序渐进、抽丝剥茧地讲解利用计算思维进行问题求解的方法和过程。
由于课程总学时有限,研讨课所占学时不宜过多,其中问题抽象与建模、程序设计基础与数据结构、算法设计与优化这3章是课程的重要章节,除了必要的理论讲解之外,还必须通过大量的实践帮助学生深化理解知识,掌握方法和技能,因此在完成必要的课堂教学之外,可以安排3次研讨课,通过某个实际项目的研究,使学生最终能够综合应用这3章的知识解决一个实际问题。
选题设计是非常关键的一个环节,题目的选取既要考虑教学的重点和难点,又要兼顾学生的能力和水平,同时也要将课程培养学生的素质目标考虑在内[10]。以第2章—第4章的选题设计为例,需要结合重要知识点和经典问题设计多道研讨题目,既有必做题,又有若干道选做题,学生可以任意选择其中的一道题完成。每道题留给学生一定的想象空间和自主设计空间,以便于学生发散思维、自由发挥。研讨题选题见表1。
通过第2章的研讨课,学生主要掌握针对某个实际问题如何进行问题分析,抽象出数学问题并建立合适的数学模型。通过第3章的研讨课,学生主要掌握针对某个具体问题如何用字符串、栈或队列来描述具有相同性质的一组数据,进而如何编程实现求解该问题。为了保证知识的延续性和融会贯通,第4章的研讨题特意设置为与第2章相同。对于廉价航班问题或货车运输问题,在第2章已建立数学模型的基础上,学生再分别采用枚举算法、动态规划和贪心算法求解问题并分别编程实现,从中分析比较不同算法的优劣和运行效率。
3 大学计算机研讨式教学模式实施过程和效果
北京航空航天大学在两届学生的大学计算机课程提高班中实施研讨式教学模式,在课堂研讨中围绕某个案例或项目,通过专题研讨、分组思辨、互相点评、讲解演示等方法,以开展协作式解决问题的方式促进学生理解计算思维、掌握建模方法以及培养程序设计能力。以第4章算法设计与优化研讨课为例,研讨式教学模式的实施过程如下。
表1 大学计算机研讨课选题设计
3.1 教师指导学生选题
教师在研讨课的前一周,公布研讨课选题,明确学生课前准备工作、课堂讨论交流内容以及课后完善研讨题解决方案的具体要求。学生根据各自的兴趣爱好和知识水平,选择相应的选做题。
3.2 学生课前预习和研究
这一环节是学生进行知识拓展和延伸的过程,同时也是开展独立研究和探索的过程。学生对问题进行深入探究,找到问题之间的联系,剖解问题的复杂性,运用知识形成问题的解决方案[8]。
教师提供课件、视频等学习资料,引导学生进行拓展学习。学生课前通过学习教材、课件和相关课程资料等,深入理解课程基本知识;通过网络查阅相关资料,拓宽知识面,锻炼自主获取新知识和新方法的能力;通过对问题的探索和研究,有效提升自身的研究能力。
3.3 课堂分组研讨
这一环节是整个教学过程的重头戏,学生是教学的主体。第1节课,3~4名学生组成1个小组进行讨论。每人介绍自己的算法思想、编程的关键语句、算法的运行效率,展示程序运行结果;围绕课堂讨论要点提出自己的观点,展开讨论;针对疑难问题,进行协同研究和探索。教师的角色则从“传道、授业”转变为“解惑”。教师是教学资源的开发者、教学的帮助者,是知识的组织者、引导者和促进者[11]。教师要注意把控研讨过程,引导学生质疑、探究并适时解答学生提出的疑难问题。对于学生通过思考能够回答的问题,则给予学生必要的提示和启发,鼓励学生积极思考,自行探究问题的答案。
3.4 大班交流
第2节课,大班交流总结。在小组充分讨论的基础上,在全班分享讨论的结果、结论以及在这一过程中的争论和思考,或者提出更深入的问题[8]。首先,由每个小组的组长总结本组完成情况,组长或其他学生介绍优秀解决方案,展示程序;然后,由教师点评学生的方案并讲解本次讨论课的重点和难点,展示程序运行结果。通过这一环节,学生既可以分享各组同学的奇思妙想,又可以更清晰地了解教师所指出的重点和难点,起到画龙点睛、知识内化的作用。
3.5 课后总结和完善
教师通过网络,帮助学生及时解决遗留问题,归纳、总结学生方案中的问题。学生在课后回顾课堂研讨内容,借鉴同学的思路和教师的启发,进一步完善程序和方案,再提交作业,从而保证研讨课的实际效果。
第2章至第4章是课程的主要内容,能体现运用计算思维进行问题求解的过程:科学问题的描述方法——抽象和建模,模型形式化数据描述——数据及其结构,模型计算机描述——算法,算法的实现——程序设计思想。每章1次研讨课,3次研讨课,学生都非常认真,课前做了大量的准备工作。课上教师、助教加以引导和启发,各小组学生踊跃发言、讨论热烈,实现方法各异,充分展示学生的活跃思维和聪明才智。
研讨式教学模式能激发学生的想象力和创新意识,锻炼学生的自主学习能力、思辨能力和研究能力,拓宽学生的思路,达到因材施教的个性化培养。学生通过研讨能大大开阔眼界,增长知识,提升能力,教学效果良好。
4 结 语
笔者在大学计算机课程中采取分级教学,并在提高班教学中实践研讨式教学模式,注重学生在知识理解基础上的思维训练,通过实际问题的求解,引导学生思考问题、模型、算法、程序的转换和构造。在研讨选题设置上,第2章和第4章两次研讨课的题目具有知识延续性,涵盖问题抽象与建模、数据结构、算法、程序设计等主要知识点,有利于加深学生对运用计算思维进行问题求解全过程的理解。
实践证明,与传统教学模式相比,研讨式教学模式在培养学生的自主学习能力、知识归纳和整理能力,激发学生的发散性思维和创新意识,锻炼团队协作能力和研究能力方面,具有独特的优势。为了顺应高等教育教学质量改革和创新型人才培养的时代要求,广大教师应以为国家和社会培养更多的创新型、实用型和复合型人才为己任,努力钻研业务,拓宽知识面,提高专业水平,深入研究教育艺术,不断提升教育水平,在教学中注重学思结合,积极探索和实践研讨式教学模式,以帮助学生逐渐养成自主学习、独立思考、主动探索、勇于创新的能力和素养。