有家长说,

“ 孩子马上要上学了,必须要给孩子趟条路啊....信息学奥赛怎么样?

最近人工智能如此火热!可对于编程,我完全没概念啊,只见过专卖店里的可编程机器人,还有新闻里一带而过的外国小朋友学习编程的程序界面。

学编程,我的孩子适不适合,如何让孩子参加奥赛呢?”

作为家长,您是不是也有同感?

今天,小码王就抛砖引玉,就大家关心的问题,跟您聊聊 “信息学奥赛” 的那些事儿。

信息学奥赛(NOIP).jpg

01

NOIP是什么?

信息学奥赛是由中国计算机协会(CFF)主办,旨在广大青少年中普及计算机教育,推广计算机应用的一项学科性竞赛活动。

NOIP |全国青少年信息学奥林匹克联赛/分区联赛

NOI |全国青少年信息学奥林匹克竞赛

IOI |出国参加国际奥林匹克竞赛

ACM |国际大学生程序设计竞赛

因为参与人数最多的当数NOIP联赛了,所以大家也就习惯将信息学竞赛简称NOIP了。


02

为什么要参加 NOIP?

1.NOIP取得好的成绩对参加名校的自主招生有一定的帮助。进入国家集训队的,可以直接保送清华北大。其他获奖选手可通过夏令营、冬令营、科学营、体验营等各种自主招生渠道争取到降20-60分甚至本一线的录取优惠。


除此之外,很多在NOIP中获得优异成绩的小学生,对于小升初择校也有很大的帮助(不同区域相关政策不同)。


2.在5大学科竞赛中,信息学的竞争压力相对较小,相比数理化生的竞赛来说,信息学竞赛在培养逻辑思维、数学、升学、就业、科研 等方面都更加切实有用。

3.NOIP是所有信息学比赛的基础。如果NOIP成绩好,对于入选省队并参加NOI会有一定的帮助。同时,NOIP系列比赛和ACM系列比赛的题型和内容类似,准备NOIP比赛对后续的国家级和国际级大赛也很有帮助。

03

如何参加 NOIP?

首先,同学们要报名参加各省组织的NOIP联赛。

联赛在全国范围内考题统一、时间固定,但是报名和考试组织是由各省市独立完成的。

NOIP联赛初赛复赛两个阶段。联赛分普及组和提高组两个组别,题型类似,难度不同,分别面向初中和高中阶段的学生。


(小学、初中可以参加普及组的比赛;小学、初中、高中都可以参加提高组的比赛。)

比赛时间:每年10月初赛-11月复赛

初赛:

初赛的考察内容包括三部分:

1. 计算机基础知识,侧重知识点的广度。比如进制转换,工作原理,算法原理、历史事件名人等。这些对于大部分第一次参加NOIP的同学来说应该比较陌生,这样的知识只能通过平时的积累,从现在就开始搜索资料,有意识的去记忆。

2. 数学内容,包括排列、组合等大量高中的数学知识,需要下载资料去研习,背公式。

3. 程序完成。如果说前面2部分还有补习的希望,最后这一部分完全是靠你的做题基础,没有捷径,只能靠你平时多看别人的程序和自己多做题了。

初赛形式为笔试

试题类型:(满分100分)

1. 选择题, 20题,30分。

2. 问题求解题,2题,10分。

3. 程序阅读理解题,4题,32分。

4. 程序完善题,2题,28分。

各省市初试成绩在本赛区前百分之十五的学生进入复赛,其分数不计入复赛的成绩。


复赛:

复赛为程序设计,上机完成。侧重考察学生对问题的分析理解能力、数学抽象能力、驾驭编程语言的能力和编程技巧、想象力、创造力等。

题目包括4道题,每题100分,满分400分。

各省市一、二、三等奖最后从复赛优胜者中产生。


NOI 

一般,NOIP各省前10-20名组成省队(各省名额略有出入),参加全国决赛NOI。

决赛一等奖一般是被清华北大提前录取,二等奖也会被南京大学、浙江大学等知名院校录取。

出题形式基本与NOIP雷同。


IOI 

同理,国际竞赛就是从国家队里选取优胜者代替中国参加世界大赛去啦。

好处就是,申请世界名校、和为参加 ACM 打基础。


04

NOIP 该学什么语言?

C++

目前NOIP可以使用C、C++和Pascal三种编程语言。

2020年开始,除NOIP以外的NOI系列赛事,将不支持Pascal和C语言。

而2022年以后,NOIP比赛也将取消C和Pascal语言,只剩下C++了。

05

NOIP什么时候开始准备?

1.  超级牛娃

小学就开始学习,或许可在小升初时享受到信息特长生优惠(根据当地政策而定)。

进入初中后,可争取初一拿普及组一等奖,初二开始可直接参加提高组竞赛,或许可在中考升学时享受优惠(根据当地政策而定)。

这样高一就可以冲刺提高组一等奖,并且可以冲省队、冲国赛了。

2. 普通牛娃

其实,更多的孩子可能是从初一开始,进程和小学开始差不多,参赛也很从容。如果初中毕业才开始,那么节奏可能会有一点紧凑了。

06

零基础孩子是否直接学C++ ?


1.  一般不建议直接学习C++,  如果是初一及以下的,时间充裕,建议增加计算机基础编程入门的内容。

2.  0基础的孩子,如果年龄还比较小(11岁以下),建议先学习Scratch

Scratch是可视化图形编程语言,使用者可以不认识英文单词,也可以不会使用键盘。其构成程序的命令和参数是积木形状的模块,不用书写代码语句,只需按照一定的逻辑用鼠标拖动模块把它们拼在一起就可以。

Scratch对于孩子编程思维的培养大有裨益,可以为下一步C++和Python的学习打下基础。

3. 如果初中快毕业才开始准备竞赛,时间就非常紧张了,建议直接上手C++,  但孩子要付出更大的努力。