编程学习方法

1.时间管理css

关于时间的管理。首先,要有一个大一点的计划,好比年计划,月计划,周计划。这一年大致上要打到什么目标,这个月要学习哪些知识。html

而后是精确到小时的日计划。每一天,哪一个时间段作什么都详细的列出来。前端

其次,不要太盲目自信。不少人其实历来没有完成过本身的计划。若是你真的可以完成你制定的每个计划,那如今的你必定已经很了不得了。java

若是你几乎没有完成过本身的计划,那么你一开始制定日计划的时候,不要给本身太多的任务。由于若是你一旦完不成,就会影响本身的信心。python

最好的方式是,一开始制定一些简单的计划,而后天天很容易就能作到,而后慢慢的去增长本身天天的任务量。android

最后找到一个最适合本身的节奏。这个过程可能须要很长的时间,由于你要不断的去尝试,去改进。找到最适合本身的做息时间去休息,找到本身工做状态最好的时间去工做等等。ios

关于时间管理以及计划的制定,每一个人都应该有一套本身的计划,由于每一个人的状况不一样。c++

最后,不要把你的计划当摆设。虽然我上面说过,不少人其实历来没有完成过本身的计划。可是我仍是但愿你可以认真的去对待它,由于受益的有且只有你本身。git

2.学习步骤github

2.1确认学习目标  

首先,你须要确认你要学什么,切记不要三心二意。学习最好一个时间段专注的去研究一个知识点,不要今天学 python 明天又想学 java 了。作什么事都有有一个目标,否则容易成为无头苍蝇。

目标往大了说,能够是成为某一个领域的大牛,往小了说能够是今天的一个学习计划。

hr 面的时候,一个常见的问题是:你的职业规划是什么。一个优秀的人,必然会有一个属于本身的职业规划,知道本身在什么时期要作什么,知道本身每一个时期要完成什么样的目标。

学习也同样,当你有了一个清晰的目标的时候,你才不会迷茫,才不会不知道作什么好。

2.2制定学习计划

上面也提到了这点,计划可能赶不上变化,也许今天正好有别的事情致使今天的计划没有完成,可是至少大方向是有的,你不会不知所措,不知道最近应该作什么,这才是计划的根本价值。

因此,不要担忧计划完不成,这是给你本身学,一天的计划完不成又能怎样呢?

2.3本身找资料开始学习

请记住,不要当一个彻头彻尾的伸手党。由于轻易获得的东西你是不会珍惜的。而且,你不要祈祷你这一生全部学习须要的资料都有人会提供给你,本身找资料自己就是自学能力的一部分。

固然,我并非说不让你们去群里问,毕竟能问到也是一种本事,可是你必定要有本身的资料来源,不管是博客仍是书或者是官方资料。

2.4脑图与流程图

学习历来都不是只看看书就能学会的,本身构建相关知识脑图和相关步骤的流程图是很是有必要而且很是有效果的。

好比你要学习java,你能够先从网上找一找别人画的脑图,对java有一个大体的了解,每学一个小的知识点,就本身绘制一个该知识点的脑图,学完以后,本身再画一个整个 java 体系的脑图,这样你会对 java 很是的熟悉。

好比你学 GC,光看书或者博客是很难记住那些流程的,这个时候,你本身画一个流程图,我保证你对这个过程会很清晰。记住:就算是有现成的图,你也应该本身画一个,本身画和看别人的是彻底不一样的两个层次。

2.5编码

上面的那些,都是掌握理论知识的步骤,是骡子是马还得拉出来溜溜。编码才是重中之重,就算你能把一个知识点吹得天花乱坠,可是一句代码不会写依然没有什么用。

2.6笔记

好记性不如烂笔头,学完的知识,而后记录下来,本身总结一遍,收获有多大大家试试就知道了。

2.7回顾

若是你学的东西,好久都没用,忽然有一天你又要捡起它,你会发现,你以前作的努力,太特么值了,你有资料!有脑图!有流程图!还有笔记!分分钟就记起来了。

本身写一个有实际应用的 demo

若是有必要,能够写一个有趣的应用,不是简单的范例。

这个过程,实际上是很耗时的,学生建议按照这个流程来,由于学生的时间大把大把的,时间不多的就根据自身状况取舍吧。脑图和流程图我以为收益很高。

上面说到,有的时候看完一本书再从头看,感受像是在看一本新书。因此我后面看书的时候,也会作相应的笔记,看的时候会在书上勾勾画画,给一些重要的地方打上标记,看完以后,合上书,用记事本把本身刚刚学的的东西写一下(大纲就行),而后再和书上比对一下作一些修改。

