NOIP的书籍相对比较少,目前比较常用的是信息学奥赛一本通,有三本书,如果是初学,建议先学习C++语言编程
为什么信息奥赛要用C++而不是其他编程语言?因为C++语言效率高,灵活性强,可以操纵底层硬件等多方面的优点。
C++很容易模拟各种场景的应用,可以利用自定义数据机构体来描述各种各样的对象数据,来满足对不同应用业务的需求。
C++的异常机制也非常好的,给我们提供了各种异常操作的捕获,让我们代码写起来更容易检测到异常,以及各种的异常调试工具等。
C++有很多应用供我们参考,比如谷歌深度学习的框架TensorFlow以及Pytorch等核心都是基于C++语言编写,Python实际调用的功能,底层都是C++实现的。比如谷歌浏览器,其内核也是C++实现的。咱们常玩的王者荣耀、英雄联盟等核心也是C++写的。为什么这么多比较厉害的软件都是C++写的,那是因为C++运行效率高、灵活性强,对于对象可以通过数据结构描述出来,继而通过算法的优化实现相应的功能。
C++很容易操纵底层的硬件,我这边做图像处理相关的工作,平时用的basler、海康、大华等相机,他们相机的API都有提供C++的接口,我们这边很容易通过他们提供的接口从而从相机中获取图像数据。比如我们常用的一些IO卡等,都是安装相应的驱动软件,获取其API调用其接口,从而操作IO卡工作等。
C++语言有强大的第三方库支持,以及各种开源应用,我们很容易可以从github上获取相关的资源,供我们学习使用。
1 青少年软件编程等级考试
青少年软件编程等级考试是由中国电子学会发起的面向青少年软件编程能力水平的社会化评价项目,汲取外高校的人才选拔标准,支持创客教育的实践与工程化理念,全面考察青少年在软件编程的知识能力和实践能力,是青少年迈向人工智能应用领域的基础准备。
2 CCF非专业级软件能力认证(CSP-J/S)
CCF 面向社会非专业人士推出 CSP 非专业级别的能力认证,于2019年开设,参加一轮认证人数超过10万。非专业级别能力认证 CSP-J/S 分两个级别进行,分别为 CSP-J (入门级, Junior )和 CSP-S (提, Senior ),均涉及算法和编程
3 中学信息技术创新与实践大赛(NOC)
“中学信息技术创新与实践大赛”是一项运用信息技术,培养广大师生的创新精神和实践能力,面向青少年学生开展人工智能科学普及、引领科技创新的素质教育实践平台,简称NOC大赛(NOC为Novelty,Originality, Creativity的缩写)
信息学竞赛,俗称OI(Olympiad of Informatic),是主要研究算法科学的竞赛,实际上与一般所称的计算机竞赛的字面意思有所不同,并非研究计算机的使用之类,而是由于是利用计算机编写算法、解决问题,从而得名了计算机竞赛。可以信息技术奥林匹克和编程是两码回事