KTBYTE是USACO官方推荐的竞赛培训机构,KTBYTE在美国马赛诸塞州以及网络授课提供竞赛培训。
课程涵盖USACO铜牌辅导、USACO银牌辅导、USACO金牌辅导。孩子们将在课堂上会学习USACO解题基本原理方法和进行铜牌、银牌、金牌等级的竞赛赛题练习,导师也会全程帮助孩子们解答疑问,引导孩子们自主思考和解决问题。在KTBYTE,我们的课程都是让学生准备在高级别上进行比赛。目前KTBYTE已有100多名学生进入了美国计算机奥林匹克竞赛(USACO)的银牌、金牌,白金等级。
九名在KTBYTE学习多年的学生,分别进入了康奈尔,哈佛,约翰霍普金斯,麻省理工,普林斯顿,和耶鲁等大学。这九位同学的共同点是他们都参加了美国计算机科学竞赛(USACO)。
在分享会上他们谈到“在美国计算机奥林匹克竞赛中的获奖可能对我大学申请有很大的帮助,因为我在全国比赛中获奖不多。”由此可见,在美国计算机奥林匹克竞赛中获奖是一项受到大学关注的成绩。美国计算机奥林匹克竞赛与其它竞赛不同,它没有学校和地区级的限制,任何学生都可以通过互联网参加。
那么,这个至关重要的美国计算机奥林匹克竞赛(USACO)到底是什么呢?
USACO简介
USACO全称USA Computing Olympiad 即美国计算机奥林匹克竞赛,是一项为高中生或者年龄更小的学生提供的在线竞赛,旨在锻炼学生用计算机编程解决问题的能力。竞赛在家里通过网上进行。USACO在每年的四个周末举办他们主要的比赛,从周五到周一,在这个时间段内学生可以选择在任何时间开始比赛。通常来说每次竞赛的时间为4个小时,但有时候是3个小时或者5个小时。
竞赛主要衡量算法和运用两大方面的技能, 一旦学生在较低等级的组获得足够高的分数就可以进入更高等级的组别。在下面的视频里面,参加过USACO各个组别的KTBYTE学生,从竞赛要求、成功技巧、参加竞赛的好处等各方面分享了他们的个人竞赛成功经验。
申请美国大学的含金量
参加USACO竞赛是否对申请大学有帮助是大家关心的问题,也是参与比赛重要的目的之一,我们可以看看USACO官网新发布的数据。
数据显示2018年二月后的月赛,在这四天里共有来自65个国家的3048个学生参加竞赛,其中中国学生280人。USACO目前是美国人非常热衷,但是中国国内还没有热门的赛事。
随着STEM教育的理念,及编程低龄化、普及化的发展,USACO的参数人数和热度会越来越高。由于编程的门槛相比数理化学习更高,USACO的含金量实际高于同类型的美国数学奥赛、美国化学奥赛等竞赛。因为大量的中国学生热衷于参加热门的美国数学奥赛、美国化学奥赛,所以USACO在中国的普及度并不高。这意味着参赛选手少,获奖选手也少,含金量自然更高。
恭喜2018年KTBYTE的学生!
今年KTBYTE的三名六年老学员喜获哈佛耶鲁提前录取通知书,他们参加了美国计算机奥林匹克竞赛:两位斩获金牌,一位斩获白金(高等级)
Leo A. 来自 Lexinton; 哈佛大学
Steve L. 来自 Carlisle; 哈佛大学
Daniel L. 来自 Lexinton; 耶鲁大学
USACO其他信息
1、USACO适合哪些学生?
任何具有中级编程语言知识的学生都可以尝试参加比赛。你可能会觉得有一点难度,但这是一个很好的锻炼机会,并可以在这过程中以你自己的节奏,不断的提升你的编程能力。
在CS01b阶段及其以上的KTBYTE学生建议参加USACO,可以从铜牌开始。KTBYTE提供专门的USACO训练课程,CS90课程针对铜牌组,CS91针对银牌组, CS92针对金牌组。
2、什么时候参加比赛?
USACO在每年的四个周末举办他们主要的比赛,从周五到周一,在这个时间段内学生可以选择在任何时间开始比赛。通常来说每次竞赛的时间为4个小时,但有时候是3个小时或者5个小时。
2019 时间表——一月 18-21:第二次竞赛;二月 22-25:第三次竞赛;三月 28 – 四月1 :US 公开赛
3、需要为USACO准备什么?
你可以在官方网站查看历年真题。试着在网站上解决一两个问题熟悉考试的界面,确保正式竞赛时对于考试方式和操作界面得心应手。
4、参加USACO需要多少钱?
参加USACO竞赛是完全免费的!你只需要注册一个账户,就可以参加比赛了。
5、参加竞赛能得奖吗?
参加竞赛会根据难度获得相应的认证,你的名字将会列在周末的竞赛结果当中。即使是一个等级的晋升已经是非常出色的了。把这些成就写在申请书或者简历上会非常亮眼。
6、各竞赛组之间是如何运作的?
USACO有四个竞赛组,分别是铜、银、金和白金,所有竞赛者都从铜牌组开始。每个周末的比赛结束后,如果你获取了足够高的分数(根据题目难度,1000分总分中取得600分到800分),可能在下个比赛周会晋级到下一个级别。如果你在竞赛过程中,所有问题都取得了非常完美的分数,也可以在这个比赛周立即晋升。每一个竞赛组都比之前的竞赛组难很多。一般需要通过大量的学习练习和尝试才能前进一个等级——每晋升一个组都需要一年甚至更长的时间。USACO在2015年增加了白金竞赛组,这样以来之前的铜银金组的难度相对来说都降低了,打个比方,一般来说2016年的银牌难度相当于2014年的铜牌难度。
7、USACO一般会考哪些问题?
USACO是一个“算法”竞赛,这意味着参赛者需要用创造和系统的方法来解决问题,而不仅仅是直接把程序的描述直接转换成代码。例如,“找出列表里面大数字的位置”是一个非常简单的算法问题,但“写出先画一个圆圈,再画一个正方形的指令”就是另外一回事了。
8、USACO使用什么编程语言?
USACO接受多种语言的解决方案,包JAVA、C++和PYTHON。JAVA和PYTHON提交答卷的时间是C++的两倍以满足JAVA和PYTHON较长的运行时间。但是根据USACO的官方描述并不推荐使用PYTHON, 因为PYTHON的运行速度比JAVA更慢,在某些情况下即使已经得到对某个问题的优解,也可能无法在时间限制内完成。
在KTBYTE我们使用JAVA对学生进行培训。只要学生使用有效率的算法,JAVA就可以在竞赛时间限制内运行解决问题,并且AP(美国大学预修课程,可以抵扣美国大学的相应学分)计算机科学课程使用的语言也是JAVA。
对于较老的问题,USACO网站上提供给学生学习的问题解决方案更倾向于C++,但是现在JAVA越来越受欢迎。