`
oywl2008
  • 浏览: 1079683 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

写给想参加ACM的大一,大二的同学

 
阅读更多

写给想参加ACM的大一,大二的同学

写给想参加ACM的大一,大二的同学



        或许有很多同学没有听过ACM竞赛,或许还有一些同学听过ACM,但是却觉得这个比赛离自己很遥远,不知道怎么参加这个比赛,
或许还有一些同学想参加这个比赛,却不知道如何提高自己,进入校队.

        对此,我列出了下面几个问题及回答,希望能让更多的同学找到方向.

一.什么是ACM竞赛?
        ACM/ICPC(国际大学生程序设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织ACM(美国计算机协会)主办和IBM赞助的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛。
        大赛每年主办一次,在各大洲设立若干赛点,各赛点的NO.1队进入国际决赛(如果No.1已经在其他赛点出线,则No.2队出线,依此类推)。
        ACM现在的发展非常快,参赛的学校已经达到了2000所左右,参赛队伍达到5000队以上.
        由于Sun公司积极赞助这个比赛,他们已经开始和教育部协商,顺利的话,不久ACM将成为教育部承认和支持的一个比赛.
        中国现有四个赛点.
        2007年的赛点为:北京,吉林,成都,南京.


二.为什么要参加ACM?
        1.因为实际学习的需要.
                Google中国区总裁李开复在他的<给中国大学生的三封信>中提到,一个合适的计算机系本科生,应该在毕业的时候有至少3万行的代码量.一个优秀的本科生,在毕业的时候应该有至少5万行的代码量.
                而实际在大学教学是不可能满足这样的要求的.我本人经历了北师大的计算机系课程,我发现师大的计算机系的本科课程中需要编程的课程为:C语言,面向对象程序设计,数据结构,编译原理,汇编语言,操作系统,中文信息处理(选修课).这些课程每门课的所有编程作业加起来代码不过1000行/门,所以如果你只是完成老师布置的作业的话,在毕业的时候你的代码量将不足1万行.而这,将直接造成你的编程能力严重不足!(需要数据的同学可以来找我,我将当面提供我以上本科课程的作业代码给你看看,让你亲眼看看是不是只有那么点!)
        2.因为ACM比赛很有趣.
                每一道ACM比赛题目都有一个很有趣的故事背景,很多故事背景是与实际生活相关,所以做起来很有成就感,也很有趣.
        3.可以认识很多志同道合的朋友. 
                ACM校队以及比赛实际上提供了一个平台,使广大热爱编程和算法的同学可以相互交流和学习.我在参加ACM的训练后,不但认识了校内的很多的编程高手,而且还通过网上的比赛平台,和很多学校的ACM队员都成为了朋友。这些朋友,由于大多数都有较强的能力,所以在他们毕业进入象Google, Baidu, Sina, Yahoo之后,你常常就可以通过中国特色的人脉关系,从他们那里获得很多大公司的实习资格的推荐。(这相当于通过了淘汰率最高的网申阶段)
                现在的ACM校队成员已经有不少在毕业后进入了Baidu, Sina, Yahoo, 摩根斯坦利,华为,摩托罗拉,其他的则选择了继续读研。还没有见到哪个发展不好的,呵呵。
        4.保研可以加分
                经过一到两年的训练,大多数ACM选手将具有获得铜奖的能力,而获铜奖的同学可以在保研中获得3分的加分。在07年,保研算分规则是四年的所有成绩求积点平均,再乘以80%,所以加3分相当于大学阶段的所有课程成绩加了 3/0.8=3.75分。如果你去向大四已经保完研的师兄师姐了解一下的话,就知道这是相当可观的。
        5.考研复试会考查相关题目
                现在了解到包括北师大,北京航空航天大学,中科院在研究生复试中都会出有关ACM竞赛的题目,以考查学生的算法功底。
        6.参加IT界各大公司的比赛以及所有涉及算法的比赛
                现在Baidu, Google每年都会举办程序设计比赛,而今年的Baidu之星程序设计比赛的出题总负责人就是清华大学的原ACM比赛教练。有ACM功底的同学很容易在此类比赛中获奖,并且可以因此获得直接面试的机会以及丰厚的奖品。
                TopCoder公司(www.topcoder.com)每周都会举行一些个人赛,第一名将获得至少500美元的奖金。
       7.参加全国大学生数学建模比赛
                数学建模竞赛同样需要算法和编程,参加过ACM比赛的同学会发现解决数学建模问题将变得很容易。我就是这样没有针对数学建模竞赛做过一天的准备,靠ACM竞赛训练出来的编程水平获得了数学建模的北京市一等奖。ACM校队另一位成员杜晓宇也是同样地在北师大的05年的数学建模竞赛上获特等奖,并代表北师大去新加坡参加数学建模比赛!
        8.提高英语阅读能力
                因为是全球性的比赛,所以ACM的比赛题目是全英文,这对于大多数进入大学后就把英语放一边的同学来说,是一个绝好的训练阅读能力的机会。
        
三.如何才能进入北师大校队?
        北师大每年四月会举行全校范围内的程序设计竞赛,在竞赛中获得较好成绩的同学将被选拔进入ACM竞赛的校队参与训练。
        如果有同学认为自己已经有进入校队的实力,可以直接联系我,经过考查,可以直接进入校队训练。

四.如果才能提高自己,以便在校内的程序设计中获得较好成绩?
        首先你必须学习好C语言和数据结构,这是编程的基础。由于信息学院的课程安排,数据结构在大一下学期才上。建议有能力的同学在大一上学期就开始自学数据结构,这样你就可以在大一下学期开始做ACM题目。
        北师大有自己的ACM训练系统,网址为:http://acm.bnu.edu.cn ,上面的题目从1001号开始有专门为ACM新手准备的题目。相信大部分具有C语言基础的同学可以通过这几道题来熟悉ACM比赛的各种特点。在完成了这几道题后,1005题目的最后给出了继续练习的题目。
        在完成了所有这些上边提到的练习题后,你可以试试完成这个训练系统上的其它题目,需要注意的是题目并不是按难度排序的,所以如果有一道题不会做那么跳过先不做它即可。
        按照以往的经验,在此训练系统上完成30道以上题目的同学一般都会在4月份的校内程序设计竞赛中取得较好成绩。
        希望大家能够重视这个过程,即使最后没能进入校队,但是这样参与也已经使你的编程能力得到很大的提高了,你本身已经收获了很多。

五.更多的学习资源
        北大的ACM训练系统:http://acm.pku.edu.cn ,现在为国内使用的人数最多的训练系统。
        北师大ACM蛋蛋网讨论区: http://www.oiegg.com/forumdisplay.php?fid=407&frameon=no, 可以从"师大社区"->"社团群体"->"ACM程序设计"中进入。ACM校队成员常常在这里讨论,你可以在这里提出你的问题.
分享到:
评论

相关推荐

    ACM竞赛高校OJ免费开放平台

    该文档记录了几所名校OJ平台网址。大一大二要参加ACM竞赛的同学下载来看看,名校开放的OJ平台。

    大学生四年到底如何度过?

    建议在大一或大二期间尽早备考,利用充裕的时间来提高听说读写能力,熟悉考试题型,以便尽早通过。 2. 计算机证书:对于理工科学生,如ACM、CCNA、MCSE等专业证书能提升就业竞争力;文科生则可考虑Office高级应用...

    算法 第四版

    也许对于数据结构的学习涉及的内容比较少,没有动态规划,图论也只是讲了很基础的东西,字符串中KMP弄的过于复杂(对比于acm)。但是瑕不掩瑜,对于绝大部分内容真的讲的超级清楚,完美的图解,就像单步调试一样,也许...

    《基于YOLOv8的增强现实识别系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    Android毕设实战项目Android系统NFC手机读身份证(二代证).zip

    【项目资源】: 适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    基于开源数据集与YOLO11x训练的安全帽识别模型权重文件

    模型权重文件介绍 1. 基于开源数据集训练,训练集包含15000+图片,训练100 epochs 2. 基于YOLO11x模型进行的训练 3. 模型识别类别有2类:helmet、no-helmet

    ARM仿真器快速使用资料+绿色版软件 附视频-20210701.zip

    ARM仿真器快速使用资料+绿色版软件 附视频-20210701.zip

    毕业设计汽车式起重机液压系统的设计(论文设计说明书18000字,CAD图纸13张)

    内容概要:本文详细介绍了QY20B型汽车起重机液压系统的设计过程,涵盖其背景、发展史、主要运动机构及其液压回路设计。文章首先概述了汽车起重机的分类和发展历程,强调了液压技术在现代起重机中的重要性。接着,文章深入分析了QY20B型汽车起重机的五大主要运动机构(支腿、回转、伸缩、变幅、起升)的工作原理及相应的液压回路设计。每个回路的设计均考虑了性能要求、功能实现及工作原理,确保系统稳定可靠。此外,文章还详细计算了支腿油缸的受力、液压元件的选择及液压系统的性能验算,确保设计的可行性和安全性。 适合人群:从事工程机械设计、液压系统设计及相关领域的工程师和技术人员,以及对起重机技术感兴趣的高等院校学生和研究人员。 使用场景及目标:①为从事汽车起重机液压系统设计的工程师提供详细的参考案例;②帮助技术人员理解和掌握液压系统设计的关键技术和计算方法;③为高等院校学生提供学习和研究起重机液压系统设计的实用资料。 其他说明:本文不仅提供了详细的液压系统设计过程,还结合了实际工程应用,确保设计的实用性和可靠性。文中引用了大量参考文献,确保设计依据的科学性和权威性。阅读本文有助于读者深入了解汽车起重机液压系统的设计原理和实现方法,为实际工程应用提供有力支持。

    Unity Beautify 3 - Advanced Post Processing 23.0版本

    Unity Beautify 3 - Advanced Post Processing 23.0版本

    基于数据包络分析的中国旅游业发展效率特征

    基于数据包络分析的中国旅游业发展效率特征

    毕业设计物联网实战项目基于物联网技术的智能拐杖及与服务平台.zip

    【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    (源码)基于蓝牙技术的多通道键盘.zip

    # 基于蓝牙技术的多通道键盘 ## 项目简介 在多设备工作环境中,用户常常需要在家庭电脑、工作笔记本或平板电脑之间频繁切换键盘输入,这不仅占用了大量桌面空间,而且操作不便。本项目旨在通过蓝牙技术,设计一款能够同时连接多个设备并实现一键切换的多通道键盘,从而简化用户的操作流程,提高工作效率。 ## 项目的主要特性和功能 1. 多设备连接键盘可以同时连接多达三个不同的设备。 2. 一键切换通过按键即可快速切换输入目标设备。 3. 高性能微控制器采用ATMega32u4微控制器,提供足够的GPIO引脚,支持Arduino编程环境,便于固件开发和升级。 4. 蓝牙模块使用RN42蓝牙模块,确保稳定的设备连接和数据传输。 5. 电压调节器使用MIC4680电压调节器,确保系统稳定供电。 ## 安装使用步骤 1. 硬件准备 获取ATMega32u4微控制器、RN42蓝牙模块、MIC4680电压调节器等硬件组件。 2. 电路设计

    毕设单片机实战项目基于 ESP8266 的智能家居解决方案.zip

    【项目资源】: 单片机项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    基于Vue.js和SpringBoot的研究生调研管理系统.zip

    基于Vue.js和SpringBoot的研究生调研管理系统.zip

    地理信息文件,许昌市各县区政区图,shp格式,可编辑

    地理信息文件,许昌市各县区政区图,shp格式,可编辑

    《基于YOLOv8的运动协会监测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    Scratch放飞气球 2024年9月电子学会scratch三级考试真题源代码

    Scratch放飞气球 2024年9月电子学会scratch三级考试真题源代码 综合考查角色添加、背景添加、初始位置、移动步数、方向旋转、造型切换、左右翻转、碰到边缘反弹、无限循环、条件判断、鼠标控制、碰撞检测等积木的使用;难点在于: 如何实现蝙蝠不断移动 如何实现蝙蝠边移动边挥翅膀 如何实现Ripley跟随鼠标移动 如何实现蝙蝠碰到Ripley移到随机位置 充分掌握重复执行和碰撞检测积木的使用 详细解题思路和步骤可以查看博客: https://scratch.blog.csdn.net/article/details/142934767 小兔子编程给小朋友们分享各种少儿编程(Scratch编程、python编程、C++编程等)学习、考级和比赛相关资料;更多少儿编程相关的学习资料,可以访问博主博客 https://blog.csdn.net/frank2102 期待小朋友们相互交流学习,有什么问题,建议或者意见可以直接给博主留言,或者私下,博主看到后会第一时间给到您相应的回复

    毕业设计物联网实战项目基于STM32L0低功耗微控制器的物联网智能垃圾桶(HAL).zip

    【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

    前端分析-2023071100789s102102

    前端分析-2023071100789s102102

    毕业设计物联网实战项目基于VUE+element开发的物联网后台管理系统,金大万翔特供.zip

    【项目资源】: 物联网项目适用于从基础到高级的各种项目,特别是在性能要求较高的场景中,比如操作系统开发、嵌入式编程和底层系统编程。如果您是初学者,可以从简单的控制台程序开始练习;如果是进阶开发者,可以尝试涉及硬件或网络的项目。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。

Global site tag (gtag.js) - Google Analytics