博客列表 >PHP学习方法,编程的自学方法

PHP学习方法,编程的自学方法

LeaGan的博客
LeaGan的博客原创
2017年08月08日 12:30:33581浏览

我已经看了很多Java的书,也看了很多视频,可总觉得心里没底,觉得还是什么也不会,好像有很多东西看过都忘了, 接下来该干嘛? 迷茫了!


我的回答无外乎是要多编程,多实践,做个小项目巩固学过的知识。


不知道提问者是否满意,反正我自己对这个回答也不满意, 这促使我思考关于学习方法的问题,写了篇文章分享给大家,欢迎讨论, 好的想法有奖励啊(参见文末)

方法一: 看书,看视频,偶尔照着例子敲点小程序


策略: 先把那些Java 知识点统统都看一遍,集合,IO, 反射,线程,html , javascript ,servlet, jsp ,xml ,tomcat ,spring,hibernate,对哪个例子有好感的话,在自己的电脑上敲一遍


估计很多人都是这么自学的, 这种方法的缺点是:


(1) 一叶障目,不见泰山, 容易陷入细节


做码农需要和无穷无尽的细节打交道,例如:html那么多tag,属性 , xml dtd ,schema 复杂的语法, httprequest 那么多方法, 看着看着就烦了, 到底哪些是常用的? 哪些是不常用的?


自学者迷失在了细节当中, 产生了怀疑。


(2) 记不住


实践(编程)太少, 当然容易忘记了。


(3) 挫败感


就算很有定力,很有自制力,以及在未来拿高薪水的想象中, 利用断断续续的业余时间咬着牙终于把这些细节都看完了, 然后悲催的发现:


***,还是写不出一个可以运行的像样的东西!


最终结果是: 我看完了,很多细节也忘了, 还是不知道怎么回事,还是蒙圈。


这种方法试图把所有的细节都搞定以后,再去做系统, 对自学来讲其实并不友好。


方法二: 实用主义, 拿项目作为牵引来学习


策略: 拿项目作为驱动, 开始是不追求面面俱到, 而是追求一个可以运行的东西, 单点突破,以点带面, 最终掌握所有知识点。


如果你懂得敏捷开发, 就会明白这和敏捷软件开发的本质思想是何其像啊。


这种方法的好处是:


(1) 成就感


一开始就搞可以运行的系统, 慢慢的增加功能


(2) 在实践中学习


学习金字塔, 在之前的文章中已经提到过,这里再强调一下: 通过实践来学习是非常有效的。




(3) 抓大放小


先学会最关键的,最实用的东西,先学会并且能实践一个关键知识点,然后再把周边的知识学会


(4) 思考才是进步的本质 !


实现系统过程中遇到了问题, 会逼着你思考,去动手解决问题


这种方法的缺点也很明显:


(1) 遇到问题容易卡壳, 需要有高手/师傅点拨一下


对于那些比较难的问题, 自己思考、尝试了很久以后,被点拨一下,恍然大悟,拨云见日的感觉非常的爽。


(2) 要求动手能力和主动思考的能力


伸手***是不行的。


(3) 要有项目


终于说到重点了, 这不是废话吗 ?


但是找个项目应该并不难,你完全可以想一个小项目来做啊,比如说我最近碰到的一个小需求:


1. 普通用户可以注册,登录,最好和QQ账号关联


2. 老师(暂定只有一个)可以创建班级


3. 普通用户可以加入班级


4. 老师能够按月发布作业, 作业有标题和内容


5. 加入班级的用户提交作业


6. 老师可以查看作业,查看哪些人提交了作业,哪些没有提交


找一个身边的问题,把它简化, 实现出来,是很有效的。


学习编程本质上是个迭代的过程,不可能一下子把所有的问题搞定,用项目做驱动来学习符合这个观点。


还有哪些自学的方法, 欢迎讨论!


分享一下你的自学方法吧,对于好的建议和想法, 我会把这篇文章的打赏作为奖赏送给Ta 。


(完)


你看到的只是冰山一角, 更多精彩文章,尽在“码农翻身” 微信公众号, id : coderising


“码农翻身” 微信公众号, 由工作15年的前IBM架构师创建, 分享好玩有趣的编程知识和职场的经验教训, 不容错过。

我是一个线程


我是一个Java class


我是一个网卡


我是一个路由器


CPU 阿甘


Javascript: 一个屌丝的逆袭


Java : 一个帝国的诞生


Basic : 一个老兵的自述


TCP/IP 之 大明王朝的邮差



上一条:图片左右切换下一条:tab切换效果
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议