一个小白来分享编程入门

最初是从rust的文档找到learnku的,很喜欢这里纯技术的氛围。别的板块都是大神讨论参与不进去,就在这里聊聊天吧。

初学的弯路

我在本科是非CS专业,所以只是自学了一点。自学的过程,一言难尽,走了很多弯路。最开始是学的C,用的CS课程的教材,这个坑就比较大了。本来书上的东西没人给讲就半蒙半猜的不是很明白,这种教材还有一个问题就是太过于学术化,不接地气,所以看了个把月几乎没有任何进步。我当时觉得主要问题是没人带路,为了解决这个问题,我投奔了udacity

找到它是因为搜索免费的课程,在udacity上找到了一个免费的swift的课程。之前C嘛学了有一个月吧,等于没学,切换到其它语言从头学起也没有啥沉没成本,所以看到免费就入坑了。

大概跟了5节课的样子,前后花了2个星期吧。课程上说的手把手的照猫画虎也写了好几段能跑的“代码”。后来因为准备申请学校啊什么事的开始准备,就放下了一段时间。等到放假的时候再想捡起来,发现似乎还是啥也不会,啥也没记住。这就有点难堪了。

改进方法

等到假期我想重新捡起课程的时候,发现这么学虽然有人给讲,还是效率非常低下。最严重的问题是,我跟着课程做的练习似乎都会做,但是离开了那个练习我还是啥也不会。

我逐渐感到这样也是不行的,还是得改进下。

我就去研究了一下别人的自学方法,看到有人说要自己做项目更锻炼人,决定找个事情练练手。既然学了swift,不如就开发个ios应用吧!我当时就决定要搞一个赛车游戏吧(不知深浅愚蠢的人类)。

可想而知,连门都没摸到我就发现这个水挺深的,甚至要提交到应用商店还要花钱注册开发者账号,我甚至都走不到那一步。

虽然目标定的不对,但是方法还是对的,还是要自己做一个项目。我最后选择了自己做一个展示课程表的网页。

起飞

这个小小的课程表网页让我进步很大,对编程有了完全不同的认识。在这个过程中,我没有去像学习一门课程一样去尝试100%理解所经历的所有问题。在学校上课就是要100%理解每个遇到的问题,否则拿不到好的分数就完蛋了。但是这个项目上我完全没有这么做,实际上我基本上跳过了大部分不懂的内容,只关心如何实现自己想要的功能。不会做的就google,然后stackoverflow找到答案再拷贝粘贴。

回想起来,这么做之所以有用,实际上是因为以结果导向不探究细节原理可能对初学者是最好的,容易获得成就感获得激励。如果要探究所有细节原理,那可能就会被淹没在细节原理中,无法获得整体的感觉,就是没有办法对如何编程这件事形成整体的认识。

成长

做了这个项目之后,我至少是对一个小网页是知道大致是怎么回事了。在这个阶段,我回头找到过去忽略的一些问题,重新审视了一次。虽然不是所有问题都能弄懂,但是我发现这时候要弄懂这些问题,容易多啦,至少别人说的问题啊,答案啊上下文我能明白是怎么回事了,一些名词(Front End就是新词儿概念太多太多了)也知道是什么意思了。

真的这时候理解能力大增啊,感觉自己入门了,开始成长了。

推荐资源

啰哩啰嗦说了一堆,算是为使用learnku的一点回报吧。推荐一些学生日常资源,如果你也是小白,会用得到:

  • material.io material 设计指南,色彩搭配,配色这件事就不愁了啊
  • element UI UI库,有了他做UI不用愁CSS了,我最讨厌CSS了。
  • antd,如果做后台程序,那这个是不二之选了
  • PoD一个让你集中注意力的chrome插件
  • trello,免费全平台(ios android window mac),我把它当作项目管理的看板来用
  • Grade Calculator如果你也是留学生,计算绩点跑不了就是它了
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 1
秦晓武

你的博客也挺空白的 :joy:

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!