新生大一,学计算机的血泪经验?

163 篇文章 13 订阅
73 篇文章 1 订阅

宝子,别太紧张,你刚大一,想干什么?不用焦虑,本篇血泪经验谈不上的,大学,只要你不放肆玩,简单有一些规划就会突出很多,该玩玩 该学学

首先必须掌握一些知识外的能力

1.学会使用搜索引擎。没开玩笑,不要觉得这个不用别人说,你光知道不使用,同样归为不知道


网络是计算机科学的重要部分,因此网络上没有任何一门其他学科的资源数量能够和计算机学科比肩。如果在专业课学习过程中出现了任何问题,首选的解决办法就是上网搜,CSDN、博客园、知乎等网站博客提供的帮助是巨大的。(不少人会建议用google、stackoverflow等,但我认为对于小白而言百度就足够了,后续逐步向英文过渡)


2.学会使用网课资源。大学上课有个最鲜明的特点是老师教课质量普遍不是很好(部分老师除外),要么就是讲的特别快,要么就是单纯念PPT,整理给你一些,少走弯路

一、数据结构

首先掌握常用的、基础的。然后在此基础上往进行扩展学习。

常用的、基础的数据结构和算法有20个。

数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树

算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。

这些需要一一拿下。怎么学? 对 C 语言还不太熟练的时候,学习数据结构时可以找一本经典的数据结构书,看完一个数据结构后用 C 语言将其实现。开始时的实现肯定会有困难,那么请 google 下会有很多优秀的数据结构源码的。

对于数据结构的入门,看浙江大学的mooc非常好,讲解的比较基础,而且后面有相应数据结构的习题,对于掌握这种数据结构非常有利。这门mooc的数据结构都是C语言底层实现的,你可以自己编写每种数据结构如何实现的,加深理解。

数据结构_浙江大学

书籍的话,推荐大话数据结构

数据结构与算法分析,感觉前面一部分还不错,后面算法设计思想部分不建议看,有C语言和java还有python版本可以按照自己需要来看。

在掌握这些基础数据结构的特点,能够灵活应用之后,就可以更进一步的学习算法了,将两个部分结合在一起,对于面试笔试中的算法题目就会得心应手。

二、计算机网络

计算机网络的核心在于

协议----LINUX操作系统----C/C++

这三块结合起来,并不断的实践和思考~~才能成为真正高手,怎么学?

书籍入门可参考以下:《图解HTTP》、《图解TCP/IP第5版本》

如果你是非计算机专业的小白,对于计算机网络一窍不懂,连最基本的HTTP都没听过,那我建议你先去看看《网络是怎样连接的》。

这本书会从总体为你讲清楚计算机发送请求的整个过程!

三、操作系统

1、Windows操作系统

应用比较广泛。

2、Linux操作系统

免费使用,类UNIX

3、Unix操作系统

无界面,使用命令操作,一般安装在服务器上面。

4、Mac操作系统

苹果公司开发的,一般PC不能使用。 怎么学?操作系统的核心,就是由下面这些东西构成的:

  • 管理程序运行:线程管理、进程管理
  • 管理内存资源:内存管理
  • 管理硬盘资源:文件系统
  • 管理网卡资源:网络协议栈
  • 管理输入输出:中断管理、同步与异步
  • 为应用程序提供接口:系统调用

转csdn:一名教师的建议:

想学操作系统的同学,推荐以下教材供选择:

概念和理论:《现代操作系统》、《操作系统概念》

基于Unix:《Unix操作系统设计》

基于Linux:《深入理解Linux内核》

基于Windows:《深入解析Windows操作系统》

操作系统设计:《操作系统设计与实现》

源代码分析:《Linux内核源代码情景分析》

四、计算机组成原理

冯诺依曼机的特点:

1)计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备5大部件组成。

2)指令和数据以同等地位存储在存储器中,并可按地址寻址。

3)指令和数据均用二进制代码表示。

4)指令由操作码和地址码组成。操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。

5)指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序。

6)早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器和存储器传送数据。

不同级别的语言:

机器语言: (二进制语言)计算机唯一可以直接识别和执行的语言。

汇编语言: 用英文单词或其缩写代替二进制的指令代码,易于人们记忆和理解。

高级语言: 为方便程序设计人员写出解决问题的处理方案和解题过程的程序。

怎么学?

