2013—2014学年第二学期信息学奥林匹克竞赛课程总结



2013—2014学年第二学期信息学奥林匹克竞赛课程总结

上学期奥赛课的内容主要是程序设计的基础知识,本学期课程主要的内容要比上学期更深更难更繁,总结如下:

一、      算法的学习

(1)在学习算法的时候以高精度运算作为切入点,虽然这个知识点相对来说是简单的,但对于初一的学生来说还是有一定的难度的,因此我用了四节课的时间来讲授。在课堂上通过实例的形式尽可能地让学生快速掌握c++程序算法的思想。

(2)排序算法的教学。排序算法是信息学奥赛的重点,也是难点。在比赛中经常会出现排序的题目,要想获得好成绩就必须学好这一算法。排序算法的种类繁多,由于时间有限,主要讲解的是选择排序、冒泡排序以及快速排序,在这些算法中应用到了for循环语句的嵌套,这对于刚接触算法的学生来说还是难以接受的,因此我还是通过实例源码的方式介绍这个知识。学生经过观看老师的程序以及自己练习,大多数学生还是能够理解的。

(3)搜索与回溯算法教学。这一算法比前面的要难得多,但这又是奥赛题中经常出现的算法,无论如何是不能逃避的。在教学上我尽量采用生动有趣的例子,比如使用走迷宫的例子来讲诉回溯算法的概念。学生对算法有了一定的了解后,我就开始通过具体的例题来让学生深入学习。

(4)其他算法的教学。主要讲解了动态规划,而动态规划又包含了动态规划的基本模型、动态规划与递归、背包问题等内容。总之本学期的重点是让学生掌握算法。


二、课堂练习

如果只是听课不练习的话,学生是很难掌握知识点的,而且那么多的知识,虽然听懂了,但是未必就会用,会用了不一定会记得。因此做经典的有代表性的练习是很有必要的。一般我会给学生40分钟左右的时间作为练习,学生练习的过程中遇到了很多问题,我会尽量现场指导。有时候因为时间有限,我只能把学生遇到的问题收集起来,然后在慢慢地研究。有些问题是大同小异的,我就会发挥小组学习的优势,先教会一个学生,然后再让这个学生教会其他的学生,主要是培养学生自主探究的能力。其实,要想在奥赛中脱颖而出仅仅依靠老师讲解是不够的,学生的自主学习显得非常重要。

三、存在的问题

程序这东西很难做到每个知识点都讲得生动有趣,程序的学习本身就是枯燥无味的。当学生遇到问题的时候会选择放弃探索,这样就导致一些问题无法真正掌握。另外有些学生的计算机基础较差或者是数学知识较差,在学习算法的时候显得很吃力。

在教学上,有时候我没有很好地把我重难点,在时间安排上不够合理,有些知识本应该是学生自主掌握的,我却用了过多的时间。另外,教学的方法还有待提高,比如课堂还不够生动有趣,一些学生已经开始出现厌学的现象。

信息学奥林匹克联赛课堂总结