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

今年刚从 985 软工毕业的研究生学长来说下吧,本科 CS,在计算机呆了 7 年,很有发言权!首先来看一张图,计算机专业大学四年需要学习的特别重要课程。可能不同学校有所差异,基本上都大同小异。要说学习路线的话,计算机课程在核心课程上,基本上 90% 是一样的,大概都在上面的图里了。大学的自由时间一大把,只靠上课听讲远远不够。上课你不睡觉我都算你是条好汉,主要上大学,是大学生了,不能只低头拉车,更要抬头看路!不管是计算机科班学生还是非科班的学生,想学习计算机科学与技术,我感觉做好两点就够了:掌握一门扎实的编程语言。编程语言是工具,是我们吃饭的家伙什。掌握是啥,是熟悉,不是了解就行。扎实的计算机基础知识。计算机基础知识重要的基本上就是“数据结构与算法”“计算机组成原理”“操作系统”“计算机网络”“数据库”。其实总而言之,对于学习计算机专业,技术才是最重要的。当然也要多读点计算机的专业书籍,为了节省大家找的时间,我已经做了整理:通常一个人选择去做一件事,就一定有学习这种知识或者是技能的诉求。我们都知道的一个朴素道理,如果你做一件事没有理由,那么你基本上不可能把它做好。所以在你上大学的初期,一定要想明白自己之后想要干啥,认真思考未来,这个动作越早做越好,毕竟目标导向。其实你大学所有的努力,是为你所想的未来服务的。大学生涯和中学生涯不同,要多思考。如果你的目标是自己变得牛逼,那你大学四年可以这样。大一:学好计算机导论,学好入门编程语言(一般是 C 语言)大二:基本要学习面向对象编程语言,一般是 C++/Java,学好计算机基础课程:数据结构与算法、计算机组成原理。大三:学好操作系统、计算机组成原理、数据库这些基础课,现在课程该学的差不多了,有机会就出去找份实习,或者跟实验室老师做项目,或者下学期开始准备考研、保研。大四:更是没课,考研的考研,实习的实习,别闲着。题主转到计算机专业是大二了,暑假可以把上面列的大一大二要学的内容预习一下。我下面会把整个大学四年涉及到的重要的学习课程路线写在下面。下面都是很干的干货,麻烦动动小手帮我 @Rocky0429 点赞,么么哒。一、计算机导论计算机专业导论是面向非计算机专业人员和学生介绍计算机基础知识的计算机基础教程。内容涉及计算机应用,Internet,与计算机交互,音频、视频和打印,数据处理,存储数据,操作系统,应用软件,网络,在线世界,数据库管理,信息系统,软件编程和开发,以及计算机安全等内容。其实算个科普教程,上大学的第一门课,这门课能不能学好完全看老师讲的好不好。我就很幸运,不知道是不是因为是实验班,当时给我们上这门课的是我们院长,造导弹的间隙来给我们上个课,讲的非常风趣幽默,无愧大佬。作为一个计算机小白,真正从那一刻开始觉得:诶,计算机不错呦。呃,如果你的老师只是个讲 PPT,听的云里雾里的。不慌,我来给你推荐门课:《计算机科学速成课》,通过图文并茂生动形象的介绍计算机的基础知识。关于这个我写过一篇文章:B站收藏 6.1w+!GitHub 标星 3.9k+!这门神课拯救了我薄弱的计算机基础在这我简单摘要一下:一共 40 集,都是英文的可能对英语不好的同学来说难度太大,但是不要慌,国内一些爱好者早已经把它们翻译成中文。这门 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 语言了。其他立志做技术行的同学,从 C 语言入门百利无害。很多人都觉得 C 语言入门难,不能像 Python 这种编程语言一样快速获得成就感。为啥现在还有这么多技术大佬建议学一下 C 语言呢?因为 C 语言是一门面向过程的语言,运行速度极快,是计算机产业的核心语言,像操作系统、硬件驱动、数据库这些都离不开 C 语言。不学 C 语言,就很难深入了解计算机底层的运行机制。现在常见的高级语言的底层几乎都是 C 语言实现的。在大学的时候搞 ACM,用过三年的 C 语言,自认为比较熟悉,给大家总结一下 C 语言的学习路线。我写过关于 C 语言得学习路线,下面我给大家摘要一些重要得内容。C 语言的学习其实就三个阶段就好了:(1) 入门阶段这个阶段学习 C 语言的基础语法知识。目标是可以开发一些简单的控制台小程序。(2) 提高阶段下·这个阶段学习 C 语言自带的库函数,形成 C 语言的基本知识框架。目标是开发一些基本的应用程序。(3) 应用阶段这个是实战阶段,要具备一定的综合性应用软件开发能力。目标是能够开发像贪吃蛇、图书管理系统、学生信息管理系统等项目。入门阶段1.视频推荐此时同学们应该是小白阶段。对于小白来说,不建议上来就看书,因为干看看不懂,容易劝退。可以先从视频教程开始。C 语言的视频教程我只推荐一人:浙江大学翁恺老师的 C 语言课,yyds!是一个课程质量非常棒,讲课幽默,深入浅出的课程,非常容易理解!当时学 C 语言的时候,自己还是个从来没接触过编程的菜鸡,当时的学习全靠翁恺老师了!不多说,看过的都知道。翁恺老师的课是在 MOOC 上开的。主要分两门:第一门是面向高考结束想提前自学一些编程的或者是刚开始学习的大一新生,叫《程序设计入门-C语言》,涵盖了主要的 C 语言知识点。完成本课程之后,就能具有初步的运用C语言编写程序的能力。2.第二门是《C语言程序设计进阶》,这门课就是要告诉你C语言到底有哪些独特的地方,为什么能长期占据15%上下的编程语言份额。这门课同样也是带你项目实操,和设计入门搭配使用,效果翻倍。2.书籍推荐我姑且认为现在题主有了一点基础,可以能配合视频看书了。《啊哈 C语言》这本书是为计算机纯小白量身打造。风格幽默,生动形象,通俗易懂,读起来令人耳目一新,对入门小白培养兴趣的帮助很大。在语言艺术这方面,是登峰造极,让人不得不佩服作者的才华和用心。只不过内容并不深入,真的是对零基础,大佬绕路。《c primer plus》语法全覆盖,细节多,知识点讲的清楚,但是内容极多,是本大部头,容易劝退。如果你觉得入门差不多,可以啃一下。现在是第六版了,书的封面啥的都换了,内容也更贴合现在的需求。一共17章:第1、2章介绍了C语言编程的预备知识。第3~15章详细讲解了C语言的相关知识。第16章、17章介绍C预处理器、C库和高级数据表示。书籍地址:提高阶段1.书籍推荐《C 和指针》指针和指针操作一直是c语言中的重点和难点,反正我当时学到这里的时候,就很头疼。这本书是 C 指针的经点之作,通过对指针的基础知识和高级特性的探讨,来让我们学会把指针的强大功能融入到自己的程序中去。但是这本书不只是指针,更是一本很棒的 C 语言入门书,提供和C语言相关的全面资源,还有比较深入的讨论,让你形成一个正确的c语言观。《C 专家编程》任何人都可以享受编程,编程应该是一项精妙绝伦、充满生机、富有挑战的活动,而讲述编程的书籍也应时时迸射出激情的火花。这本书展示了最优秀的 C 程序员所使用的编码技巧,还对 C++的基础知识进行了介绍。书里关于 C 的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习 C++ 这些内容进行了细致的讲解和深入的分析。差不多对几十个实例进行讲解,生动有趣,对 C 程序员具有非常高的实用价值。《C 陷阱与缺陷》任何人都可以享受编程,编程应该是一项精妙绝伦、充满生机、富有挑战的活动,而讲述编程的书籍也应时时迸射出激情的火花。这本书展示了最优秀的 C 程序员所使用的编码技巧,还对 C++的基础知识进行了介绍。书里关于 C 的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习 C++ 这些内容进行了细致的讲解和深入的分析。差不多对几十个实例进行讲解,生动有趣,对 C 程序员具有非常高的实用价值。书籍地址:应用阶段学编程除了理论外,更重要的是要应用,应用很好理解,前期多敲代码,之后慢慢去升华。其实编程语言就是要多练,怎么多练,就是代码量。自己多写,然后多观摩别人的项目,看人家的写法,模仿项目,学习其中的思想,一点点的积累,一步步形成自己的东西,厚积而薄发,慢慢你就会发现你也可以了。1、C语言制作斗地主发牌器通过本项目的学习,可以让学员掌握一些棋牌类的手机游戏中的发牌系统算法怎么编写,为学员就业后编写一些小的游戏类APP打下良好的基础。传送门:C语言:斗地主的发牌器 - 网易云课堂、2、C语言实现通讯录/图书管理这个课程将使用 C 语言完成一个简单的通讯录。会涉及到结构体、数组、链表等重要概念,需要对 C 语言有一定的了解。地址:C 语言实现通讯录_C - 蓝桥云课3、C语言实现2048小游戏2048是之前十分火爆的一款益智游戏,这个课程将使用 C 语言完成一个2048游戏。适合对C语言有一定基础,需要了解C语言,以及绘图库ncurses的实用。大大提高你的动手能力。地址:C 语言实现 2048 游戏_C4、Tinyhttpd(7.3k+ star)一个不到 500 行的超轻量型 HTTP Server,可以用来理解服务器程序的原理和本质。C语言 的入门级项目!传送门:https://github.com/EZLippi/Tiny5、db_tutorial(5.9k+ star)用 C 从零创建一个简单的数据库。传送门:https://github.com/cstack/db_tu三、计算机基础计算机基础一定要好好学,不管以后面试找工作还是保研、考研都很有用。我写过关于计算机基础得学习路线,跟着整没问题!主要内容是下面这几门:数据结构与算法计算机组成原理操作系统计算机网络数据库数据结构与算法程序 = 数据结构 + 算法。数据结构经常与算法放在一起,在有些高校,会存在“数据结构”和“算法设计与分析”这样两门课。这就造成很多同学懵圈,数据结构与算法有什么区别?甚至有些同学认为这就是一种。其实吧:数据结构主要讲解数据的组织形式。就是我们要怎样把这些数据存储起来,所以有数组、链表、栈、队列、树、图,这是数据结构的重点。算法,则注重的是思想。比如数组里的元素怎么排序、怎么找到最大的数和最小的数等等。说白了就是解决现实中问题的思想。所以才会有贪心、动态规划等这些算法。【数据结构】数组(Array)链表(Linked List)栈(Stack)队列(Queue)散列表(Hash table)堆(Heap)树(Tree)图(Graph)【操作数据结构】查找插入删除修改排序【算法】学习算法的套路很简单,多看、多写、多上机。回溯算法分治算法枚举算法贪心算法动态规划查找算法二分查找散列表查找树结构查找字符串匹配暴力匹配KMP算法10大排序算法冒泡排序选择排序插入排序希尔排序归并排序堆排序快速排序计数排序基数排序桶排序计算机组成原理计算机组成原理,即“计算机”“组成”的“原理”。我觉得它是所有计算机基础课程中最难学的一门课,整个课程的核心就是使用数字逻辑电路和触发器搭建一个可以运行汇编指令的机器。操作系统无论你学习什么语言,都避免不了和操作系统打交道。所有语言的最后执行,都是靠操作系统。比如你学习 Java,用到多线程技术,实际上操作系统才是负责管理进程和线程的。不懂操作系统,你在未来学习编程语言的高级特性,涉及到线程进程调度,内存分配,或者是学习 Linux 相关的知识时,都会一头雾水。只有学会了操作系统,才能够更好地学习其他语言和技术。所以,操作系统是程序员进阶必会的知识。计算机网络计算机网络的相关知识在工作时使用的频率较多的。学习计算机网络,你需要懂得Socket编程,知道TCP/IP网络模型,了解OSI七层网络架构,知道一个数据包是如何层层包装,再层层拆包,从客户端发送到服务端。但是计算机网络好学的多,因为计算机网络不抽象,在现实生活中,都能找的到例子。数据库数据库就是存储数据的地方,但也不只是这么简单。学习数据库,不仅要懂得SQL语句,表设计结构这些基础部分,还要懂索引、慢查询优化,配置参数调优。再深入点儿还要学习SQL优化、备份与恢复、架构优化等等进阶内容。四、新编程语言学习我选的是 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 项目的过程。如果实在让我推荐一本,我是会推荐买这本书的...五、实战演练对于计算机专业来说,实战是非常重要的,因为这决定着你的生产力。说几个途径吧:参加比赛大学期间含金量比较高的几个比赛:ACM程序设计竞赛CCPC 全国大学生程序设计竞赛蓝桥杯Kaggle天池因为我是做 ACM的,数据结构与算法的学习,往往要伴随着“刷题”。我总结了一些刷题的经验,感兴趣的可以看下。算法题从入门到放弃?刷了几千道算法题,关于如何刷题有些话我想对你说刷题网站可以在下面这些选择:有哪些学习算法的网站推荐?如果是不想参加ACM,为了锻炼数据结构与算法得学习,我建议大家刷 LeetCode 就好。刷题按照分类来刷,如果不知道刷哪几道题,可以看下这个前字节大佬的刷题笔记:针对 LeetCode,题的解法有很多,我们往往追求的是最优解,这里有一份清华学长整理的 LeetCode 最优解,强烈推荐:两者配合起来应该非常舒爽。针对算法小白,我总结了一套算法小白的刷题顺序,可以作为参考。实习实习是比较好的方式。最好能去大厂实习。一方面可以提前接触第一手的项目,有大佬带,学习经验,另一方面可以提前感受互联网公司的工作强度和工作氛围。刷题这个我在数据结构与算法那提过,就不再过多表述。开源项目可以参加学校实验室的项目或者参与 GitHub 上比较好的开源项目,锻炼自己的能力,开拓自己的视野。如何在 GitHub 上寻找开源项目,可以看这个回答:C 开源项目C++ 开源项目Python 开源项目希望对你有所帮助码字不易,如果觉得不错,记得帮我 @Rocky0429点个赞,让我看到你!}

我要回帖

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

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信