人工智能产业的发展已上升为国策,而相关技术人才却存在着巨大的缺口。2017年7月,国务院刊发《新一代人工智能规划》,《规划》重点强调了要在中小学开展人工智能课程,推广编程教育。2018年教育部颁布信息技术《新课标》,已将“算法编程”(信息学竞赛内容)列为高中必修课内容,2019年秋季开始执行。
信息学是一门以算法编程为核心内容的学科,对学生的智力与计算机应用能力都有极高的挑战。它的学习对于提高学生的观察能力、分析能力、数学建模能力,以及创造性、严谨性的提升都有极大的帮助。
五大学科竞赛2018年获得省一及以上奖项共8000多人,其中信息学竞赛一等奖人数共计3191名,占比超过1/3,远高于数学竞赛的1579名,从获奖人数上属于第一。这一数据表明,通过信息学竞赛获得保送资格是高中最为理智的选择。
今天小助就和大家聊聊,入门学习信息学应该从哪些书籍入手。
“
入门
”
01:《中学生计算机程序设计》(CCF)
本书分为入门篇,基础篇。入门篇介绍了代码开发环境(Dev-C++),数据的输入输出,涉及程序执行的语法和数组。基础篇介绍了函数,字符串处理,结构,联合,指针,文件等语法,并且介绍了线性表,队列,堆栈等数据结构和简单的算法。
该系列教材内容通俗易懂、内容全面、讲解细致,对于零基础学生,尤其是小学生来说,是进入信息学奥赛学习很不错的入门书。缺点就是代码风格有不一致的地方。
“进阶”
01:《算法竞赛入门经典》第二版(刘汝佳)
本书的讲解并不是很多,但例题非常丰富(全部来源于国外OJ UVa)。每章以典型例题的方式讲述了在竞赛中常用的各种算法,并毫不吝啬的介绍了很多在编程老手中间秘而不宣的编程及技巧。
相对于前作,作者吸取了例题和习题难度太大,不易上手的缺点,这次改版分三本成系列出版,大大平滑了学习曲线。
由于本书不侧重于语法,对C语言中的指针、结构体、string类只是一笔带过,所以小助认为本书不适合毫无编程基础的人读,前提是需要会使用C语言,当然有一定的算法基础更好,学习体验将大大提升。
02:《挑战程序设计竞赛》
要是刘汝佳老师的书读起来比较吃力,可以试试这本书。
1. 代码质量高,清晰易懂,格式优美,注释恰到好处。如果讲解有点难懂,可以试着直接去读代码,也许就能想通很多细节问题。
2. 循序渐进,内容丰富。刘汝佳的《算法竞赛入门经典》,前半本书几乎不涉及算法,节奏太慢,后半节奏又太快,对自学者不甚友好。相比较来看,这本书学习曲线就比较平缓。
3. 例题丰富且代表性强。大部分例题来自 POJ,可以直接在 POJ 上 AC,这些例题几乎每道都能代表一个重要的解题策略或题型,如在动态规划部分每道例题都值得细细咀嚼。而在图最短路部分例题中出现的差分约束系统也是非常重要的思想。
4. 练习题丰富且针对性强。练习题几乎都有例题的同类型题,要么是直接换换数据,要么是增强了条件,综合题也不少。
5. 理论讲解有当。作者并不会陷入证明细节,只是指出证明思路。
03:《算法竞赛进阶指南》(李煜东)
本书面向已经掌握至少一门程序设计语言、对于算法设计有入门性认识的读者,以各类知识点之间的贯穿联系为主线,通过各种模型与例题对各种思维方向进行引导。本书讲解也很细致、独到,例题也很丰富。不过阅读本书需要有一定写代码的经验,因为本书没有传授于读者以写第一份代码。
小助问答:你有哪些推荐的好书或者不推荐哪几本,在留言区同大家一起分享啊!
本文源自知乎、豆瓣整理编辑,如有侵权请联系删除。
领取专属 10元无门槛券
私享最新 技术干货