zoukankan      html  css  js  c++  java
  • 2013-2014健一的学习总结

    自己的访问计算机和网络,从大一到研一,基本上5岁月。本科主修自己“互联网project”,掌握时,他们的研究“数据挖掘”。

    本科时。我们学校计算机系开设的课程还是非常多的。尤其是网络project专业,既涉及通信project专业的课程,又涉及计算机专业的课程,主要课程例如以下所看到的:

    • 高等数学;线性代数;概率论;统计学。离散数学
    • 电路;模拟电路;数字电路。通信原理
    • 数据库;数据结构;操作系统;计算机组成原理。计算机体系结构
    • 网络原理;网络管理;无线网络;网络安全;接入网;网络交换;网络project
    • C程序设计;C++程序设计;Java程序设计

    说明:

    (1)学校组织我们參加过CCNA和部分CCNP培训。

    (2)在Windows Server和Linux上搭建过经常使用的server。

    (3)遗憾的是。没有开设“算法设计与分析”[已学],“高等代数”[已学],“随机过程”[正学]。“复变函数与积分变换”[已学],“汇编语言程序设计”[已学],“编译原理”[要学],“软件project”[已学]和“信号与系统”[没学]。

    通过这一系列课程的学习。使自己从硬件到软件。从计算机到网络都有了一个总体的认识。即使非常肤浅,所以才有了后来的考研。时光如白驹过隙。一转眼,5年过去了。本科时用过的工具例如以下所看到的:

    • Excel。Matlab
    • GCC;G++。Visual C++ 6.0;Visual Studio 2010
    • MASM
    • Cisco Packet Tracer;小凡模拟器。GNS3
    • Eclipse;MyEclipse
    • MySQL。SQL Server 2005;Oracle 10g

    去年我大学毕业,今年你们大学毕业。真的非常想念宿舍的兄弟们,等你们答辩完成之后,我就给你们打电话。

    本来打算要回去的,因为近期繁忙。实在没法回去。真的非常遗憾。去年你们把我送走了,今年我不能回去看你们,也好久没有和你们打电话了,当你们在怀疑是否把你们忘记了没有?事实上。我想说的是。从来都没有忘记过。当得到你们当中三个人考上了名牌大学的研究生,一个人找到了好工作,我真的替你们高兴。大学结束了,事实上。真正的人生才刚刚開始,祝你们再拼再搏再辉煌。(文文君。涛涛君,召召君。楠楠君)


    研一立即就要过去了,基本上包含两个部分,第一部分是读论文,估计研二开学之前,论文初稿能够完毕。

    第二部分是对自己兴趣的探索,因此,自己学习的东西非常广泛,比方大数据,云计算。虚拟化。物联网。数据挖掘。机器学习,自然语言处理,搜索引擎。人工智能。模式识别,图形图像。机器视觉,推荐系统等。可是。自己学习的中心是Python和机器学习。经过一年的摸索。自己初步将目标定为“金融 + 大数据”。

    因为面临着就业的压力。所有学习是不现实的,做人必需要学会舍得,有舍才有得。什么都抓,反而什么都抓不到。

    自己必须熟练掌握一门吃饭的东西。详细规划。例如以下所看到的:

    一、语言部署

    • 汇编:工作基本用的非常少。自己学习汇编主要是为了了解计算机的工作原理和学习逆向project用的。经常使用的有Intel汇编和AT&T汇编。在DOS,Windows和Linux平台学习汇编,有不少好的參考书籍。
    • C:是系统编程必备的语言,自己学习C主要是为了学习算法和ACM。
    • C++:关于图形图像和机器视觉的类库都是用C++开发的,关于C++的好书真可谓汗牛充栋,通过这门语言的学习,去深刻地理解究竟什么是软件project。自己学习C++主要是为了可以读懂别人写的程序。
    • C#:和Java差点儿相同。自己学习C#主要是为了可以读懂别人写的程序。
    • Java:工作用的非常多,而且非常多的开源项目都是用Java写的。自己学习Java主要是为了做分布式和Web服务。
    • Python:自己学习Python主要是为了做数据分析。
    • R:自己学习R主要是为了可以读懂别人写的程序。

    说明:

    自己主要学习Python和Java。Java主要包含Java EE相关知识,尤其是分布式和Web服务编程。Python主要用来抓取数据,处理数据和数据可视化。

    抓住主要矛盾。兼顾次要矛盾,全面发展,重点突破。


    二、算法部署

    算法是计算机科学中最具有方法论性质的核心概念。也被誉为计算机学科的灵魂。尽管。我不知道在实际的工作中。算法使用的频度,可是,算法至少是进入公司,尤其是大公司的敲门砖,是标量一个程序猿水平的重要指标。

    敲的是代码,背后隐藏的却是完美的数理逻辑。正是由于算法,所以整个网络世界如此美好,否则是不可靠的。对于编程,我也一直坚信“存储是前提。操作是关键,算法是灵魂”。对于程序猿这个职业,我不想有太多的评论,我想说的是因人而异,正如其他的全部行业一样。

    自己将算法分为三类。各自是“经典算法”。“ACM算法”和“数据算法”。

    (1)经典算法

    这里的经典算法指的是“算法”和“数据结构”。

    • 《数据结构(C语言版)》[已学]
    • 《算法结构(习题集)》[半学]
    • 《数据结构算法解析》[正学]
    • 《数据结构与算法分析——C语言描写叙述》[正学]

    说明:

    以上数据结构的书籍均是用C语言描写叙述的。假设想学习C++和Java版本号的。推荐《数据结构、算法与应用——C++语言描写叙述》[要学]。《数据结构与算法分析——Java语言描写叙述》[要学]。

    • 《算法设计与分析基础》[正学]
    • 《算法导论》[正学]
    • 《计算机程序设计的艺术》[要学]

    说明:

    想要学好算法,非下苦功夫不可。

    看得懂的书,请细致看;看不懂的书。请硬着头皮看。

    化抽象为详细,重复地学,重复地做。


    (2)ACM算法

    自己觉得ACM可以锻炼一个人高速分析问题和解决这个问题的能力,是训练思维的体操。今后主要在http://poj.org/刷题。

    • 《算法竞赛入门经典》[正学]
    • 《算法竞赛入门经典训练指南》[要学]
    • 《算法艺术与信息学竞赛》[要学]

    说明:

    ACM刷题最最重要的是坚持,正所谓冰冻三尺,非一日之寒。

    (3)数据算法

    这里的数据算法主要指的是数据挖掘。机器学习,自然语言处理中的算法。

    同一时候还会涉及搜索引擎,人工智能,模式识别,图形图像。机器视觉,推荐系统等中的算法。

    主要目的就是为了用智能算法去处理数据。

    • 《数据挖掘:概念与技术》[已学]
    • 《机器学习》[正学]

    说明:

    其他部分依据须要进行学习。

    自己觉得今后机器学习将会更好地服务于人类的生活和工作之中。



    三、数据库部署

    自己用过的数据库有Access,SQL Server。MySQL,Oracle,ASA(Adaptive Server Anywhere),O​r​a​c​l​e​ ​X​M​L​ ​D​B,HBase。

    事实上,熟练掌握一个关系型数据库与一个非关系型数据就可以,通过实践促进理论的学习。

    • 《数据库系统概论》[已学]
    • 数据库系统概论(习题集)》[已学]
    • 《数据库系统概念》[要学]
    • 《数据仓库》

    说明:

    关系型数据库自己主要掌握MySQL,以后依据须要学习Oracle。并考取对应的证书OCA。OCP和OCM。非关系型数据库自己主要掌握MongoDB。

    数据仓库自己主要掌握Hive。


    四、工具部署

    工具是非常重要的生产力。事实上。手机,电脑和网络等等都是工具。做数据分析也一样。有非常好的IDE。做大数据分析,则须要自己依据框架进行编程,甚至自己写框架。

    (1)小数据分析工具。例如以下所看到的:

    • Excel:主要学习VBA。
    • SPSS:通过实践促进统计学的学习。
    • SAS:通过实践促进统计学的学习。
    • Matlab:有大量的工具箱,而且做图非常美丽。

    • Weka:《数据挖掘:有用机器学习技术》[已学]
    • Mahout:《Mahout实战》[要学]
    • Linux:主要学习Shell。

    (2)大数据分析工具,例如以下所看到的:

    • Hadoop:主要学习Hadoop生态系统。
    • Spark:一个基于内存计算的开源的集群计算系统。
    • OpenStack:一个云平台管理的项目。
    • Eucalyptus:Amazon EC2的开源实现。
    • KVM:一个开源的系统虚拟化模块。
    • Xen:一个开放源码虚拟机监视器。

    说明:

    自己主要学习Matlab和MapReduce编程。关注大规模数据存储,大规模数据处理和高性能计算,比方GPU,集群。分布式和并行计算等。


    五、数学部署

    你的数学水平。将会决定你在计算机。尤其机器学习这条路上会走多远。

    • 《数学分析》[已学]
    • 《线性代数》[已学]
    • 《概率论》[已学]
    • 《统计学》[已学]
    • 《随机过程》[正学]
    • 《离散数学》[已学]
    • 《组合数学》[已学]
    • 《详细数学》[正学]

    说明:
    不怕慢。仅仅怕站。

    凡事预则立,不预则废。

    学习数学和算法都须要有点儿蚂蚁肯骨头的精神。

    总之,把自己当成数学专业的人来学习数学专业吧。


    六、英语部署

    通过2014 IEEE-IPC。自己真正的意识到了英语的重要性。临渊羡鱼,不如退而结网。今后要在听,说。读。写。译,尤其是在听和说方便强化训练。

    • 上海中级口译证书。
    • 上海高级口译证书。

    说明:

    英语不难,贵在坚持。


    七、金融部署

    课余时间,多了解一些金融方面的数据分析,尤其是金融时间序列分析。

    • 证券从业资格证书。

    说明:

    自己觉得今后计算机发展的最大潜力,在于将计算机与传统行业结合。利用计算机去解决传统行业中的问题,而且将计算机的潜力发挥到极限。务必坚持“数学 + 计算机 + 业务”这种发展模式。永远选择人生的窄门。


    八、其他部署

    一个真正懂计算机和网络的人。是不应该受硬件束缚的,是不应该受语言束缚的,是不应该受平台束缚的。不管是Intel还是ARM,不管是C++还是Java,不管是Windows还是Linux,差异是表面的。本质是同样的。

    • 《操作系统》[已学]
    • 《计算机组成原理》[已学]
    • 《编译原理》[要学]
    • 《TCP/IP具体解释(3卷)》[正学]
    • 《Windows核心编程》[要学]
    • 《Windows程序设计》[要学]
    • 《UNIX环境高级编程》[要学]
    • 《UNIX网络编程(2卷)》[要学]
    • 《深入理解计算机系统》[正学]
    • 《Windows环境下32位汇编语言程序设计》[要学]
    • 《IDA Pro权威指南》[要学]

    说明:

    自己学习汇编的路线是《汇编语言程序设计》(王爽)——>《IBM-PC汇编语言程序设计》——>Windows环境下32位汇编语言程序设计》。由易到难,由浅入深,循序渐进。稳扎稳打。


    九、符号说明

    • 已学:表示以前上过这门课程。或者以前自学过。
    • 半学:表示以前学习过,可是没有学完。

    • 正学:表示如今正在学习。

    • 要学:表示假设今后有空了。就会去学习的。
    • 没学:表示以前没有学过,而且在今后相当长的时间内也不会学习。


    总结了一下。貌似非常多的样子。

    事实上。简单来说就是“语言(Java) + 算法 + 数据库(MySQL)”必须精通,其他的依据自己的需要进行对应的学习。可是心中必需要有计算机和网络的这个架构。


    我以前试图寻找捷径,可是绕过去的路。后来又又一次走了一遍。请不要做一个浮躁的人。切勿浮沙筑高台,练从难处练,用从易处用,无速成,唯有坚持,最后,扬科老师的话作为结束它。

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    如何检测和删除通过pip安装的Python包?
    tensorflow使用keras
    ubuntu18.04安装tensorflow2.0
    python pip版本的安装与管理
    leetcode 377. 组合总和 Ⅳ
    little tips
    NYOJ 104-最大和
    NYOJ 44-子串和
    NYOJ 15-括号匹配(二)
    leetCode 32. Longest Valid Parentheses
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4724770.html
Copyright © 2011-2022 走看看