计科专业大一学生一枚,如何提高编程能力?

先简单介绍一下我的情况:大概去年的这个时候从学校毕业,二本A软件工程,现在在北上广深之一的某卫星城从事互联网相关工作,月薪勉强养活自己。看上去一份很没说服力的简历,希望我下面的话,不会让你有这个感觉。

对于如何提升自己的编程能力。其他的回答中很多人都说了,这没什么捷径,就是多练,问题是并没有人说怎么练?一天敲50遍Hello Word算多练嘛?当然,各路大佬自然是知道该怎么练的,只是懒得在逼乎上浪费时间。我属于比较爱扯淡的,就在这里长篇大论的扯一波儿,不喜勿喷。

首先、什么算你所谓的编程能力?

我们对一项技能的掌握程度往往很难量化,对于编程能力的考量可能比较抽象,我们来类比比较直观的其他技能。比如说什么叫会弹吉他?我们说一个人吉他玩的好,这个人会弹吉他,是指他会弹《小星星》?还是会弹岸部真明的《time travel》?(力荐,好听!)恐怕都不是,我们对于会弹吉他的认知,应当是随手给他一个不熟悉的谱子,你也能很快的用吉他精彩的演奏,我们才说这个人吉他玩的真6。那编程也是,我们所希望的编程能力,指的是会写双向链表还是会写二叉树?恐怕都不是,我们所指的会编程,是指他在应对各种不同的业务需求时,都能很快的将业务逻辑转化成编程逻辑,并且编码实现的能力。

那么、如何来锻炼这种能力?

前段时间在罗胖的《得到app》上听的一篇精品课,非常受启发。一位老师讲如何高效地学习一项技能,他用两年的时间就从零基础达到了专业级的弹指吉他大师的水平,他所使用的方法很值得借鉴。内容大概是这样:他一开始接触吉他,没有从基础开始练,而是直接挑战难度极高的世界名曲开始演奏。可想而知这难度是极大的,没有任何基础的他,很多和弦都压不住。尤其对与刚玩吉他的人,十指连心啊,压弦的那只手是钻心的疼。一开始一句完整的都弹不下来,更别提什么扫弹,闷音,切音的技巧。就这样一节一节地弹,经过不懈的努力,他把这首曲子拿了下来。巨大的成就感是自然的,但对于优秀的渴望使得这位大佬感到仍然不能满足。怎么办呢?请教名师!这时候老师告诉他:“一禅呐!所谓知之者不如好之者、好之者不如乐之者,你现在已经能够从弹奏吉他中获得喜悦,现在,请再回过头,从基础开始学起。”这下子他才开始从最基础的乐理开始,什么叫节奏、什么叫旋律、什么叫音阶、什么C调G调F调。原来之前练到手指快疼死的的指法叫F和弦?原来之前的曲子里变调是这个意思?

和上去就啃吉他基础教学不一样,这波儿基础的学习让他任督二脉蹭的一下就通了,仿佛杨过一身雄厚的内劲得黄药师点化一番,实力大增。不但能将那首世界名曲演绎的更加纯熟,对于其他没有演奏过乐曲,只要稍加练习,就能够德芙般顺滑地弹奏下来。

同样的方法,映射到编程上,就是我想说的学习方法。我很不建议一开始就从基础开始啃,有多少人从大一刚入学立志将来做一个IT大佬,抱着一本《C++ Primer》开始啃,最后啃不到200页就去LOL上分冲段位了。所以我的建议是,一开始只要会点儿基础语法,就定一个小目标去实现就好了,不必强求每一行代码都是亲自手写。遇到问题就查,百度也可以查书也可以,我一开始写个五子棋小游戏的时候,连数组的声明语法都是查书的。把你遇到的问题从业务逻辑定位成代码逻辑,然后知道从哪儿可以找到想要的答案,这个能力在未来的工作、编程和面试中非常重要。一两个完整的程序做下来之后,再回过头来从变量、语法、表达式、流程控制、函数....重新去学习这门编程语言,这时候你会不断地发现原来这个地方这么写的原因是这样?原来这个地方是这么实现的,那个地方我还可以这么写。一本枯燥的语法书籍你会很流畅地读下来,甚至还可能读出快感和兴趣,这样一顿操作之后,你可以算真正掌握了一门编程语言,有了自己的理解在里面,并且有对应的应用经验,未来的面试中也可以讲的头头是道。

这就引出下一个问题,选择什么样的程序作为上手项目

首先!是你做出来的程序,一定要好看!

和语言没关系,不管是HTML+CSS还是Python还是C。我承认我是颜控,但这和个人癖好没什么关系。一个酷炫的UI设计将在很大程度上提升你的成就感以及你程序的品质。这里说的是品质,也就是逼格,用户体验好了,逼格上去了,自己的成就感油然而生,对于编程的兴趣也就上来了。下面上一波儿图来佐证一下我的观点:

大一的时候用纯C语言做的五子棋,比较遗憾的是AI算法是整合

转载于:https://my.oschina.net/u/3895371/blog/1837823

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值