论编程学习方法的重要性

来源:互联网 发布:mysql distinct 用法 编辑:程序博客网 时间:2024/05/22 01:55

1、每日“多省吾身”

Question 1:明天会上哪些内容的课程呢?
  如果可以的话,你可以拷贝到往届学长学姐们的笔记,每天利用5分钟的时间大致浏览第二天的课程,从而能够从全局把握课程结构,从而使自己在第二天老师6个小时的狂轰滥炸中不至于处于被动,然后不知道自己所处何处。反之,你就可以化被动为主动,从而可以将6个小时的课程切割成对应于各个知识点的小模块。通过这种方式,你就可以极大地提升自己的听课质量。
Question 2:今天的课程我完全听懂了吗?
  听课质量的高低对学习效果可以说起到了中流砥柱的作用。试想一下,如果你的听课效率质量很高,那么晚上敲代码、复习的时间就可以大大地减少。因为,你不会再对着老师分发的代码和资料问自己一些愚蠢的问题。例如:这段代码是干什么的来着?这个知识点好像完全没听懂。这些令人抓狂的问题会严重挫伤你学习的积极性。因此,如果上课有任何内容没有听懂,那么不要忽略掉,应该把自己想问的问题记录下来,下课之后,立刻通过与同学和老师的讨论解决掉。
Question 3:今天我对哪些问题有疑问呢?
  如果你是抱着积极的学习态度在听课,那么你一定会在上课期间产生各种各样的idea。你可能在想一种代码效果有没有另外一种实现方式,或者另外一种配置方式会有什么效果。这时候,一定要迅速记录下来这些问题,不要占用上课时间跟同学讨论或者自己纠结于此。因为,一旦你这样做,后面的课程你就完全不会在用心听了,这就降低了听课的质量。
Question 4:有疑问的问题自己可以通过网络或者写一些例子得到结果吗?
  产生任何问题之后,不要急于问老师和同学,而是要培养自己独立学习和解决问题的能力。你可以通过网络或者API文档查询到结果,又或者自己写一个例子程序得到答案。如果实在有困难,再向学生和老师求助。这样,可以培养你独立解决问题的能力。毕竟,在公司里,是没有太多人给你全方位的指导和帮助的,不是吗?
Question 5:今天的代码我有敲完吗?
  很多同学有时候会进入一个误区,那就是他认为上课的时候代码已经完全理解了,下课就没有必要再敲这些代码了,这就走向了一个极端。另外一个极端则是认为代码必须自己从头到尾一个字母不漏的敲出来才算掌握了。实际上,代码最重要的是写出思路,然后通过查询API文档完成代码。当然,第一次敲代码的时候最好可以临摹老师的代码,然后再自己独立完成。否则,由于难度太大,可能会打消学习的积极性并且浪费时间在回忆代码上。另外一个需要指出的点是,千万不要给自己拖延的理由,今天的代码今天必须要完成,即使奋战到凌晨2点也在所不惜。如果你拖延到明天,那么再加上第二天的代码量,你会倾向于放弃昨天的代码,甚至对今天的代码也感到厌烦。毕竟学习的时间是有限的,利用一天的时间承担两天的任务量,没有压力才怪呢!
Question 6:我可以对这些代码进行封装或者优化吗?我可以做一些小应用吗?
  任何的知识想要活学活用都必须要经过自我优化并且不断应用从而达到熟能生巧的过程。如果仅仅局限于老师的例子代码,你将会发现自己解决问题的能力并不强,还只是处于粘贴拷贝的码农阶段。但是如果你能够思考这些代码怎么去封装和优化,并且自己试图做一些应用,那么恭喜你,你就在朝着架构师以及高级软件工程师的方向发展了。
Question 7:今天我的任务完成了吗?
  “今日事,今日毕”。古人的这句话说明了执行力的重要性。所以,千万不要给自己任何拖延的理由。不要说,今天几个玩的很好的哥们邀我玩dota,今天的任务明天我一定做!如果这样的话,你会发现,第二天你已经生疏了第一天的知识。因为你没有复习也没有敲代码。你会感到更大的阻力去重新学习昨天的课程。这时候厌倦的情绪会大大的降低你的学习效果。所以,不要让任何事情阻碍你去完成你今天的任务。你需要明白,拖延不是选项,你甚至根本不要去考虑它。
