1.杂七杂八
前言
过去数年,告诉我这么一个道理:你花费时间的地方,也是你收获的地方。你把时间花在迷茫上面,最后就会收获迷茫。你把时间花在抱怨,那你最后也会收获抱怨。你把时间花在游戏上,那么只要时间够长,一个游戏白痴也能把“千里送人头”的哪吒锻炼成最强的那个英雄。所以,如果从一开始你就把时间花在学习上面呢?
往后余生,我对自己的期盼是:带着目标,一直一直学习下去!
希望自己能够做到吧。
以下为个人向的计算机进阶规划,仅供参考。
中大计算机本科课程设计(基础)
必修课:
大一:数学分析,高等代数,离散数学,C,C++
大二:数据结构与算法(最重要)、计算机组成原理(最难)、操作系统原理、计算机网络
大三:数据库原理、人工智能原理和编译原理
选修课
pic one pic two编程科普
编程的目的是通过代码实现一定的功能。根据编程思想,分为面向过程和面向对象。
所谓,面向过程,是指将功能分为一个个步骤,一步一步运行,最终实现我们想要的功能,经典的面向过程的语言是C语言。在进行此类编程时,最重要的就是进行清晰的功能模块的划分,从而方便后续的改进和阅读。就如同一个人打球,闪现,挥拍,必杀,一气呵成,毫不拖泥带水,没错,这就是我梦中打球的样子(哈哈哈哈)
而,面向对象,则是模拟人类的思维,对事物进行分类,将事物当作一个个的对象,每个对象都有自己的属性(数据)和方法。Java,python,c++都是经典的面向对象编程语言。此类编程也要对对象有清晰的划分,确定对象及其属性和方法,分析对象之间的联系以及通信方法,设计实现类并确定类之间的继承关系。就如同,学生(属性:能力值,名字,方法:答题,提交试卷),老师(属性:查卷速度,出错率,名字,方法:接受试卷,批改试卷,提交结果),学校数据库(属性:学生个数,名字,成绩,方法:接收成绩,公布成绩)。各种类都有自己的属性和方法,同一个类可以有很多对象,学生A,学生B,老师D,老师O,对象合作完成我们想要的功能。于是,成绩公布,我第一名!!!!!!(你在想peach)
以上仅仅是最最粗略的划分,web前端需要掌握html+css+javascript,后端需要java或者C++,嵌入式毫无疑问是C语言的天下,数据分析要数据库还有python,excel等,每个方向都有自己不一样的需求和应用,所以对于一个初学者来说,最重要的就是找到自己的方向,然后不断钻研下去。假如你有时间,那么建议入门python,把各个方向都试一下,再确定自己的目标。
编程入门:
推荐b站up主:codesheep
一般学习的顺序是:(以python为例
1.上豆瓣,或者知乎,或者问同学,找一本靠谱的入门书籍,花一两个月的时间进行学习,在此期间,用好百度,csdn,博客园等都不错,有很多学习的帖子
2.了解完基本的语法之后,下面就需要开始进行实际的项目开发,根据你自己的兴趣,开始项目的尝试,GitHub你值得拥有。
github搜索技巧 搜索名字里含有“学习”,描述里含有“爬虫”,用python语言的。。。的代码
in:name 学习
in:description 爬虫
language:python
stars:>3000
pushed:>2019-10-20
教学视频:https://www.bilibili.com/video/av75587104?from=search&seid=9505806456383791562
在项目开发中用到的各种库,首先你要明确自己的需求,通过看帖子或者官方文档的方法了解函数的功能,试验一下,最后用这些功能拼凑出你想要的效果。
学习编程最快捷的方法是去看优秀的源码,阅读完整项目,最后自己「造轮子」
3.了解社会的实际需求,或者科研中的应用,输入知识之后,还是得输出啊。
下面推荐两个刷题的网站:
codewar的机制类似于打游戏赚积分升级,更偏实际应用,很多语言特性,最佳实践。
https://www.codewars.com/dashboard
leetcode 题目难度分为三个等级,练习算法更好,更讲究效率
https://leetcode-cn.com/?utm_source=LCUS&utm_medium=ip_redirect_o_uns&utm_campaign=transfer2china
计算机科学
(英语:computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。
"Computer science is no more about computers than astronomy is about telescopes."
实际上,相当数量的计算机科学领域已经不涉及计算机本身的研究了,所以,某些大学的院系倾向于使用计算科学(computing science)这个概念。
数据科学
1960年代,Peter Naur 就首次提议要用“数据科学(data science、Datalogy)”来替代“计算机科学(computer science)”,以反映这一事实,即科学学科是围绕着数据和数据处理,而不一定要涉及计算机。后来在上世纪九十年代中期为国际分类社团联盟所用。
丹麦哥本哈根大学1969年成立了datalogy学院。
这一术语主要被用于北欧国家。
云计算->大数据->人工智能
https://zhuanlan.zhihu.com/p/35996270
大数据(数据科学)从收集数据到清洗数据再到分析数据直到最终产生分析结果所对应的步骤分别需要的知识和技能是:
-- 数据库知识(会熟练写SQL/熟练运用Hive/Spark中的至少一种)
-- CS知识/信息科学知识(会编程,至少熟练运用python/R/SAS中的一种)
-- Business sense(这根据行业不同所需要掌握的知识不同)
-- 统计知识(建模/ABtest/实验设计/抽样调查 等)
由此可见统计知识基本是最后一步,而根据答主的经验这一步基本只站整个流程的20%,对于数据极其庞大的公司例如银行,或者社交网络,前两步从数据库中提取数据+清洗数据基本占70%-75%时间和精力。所以数据科学是计算机+数学+统计。
作者:Michelle
链接:https://www.zhihu.com/question/62327936/answer/197666248
数据科学在社会科学中的应用
“以数据为基础的技术决定着人类的未来,但并非是数据本身改变了我们的世界,起决定作用的是我们对可用知识的增加”
http://shenhaolaoshi.blog.sohu.com/277440719.html
https://zhuanlan.zhihu.com/p/36873081
北京大学社会科学调查中心