用汇编语言有必要学吗滴形式学Java可行吗,我电脑内存不够,预算没有了,正常工作只能这样了,可行吗,8G?

今年刚从985计算机毕业的研究生学长说下吧,万年自学党了。直接说下学习路线吧:计算机导论 -> C 语言 -> 计算机基础 -> 编程语言进阶。下面都是超级干的干货,大家记得动动小手帮我 @Rocky0429 点个赞呀,么么么。一、计算机导论计算机专业导论是面向非计算机专业人员和学生介绍计算机基础知识的计算机基础教程。内容涉及计算机应用,Internet,与计算机交互,音频、视频和打印,数据处理,存储数据,操作系统,应用软件,网络,在线世界,数据库管理,信息系统,软件编程和开发,以及计算机安全等内容。呃,说到这,我推荐看一门《计算机科学速成课》。这门 40 集的课真的包含了超多的基础知识:1 - 早期的计算 - Early Computing2 - 电子计算 - Electronic Computing3 - 布尔逻辑与逻辑电路 - Boolean Logic & Logic Gates4 - 二进制 - Representing Numbers and Letters with Binary5 - 算术逻辑单元 - How Computers Calculate - the ALU6 - 寄存器 & 内存 - Registers and RAM7 - 中央处理器 - The Central Processing Unit(CPU)8 - 指令和程序 - Instructions & Programs9 - 高级 CPU 设计 - Advanced CPU Designs10 - 编程史话 - Early Programming11 - 编程语言 - The First Programming Languages12 - 编程原理:语句和函数 - Programming Basics: Statements & Functions13 - 算法初步 - Intro to Algorithms14 - 数据结构 - Data Structures15 - 阿兰·图灵 - Alan Turing16 - 软件工程 - Software Engineering17 - 集成电路、摩尔定律 - Integrated Circuits & Moore’s Law18 - 操作系统 - Operating Systems19 - 内存 & 储存介质 - Memory & Storage20 - 文件系统 - Files & File Systems21 - 压缩 - Compression22 - 命令行界面 - Keyboards & Command Line Interfaces23 - 屏幕 & 2D 图形显示 - Screens & 2D Graphics24 - 冷战和消费主义 - The Cold War and Consumerism25 - 个人计算机革命 - The Personal Computer Revolution26 - 图形用户界面 - Graphical User Interfaces27 - 3D 图形 - 3D Graphics28 - 计算机网络 - Computer Networks29 - 互联网 - The Internet30 - 万维网 - The World Wide Web31 - 网络安全 - Cybersecurity32 - 黑客与攻击 - Hackers & Cyber Attacks33 - 加密 - Cryptography34 - 机器学习与人工智能 - Machine Learning & Artificial Intelligence35 - 计算机视觉 - Computer Vision36 - 自然语言处理 - Natural Language Processing37 - 机器人 - Robots38 - 计算机中的心理学 - Psychology of Computing39 - 教育型科技 - Educational Technology40 - (完结) 奇点,天网,计算机的未来 - The Singularity, Skynet, and the Future of Computing像计算机的早期历史、编程的发展史,到二进制、指令和程序,到算法入门、数据结构,甚至是计算机安全、黑客、加密、机器学习 & 人工智能、计算机视觉、自然语言处理、机器人等等等等都有涉及,感兴趣的可以看下,链接在下面:二、C 语言C 语言的学习其实就三个阶段就好了:(1) 入门阶段这个阶段学习 C 语言的基础语法知识。目标是可以开发一些简单的控制台小程序。(2) 提高阶段这个阶段学习 C 语言自带的库函数,形成 C 语言的基本知识框架。目标是开发一些基本的应用程序。(3) 应用阶段这个是实战阶段,要具备一定的综合性应用软件开发能力。目标是能够开发像贪吃蛇、图书管理系统、学生信息管理系统等项目。视频推荐对于小白来说,建议上来看视频,不建议直接啃书,因为干看看不懂,容易劝退。可以先从视频教程开始。C 语言的视频教程我只推荐一人:浙江大学翁恺老师的 C 语言课,yyds!是一个课程质量非常棒,讲课幽默,深入浅出的课程,非常容易理解!当时学 C 语言的时候,自己还是个从来没接触过编程的菜鸡,当时的学习全靠翁恺老师了!不多说,看过的都知道。翁恺老师的课是在 MOOC 上开的。主要分两门:第一门是面向高考结束想提前自学一些编程的或者是刚开始学习的大一新生,叫《程序设计入门-C语言》,涵盖了主要的 C 语言知识点。完成本课程之后,就能具有初步的运用C语言编写程序的能力。2.第二门是《C语言程序设计进阶》,这门课就是要告诉你C语言到底有哪些独特的地方,为什么能长期占据15%上下的编程语言份额。这门课同样也是带你项目实操,和设计入门搭配使用,效果翻倍。书籍推荐我姑且认为现在题主有了一点基础,可以能配合视频看书了。入门书籍推荐《啊哈!C语言》这是一本是一本非常有趣的编程启蒙书。从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。从开始学习与计算机对话到自己独立制作一个游戏,由浅入深地讲述编程的思维。同时,与计算机展开的逻辑较量会让人觉得很有意思。进阶书籍推荐《C Primer Plus》这本书是我学 C 语言一段时间后啃的书,一本大部头。语法全覆盖,细节多,知识点讲的清楚,内容极多。在你觉得入门差不多,就可以啃一下这本书。现在是第六版了,书的封面啥的都换了,内容也更贴合现在的需求。一共17章:第1、2章介绍了C语言编程的预备知识。第3~15章详细讲解了C语言的相关知识。第16章、17章介绍C预处理器、C库和高级数据表示。书籍地址:三、实战项目学编程除了理论外,更重要的是要实战,实战很好理解,前期多敲代码,之后慢慢去升华。其实编程语言就是要多练,怎么多练,就是代码量。自己多写,然后多观摩别人的项目,看人家的写法,模仿项目,一点点的积累,厚积而薄发。1、C语言制作斗地主发牌器通过本项目的学习,可以让学员掌握一些棋牌类的手机游戏中的发牌系统算法怎么编写,为学员就业后编写一些小的游戏类APP打下良好的基础。传送门:C语言:斗地主的发牌器 - 网易云课堂、2、Tinyhttpd(7.3k+ star)一个不到 500 行的超轻量型 HTTP Server,可以用来理解服务器程序的原理和本质。C语言 的入门级项目!传送门:https://github.com/EZLippi/Tiny3、db_tutorial(5.9k+ star)用 C 从零创建一个简单的数据库。传送门:https://github.com/cstack/db_tu三、计算机基础重要的计算机基础课是下面这些:数据结构与算法计算机组成原理操作系统计算机网络数据库1.数据结构与算法【重点内容】数据结构重要的主要是下面这几个:数组(Array):数组是一种聚合数据类型,它是将具有相同类型的若干变量有序地组织在一起的集合。链表(Linked List):链表是一种数据元素按照链式存储结构进行存储的数据结构,这种存储结构具有在物理上存在非连续的特点。栈(Stack):栈是一种特殊的线性表,它只能在一个表的一个固定端进行数据结点的插入和删除操作。队列(Queue):队列和栈类似,也是一种特殊的线性表。和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作。散列表(Hash table):散列表源自于散列函数(Hash function),其思想是如果在结构中存在关键字和T相等的记录,那么必定在F(T)的存储位置可以找到该记录,这样就可以不用进行比较操作而直接取得所查记录。堆(Heap):堆是一种特殊的树形数据结构,一般讨论的堆都是二叉堆。树(Tree):树是典型的非线性结构,它是包括,2 个结点的有穷集合 K。图(Graph):图是另一种非线性数据结构。在图结构中,数据结点一般称为顶点,而边是顶点的有序偶对。算法的话,需要掌握以下内容:基本算法思想:回溯算法、分治算法、枚举算法、贪心算法动态规划查找算法:二分查找、散列表查找、树结构查找字符串匹配:暴力匹配、KMP算法10大排序算法:冒泡排序、选择排序、插入排序、希尔排序、归并排序、堆排序、快速排序、计数排序、基数排序、桶排序【第一课】学习数据结构与算法的第一课,我永远都选复杂度分析,在我看来,这是数据结构与算法中最重要的知识点,且不接受任何反驳。复杂度分析包括时间复杂度和空间复杂度。文章推荐:保姆级教学!彻底学会时间复杂度和空间复杂度【书籍推荐】推荐《大话数据结构》以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。书籍地址:【视频推荐】《数据结构》,浙大陈越和何钦铭教授联合授课,其大名在计算机领域可谓耳熟能详了。这门课的主要特点是:对每一种重要的经典数据结构,都会从实际应用问题出发,导出其定义、实现(存储)方法以及操作实现,并以更丰富的综合应用案例和练习题帮助学员增强对理论的感性认识,从而明白这些数据结构为什么存在以及在什么情况下可以最好地解决什么样的问题。链接:数据结构_浙江大学_中国大学MOOC(慕课)【实战】数据结构与算法的学习,往往要伴随着“刷题”,如果没特殊情况,我建议大家刷 LeetCode 就好。刷题按照分类来刷,如果不知道刷哪几道题,可以看下这个前字节大佬的刷题笔记:针对 LeetCode,题的解法有很多,我们往往追求的是最优解,这里有一份清华学长整理的 LeetCode 最优解,强烈推荐:两者配合起来应该非常舒爽。我在大学的时候参加 ACM,拿过亚洲区预赛银奖,刷题贯穿了我的整个大学生涯,总结了一些刷题的经验,感兴趣的可以看下。算法题从入门到放弃?刷了几千道算法题,关于如何刷题有些话我想对你说针对算法小白,我总结了一套算法小白的刷题顺序,可以作为参考。2.计算机组成原理计算机组成原理,即“计算机”“组成”的“原理”。我觉得它是所有计算机基础课程中最难学的一门课,整个课程的核心就是使用数字逻辑电路和触发器搭建一个可以运行汇编指令的机器。【书籍推荐】入门系列《计算机是怎样跑起来的》、《程序是怎样跑起来的》深入系列《深入理解计算机系统》书籍地址:【视频推荐】视频首推卡内基梅隆大学的《深入理解计算机系统》系列课程,英语不好?没关系,有中英文字幕,看完这套视频,知识+六级顺利拿到手。链接:【精校中英字幕】2015 CMU 15-213 CSAPP 深入理解计算机系统 课程视频_哔哩哔哩_bilibili看这个视频的配套教材是《深入理解计算机系统》。此外,国内的可以看下哈工大刘宏伟老师的课程(135讲)链接:计算机组成原理(哈工大刘宏伟)135讲(全)高清_哔哩哔哩_bilibili3.操作系统无论你学习什么语言,都避免不了和操作系统打交道。所有语言的最后执行,都是靠操作系统。比如你学习 Java,用到多线程技术,实际上操作系统才是负责管理进程和线程的。不懂操作系统,你在未来学习编程语言的高级特性,涉及到线程进程调度,内存分配,或者是学习 Linux 相关的知识时,都会一头雾水。只有学会了操作系统,才能够更好地学习其他语言和技术。所以,操作系统是程序员进阶必会的知识。【书籍推荐】入门推荐《操作系统导论》、《现代操作系统》深入系列《深入理解计算机系统》书籍地址:【视频推荐】操作系统,说实话,在刚开始学的时候不建议直接闷头看书。因为书看起来是真没意思。这里推荐清华大学的操作系统课程,B站上可看。分上下。链接:【清华大学】操作系统 陈渝 全113讲(上)_哔哩哔哩_bilibili链接:【清华大学】操作系统 陈渝 全113讲(下)_哔哩哔哩_bilibili看视频的时候可以结合着上面的【书籍推荐】。看(上)的时候可以搭配《操作系统导论》看(下)的时候可以搭配《现代操作系统》4.计算机网络计算机网络的相关知识在工作时使用的频率较多的。学习计算机网络,你需要懂得Socket编程,知道TCP/IP网络模型,了解OSI七层网络架构,知道一个数据包是如何层层包装,再层层拆包,从客户端发送到服务端。但是计算机网络好学的多,因为计算机网络不抽象,在现实生活中,都能找的到例子。【书籍推荐】《图解 HTTP》、《计算机网络》绝大部分都在用谢希仁的这本《计算机网络》,讲的很好,浅显易懂,同样也是考研 408 的常用教材。书籍地址:【视频推荐】首先必须强推湖大教书匠的计算机网络微课堂,yyds!!!一个动图做的最好的计算机网络视频课程,老师讲课逻辑清晰而且特别容易懂,b 站上有视频,可以 1.5 倍速使用哟。链接:计算机网络微课堂(有字幕无背景音乐版)(陆续更新中......)_哔哩哔哩_bilibili还有推荐哈工大李全龙老师的《计算机网络》链接:哈尔滨工业大学 计算机网络_哔哩哔哩_bilibili5.数据库数据库就是存储数据的地方,但也不只是这么简单。学习数据库,不仅要懂得SQL语句,表设计结构这些基础部分,还要懂索引、慢查询优化,配置参数调优。再深入点儿还要学习SQL优化、备份与恢复、架构优化等等进阶内容。【书籍推荐】入门系列《SQL必知必会》、《MySQL必知必会》、《SQL学习指南》、《数据库系统概论》深入系列《MySQL技术内幕——InnoDB存储引擎》 《Redis设计与实现》书籍地址:【视频推荐】推荐人大王珊老师的《数据库系统概论》,别问,数据库领域 YYDS!链接:【公开课】数据库系统概论(王珊老师)(完结)_哔哩哔哩_bilibili四、编程语言进阶我选的是 Python,那这里我就来说下 Python 的学习路线。快速了解 Python我们学任何东西学习之前,肯定要先快速的了解它是什么,大概做到心中有数,帮我们初步判断一下这个是不是想进一步学习的东西,帮助消解一下面对未知时的恐惧。这里大家可以看一下GitHub上的这个项目,可以让你在短短几分钟之内了解一门技术:Python 视频推荐不管是零基础学习 Python 或者其他的编程语言,在刚开始的时候还是建议视频为主,书籍为辅。毕竟啥也不了解,直接上来就看书,立马从开始到放弃。Python 视频推荐【Python 基础】1、[小甲鱼]零基础入门学习Python我大二的时候有一段时间想转去 Python,当时也没买书,就想先了解一下,不知道怎么就搜到了小甲鱼的论坛,当时跟着他的视频学过一段时间,觉得讲的挺有意思,还专门去他网站冲了个永久的会员,好像一百多来着,后面好像再也没登陆过...后来看到小甲鱼的这门课在 B 站上已经 1500w+ 的播放量,搜索排名第一(不过第一的那个应该别人发的,他们自己的账号是200w+播放)。这个课程看起来有点老了,但是内容差别不大,后来又搜了一下,他们又录制了最新版的《零基础入门学习 Python》,现在是更新到了序列,觉得不错的小伙伴可以追一下,对新手还是比较友好的。旧版传送门:https://www.bilibili.com/video/av27789609新版传送门:https://www.bilibili.com/video/av520806982、微软 Python 入门课程这是微软放出的一门免费的 Python 教程,名字叫 Python for Beginners,专为初学者打造,一共有 44 个视频,每个视频的时长大概在 2-6 分钟之间,只有极少数的几个时间在 10 分钟以上。整个课程由两位讲师共同讲解,分别是微软高级项目经理Christopher Harrison和微软的 AI Gaming 开发经理 Susan Ibach,英文配中文字幕,食用起来极佳,同时课程的示例代码和 PPT 微软也同步到了GitHub 上,只能一句卧槽走天下了...如果你觉得这个教程不错,学完了基础可以看一下后续的微软官方的进阶教程,其实也是基础语言的一部分。传送门:https://www.bilibili.com/video/BV1nE41127zQ代码&PPT传送门:https://github.com/microsoft/c9-python-getting-startedPython 书籍推荐【Python 基础】1. 《Python编程 从入门到实践》这是我买的第一本 Python 书,当然也是刚开始学的时候看了别人的推荐,加之也是豆瓣评分 9.1 的书,就买来看看。理论 + 实践,前面是基础知识,后面是实战项目。前面的基础知识讲的很详细,以至于给我当时的感觉有点过于啰嗦了,不知道其他人看会是什么感觉。每个知识点后面都带着“动手试一试”,我感觉这点比较好,学编程之初,就是要多练,多敲代码...至于后面的实践部分,包括一个简单的 2D 游戏、数据可视化和 web 项目,可能是当时我太菜了,或者之前没有做过项目的原因,我觉得这三个项目出现的太突兀了,2D 那个游戏做完我就直接被劝退了,倒是没觉得有啥提升,没甚意思,sad...而且跟着书做项目,因为书出版的时间太长,很多用法都变了,照着书上做,大概率会有运行错误的时候,可能心态有点崩...2. 《零基础入门学习 Python(第2版)》我大二的时候有一段时间想转去 Python,当时也没买书,就想先了解一下,不知道怎么就搜到了小甲鱼的论坛,当时跟着他的视频学过一段时间(现在看来当时的视频比较老),还专门去他网站冲了个永久的会员,好像一百多来着,后面好像再也没登陆过...去年他的书出了第二版,就买来看了一下...怎么说呢,算是为当初看的视频充值了...非计算专业的同学可以拿来一看,如果你想系统学习一下的话,就别花这钱了,内容有点乱,这个得真的配合他的视频食用了,不然真的难顶,但如果一本书需要配合视频才能看懂,那也就不太推荐了...3. 《Python基础教程(第3版)》这本书是我朋友送我的,书到了以后一直在吃灰,因为那时候 Python 学的差不多了膨胀了...翻开也是很偶然,那天刚好很无聊,就随手拿出来翻了翻,然后就翻完了,怎么说呢,这本书的内容给人一种很舒适的感觉,我很少有觉得读起来很舒服的技术书...整个的结构很清晰,内容简单但是不肤浅,整个基础知识的讲解简洁明了,一点也不啰嗦,很容易就看懂了,不会有那种我看了好几遍才理解的情况(os:我什么时候也能写成这样),各种小的代码片段比比皆是,在练习的过程中反过来再加深对概念的理解。而且作为实践部分,它后面带了十个小项目,按照实际开发的步骤介绍Python 项目的过程。如果实在让我推荐一本,我是会推荐买这本书的...希望对你有所帮助码字不易,记得帮我 @Rocky0429 点个赞呀。

我要回帖

更多关于 汇编语言有必要学吗 的文章

 

随机推荐