当我看完一本书之后,对应的,我还会有一个笔记,之后我甚至彻底能够看本身的笔记而不须要再看书了。看 + 回忆 + 记录,可让你充分的掌握一本书的核心。

步骤大致上是这样,可是也千万别死板的都按照这个过程来,毕竟仍是很耗时的。

 

3.外物的影响

 

我主要说的是手机。如今手机已经成为人生活中不可或缺的东西了,它带给咱们方便,可是同时,它也占据了咱们大量的时间。

 

我不知道你们平时会不会时不时的打开手机,大部分状况下它和以前毫无变化,可是你仍是忍不住的打开它瞅几眼;

 

或者有几个群在不停的闲聊,而后你也忍不住的参与进去,不知不觉时间就溜走了。

 

不要成为被手机支配的人,因此,当你工做或者学习的时候,把手机静音,放在一边,不去看它,这样你会节省出不少的时间。

 

除了手机,另外一个外物的影响周围的环境。若是你能在一个嘈杂的环境中学习,那就很棒了,若是不能,记得给本身找一个温馨的学习环境。

 

 

关于大学生的学习

 

大学学计算机其实大部分时间仍是得看你本身,老师上课讲的东西很重要,可是那些都是基础中的基础,凭借这些并不可以让你找到一份满意的工做,因此你还须要本身去学不少不少的东西。

 

我简单的概括了一下大学几年要作的事,大家能够参考一下(假设你之后的方向是 java )。

 

【大一】

 

这个时候,刚刚接触计算机,你可能什么都不懂,听课也是一脸懵逼,什么for循环,if语句,恶心的不得了。这个时候你要作的不是抱怨,而是去努力的寻找乐趣。由于你已经入了这个坑了,除非你转专业,不然你是摆脱不了它的。

 

怎么寻找乐趣呢?我以为,编程最大的魅力,就是当你成功的时候的那种发自心里的成就感。不知道你们还记不记得第一次写 helloworld 的时候,各类出错———分号写成中文的了,大括号少了一个———可是最后终于成功的输出告终果的那种喜悦。

 

对于一个刚刚接触编程的人,我以为,写游戏是最容易得到成就感的。这里给你们推荐一个知乎专栏—- 作游戏,学编程(C语言)。

 

专栏的做者,经过让一些学生作游戏来学习c语言。我以为这个一个很好的学习方式,即有挑战性,又能够培养出成就感。

 

大学的入门语言差很少都是c或者c++吧。。若是不是,你也能够参考一下专栏里的小游戏,而后用你本身的语言试着写一下。

 

可是,我要重点说的是。写游戏实际上是一件颇有挑战性的事。有的人也许会在一开始就陷入困境,不知道如何继续下去。这个时候,若是你能坚持下去,多问问老师,学长,百度,google,把问题解决,那你之后确定会很优秀。

 

若是你放弃了,不要灰心,由于并非全部的人都适合经过游戏来培养兴趣,你也能够经过作一些 acm 的题来提升本身。每一个学校应该都有相关的网站吧。若是没有的话,能够去浙大的看看。

 

或者 leetcode 或者牛客网也能够 。作一些本身能力范围以内的题,也能够提升本身的兴趣。

 

固然,这些只是针对一部分同窗,毕竟不少人其实对代码无感。。根本耐不下性子去写代码。对于这部分同窗,我建议去学习 html 和 css。

 

由于它们入门超级简单,是用来写网页的。没有 c 语音那么复杂的逻辑,几个标签,几个css就能够设计出一个精美的网页,我想这也会颇有成就感吧。

 

大一的这一年,是打基础,培养兴趣的一年。不须要你有多么大的成就,写出多么厉害的程序。只要你可以培养出兴趣,而且愿意在编程这条路上走下去,那么你的任务就算完成了。

 

因此,这一年,你要作的,就是培养兴趣,让本身爱上编程(最基本的要求)。

 

【大二】

 

假设你如今已经喜欢上编程了。可是通常大一只会学一门语言(默认c/c++,不要问我为何,由于我就是这么学的。。)。

 

因此你可能只是写了几个小游戏,写了个小管理系统或者刷了一些题。你不知足于现状,你想作一些更有意思,更好的东西。同时,这个时候,学校应该也开了 java 课了。(假设你要学 java )。

 

写在前面:大二要作的,是拓宽你的广度!!!广度!!

 

