07 Re: 从零开始的竞程生活

长话短说,请直接点我进入新世界。


任何事情要从完全没有概念开始是非常困难的,尤其是初次接触程序这方面的新手,看到要面对一行又一行的文字简直如读天书,明明想要理解却不知从何下手,很容易就因此放弃。

为了保持动力,这时候我们就需要一个契机让我们想要继续学习下去。以我的案例来说,因为在校内就有很多同学也在学习程序竞赛,因此就算气馁也会想要跟上他们。但很明显这种情况只会发生在极少数的学校,能够在一开始就接触到这种学习群体的机会也很困难,因此主动为自己生出学习动机是必要的。

因此在这里我想要先列出几个不同方式能够增加自己的学习动力:

  1. 拉一位同学下海 / 抱大神的大腿不放

这是我在当时度过困难期的方法。我有一位一样会写程序的同班同学,但他在之前就有学习 C 语言的经验,加上他的学习能力也比我好,因此当我遇到不会的问题时第一个想法就是问他,硬是巴着他,就算他觉得很烦也要尝试弄到懂。

当然在这部分可以不只有一位,也是有很多同侪和学长姐能够切磋一起成长,不要因为怕麻烦到对方就不敢请教,因为要尝试把别人教会也是在写程序时要学会的技能(如除错等)。有时就是不想要麻烦别人,但自己又没有能力用上网查询的方始弄懂,但最後还是只好低头向别人请教。

图片取自巴哈姆特

而当有同学不会时也可以帮助他试着厘清问题。不要永远认为某个地方已经完全搞懂了,当他提出问题大部分都是因为他想的比较深,遇到一个说不通的地方想要搞清楚,而正常我都不会想到那麽深而一起陷入困境。而在得到答案的瞬间,又会发现自己成长了许多。

  1. 尝试加入各种学习群体,把自己泡在里面

若是在 Google 上搜寻 APCS,会发现坊间会有很多线上/实体课程可以参加。这种课程非常适合刚起步的学生,因为会有人手把手拉着你往上爬,在对的时机点提供你资源,在各个角度切入感觉都很适合。但很神奇的是,在我认识的朋友当中,没有任何人是透过这样的管道学习的。

或许多少会有采样偏差,但几乎所有人都是透过互相教学/在网路上找资料一路学上来的,就算是有上过课也都是在国中以前的事情。或许在高中可以跳脱「所有东西都要老师教才能学」的思考框架,透过自己思考而学会的东西才是自己的。

据我所知,资讯方面的学习群体几乎都在 Facebook 及 Telegram,FB 社团有不少人在讨论,也有很多热心的朋友及老师会耐心的回答,基本上你想到的问题都有人问过了。加入不说话也无妨,但在社群的耳濡目染下,相信会更有动力继续学习。

  1. 找到有脉络的学习教材,并不要放弃学习

不论是跟着校内学长姐做的 PPT 学习,还是自己在网路上找到的优质资源,只要决定好就不要去怀疑他,这种犹豫只会阻止自己持续学习。当时我是透过资讯之芽的语法班及算法班的讲义、题目一路练上来的,常常会觉得这个太难了吧,真的有必要学吗一路找理由,总是拿石头砸自己的脚,但事实上最好的资源/最好学的方法都摆在眼前了,只是自己的脚在抗拒往前进。

我曾经修过台大资讯之芽的算法班课程,除了每周到台大资工系馆上3小时的课程外,每周的上机作业和手写作业总是需要花上好多倍的时间才能够完成。在前几周的课程还能够勉强全部通过,但在第二阶段开始的难度就会开始骤升,在学习量加大和课业兼顾的情况下,最终还是被压力打倒了。但在之後我仍然没有放弃这个领域,虽然不是很起眼,但仍然尝试在这段时间累积实力,努力在大学的程序设计竞赛发热。

由自己创造这种动力的必要性并不只是在学习的一开始,在进到每一个阶段也是如此。从开始接触语法,写出第一个"Hello, world!"程序後,会出现更多没有理解过的东西。当自己爬得越高时,前方高墙只会再次显现他的高大,阶梯也会变得越来越难爬。而若是在这时候往回看,只会觉得之前走过的路对现在的挑战来说只是小菜一碟罢了。

今年才准备要升上大一的我,面对到的状况也和之前无异,不过学习的内容从单纯的语法和演算法增广到不同领域而已。所有资料都由许多非常好心的大哥哥大姊姊帮各位整理好了,不只是高中生,事实上对於所有刚进入资讯领域的同学也非常适合,强烈推荐。

但当然,要靠自己跨出第一步是最需要勇气的。若是觉得孤单也请不要吝啬地向身边的大神同学们取暖><


<<:  Day13-Go方法method

>>:  Day08 | Dart 中的非同步 - Isolate、Event loops

[Day10]C# 鸡础观念- 重播与停止 while回圈与break

日子一天一天过, 周而复始,无限循环 C#里面也有重复不断的语句,while while回圈 执行前...

GitHub Branch 起手式 - 如何保护你的 Branch

许多开发人员常常忽略掉保护 Branch 的重要性,因为平时只依据分支策略或团队规范,遵循建立分支 ...

[火锅吃到饱-10] 金大锄寿喜烧(烤)SUKIYAKI-台中复兴店

科技始终来自於人性 -- 「平板点餐APP」 第一次用平板点餐,是在日本京都的「啾啾烧肉」(じゅうじ...

Day 18 | FPS灭火AR游戏开发Part3 - 火焰生成

昨天的文章中已介绍火焰粒子的制作,那麽今天的文章将会说明如何在AR世界中产生火焰! 火焰产生器 在场...

iOS APP 开发 OC 第六天, 类&对象

tags: OC 30 day 什麽是对象? 对象是现实生活中的一个具体存在。看得见,摸得着。拿过来...