怎么系统的学习IT技术?

你大爷



一般来说对于计算机科学的学生来说,下述课程是非常关键的:提醒:学习时注意把握合理的深度,不可太浮于表面,也不可太过拘泥于部分细节,对于初学着重掌握基础内容,能在概念上建立一个合理的认识就可以。真正的学习是在后面的职业生涯中完成的。

一、基础篇(理论与硬件)这一部分关注的是计算机的基本理论与基本实现。包括硬件结构理论,以及软件与硬件的交互。以理论开篇,在机器语言部分深入,最终在操作系统部分达到高潮。

1、计算机实现计算的原理。这包括门电路是如何实现计算的,时序电路是如何实现存储的,冯诺依曼体系结构是如何将二者结合实现了真正的现实世界的计算机的,以及它是如何反映图灵机这一理论计算模型的。其间会学习布尔逻辑。2、如何控制计算机硬件。这部分使用的“工具”就是机器语言和汇编语言。我们需要理解机器语言的本质,以及它如何以“汇编语言”这种更容易理解的形式为程序员提供了控制硬件设备的机会。这部分可以学习到很多非常低级但是本质的内容。3、操作系统是如何工作的。如果你理解了上一部分的计算机硬件相关的问题,那么理解操作系统的工作原理将不会那么困难。另外你将明白操作系统作为硬件和上层软件的中间层次,是如何大大简化了人们对硬件的操作过程的。

二、进阶篇(软件系统)1、编程语言。这包括结构化编程语言以及面向对象编程语言。因为有很多选择,其实以一门语言开始即可,如果你在前面正确的理解了硬件与机器语言,那么C语言入门真是太简单了,如果你运气不好,觉得C很困难,那么即使是从Python、Javascript开始学习也没问题。重点在于理解编程中和语法相关的基本概念,并了解一些简单的算法知识。2、数据结构与算法。说白了就是如何合理的组织数据,通过其结构特点来简化编程或者提高计算的效率。这里的内容是模式化的,所有人都需要学习无序结构、有序线性结构、树结构、图结构等。另外,排序算法、查找算法必须学好,特别是算法策略如递推、递归、蛮力(穷举)、分治、动态规划等也必须有所实践和了解。切记不必深陷其中,这里是个大坑,你不可能真的“精通”他们。3、编程语言是如何实现的。这里主要涉及编译原理。当你站在高级编程语言实现者的角度再来认识编程语言本身的时候,许多问题豁然开朗。这会深刻的改变你的编程观。可惜的是即使是很好的学生在这里也会遇到很大的阻力。真正的问题不是这方面理论性有多强,而是教材都很烂——包括国外教材(什么龙书虎书鲸书都根本不是为初学者准备的),而且语焉不详。这导致大部分人都感觉莫名其妙高深莫测。如果你不是有志攀登软件设计的最高峰,可以绕行。否则从表达式运算解析开始,逐步引入变量,类型,控制结构,函数,再到对象,一步步构建出解析器,然后结合前面学习的硬件接口知识,将其转换为低级表示,最后你会发现没有那么可怕。

三、基础领域篇(必备领域知识)1、互联网络是如何构成的。这部分包括网络的基本知识,主机间通信的原理,转发设备的实现,以及互联网络的构成。这是网络编程所需的基础知识。除了理解低级协议,也要花一些时间了解应用层的协议,特别是 SMTP、POP3、FTP、HTTP 等,重点是了解他们的基本原理,而不是每个细节。因为每个协议都有自己的标准,光 HTTP 协议就够你研究 6 个月以上了。这里注重的是原理。2、如何管理大量的数据并在其上建立信息系统。数据库是一个很好的例子。包括数据库系统的基本理论,实现原理,以及设计原则。同样,这里不是真的在教你如何构建一个数据库系统,而是在学习他的核心原则,重点是学会如何合理的设计表结构,以及实现效率良好的SQL查询语句。

四、扩展领域篇(特定领域知识)1、基于特定平台的软件开发。如何在Windows平台、Linux平台、Mac OS平台或者手机、平板、电视机、微波炉上完成开发?这需要学习特定的软件平台提供了哪些编程接口,如何编译并部署,如何调试和测试等知识。这部分就是软件工程师职业生涯中最耗费时间的部分。2、有效的软件研发是如何实现的。这包括软件结构的设计知识,软件实施流程的管理知识,以及一些细微而繁杂的内容。人们通常用软件工程一词来概括。但事实上软件工程站的角度要更高一些,这里只是涵盖软件工程的一小部分。

五、科技领域篇(研究性知识)如果你对人工智能、科学计算、图像处理感兴趣,这里还有大片的区域等待你探索。

事实上,上面的描述有些吓人。每一个领域都够耗尽去很长的时间。不过好消息是大部分知识都只要求在理论上理解。真正的耗费时间的部分还是在与编程、编程、编程。不是每个人都会用到数据库系统,也不是每个人都需要懂得汇编语言。但是这些背景知识会对你有帮助。让你不再害怕,对自己更有自信。