《计算机组成原理》、《操作系统》,《计算机组成原理》是可以当成“小说”来看的课程,不要苦大仇深把它当成理论学,而是把课本想象成一个给你讲计算机运行原理的评书人。 比如学到《系统总线》的时候,你就想:计算机部件之间的通讯如果是通过一根线来进行的话肯定非常慢,因为数据、控制信息等都要通过一根线进行,而如果分成数据总线、地址总线和控制总线三条线的话数据、控制、地址信息就可以并行进行,所以速度就快了。然后你就可以到网上搜PCI、ISA总线等的介绍,南北桥芯片的介绍等,这样你就能把知识做到“不用刻意记就记住了”。

以上打好基础不容易,学习编程语言资料遍地都是,很多地方,B站,网易什么的,知乎上自学课堂也挺全的,一堆免费教程,想学就可以学。

 java20天入门:

工作内容:做后端开发与前端开发不同的是,他们写的代码大多是用户不会直接使用到的代码,也就是非用户接口代码。比如:逻辑判断、数据库等等。后端的工程师目前使用最多的就是Java。

Java入门基础视频教程,java零基础自学首选黑马程序员Java入门教程(含Java项目和Java真题)_哔哩哔哩_bilibili

python8天入门 :
大数据工程师:需要负责创建和维护数据分析基础架构,包括大数据架构的开发、构建、维护和测试,例如数据库和大数据处理系统。另外,还负责大数据工程师还负责创建用于建模,挖掘,获取和验证数据集合等流程。最新Python教程,8天python从入门到精通,学python看这套就够了_哔哩哔哩_bilibili

前端15天入门
工作内容:前端开发,是用HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。最新前端开发入门教程,web前端零基础html5 +css3+前端项目视频教程_哔哩哔哩_bilibili

软件测试5天入门:
工作内容:
除了要测试软件的不足,还要分析软件质量的好坏,需要根据测试的结果来分析,计算出软件的缺陷率和缺陷分布的情况,以及提出对软件修复的趋势等。测试工程师需要给出软件各种质量特性的具体度量,比如功能性、可靠性以及易用性等,并得出结论提交给软件开发工程师。

最新软件测试视频教程,软件测试基础入门到项目实战(涵盖软件测试基础+黑马头条项目实战)_哔哩哔哩_bilibili


3.善于利用现有工具。现有工具可以避免造轮子的重复工作。巧妙的利用一些工具可以极大的编程负担。这里强推GNU工具链,里面提供了许多linux环境下有用的工具。对于小白而言,接触这些工具有些早了,但是希望你们不要忘记这些工具的存在。

主要工具介绍

在 GNU 工具集里面,开发时常见到的几个罗列如下(这些工具通常位于 Linux 或 Unix 系统里的 /usr/bin/ 目录):

工具说明
gccGNU C 语言编译器。
g++GNU C++ 语言编译器。
ldGNU 链接器,将目标文件和库文件链接起来,创建可执行程序和动态链接库。
ar生成静态库 .a ,可以编辑和管理静态链接库。
make生成器,可以根据 makefile 文件自动编译链接生成可执行程序或库文件。
gdb调试器,用于调试可执行程序。
ldd查看可执行文件依赖的共享库(扩展名 .so,也叫动态链接库)。


4.学会读文档。在日常编程过程中总会遇到各种问题,这个时候如果搜索引擎没有查到的话,那就去读官方文档。例如在3中提到的GNU工具链每一个工具都有一个官方说明文档,里面会有工具的入门使用介绍,工具原理以及一些不常见但好用的功能。这些都是csdn等博客不会提及的。

官方文档不一定好找,这里直接给出地址:

Java 官方提供了 Java 8 在线 API 文档,网址是 http://docs.oracle.com/javase/8/docs/api/ 

python 官方中文文档地址:https://docs.python.org/zh-cn

还有C语言/C++我们可以阅读:http://en.cppreference.com/w/

php官方文档:http://www.php.net/download-docs.php

Ruby官方文档:https://www.ruby-lang.org/en/documentation/

Solidity 最新 0.5.8 中文文档 , 文档地址: https://learnblockchain.cn/docs/solidity/

等等

5.多和学长学姐还有同学交流。有的时候自己一个bug可能好几天都找不出来,或者说一个问题想了好久也想不出来,这时不如和同学交流交流,也许对方的一句话就可以点醒你!有大佬当然是要抱紧大腿了!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值