杨振华:CSP帮我夯实编程基础,学会从系统的角度解决问题
CCF CSP认证自2014年开展以来,已7载有余,这期间有400多所单位的学生和人员参加了CSP认证,累计参加人数逾14万人次,成立了156所高校认证点,受到越来越多的高校、企业以及大学生的关注。
今年,我们将陆续推出一批高校CSP/CCSP优秀学子的故事,他们当中有的继续深造读研,有的就职名企,有的获得过CCSP金奖,有的CSP成绩优异,希望这些分享文章,能够帮助更多的同学提升软件编程能力,取得更大的进步。本期推出的杨振华同学毕业于哈尔滨工程大学。哈尔滨工程大学作为CSP认证点高校,是CCF CSP认证卓越单位。
杨振华 哈尔滨工程大学软件工程专业2019届学生,指导老师:高伟。第14次CSP认证成绩为400分,2017年、2018年CCSP大学生计算机系统与程序设计竞赛铜奖。目前在东南大学读研。
2015年,我踏入了哈尔滨工程大学的校门,作为一名软件工程专业的学生开始了我的大学生活。时光荏苒,回想起来,四年的本科学习生活有苦有甜,备战和参加CSP/CCSP的那段日子尤其令人难忘。
第一次接触CSP和CCSP
第一次了解CSP是在2017年,大二下学期,当时在ACM实验室的同学向我介绍了CSP认证,并告诉我在CSP取得高分可以作为找工作时的一个加分项。由于之前参加过NOIP等信息学竞赛,知道主办方是中国计算机学会(CCF),因此对CCF的CSP认证也莫名感觉并不陌生,抱着试一试的心态,我报名参加了当年9月的CSP认证。
10月初,高伟老师告诉我,由于我的CSP成绩还不错,获得了参加当年的CCF CCSP竞赛的机会。经过不到1个月的短暂准备,我们来到了福建师范大学(2017CCF CCSP承办校),参加了2017年的CCSP竞赛。14小时的鏖战,与清华大神同台竞技,让打完比赛的我们尽管拖着疲惫的身躯,还是大呼过瘾。虽然最后只获得了铜奖,在之后的题解分享会上,反向DFS、进程池、OpenMP加速等思路和技巧,让我对编程有了全新的认识。
夯实基础课
时间很快来到了大三下学期,不少同学参加了暑期实习的招聘,在与他们讨教应聘经历过后,我发现无论应聘什么岗位,只要是与计算机相关的,都需要跨越算法、数据结构、计算机组成原理这些基础内容的“坎”。之前,我认为只要有优秀的作品(demo)就行,这些基础内容学得怎样不是问题。反观自己三年来琢磨着做出来的一些作品,在面试官看来应该会是缺乏深度的。这些反思让我进一步看到,CSP和CCSP关注的正是这些基础又有深度的内容。于是,我将学习重点转移到了巩固这些基础上,之后2018年9月的CSP认证我取得了400分的好成绩。当年10月去杭州参加了CCSP竞赛,为考研前的大学生活画上了圆满句号。
如今,我已是东南大学的一名研究生,得益于本科阶段和CSP/CCSP的这一段邂逅,我打下了较为坚实的编程基础。在接触到更为复杂的项目后,基础的重要性愈发明显,坚实的编程基础往往能让人省去大量调试和优化的时间。设计计算机程序的目的就是为了解决问题,能否更快、更稳地解决问题,则是评判一个程序质量的金标准。而CSP/CCSP正是通过测试、竞赛的形式,启发学生从系统的角度,学习更快更稳地解决问题的思路与方法。
千里之行始于足下
CSP/CCSP要想获得高分并不容易,需要大量的训练和对计算机的深刻认识。但千里之行始于足下,只要打好基础,努力学习,再难的问题都能迎刃而解。结合对理论知识的理解与上机的训练,进步会非常明显。在理论知识方面,推荐从国内外知名大学的网课入手,加上阅读经典计算机书籍,就可以构建一个清晰的知识体系,让多线程、内存池等技术不再难以理解。在上机训练方面,推荐先从诸如USACO等教程性质的OJ题库入手,在掌握了基础算法以后,再去尝试CSP/CCSP的历年真题,最终提高竞赛水平获得好的成绩。
不管你的实力如何,充满信心、大胆尝试CSP/CCSP吧,充满挑战和乐趣的比赛一定会让你感到不虚此行!
关于CSP和CCSP
CSP注重考查计算机算法、编程等基础能力,正逐步成为业内评测软件能力的基本标准。在CSP的基础上,CCF于2016年创立了面向大学生的年度竞赛CCSP(大学生计算机系统与程序设计竞赛),至今已成功举办5次,参加CCSP的选手均为CSP成绩优秀者,CCSP更注重考查计算机系统能力,选拔的是顶尖人才。