如果你希望自己成为一个很棒的开发人员,那么上述知识都是必须的。但是却依然远远不够。学无止境,计算机科学尤其如此。

我说的实在太多了。思考和打字差不多耗费了我一个小时。我不太确定这些对你是否有帮助。我希望有,至少有那么一些。但我有点害怕,似乎我的描述不是在帮助你克服困难,而是制造了更多看似难以逾越的高山。

但我想说:走入编程,然后走出编程。编程是为解决问题服务的,我们应当多思考想要解决的问题是什么。这会在我们迷茫的编程生涯中起到指南针的作用。它会告诉我们需要学习什么,然后由我们自己来回答如何学习。

我的一位朋友是做生物科技的,他需要在海量的DNA序列里快速的进行基因片段的比较。为了完成这一任务,他学习了 Python,并着重学习了数据结构和算法相关的内容。虽然最后他写出来的程序外表看起来很简单,但是却速度飞快,为他的事业贡献了无形的资产。这就是他的起点。但是他并不满足。他继续学习如何增强程序的稳定性,如何编写更好的界面等等。现在他的软件真的非常棒,一些关键的效率相关部分已经替换为C++实现,界面也做得很专业。天啊,真的无法相信,这就是一位生物领域的研究人员自己亲力亲为的成果。即使是用苛刻的眼光来看,现在他的软件也相当不错。我举这个例子,想说明的核心在于,知识的学习,要想高效,一个广为大众所接受的观点就是应当围绕一定的具体的目标来进行。如果我们知道我们想要解决的问题是什么,那么我们进一步确定要学习哪些编程知识就会比较容易。相反,为了学而学,泛泛而看,效果通常都是很差的。只能给你留下一些大致的印象,而无法成为你真正的可用的知识。

我的话说完了。虽然还有很多可以讨论的东西。但是时间所限,也许我们下次有机会还可以再讨论另外的一些观点和体会。再次感谢邀请。


北大青鸟海南大立校区


怎么系统的学习IT技术?

不知题主目前是学生还是其他行业的人员,结合两者的实际情况,个人认为路线会有所不同。

如果是学生建议同步计算机相关专业的课程

大致路线:C/C++语言,操作系统原理,计算机网络,关系型数据库原理,数据结构与算法,linux编程。而后再选择一门自己喜欢的编程语言以及希望涉及的领域深入学习。

主要是考虑到如果是学生,那么时间相对充足,系统性学习可以让自己的基础更加扎实。

如果是其他行业朋友,建议先有一技之长

大致路线:先学习一门自己喜欢的语言、数据库的基本使用、linux编程,因为这是最实用的几项内容。接着再学习数据结构与算法、深入学习所使用的语言、操作系统原理库、计算机网络。

主要考虑到精力可能不足,并且可能需要找工作,那么先掌握一技之长,再回过头来学习基础知识显然更加现实。


不过IT技术的范围太广了,所以到最后终究都是在各自的领域深入,通常普通人是无法做到样样精通的。


神奇码农


对于非IT专业的人来说:

第一:学习操作系统知识。操作系统是重要的基础知识,包括操作系统体系结构、资源管理、任务调度、并发控制、安全管理、权限管理、程序管理、网络管理等内容,这些内容的学习会对操作系统形成一个整体的认知,也会为学习其他计算机技术打下一个良好的基础。建议从学习Linux系列操作系统开始,CentOS和Ubuntu都是不错的选择。

第二:学习一门编程语言。随着大数据和人工智能技术的不断发展,编程语言将在未来得到更广法的使用,比如进行数据分析和操作智能化设备。编程语言有多种选择,包括C、Java、Python、PHP、JavaScript等语言都是不错的选择,从目前的发展势头来看,Python语言是一个不错的选择。Python语言目前在大数据和人工智能领域的应用比较普遍,而且Python语言比较简单,学习起来相对容易一些。

第三:计算机网络知识。网络知识是计算机知识结构中的重要组成部分,掌握计算机网络知识包括网络体系结构、通讯协议、数据交换原理、网络安全等内容。在学习计算机网络知识的同时,可以辅助一些实验操作来加强印象,比如配置网关设备等。

通常情况下,还需要学习数据库和算法设计的相关内容,但是对于非IT行业的从业者来说,可以先从操作系统和编程语言开始学起,其他知识在进行编程实验的过程中会陆续接触到。


壹玖玖贰


我是东东生活小记 很高兴为你回答

一、兴趣最重要

俗话说:“兴趣是最好的老师“,像IT技术这样枯燥的课程没有兴趣的引领和积极系统的思考很难去探索,容易半途而废,兴趣一种是本身对IT技术的喜爱,一种是由于工作的需要,通过解决问题而引发的兴趣,平时这两种兴趣要相互结合,在实践中发现问题,解决问题,让兴趣引领你前行。

二、做好计划

