一、学习方法
- 由易到难学习知识点
- 为避免“入门即入土”等小白入门计算机常碰到的窘境,初学需要抱着“好读书,不求甚解,每有所得,便欣然忘食”的态度,不强求必须弄懂每个滞涩的知识点、学完一节内容就必须形成较为系统性的知识体系,而需要通过多听、多看、多读将简单、看起来不紧要、便于记忆的知识点记住or理解。越简单的内容越基础,打好基础将便于理解复杂内容,当复杂内容在你眼中不那么令人恐惧的时候,恭喜你入门啦!
- 将简单的内容烂熟于心后,请向更高难度的知识进发!中、高级难度往往是应用时的核心重点。想要用更少的代码得到更好的结果,就必须将中高级难度的知识理解并学会应用。这需要大量的练习、纠错、加深理解并积极寻找更好的解决方案。在这个阶段,结合基础内容去理解中高级知识,理清它们之间的联系(可以形成简单的思维框图,此时未必需要细化)。同时进行大量实践,多说,多写,多做,经由各个渠道去接触(生活中重复回想)、拓展(帮助深入了解),将理论与实践相结合。
- 接下来进入整合阶段,经过上述实践检验,若你自我感觉已经很好了,那么请拿出一张白纸,试着将脑中的知识整理成一份详细的思维导图(细化版),在完成的过程中,有忘记、卡壳、想不清楚的地方,将疑问写在你认为知识点应当在的位置,然后继续写余下内容,写完后,与笔记、书本等进行比对,查漏补缺,复习、加深理解、多次练习薄弱项。
- 需要注意的是任何时候都不要太依赖笔记,不能说笔记上记了,使用、考试的时候看看就好了。想要学会的话,必须形成长久记忆,记到脑子里。
- 完成上述所有步骤,如有你想了解更多,请从各个渠道对上述知识进行拓展等。
- 找到感兴趣的点
- 找到你学习起来觉得很轻松、有趣的几门课程or技术,试着去了解与其有关的职业岗位,了解这些用于确定将来的职业生涯方向。同时可以了解一下与其同时使用的几门技术,尝试着去学习它们并将它们结合起来使用。
- 发挥能动性
- 思考所学的知识能干什么,即使是很微小的事情或者做出来也没有价值和意义的事,若你感兴趣,愿意做,那么就去,主观能动性是最好且最容易得到的正反馈,实践也是最好的记忆方式。
- 良师益友
- 多与老师同学或志同道合之人切磋交流。
- 自学
- 视频自学
- 建议初学者先跟老师学习or跟成体系的视频学习
- 权威书目和官方文档
- 有一定基础后试着阅读一些专业性比较强的书目或官方文档
- 视频自学
- 保证较为稳定的学习效率
- 独家的情绪/压力缓解方式
二、提升方向
一、技术方向
- 数学基础:高等数学、线性代数、概率论、离散数学
- 英语基础:四六级
- 精通至少一门高级编程语言
- 专业课基础:数据结构与算法、计算机组成原理、操作系统、计算机网络
- 数据库知识
- Git版本控制
- 前端技术
- 后端技术
- 盲打
二、实践方向
- 好的比赛、工作、实习经历和相关经验
- 参与开源项目
- 个人项目
- 代码审查
- 参加编程竞赛
三、软技能方面
- 问题解决能力
- 沟通能力
- 团队合作
- 持续学习