首先,你要好好学 java。可能学校的进度是一个学期。可是我建议你们用一个月的时间学完。由于有了 c 和 c++ 的基础,java 其实很容易就学会了(入门级学会)。

 

更好的状况是,你在大一结束的那个暑假,就抽时间先搞定 java 基础。这样当开学的时候,别人还没接触 java,而你能够骄傲的和别人说,你都学完了。成就感满满的。

 

那么,怎么学 java 基础呢?个人建议是视频为主,入门书为辅,本身跟着写代码。

 

看书实际上是一件很枯燥的事情,若是你初学 java,只是看书的话可能配置一个环境变量就要搞很久,这会打击你的自信心。不要小看配置环境变量这个过程。我记得当时两天配很差环境变量最后让我帮忙的人可很多。

 

可是视频就好多了,由于老师会亲自演示给你看,你会少走不少弯路,而且也比书有趣多了。

 

书为辅,是由于老师不可能记得全部的知识,总会有疏漏的地方或者讲得不太好的地方,这个时候 书就能够派上用场了。

 

看完一节课的视频,而后关掉视频,本身写一遍相应的代码,出错了本身先试试能不能解决,是在不能的话,再看一遍视频,直到跑通。而后去看看书里对这部分知识的讲解,加深印象,查漏补缺。

 

这里的重点是,必定要本身写一遍代码。你看的时候以为本身会了,但是大部分时间,你一写全是错误。因此必定要本身写。

 

而且,在你初学的时候,不要使用集成开发环境(eclipse idea NetBeans等),就使用 notepad++ 这种类型的编辑器就能够。

 

这套流程最大的缺点就是耗时比较久,可是效果是很好的。java 里有不少都和 c/c++ 同样的,好比一些语句什么的,若是你已经掌握的很好了,直接忽略掉这些也是能够的,这就看你本身的状况了。

 

推荐一些学习资料。

 

  • 视频: 毕向东,马士兵,韩顺平的视频都挺好的。口碑也都不错,不信能够本身去百度一下。我看的毕向东的,讲的挺有趣的。可是每一个人口味不同,你能够多下载几套,都听一下,而后选一套本身喜欢的。
  • 书籍:入门推荐《head first java 》。head first 是一个系列,这系列书最大的特色是图文并茂和案例驱动,让读书的过程不那么的枯燥。《疯狂java讲义》听说也挺不错的,可是我没有看过,不作评价。
  • 编辑器推荐:notepad++ 免费,小巧。初学者够用了,直接百度下载就好。sublime , vs code, atom 也能够,挑一个本身喜欢的就好。

 

一个月,干掉 java 基础!这是你大二首先要作的事。

 

前面说过,这一年,你要作的是拓宽本身的广度。什么意思呢?就是说,你要尽量的去多接触一些技术,多学一些知识,由于你之后很难再找到这么多你能够自由支配的时间了。

 

java 基础搞定。接下来,学习 java web

 

你要知道,优秀的人永远都走在大部队的前面。不要学校安排什么你就学什么,学校不安排你就不学。事实上有的老师讲的不是很好,大学里真正有用的知识,都是本身学的。因此,接下来要作的是自学 java web。

 

依旧是视频++写代码。

 

java web 更重要的是实践。我当时学的时候的书就是学校的教材。。我是基本没看书的。就跟着视频一步一步来,有问题就 google。在大二上学期结束的时候,完成 javaweb 的学习。

 

由于须要和前台作一些交互,因此免不了要学一点前端的知识(html + css + js)。

 

这个过程当中,遇到的问题千奇百怪,我记得我当时一个小问题 google 了一天都没能解决,最后才知道是 jar 包版本的问题。。因此,遇到问题是很正常的,遇到很难解决的问题也是很正常的,只要你肯问,肯查总能解决。

 

好了,你如今已经有了本身写一个小网站的能力了(丑点无所谓)。接下来去参加比赛!进实验室!作项目!没有什么比作一个项目更能提升水平了。

 

因此,你大二下的任务就是尽量的去作项目,依次来巩固你学的技术。能够参加一些比赛,或者加入实验室,或者寻求老师的帮助。总之,你要作项目!

 

除此以外,你须要继续扩展你的视野。前端(不是你以前学的简单的html),python,android,ios,cocos。。。只要是你感兴趣的,就去接触一下,不须要你学的多厉害,也不须要你彻底掌握。只是为了让你的视野更加开阔,知道原来还有这么多技术,原来还能够这样。

 

