博客
关于我
写了很久,这是一份最适合/贴切普通大众/科班/非科班的『学习路线』
阅读量:270 次
发布时间:2019-03-01

本文共 1938 字,大约阅读时间需要 6 分钟。

学习路线:适合普通大众的大学生入门开发方向

说实话,我一直不太喜欢写学习路线这种文章。大家知道我的文章风格,我更喜欢写真实经历,供大家参考。然而,最近好多人问我学习路线,而且很多大一大二的学生说自己很迷茫,看到我之前的文章后很受启发,觉得自己也能行。所以,我决定写一篇适合普通大众的学习路线,从大一入学那一刻开始入门说起。虽然这篇文章不一定适合你,但或许能给没有明确目标的人带来一些学习方向。


一、入门语言:选择一门热门语言

学习编程的第一件事,就是选择一门语言。能选择的语言太多了,于是我决定推荐几门热门且入门友好的语言:C语言、Python、Java。

1. 语言选择

学习编程的第一件事,选择一门语言。C语言、Python、Java都是不错的选择。你可以根据自己的兴趣或学校课程来选择。很多人会纠结于选择哪一门语言,其实无论你选哪一门,后续学习其他语言都是非常容易的。

如果你是科班学生,学校通常会开设C语言或Java。即使你不是科班,C语言仍然是一个不错的选择,因为它是很多编程竞赛的基础语言。

2. 学习资源

  • C语言:推荐书籍《C语言程序设计》(谭浩强写的),适合入门学习。进阶可以看《C与指针》。视频推荐:B站搜索“郝斌 C语言自学教程”。
  • Java:推荐书籍《Java核心卷1》,入门可以看。视频推荐:B站搜索“尚学堂 Java300集”。
  • Python:推荐书籍《Python编程:从入门到实践》。视频推荐:B站搜索“小甲鱼 Python入门”。

开发工具:C语言用Codeblocks或VS6,Java用IntelliJ IDEA,Python用PyCharm。

3. 学习目标

不要追求完美,90%理解代码就可以了,具体怎么写可以慢慢来。


二、数据结构与算法

大学第一学期,你入门某种语言后,就应该开始学习数据结构与算法了。对于非科班学生来说,这也是建议的学习顺序。我的文章主要写数据结构与算法,秋招也是靠这方面的知识拿到offer的。

1. 数据结构基础

  • 时间复杂度、空间复杂度
  • 链表、队列、栈
  • 树(二叉树、AVL树、红黑树等)
  • 图(深度优先搜索、广度优先搜索、最短路径、最小生成树等)

如果你是科班学生,第一学年可以学完这些内容。非科班的同学也可以逐步学习。

2. 算法学习

算法是编程中最重要的核心知识。下面是一些算法思想的学习建议:

  • 递归、贪心、回溯、动态规划、枚举等
  • 十大排序算法(如快速排序、归并排序等)
  • 字典序搜索(如KMP算法)

推荐书籍:《阿哈算法》、《算法设计与分析基础》。

3. 维持学习

算法的学习需要不断积累,刷题是关键。推荐每天刷1-2道题,或者每周3-4道题。可以去LeetCode刷题,或者参加学校的编程比赛。


三、深入学习一门语言

在大二或大三时,你可以选择一门语言深入学习。常见的选择有C++、Java、Python、Go。如果你想从事后端开发,C++、Java和Go是大多数公司的选择。

1. 选择方向

  • 如果你想从事游戏开发,选择C++。
  • 如果你想从事Web开发或大厂(如阿里巴巴、腾讯),选择Java或Python。
  • 如果你想从事云计算或网络开发,选择Go。

2. Java学习路线

如果你选择Java,以下是深入学习的方向:

  • 集合模块:HashSet、TreeMap、ArrayList等。
  • 多线程:synchronize、volatile、线程池。
  • 文件流:inputStream、outputStream等。
  • 虚拟机:GC(垃圾回收机制)是重点。
  • 其他:反射、注解、异常等。

3. JavaWeb入门

学完上述内容后,可以开始学习JavaWeb。推荐学习MySQL、HTML/CSS、JavaScript、Tomcat、Servlet/JSP。然后学习三大框架:Spring、SpringMVC、Mybatis。


四、计算机基础

计算机基础是立体的,不能忽视。以下是需要学习的核心课程:

  • 计算机网络:OSI模型、TCP/IP协议、HTTP等。
  • 操作系统:进程、线程、内存管理等。
  • 数据库:SQL语句、关系型数据库设计。
  • 汇编与编译原理:了解计算机是如何执行程序的。
  • 推荐书籍:《计算机网络自顶向下》、《深入理解计算机操作系统》、《汇编语言》。


    五、总结

    对于大学生来说,上述内容是前两年最核心的学习方向。这些知识虽然看起来枯燥,但一旦掌握了,你会发现其他学习变得异常容易。

    最后,我想强调的是,这篇文章不是让你成为大神的,而是给处于大学迷茫的你一个方向。无论你是否是科班学生,只要你愿意努力,你一定能行。


    推荐阅读

    如果你想了解更多工具和书籍,可以关注我的公众号「苦逼的码农」。回复「福利」可以获取精选电子书。

    转载地址:http://fsux.baihongyu.com/

    你可能感兴趣的文章
    nodejs连接mysql
    查看>>
    NodeJs连接Oracle数据库
    查看>>
    nodejs配置express服务器,运行自动打开浏览器
    查看>>
    NodeMCU教程 http请求获取Json中文乱码解决方案
    查看>>
    Nodemon 深入解析与使用
    查看>>
    NodeSession:高效且灵活的Node.js会话管理工具
    查看>>
    node~ http缓存
    查看>>
    node不是内部命令时配置node环境变量
    查看>>
    node中fs模块之文件操作
    查看>>
    Node中同步与异步的方式读取文件
    查看>>
    node中的get请求和post请求的不同操作【node学习第五篇】
    查看>>
    Node中的Http模块和Url模块的使用
    查看>>
    Node中自启动工具supervisor的使用
    查看>>
    Node入门之创建第一个HelloNode
    查看>>
    node全局对象 文件系统
    查看>>
    Node出错导致运行崩溃的解决方案
    查看>>
    Node响应中文时解决乱码问题
    查看>>
    node基础(二)_模块以及处理乱码问题
    查看>>
    node安装卸载linux,Linux运维知识之linux 卸载安装node npm
    查看>>
    node安装及配置之windows版
    查看>>