ACM 教练告诉你:两个月通关极客战记是一种什么样的体验?

发布于 2019年12月17日

前一段时间,微信群里出现了一位极客战记全通关的大神:@团长大人

为了能够让大家了解到极客战记对编程学习的具体作用,我们特别邀请了他写下了自己通关极客战记后的感受。

我与极客战记不得不说的故事

先说一下笔者的背景,学渣蒟蒻一枚,前OIer/ACMer,做过算法攻城狮,现在在做OI/ACM/ICPC教练,有幸成为极客战记国服通关第一人,我来分享一下极客战记学习方面的体验与心得。

先来回答各位最关心的问题,通关极客战记对我的帮助是什么,有多少?

首先我是在有语言基础的情况下接触极客战记,可能不具有普遍性,但我的主修语言是c/c++,所以python、js对我来说也很陌生。

当时(大约3年前)接触国际服,是在学习python的时候无意间发现的,它改变了我对计算机语言的看法,虽然以前也接触过编程游戏,但如此大规模带有装备RPG要素的完整的游戏是第一次看到,但很可惜的是79刀的终身订阅费对于我来说接受不能,所以只完成了订阅之外的所有关卡。网易代理的极客战记出现以后,我用了两个月订阅完成了通关。

接下来我总结一下极客战记带给我的帮助以及想要通关极客战记需要具备什么条件。

1. 首先通关极客战记,可以学会python(或JS)基本的语法结构,简单数据结构和基础算法。

 2. 其次想要通关,我们必须在游戏外学习更加进阶的算法,比如数论、图论初步,来帮助我们完成通关。

 3. 想要实际开发,需要转换思维,将游戏中的策略转换为实际开发中的问题解法。比如说在跳一跳火的时期,我尝试用python做的辅助器。

接着我们一起来思考一个问题,极客战记带给我们的到底是什么?

是完善的课程体系?

我觉得不是,我觉得极客战记带给我们的是进一步探究的兴趣与深入学习的动力。想象一下如果学习任何东西都有RPG养成要素,成就系统,那将是一件多么棒的事情,当然前提是你喜欢玩电子游戏。

在语言的学习中,我们不可能指望市场上出现万能的教程指导我们的方方面面,因为我们学习的路是很难走的路,伴随着无聊无穷无尽的概念,同时我们又很孤独,这就是社群学习平台现在这么火的原因,但如果有一个学习引导和动力提供机制来辅助我们学习,将我们通关的欲望转化为学习的动力,将对游戏的兴趣转化为对学习的兴趣,这对教育者和求知者来说是都是一件多么美好的事情。

最后我们讨论一下如何有效的利用极客战记帮助我们学习语言。

我们当然可以把极客战记当做一个游戏来玩,但当我们把极客战记当做学习工具的时候我们需要思考几个问题:

1.我们需要学习什么

2. 有无学习计划

3. 有无学习目标

当我们明确以上三个问题,确认我们的最终目的并不是通关游戏而是学会语言的相关知识,能够独立编写程序,确认了主要学习内容和学习周期,我们就可以正式开始我们的语言学习,在极客战记的学习中我们需要注意这些问题:

  1. 不要为了通关而通关,不要去向任何人索要代码,复制他人的代码,否则通过这种方式通过的关卡对于我们来说没有任何作用。

  2. 遇到问题可以通过各种社交平台去寻求帮助,努力去思考别人的解决方法和通关策略,试图用自己的理解去解决问题,切记一定要自己打代码。

  3.  一些重要的知识点需要到游戏外去练习,组建语言环境,找一个适合自己的OJ(onlineJudge)网站(自己百度),做几道练习题进行巩固。

  4.  一些重要的数据结构如栈、队列、二叉树,一些常用的算法,如枚举,贪心,二分,暴力,dp,dag,bfs,dfs等都需要在游戏外去进行学习,这些在大后期关卡中都会有应用。

  5.  在进行一个阶段后(比如我们按极客战记中的大场景划分),要总结和梳理这阶段的知识点,有问题的地方通过各种方式解决,在没有任何问题的前提下再进入下一个阶段的学习。

最后希望所有学习者们都能找到自己的学习之路,共勉:)

学编程,用玩的。

还在担心有问题找不到求助的地方?赶快进入极客战记官方QQ群,众多教师大神与你一起讨论问题~