Question 8:我有明确而有效的复习计划吗?
  孔子有句话,“温故而知新,可以为师矣”。见名知意,就是经常温习就可以学到新的东西,也就是熟能生巧。很多同学在学习后面知识的时候经常会抱怨以前的知识已经遗忘了。因而,当他们学习后面的知识时,就会感觉到非常的有压力,甚至产生了放弃学习的念头。这种心态会严重扼杀一个人的自信心并且学习效率极低。等到就业找工作的时候,这些同学会变得极度不自信。因为,他认为所有的知识在他心中越来越模糊。那么,好的措施就是制定明确有效的学习计划,定期复习将会使你保持对知识的熟悉程度。

2、学习感言

黑马的学习经历
  2.1 黑马制度
  黑马每天上课六个小时,早上是8:30-11:30,下午是14:30-17:30,晚自习的时间18:30-20:30
  大家可能感觉每天上课的时间并不是很长,但是个人的感受是每天上课就要六个小时,那么自己练习的时间也是和这个差不多的,如果再加上自己有可能会卡到某个知识点,因而呢,正常情况每天下来是很辛苦的,以个人为例(我算是比较懒惰的),早上7:00起床,中午午休半小时到一个小时之间,晚上是零点睡觉。
  说些题外话,我们寝室五个人,其他同学比我勤快多了,早上六点钟就起床,晚上零点+才睡觉的。当然这是要看个人情况,我大学学习的就是计算机,而且个人理论知识学习的比较好,个人还有相关一年的工作经验,所以不是特别辛苦,所以还是要结合个人情况来看待问题。
  黑马这边一周休息一天,周三一般是自习,给大家用于调整和巩固前面学习的知识的,大家不需要担心来到这里学不到东西,知识是比较多的,还是要很用功和努力的。

  2.2 来黑马的目的
  来黑马的目的根据时间划分应该是两类,一类是来之前,一类是来之后。
  来之前呢,大家的目的想必99%都是冲着改变命运来的,其实也就是冲着高薪来的,要不然也不会有这么多非计算机专业的同学,甚至有的在学计算机之前连android是何物都不知道的,就这样开始学习毕向东的视频了。
  来黑马之后呢,我们的目的就要做一些调整了,个人将目的分为三点:
  1、忘掉高新,勤加学习和练习
  2、学习氛围
  3、建立朋友关系,一个技术圈子
  为什么要这么说呢?大家也都知道,仰望星空与脚踏实地,我们的目的地是星空,但是去往星空的路上我们是要脚踏实地的。在来黑马之前,我们是处于仰望星空的阶段,这个是我们的最终目的,但是为了实现这个目标和梦想,我们是需要脚踏实地,一步一步来实现的,因而说在来到黑马之后,我们应该忘掉高薪,每天需要做的就是勤加学习和练习每天的知识,黑马的知识能够掌握80%,出去找份10K+的工作不是问题。
  学习氛围:很多黑马的视频都可以在网上找到的,只要你努力加之丰富的信息源。但是为什么还是有很多人要挤破头颅要来到黑马学习?这是从时间成本和氛围来综合考虑的,如果不来黑马,而只是自己抽空学习,可能80%的人是坚持不下的。另外,黑马四个月的课程,个人学习可能要花一年左右的时间(因为我们不可能每天呆在家里或者宿舍,自己不上课或者不工作,专门用于学习黑马的视频,如果你是未毕业的大学生可能还有可能),这还是次要的,遇到问题不知道如何解决,或者说解决的时间比较长,最终如果信心不够坚定,那么很有可能坚持不下来。
  刚刚说到第二点的时候,其实第三点就自然而然的出来了,建立有技术基础的圈子,来到这里,大家都是来学习知识的,每天学习的内容遇到的难题或者说有好的点子,大家可以分享,并且以后从事的行业都是相关的,那么在工作中遇到的问题同样可以这样处理。

  2.3 一个月的java web学习经历
  很多有计算机基础或者了解过android的人都知道,做客户端很可能不需要知道太多的web知识,但是为什么黑马要安排一个月的javaweb呢?
  其实这也是黑马课程安排的巧妙性所在。在此我为大家分析一下:
  1、很多人来黑马之前,确实是已经具备了一定的java基础,但是工具使用的是不够熟练的,比如说eclipse中常用的快捷键,快捷键先不提,就说来之前就有很多是一指禅的专家,那么这一个月的时间就要注意了,让自己从几乎是鼠标操作按钮转变为纯粹的键盘操作eclipse,这也是一个人熟练程度的体现。在此简单的提下个人的面试经历的一个插曲,当时面试官让我现场写选择排序,冒泡排序,恶汉式的单例,当时个人把笔记本拿出来,几乎没有使用鼠标,就把程序给写出来了,并且是很熟练的,编程从任务变成了一个秀操作的过程,因而面试官是相信个人有这个实力来胜任这份工作的。
  2、学会做笔记
  这种学习方式,我至今仍然在使用,大家来之前,可能使用过txt或者word做笔记,其实这种方式并不是不好,而是从长远考虑, 并不会产生很多的价值。在此提一下个人的经验:
  笔记呢,分为两类,一类是思路性质的笔记,另外一类是详细的笔记,针对不同的笔记,是有相应的软件的
  1、 思路性的笔记:思路性的笔记呢,这个比较出名的就是思维导图,也叫做脑图(个人大学时看过一本书,专门讲解思维导图的,这个就是相应的软件),对于思路的拓展和总结具有很好的效果
  2、 详细的笔记,这里就要提到几个比较出名的笔记软件: onenote,印象笔记,为知笔记。可能会有人有疑问,为什么不说txt和word呢,因为txt和word只是单个笔记,而我刚刚提到的几个笔记的软件具有整体的搜索功能,比如说我有十几篇笔记是关于一个知识点的,那么我既可以用搜索标题的形式也可以用搜索内容的形式来查找相关的知识。而用txt或者word在电脑上保存的话,一般只能按照文档的名字来搜索,甚至如果名字不对的话,那么就需要自己记住存放在那个文件夹下,而刚刚提到的这几个软件,就是用来解放我们的大脑,用于做更重要的事情。
  另外插播一句,并不是纸质的笔记不重要,而是我认为纸质的笔记相对于电脑的笔记,已经落伍了,从便携性以及长远的可移植性和修改的方面来看,纸质的已经淘汰的差不多了,另外,如果想截张图来保存当时的一些细节,假如用纸质完成。 那么时间成本是很大的。
  再来插播一句其他的吧,其实大家想想为什么为什么两个人都可以做的事情,结果工作年限多的人一般工资会高一些,因为他熟练这些内容,遇到问题解决起来轻车熟路,而刚毕业或者参加工作的人,需要花费时间比较长,另外做出的东西从扩展性和设计的规范性来讲,是不成熟的。
  3、 翻阅文档,查看api, 上网搜索相关资料的技能
  在一个月的web学习过程中,起码jdk的文档个人应该翻阅起来要轻车熟路,另外的话,遇到问题,能够独立的上网搜索相关的资料,学习吸收,解决当前的问题。在此可以推荐几个不错的网站,国内的技术论坛,博客园,CSDN,国外的网站: stackoverflow(一个几乎你遇到的问题都可以解决的网站,不过英语能力还是要可以的,起码能够看得懂)
  4、Demo制作的能力
其实学习计算机和做玩具差不多,一般也是要先做一个原型,在学习新的知识的时候,我们一般也要先了解这个知识,然后才用到我们的产品中,这就涉及到demo的制作,而在学习javaweb的时候,这个技能也是要练习的。

待续。。。。

0 0
原创粉丝点击