想自学计算机的小伙伴一定要学会自己找信息,然后制定自己的学习计划去好好执行下去,要不然永远都是停留在想的阶段,找了一大堆资料,却永远不真正开始学习,这样的话,估计给你再多的时间也没法入门,更别说通过转专业找到工作了,如果只是了解的话,不需要花太多功夫,还是要学好原来的专业才是更值得的。大学时间就那么多,我们不可能什么都学,还是要找到合适自己发展的方向。
课程的话,最重要的就是下面几门:数据结构、算法、计算机操作系统、计算机网络、数据库系统、计算机组成原理。除此之外,需要去学一门或多门编程语言,这是你后期做任何软件开发的最最底层的东西。推荐语言:Java(Go2)二选一,Rust(C/C++)二选一,一门脚本语言(例如C、 JavaScript、Python),学习上面列出的编程语言可以让你覆盖前端、后端、底层各方面的开发,程序=数据结构+算法,可见算法和数据结构有多重要。
书籍推荐:《大化数据结构》,这本不是很专业,只能作为你了解和入门数据结构的书,不过其实也够用了。进阶书籍:《操作系统精髓》、《计算机组成原理》、《编译原理》。面试就是算法面试,除了少部分公司比如Amazon,特别注重behavior question,(BQ)之外,其他公司基本需要你对算法和数据结构掌握的很熟练才行。还需要熟练掌握一门语言,(Python Java或是C++),然后用你熟悉的语言来实现基本的算法和数据结构。
网课可以跟着这几门来学:《MIT的算法课》、《教程用的算法导论》也是强推的网课。这门算法则基本不涉及到语言层面,主要是算法层面讲的很好。斯坦福2018、Winter、CS106B: Programming Abstractions,虽然从名字不太能看出来,但其实是用C++讲数据结构,想用C++的小伙伴不容错过。我看了一半了,特别有帮助,尤其是对递归和回溯的讲解,简直醍醐灌顶。
光看书而不练,算法和数据结构是学不会的,所以推荐一些好的刷算法和数据结构平台。当然另一方面也是为了找工作面试做准备了,这里推荐大家去LeetCode,这是现在刷题找工作最热门的网站了,但LeetCode现在题目也太多了,一共1300+了,而且一直在增加,刷完没必要,也不高效。
至于其他的操作系统,推荐哈工大李志军老师的操作系统课程,计算机网络推荐郑烇老师的课程。计算机组成原理推荐哈工大刘宏伟老师的课程,数据库推荐占德臣老师。光学是完全不够的,还得多做项目,多敲代码,可以去找学校的竞赛队伍,多做实战项目,跟着他们学习,如果能参加比赛获得名次那就更好了,也可以自己去网上找项目。
标签:操作系统,推荐,C++,经验交流,算法,自学,数据结构,计算机专业,计算机 From: https://blog.csdn.net/m0_61505785/article/details/139874103