大二的一年,你须要学会 java 和 javaweb,而且至少作一个拿得出手的项目。同时,尽量的提升你的视野。当你以为你一无所知,你仍是个菜鸟,这一年的任务就完成了。

 

【大三】

 

这是很关键的一年,由于这一年你将决定是否考研。考研的我就无论了。。接下来是针对准备一毕业就工做的同窗的。

 

写在前面:这一年,你要作的,是深度!

 

经过大二一年的努力,你的广度已经足够了。而且在这个过程当中,你应该也找到了本身最感兴趣的方向,若是没有,那就继续研究 java 吧,总比你不知道学什么好。不管怎样,这一年,你的重心都应该放在一条路上。以 java 为例。

 

首先,巩固基础!

 

这是最重要的。怎么作呢?进阶书籍+看博客+写总结+写开源项目。

 

这个阶段的视频不是不少,也没有必要了。直接看书+看博客+开源项目,最后再总结就够了。

 

我举个例子,好比,我如今要学设计模式,我买一本《head first 设计模式》而后一个模式一个模式的学,每学一个模式,看一遍书,而后 google 一下这个模式,看几篇高质量博客,结合书和博客本身写一个总结,甚至能够本身写一个博客专栏,让后来者也能享受到你的学习成果。

 

同时,能够好好整理一下本身学习过程当中的代码,放到 github 上,最好能够试着封装一下这个模式,让其余人更方便的使用这个模式。当你收获一个又一个的star时,你会很是有成就感的。

 

上面是学习的大体方式。学完了,怎么检查本身有没有学好呢?给你们提供一个网站牛客网,你打开就知道怎么用了。

 

基础都包括什么呢?

 

  • 面向对象的思想。
  • java经常使用类。
  • 集合框架。
  • io
  • nio
  • 多线程并发
  • 设计模式
  • 算法
  • jvm
  • 计算机网络
  • spring
  • orm框架
  • 。。。

 

每一个知识点,不仅是要会用,更要能理解一下底层的原理,有必要的话能够看看 jdk 源码或者框架源码。

 

 

 

你要知道,bat 等大厂每一年会有两次招聘,一次春招,在每一年3-5月,一次秋招8-10月。

 

春招是招实习生的,秋招是招正式员工。因此,若是你想进这些公司,就要提早作好准备。至少,上面的那些基础你是必须得都掌握的。

 

大三这一年,要让你的深度足够,有能力的能够继续延伸本身的广度。这个阶段,最忌讳的是朝秦暮楚。

 

早上看 python,下午发现 go 颇有趣,看了一下午 go,晚上据说 R 很厉害,又去研究 R 了。

 

千万不要这样!不要成为各个领域的杂牌军,你如今要作的,是在一个方向有一些建树。

 

【大四】

 

去实习。

 

实习的话我能给的建议很少,虽然个人实习经历还蛮多的。可是毕竟不是混迹职场多年的人,就不乱说了。

 

找工做,待遇,环境挺重要的。可是我以为,这个公司的技术栈,行业背景也是很重要的。我实习的三家公司是三个不一样的行业,因此我知道,不一样的行业差距仍是很大的。有的公司招聘的时候会要求你在这个行业有过经验啥的。因此,行业背景仍是有必要注意一下的。同时,为了本身为了的前途,必定要问清楚公司的技术栈!

 

固然:做为一个有抱负的人,毕业设计必定要向着优秀发展!而且依旧要不断提升本身的水平。这个时候,学什么可能得根据公司的需求来了,可是,永远不要中止学习!

 

简而言之,这四年你应该这样过:
大一:培养兴趣
大二:横向发展,广度优先
大三:纵向发展,深度优先
大四:选好方向,不断提升本身

 

5.获取资料的途径

找资料的途径

  • 百度/google:先看看他都能干吗
  • 官网:官网的文档通常足够了
  • 相关书籍:京东和当当常常有活动的。
  • 社区:社区也会有人作教程的,还会有一些我的项目能够参考
  • github:能够在github 看看某个知识点的 awesome。
  • 各大博客以及知名博主的我的博客:看看一些高质量博客也不错
  • 微信公众号:试着找一下相关的微信,固然,微信上的文章不少都来自于博客,可是微信的好处就是,你不用本身找,别人已经帮你找好了,缺点就是,量太少。
  • 知乎专栏:和博客差很少。
  • 一些视频或者 wiki 教程:如今有不少教学视频的网站,有收费的也有免费的。常见的好比慕课网,菜鸟教程,网易云课堂,极客学院,易百教程等。一些培训机构的视频有的也不错
相关文章
相关标签/搜索