开门见山:越来越多的学生在学习信息学奥林匹克,越来越多的人从事信息学奥林匹克教材的编写。 如何选择好的教材和合适的教材,成为学生要解决的首要问题。 本人从事奥数教学工作多年,对信息学奥数教材进行了广泛的研究。 不管是“一对一”、“书对书”、“班对班”,还是“入门教程”,我都有些了解。 分享一二自己的拙见,希望能为同学们选择教材提供参考。
一、一体
受到推崇的:*****
先说《One-Book》,全称是《Informatics Olympiad, One-Book》。 作者有董永健的一套,主要包括四本书:《信息学奥林匹克-一本》、《信息学奥林匹克--初赛》、《信息学奥林匹克-培训指导教程》、《信息学奥林匹克-提高》,主要这四本书的区别如下,
《信息学奥林匹克一关》主要包括C++编程基础加编程实例,也包括历年NOI题型。 虽然不全,但基本都是典型题。 非常适合想学习C++语言,想参加信息学奥赛的同学。 学生用,尤其是一些一开始就想买这本书先看看情况的学生。 只要他们有这种想法,就只能选择这本书来了解一下。 初中生和高中生都可以。 如果小学生能力强也可以选。
《信息学奥林匹克-预赛》,预赛是本系列教材最基础的部分,将包括计算机基础知识(见下图目录),包括软硬件基础知识,原码补逆代码、碱基转换、计算机网络等,以及编程和数学基础知识。 此外,还提供近10年初赛的试题,堪称业界良心。 优点是覆盖面广,知识全面。 缺点是覆盖面太广,深度难免不够。 但是NOIP对基础部分的考察不是很深入。 笔者觉得基本够用了,基础差的同学可以加这本书预赛。
《信息学奥林匹克--实训指导教程》,实训指导教程,书名很明确,主要是讲培训,那么培训到底是什么? 主要是训练解决问题的能力,即如何将实际问题转化为c++程序。 当然历年真题在这里面是少不了的。 当你需要疯狂刷题的时候,这是你最好的选择。 当然网上题库也是可以的,但是网上题库里没有人能给你解释原理或者思路。 这是它的优点,缺点是需要花钱买书。
《信息学奥林匹克--提高》,提高基本上更适合提高组。 讲解了各种NOIP中出现的算法和数据结构,还配有各种经典例子和真题来蹭你,总的来说就是提高你的算法能力。
说了这么多,一套四本书加起来也就200多本,需要四本书都选吗? 如果你是参加改进组的,不缺这几十块钱,那就买来看看吧。 对于学生来说,前三本书的知识就够了,没必要选《Improvement》。 如果计算机基础好,那就只选“One-Book”和“Training Guidance Course”。 当然,无论你选择哪一本书,都离不开你长期坚持不懈的刻苦训练,必须要有全力以赴的精神。
2. 教训
受到推崇的:****
《信息学奥林匹克》的作者是林厚聪。 如果想了解作者,可以在网上书店搜索本书奥赛一本通,详细信息会有作者介绍。 本书的主要内容是C++编程的基础知识,其实更像是一本C++的入门教程。 当然,解释的很详细。 作为参加信息学奥林匹克竞赛的学生,肯定可以选择这本作为编程语言的入门教程。 它还涉及信息科学。 奥赛知识,纸张质量不错,内容页彩色印刷,结构清晰。 总的来说,这是非常好的。 不足的是,想要把一本书的所有知识都搞定,显然是不够的。 学生需要在本书的基础上进行构建。 然后选择其他辅助教材,据笔者查找,除了《信息学奥林匹克:数学综合指南》外,没有其他辅助教材。 当然,笔者认为配合其他教材完全可以补充相关知识。
《高级数据结构》也是林老师写的一本书。 这是一篇基于前面课程的进阶文章。 全书内容包括:哈希表、树和二叉树、优先级队列和堆、联合搜索、线段树、树数组、拉伸树、Treap、AVL树、红黑树、SBT、块链表和块树、后缀树和后缀数组、树链划分和动态树等。本指南-改进章节类似。 它是对数据结构和算法的深入解释。 当然它也有真题、经典题等,参加改进组或者ACM的同学可以参考一下。 还是很深入的。
《数学全集》其实不是系列教材,只是作者是同一个人,所以放在一起。 一定有同学觉得可疑。 这是一场信息学竞赛。 你拿一本数学书做什么? ? 其实是很有用的,因为我们有经验的同学都知道,信息学奥赛里面有很多数学知识。 除了前期笔试直接考一些数学知识外,编程中的很多问题都需要有数学基础,可以说编程本身就离不开数学,所以大家千万不要把它当成一本数学书。 它是编程数学和信息学数学。 现在同学们还觉得没用吗? 当然,本书以数学为主,这是不争的事实。
3. CCF中学生计算机程序设计
受到推崇的:****
《CCF中学生计算机程序设计》其实有四本书,但是现在市面上只有两本书,一本是上图中的《Introduction》,一本是《Basic》。 《Introduction》的内容是编程基础知识的讲解,比如数据类型,基本结构,比如序列结构,条件选择,循环结构等等奥赛一本通,然后讲了一些数组等知识,然后就是不多说了,这本书完了,全书200多页,比起《易易通》和《可可通》要薄很多,可以说是很“入门”了。当然,200多页的这种知识还是很详细的,有兴趣的同学可以买来看看。
与入门篇相比,《基础篇》会有一定的提高。 它提到了模块化编程、指针、简单算法、数据结构、数学相关知识和STL。 《概论》的基础知识有了深度,所以对于科普组的同学来说,这两本书作为辅助教材也是可以的。 再加上官方题库,同样可以暴涨!
这个系列还有另外两本教材《Improvement》和《Professional》,但是官网一直在审稿。 如果时间允许,同学们不妨耐心等待阅读。 比如你还是小学生,你可以等它出来。 然后选择购买,这套书的优点是官方教材,教材的作者都是多年参加信息学比赛的优秀教练,其中不乏中学教师。 这套教材还是很不错的。