非科班计算机学习简要路线及书籍

既想保持硬件的主线,但没有软件又无法独立做出项目。
硬件的自学思路不是太明朗,但软件中智能算法之类的应用将自身吸引。

已有C语言基础,自学过(蜻蜓点水)(没有具体做项目,只是看、掠过)数据结构与算法、python、c++、看过几本计算机方面的书
慢慢的再次学习不愿再在一门语言上投入太长时间,leetcode刷题会有种空虚感(不明白刷题的具体意义,以及不愿花时间)
对于部分需要实现的东西有着强烈的需求,如现在所需要的与wifi硬件通信的app,且需要数据库
学习效率极低,容易被各种东西打断,消磨大量时间而无法集中精力看java、andriod,同时观看时又总有一些难以理解的东西感慨万千,时光不再

如此学习路线一年之前收集过python的,但如今需要java,且很多东西不使用,只是看,很快忘记
另外,学完,达到目标之后,定要扎实与本专业
硬件不适宜自学吗?还是自己没有看到相符合的路?

java:

廖雪峰java
《java核心卷1》
《java核心卷2》
《java编程思想》

数据结构与算法

  1. 时间复杂度、空间复杂度
  2. 链表、队列、栈
  3. 树(二叉树,查找二叉树、AVL树,红黑树等)
  4. 图(图有好多种算法,深度/广度搜索,最短路径、最小生存树等)

《离散数学》
《大话数据结构》
《数据结构与算法分析:C语言描述版》
之前看过的《数据结构与算法:C++》——清华大学绿皮

视频:《小甲鱼的数据结构与算法》

  1. 十大排序算法
  2. 递归、贪心、回溯、动态规划、枚举等

《阿哈算法》
《算法设计与分析基础》
《算法第四版》
《算法导论》
《编程之美》进阶

java后端

集合模块: Set(包括HashSet,TreeSet), Map(包括 HashMap,HashTable),List(包括ArrayList,LinkedList)等等,学习源码

多线程:synchronize,volatile,线程池,并发包(如lock等等)。
看《Java 并发编程艺术》+《Java编发编程实战》。

各种文件流:file,inputStream,outputStream等等。

虚拟机:重点GC部分,
看《深入理解Java虚拟机:JVM 高级特性与最佳实践》

其他:如反射,注解,异常等,很多。

javaweb

快速入门

(1)mysql、html+css+js 、 tomcat、xml等。看视频,搜索 JavaWeb的视频,哪里不会补哪里,几个小时入门一门
(2)servlet+jsp 系列
不建议直接学习框架,先学习 servlet,底层最重要
(3)三大框架
Servlet 写太麻烦了,只有认真学过 servlet 的人才能吹框架的好处,所以先学 servlet 在来学习框架,主要有三大框架:Spring + SpringMVC + Mybatis。
其实 SpringMVC 也是属于 Spring 吧,MVC 只是一种思想,先学习 Spring,直接看视频入门学习,后面买书。

中间件

Redis
先《Redis开发与运维》
《Redis 设计与实现》

计算机基础学习

计算机网络 + 操作系统 + 数据库 + 汇编 + 计算机组成原理 + 编译原理 等

1、计算机网络 + 操作系统
2、数据库 + 计算机组成原理
3、汇编 + 编译原理

书籍推荐:
《计算机网络自顶向下》
《图解 http》
《深入理解计算机操作系统(原书第三版)》
(/《操作系统—精髓与设计原理(第八版)》)
《汇编语言》——王爽
接着《汇编程序设计》

视频:韩老师讲高校《计算机网络原理》

《SQL必知必会》
接着《MySQL技术内幕:InnoDB存储引擎》

编译原理?

大一大二这段时间,千万别问别人干学啥学啥,如果你有感兴趣的,就去折腾,全心全力的折腾,真的能学到很多东西,而这些东西,远远不是那些具体的知识点,更多的是,你的学习能力,折腾能力,逻辑思维

偶然看到这句话,深有感觉,”移情别恋“,对很多事情有着强烈的好奇心,但是又会被其他吸引,转移注意力。
但是,真的开阔了视野,不只有专业,外面很大,足够想象,很多很多新奇的主意会不断萌生,失落时也会被那么多知识的热情鼓舞
但是可以感觉出来,自己缺少积累,对一件事情的沉淀
( 如果以后能实现那个评价算法…那该多好呀)

当你把大学所学的知识全部忘光时,剩下的,便是教育的本质

你可能感兴趣的:(成长记录)