乔布斯曾在一次访谈中提出:“我觉得每个人都应该学习一门编程语言。就像学法律一样,学法律并不一定要为了做律师,但法律教你一种思考方式。学习编程也一样,我把计算机科学看成是教育,每个人都应该花至少1年时间学习编程。”
一:什么是ACSL
- ACSL美国计算机科学思维挑战活动American Computer Science League,原名美国计算机科学联赛,最初成立于1978年,起源于美国硅谷。自1978年以来已经经历了44年的历史,是美国历史悠久的中小学生计算机编程活动之一。
- 该赛事同时获得了美国国家中学校长联盟NASSP与美国计算机科学教师协会的官方认证和推荐,同时获得了如谷歌、Adobe. No Starch Press. OReillyMedia, Pearson, Pragmatic Bookshelf, and Wolfram等著名高科技和教育企业的支持。
- 随着各国日益重视编程教育,每年来自美国、加拿大、欧洲、非洲和亚洲的众多中小学生涵盖500支以上的队伍都踊跃参加到该项目中。
- 2018年,美国计算机科学思维挑战活动正式授权ASDAN中国办公室(阿思丹)成为中国区的承办单位,希望为更多热爱编程的同学提供一个学习和交流计算机科学的国际舞台。2019-2020年,来自全国322所国际学校和重点高中的编程爱好者参与了该活动。
二:ACSL赛事介绍
1.赛事语言
- 中英文
- ( 小学,初级和中级提供中文翻译)
2.项目费用
- 预选:包含第一轮费用、考务费、阅卷费、参考真题和一次在线模考
- 终选:包含第二至四轮费用、考务费、阅卷费、参考真题和一次在线模考
3.赛事组成
- 预选:第一轮(前65%选手进入终选)
- 终选:第二轮至第四轮
4.赛季时间
21-22年度
2021年12月19日
下午14:00~16:40
第一轮
2022年02月20日
下午14:00~16:40
第二轮
2022年03月20日
下午14:00~16:40
第三轮
2022年04月24日
上午10:00~12:40
第四轮
2022年08月
全明星
【注:2022年全明星仅限于2022年终选中获得晋级资格的选手受邀参加。】
5.赛事地点
- 在线参与(需配备带摄像头的电脑及手机移动设备)
- 全国各大城市活动地点(线上注册后可以查阅,并选择参赛考点)
6.编程语言
- 任意一种熟悉的编程语言
7.组队方式
- 三人组队参加(至少2人,单独报名的选手组委会将协调组队)
【注:小学组个人参加即可,无需组队。也可团队参加,但无团队奖项。】
8.考试形式
- 第一部分个人笔试:30分钟,5道编程数理题。每题1分,满分5分。
- 第二部分团队编程:2小时编程挑战,仅1道编程题,满分5分,团队所有成员均需作答并提交答案。
【注:小学难度仅个人笔试30分钟,没有编程挑战,不需要三人组队, 仅有个人成绩。】
9.晋级标准
- 预算:第一轮
- 终选:第二至第四轮
- 预选排名前65%的团队及个人进入终选
- 全明星:中国区总决赛
10.积分规则
- 个人得分:个人笔试分数 + 个人编程分数
- 团队得分:笔试团队平均分 + 编程团队平均分
三:ACSL参赛须知
1.准备用品
- 编程赛需考生自备电脑
2.参赛方式
- 以学校为单位参赛,需要由指导老师报名。一个学校可以报名参加一个或多个组别的比赛,但每个参赛者只能参加一个组别的比赛。
- 报名后指导老师会收到一本指导手册,用于指导学生参赛。另外官网上也可以找到每次考试的考纲和例题。
- ACSL 会在每次比赛前将由 5 道简答题构成的试卷和一道编程题发送到指导老师的邮箱,指导老师在一周内选一个时间让参赛者统一完成考卷。
- 简答题:不同组别的时间限制不同,答题不能使用计算器。简答题内容包括 boolean logic、图论、二进制运算等。
- 编程题:参赛者需要在拿到题目之后的72 个小时内完成编程。题目会给出 sample input and output(示例输入和输出),给参赛者测试程序。
- 简答题和编程题都是个人为单位完成,由指导老师批改。不同组别拿到的题目不同。
- 这样的比赛从 12 月份开始到次年 5 月份,一共会进行 4 次。
3.参赛资格
高级Senior Division
适合高中同学,并且具备较强计算机编程能力同学,尤其是选择学习AP课程中计算机科学课程的同学。(学完初级算法及以上的图灵学员即可报名)
中级Intermediate Division
适合高中同学参加。(学完面向过程(上)及以上的图灵学员即可报名)
初级Junior Division
适合初中同学参加。(学完面向过程(上)及以上的图灵学员即可报名)
小学Elementary Division
适合小学同学参加,不需要具备丰富的编程语言基础,没有编程经验的同学也可以参加。(现在学完面向过程的图灵学员即可报名)
【注:编程经验丰富的低年级参与者可以选择高年级的活动,例如编程能力强的小学生可以选择高级或中级、初级活动,编程能力强的初中生可以选择高级活动。但是高中生不能选择小学和初级活动,初中生不能选择小学活动。】
四:ACSL奖项设置
每个难度级别单独评奖
个人奖项
- 个人卓越奖:终选第二轮至第四轮全部获得满分
- 个人高分奖:个人积分排名前20%
团队综合奖
- 金奖:团队积分排名前10%
- 银奖:团队积分排名前25%
- 铜奖:团队积分排名前35%
- 区域优秀奖:各区域(全国奖除外)前20%
【注:团队成员要获得最终团队奖项,则最多缺考一轮。获奖团队可获邀参加全明星,角逐全球奖项。】
全明星All Star Contest
- 美国计算机科学思维挑战活动终选获奖的团队/个人将被邀请参加美国计算机科学思维挑战活动全明星。
- 全明星初、中、高级分为笔试填空和编程题两个部分。(小学组仅有个人笔试部分,无编程题目。)
- 同时,全明星的分数会和美国分数进行全球排名,得出最终的全球排名。
五:ACSL备赛建议
考察范围
1.常规赛
- 在常规赛中,每个学生都要为自己的校队获得参加全明星赛的资格而竞争,常规赛由四个回合组成。
- 这些轮由编程部分和编写部分组成。在编程部分,学生有72小时来完成一个程序,在任何计算机语言执行给定的任务。
- 在写作部分,学生有30分钟的时间根据给定的主题回答5个问题。
- 然后,学生将获得最高10分的分数(写作5分,编程5分)。
- 在课堂部分,学生有45分钟的时间来解决10个书面问题。在初等阶段,学生有30分钟的时间来解决5道书面问题。
- 第四届比赛结束后,成绩最高的团队和学生将获得奖金。
2.全明星大赛
- 全明星比赛每年都在不同的地点举行。
- 团队有4小时的时间,通过成功完成各种项目获得60分(初级组40分)。
- 然后,个人将有1小时(初级组45分钟)的时间,根据常规赛回合的书面问题类别,参加12题(初级组8题)的多项选择题测试。
- 程序设计的得分和队伍的个人得分相加决定了获胜者。
- 根据在多项选择题测试中的表现,奖励给得分最高的团队和个人。
知识点
1.在常规赛期间,在初级、中级和高级涵盖的知识点类别如下:
- Assembly Language Programming
- Bit-String Flicking
- Boolean Algebra
- Computer Number Systems
- Data Structures
- Digital Electronics
- FSAs and Regular Expressions
- Graph Theory
- LISP
- Prefix/Infix/Postfix Notation
- Recursive Functions
- What Does This Program Do
2.小学组常规赛的比赛涵盖知识点类别如下:
- Elementary Division: Computer Number Systems (Contest 1)
- Elementary Division: Prefix-Postfix-Infix Notation (Contest 2)]
- Elementary Division: Boolean Algebra (Contest 3)
- Elementary Division: Graph Theory (Contest 4)
3.季末邀请赛的其他组别如下:
- Advanced Regular Expressions
- Karnaugh Maps