每天给自己制定技术要看多少知识点,做多少实践,计划自己每天掌握着方面技术的多少。有计划才能查缺补漏,每天都有所收获,及时记录好所要解决的问题,所要学习的知识点,及时对知识点进行梳理,不确定的即时用实践去验证,不至于整天浑浑噩噩,不了了之,形成不了系统的学习。

三、要多实践

学技术理论是不可少的,但是没有实践支撑的理论,也是站不住脚的,多实践操作才能加深对理论的理解,帮助你记忆知识,实践之后还要多思考,形成知识牵引,和理论知识点联系,形成系统的思考。比如宝德网络技术,在华为认证的培训中就十分注重学员的实践问题,学员甚至有机会参与系统项目的开发和管理,真正做到实践和理论相结合。

四、学习环境

如果你没有一个相互学习、相互督促的同伴,至少也要给自己一个安静的环境,不要相信自己的意志力,人是很容易被引诱和动摇的,解决了环境问题之后,就要看你的毅力了,其实毅力就是一个习惯的问题,虽然刚开始过程很艰难,但是坚持过之后,日积月累,你就发现自己不知不觉中已经学习很多了。


东东小厨


尽管现在IT人才紧缺,IT行业前景大好,导致很多人积极投身于TI行业,但是不是每个人都能学好IT技术,想要成为更高级的IT技术人员,就需要更大的努力和付出,那么怎样才能学好IT技术呢?一、兴趣最重要俗话说:“兴趣是最好的老师“,像IT技术这样枯燥的课程没有兴趣的引领和积极系统的思考很难去探索,容易半途而废,兴趣一种是本身对IT技术的喜爱,一种是由于工作的需要,通过解决问题而引发的兴趣,平时这两种兴趣要相互结合,在实践中发现问题,解决问题,让兴趣引领你前行。二、做好计划每天给自己制定技术要看多少知识点,做多少实践,计划自己每天掌握着方面技术的多少。有计划才能查缺补漏,每天都有所收获,及时记录好所要解决的问题,所要学习的知识点,及时对知识点进行梳理,不确定的即时用实践去验证,不至于整天浑浑噩噩,不了了之,形成不了系统的学习。三、要多实践学技术理论是不可少的,但是没有实践支撑的理论,也是站不住脚的,多实践操作才能加深对理论的理解,帮助你记忆知识,实践之后还要多思考,形成知识牵引,和理论知识点联系,形成系统的思考。比如宝德网络技术,在华为认证的培训中就十分注重学员的实践问题,学员甚至有机会参与系统项目的开发和管理,真正做到实践和理论相结合。四、学习环境如果你没有一个相互学习、相互督促的同伴,至少也要给自己一个安静的环境,不要相信自己的意志力,人是很容易被引诱和动摇的,解决了环境问题之后,就要看你的毅力了,其实毅力就是一个习惯的问题,虽然刚开始过程很艰难,但是坚持过之后,日积月累,你就发现自己不知不觉中已经学习很多了。


闫网好


IT,在很多看来是高大上的名字,但是在很多人看来又是辛苦的称谓。因为学习it并不容易,那么如何系统有效的学习it技术?以下是学习啦小编分享给大家的有效的学习it技术的方法的资料,希望可以帮到你!

一、学习兴趣

俗话说:“兴趣是最好的老师“,像IT技术这样枯燥的课程没有兴趣的引领和积极系统的思考很难去探索,容易半途而废,兴趣一种是本身对IT技术的喜爱,一种是由于工作的需要,通过解决问题而引发的兴趣,平时这两种兴趣要相互结合,在实践中发现问题,解决问题,让兴趣引领你前行。

二、做好计划

每天给自己制定技术要看多少知识点,做多少实践,计划自己每天掌握着方面技术的多少。有计划才能查缺补漏,每天都有所收获,及时记录好所要解决的问题,所要学习的知识点,及时对知识点进行梳理,形成系统的学习。

三、要多实践

学技术理论是不可少的,但是没有实践支撑的理论,也是站不住脚的,多实践操作才能加深对理论的理解,帮助你记忆知识,实践之后还要多思考,形成知识牵引,和理论知识点联系,形成系统的思考。天软集团就十分注重学员的实践问题,学员可以参与系统项目的开发和管理,真正做到实践和理论相结合。

四、学习环境

如果你没有一个相互学习、相互督促的同伴,至少也要给自己一个安静的环境,不要相信自己的意志力,人是很容易被引诱和动摇的,解决了环境问题之后,就要看你的毅力了,其实毅力就是一个习惯的问题,虽然刚开始过程很艰难,但是坚持过之后,日积月累,你就发现自己不知不觉中已经学习很多了。

总结:技术的发展不会停滞,不断学习新的技术,并且保持在行业中领先半个甚至一个身位还是很重要的。对于我们IT人而言,必须保持一颗敬畏技术、好学之心,将所学运用到实际中并取得成果。


分享到:


相關文章: