提到国际上含金量较高的计算机竞赛,USACO美国计算机奥赛备受广大学子的推崇。近年来USACO美国计算机奥林匹克竞赛的参赛人数和热度越来越高,成为申请名校CS专业的必备利器。
然而,对于许多想申请计算机专业,以及之前从未接触过计算机赛事的学生,盲目投入备赛极容易产生各种问题。因此,在此次文章中,老师将不同体系学生的USACO备考时间规划以及学习USACO的实用网站整理出来,希望可以为同学们提供帮助。
AP体系学生
AP体系有CSA和CSP两门课程,如果同学们学的是CSA,那默认大家是掌握一定的编程基础,如会写Java,那同学们在备考的时候可能会时间会稍微短一点。
如果是学CSP课程的同学们,可能知识储备相对比较弱,大家可以通过老师给定的推荐备考时间,结合自身的情况进行备考~
●青铜升白银:3~6月
●白银升黄金:8~12月
●黄金升白金:12~24月
同学们在青铜升白银的时候,老师建议大家预留出来3- 6个月的时间去复习。因为USACO是一个实践科目,并不是只要掌握了课本中的理论知识,就可以把问题真正的解决。有些同学学过C++的语法,可能很快就能掌握,但是仍要预留出来一大部分时间去做真题的一些练习。
后续的等级相对来说是比较固定的。白银升黄金是指通过了青铜的晋级赛后,接下来需要去参加下一年的赛季,建议晋级的同学们预留出8- 12个月的时间去做准备。
如果说同学们有更高的要求,希望升到白金的级别,需要通过了白银的晋级赛,即达到了黄金的水平之后,准备一到两年的时间才能达到白金的水平。
A Level体系学生
如果同学是A Level 体系的话,那么认为这些同学是掌握计算机理论和数据结构的理论知识的。相比AP课程体系对很多代码细节要求较高,而A Level课程体系要求自己写的代码会少很多,故老师认为同学们在备考第一个级别,即青铜升白银的时间会稍长一些,可能需要4-6个月。
●青铜升白银:4~6月
●白银升黄金:8~12月
●黄金升白金:12~24月
对于白银升黄金、黄金升白金这两个阶段的推荐备赛时长是比较固定的,因为如果说同学们能达到白银的级别,那其实对于代码的掌握已经没有太多更深的要求了,更多的是对于数学算法、数据结构等知识的应用。
IB学生体系
IB课程也是分两类,一个是HL,一个是SL。HL可能会掌握了一些数据结构和算法,如果说对于算法有一定的更深理解,那这里可能会时间会相对短一点。
● 青铜升白银:3~6月
● 白银升黄金:8~12月
● 黄金升白金:12~24月
对于HL的同学,在第一阶段在备考3个月或者4个月的基础上,还是能够达到晋级白银的水平。
如果是SL的同学,基础相对较弱,因此要预留出来5到6个月做准备才会保险一点。对于晋级到白银之后的阶段,老师给出的推荐备赛时长并没有什么差别。
0基础学生体系
那么对于一些零基础,完全没有学过计算机的同学来说怎么办呢?这种情况下就不能和学校的课程做并列的学习了,因此老师推荐大家预留出来1到2个月的时间,自己去学一下编程语言的基础知识。
● 青铜升白银:6月+
● 白银升黄金:8~12月
● 黄金升白金:12~24月
在最初阶段,同学们可以买有关计算机的教材进行学习,在掌握了一定计算机的基础和编程的一些语法后,可以选择进行USACO的课程培训。
因此0基础的同学要预留出来半年以上的时间来去做准备,这部分同学的备考时间要比其他的课程的同学要会长一些。
那如果说同学们升到白银之后,大家掌握的知识水平都是一样的,只要继续去学习后面的知识点和练习去刷题,就可以达到顺利晋级。也就是说在前期的时候可能会相对有一点困难。
USACO 备考实用网站
看到这里,相信无论是AP、A Level、IB、亦或是0基础的同学们,对于USACO的备考时间规划有已经有了初步的了解。
下面这些是老师整理出来用于同学们备考USACO的相关网站,有需要的同学可以一起来看看~
● USACO Guide:https://usaco.guide/
● USACO Trainning:https://train.usaco.org/
● 洛谷:https://www.luogu.com.cn/
● AcWing:https://www.acwing.com/
第一个是官方指南,它题目可能比较少,但是会把所有的考点会罗列出来。第二个是往年的训练比赛,会把官方的练习题和一些往年真题放在上去,同学们可以尝试着去做一做。下面两个是国内的网站,那它的好处在于国内的社区方向做得很好,大家可以去看看其他的同学是怎么去做题的,学习一下其他同学的做题方法。