如果准备自学计算机科学与技术该怎么开始 ?
谢邀,直接上干货。
如果是需要系统学习CS的话,墙裂推荐一个自学计算机科学的神~~~奇宝藏——OSSU。
而且关键是免费!免费!免费!(土豪忽略)
OSSU——Open Source Society(开源社会大学)的简称。
https://github.com/ossu/computer-science#intro-cs
OSSU课程提供免费的线上计算机科学(Computer Science)教育。它不仅可以用于对计算机感兴趣的在职人员进行职业培训,也适用于计算机专业的小伙伴进行深入系统的学习。
这里面的课程来自哈佛大学,普林斯顿大学,麻省理工学院等等,可以称得上是「世界上最好的课程」。下面,我们来看一看,这个宝藏大礼包里有哪些内容。
全套课程可以划分成四个部分,包括
- 入门简介
- 核心课程
- 进阶课程
- 项目呈现。
具体而言:
- 入门简介部分帮助我们开启计算机科学的大门,可以在这个阶段边学边看这个学科是否适合自己。
- 核心课程类似于计算机科学课程的前三年必修课
- 进阶课程大概对应于计算机科学课程的最后一年的选修课
- 项目呈现部分是供学生验证、巩固和展示其所学知识的机会,同时制作好的项目还可以选择供世界各地的同行进行评估。
下面,小管家给大家介绍一下全套课程的具体内容,其中包括:编程概论、计算机科学概论、核心程式设计、核心数学、核心系统、核心理论、核心应用、核心安全、计算机科学进阶、高级编程、先进的系统、高级理论、进阶应用和最终的项目呈现。
编程概论
这个部分专门为零基础小白设计,如果你从来没有编写过for循环,或者不知道编程中的字元串是什么,可以从这里开始。
这里有两个课程,适用于所有人的Python(alt) 和计算基础,任选其一皆可。
适用于所有人的Python(alt)(时长:58小时)是从介绍Python开始,并使用Web API和资料库进行实际的编程任务。
计算基础(时长:138小时)也是先介绍Python,然后继续介绍计算机科学的理论知识,例如排序和递归。
适用于所有人的Python(alt)
https://www.coursera.org/specializations/python
计算基础
https://www.coursera.org/specializations/computer-fundamentals
计算机科学概论这个部分是介绍计算机科学领域。这个课程的学习需要提前掌握高中代数的知识。
使用Python的计算机科学和编程简介(alt)
https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-10
如何编码课程以《如何设计程序》教科书为基础。
核心程式设计
如何编码-简单数据
https://www.edx.org/course/how-code-simple-data-ubcx-htc1x
如何编码-复杂数据
https://www.edx.org/course/how-code-complex-data-ubcx-htc2x
编程语言,A部分
https://www.coursera.org/learn/programming-languages
编程语言,B部分
https://www.coursera.org/learn/programming-languages-part-b
编程语言,C部分
https://www.coursera.org/learn/programming-languages-part-c
数学选修课
包括:微积分,线性代数,逻辑或概率。
微积分
微积分1A:微分https://www.edx.org/course/calculus-1a-differentiation
微积分1B:集成https://www.edx.org/course/calculus-1b-integration
微积分1C:坐标系和无限级数https://www.edx.org/course/calculus-1c-coordinate-systems-infinite-series
线性代数
线性代数的本质
https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab
线性代数-边疆的基础(alt)
https://www.edx.org/course/linear-algebra-foundations-to-frontiers-0
逻辑学
逻辑概论https://www.coursera.org/learn/logic-introduction
概率学
概率概论-不确定性科学
https://www.edx.org/course/introduction-probability-science-mitx-6-041x-2
核心数学
除了数学选修课外,在核心数学板块还有离散数学相关的课程。
计算机科学数学
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-spring-2015/index.htm
核心系统
计算机科学概论-CS50(alt)https://www.edx.org/course/introduction-computer-science-harvardx-cs50x#!
从第一原理构建现代计算机:从Nand到Tetris(alt)https://www.coursera.org/learn/build-a-computer
计算机网路导论
https://www.youtube.com/playlist?list=PLEAYkSg4uSQ2dr0XO_Nwa5OcdEcaaELSG
破解内核
https://www.ops-class.org/
核心理论
分而治之,排序和搜索以及随机演算法https://www.coursera.org/learn/algorithms-divide-conquer
图搜索,最短路径和数据结构
https://www.coursera.org/learn/algorithms-graphs-data-structures
贪婪演算法,最小生成树和动态规划https://www.coursera.org/learn/algorithms-greedy
再谈最短路径,NP完全问题及其处理方法https://www.coursera.org/learn/algorithms-npcomplete
核心安全
信息安全:上下文和简介https://www.coursera.org/learn/information-security-data
安全编码原理
https://www.coursera.org/learn/secure-coding-principles
识别安全漏洞
https://www.coursera.org/learn/identifying-security-vulnerabilities
识别C / C ++编程中的安全漏洞https://www.coursera.org/learn/identifying-security-vulnerabilities-c-programming
利用和保护Java应用程序中的漏洞https://www.coursera.org/learn/exploiting-securing-vulnerabilities-java-applications
核心应用
关系资料库系统
https://www.coursera.org/learn/relational-database
机器学习
https://www.coursera.org/learn/machine-learning
计算机图形学
https://www.edx.org/course/computer-graphics-uc-san-diegox-cse167x
软体工程:简介
https://www.edx.org/course/software-engineering-introduction-ubcx-softeng1x
软体开发顶峰项目
https://www.edx.org/course/software-development-capstone-project-ubcx-softengprjx
高级编程
并行编程简介(alt)(HW)https://classroom.udacity.com/courses/cs344
编译器(alt)
https://www.edx.org/course/compilers
软体调试
https://www.udacity.com/course/software-debugging--cs259
软体测试
https://www.udacity.com/course/software-testing--cs258
LAFF-正确编程
https://www.edx.org/course/laff-on-programming-for-correctness
软体架构与设计
https://www.udacity.com/course/software-architecture-design--ud821
先进的系统
电磁学,第1部分
https://www.edx.org/course/electricity-magnetism-part-1-ricex-phys102-1x-0
电磁学,第2部分
https://www.edx.org/course/electricity-magnetism-part-2-ricex-phys102-2x-0
计算结构1:数字电路
https://www.edx.org/course/computation-structures-part-1-digital-mitx-6-004-1x-0
计算结构2:计算机架构
https://www.edx.org/course/computation-structures-2-computer-mitx-6-004-2x
计算结构3:计算机组织
https://www.edx.org/course/computation-structures-3-computer-mitx-6-004-3x-0
高级理论
计算理论(讲座)
http://aduni.org/courses/theory/index.php?view=cw
计算几何
https://www.edx.org/course/computational-geometry-tsinghuax-70240183x
形式概念分析导论
https://www.coursera.org/learn/formal-concept-analysis
博弈论
https://www.coursera.org/learn/game-theory-1
进阶应用
现代机器人技术https://www.coursera.org/specializations/modernrobotics
数据挖掘
https://www.coursera.org/specializations/data-mining
大数据
https://www.coursera.org/specializations/big-data
物联网
https://www.coursera.org/specializations/internet-of-things
云计算
https://www.coursera.org/specializations/cloud-computing
全栈Web开发
https://www.coursera.org/specializations/full-stack
数据科学
https://www.coursera.org/specializations/jhu-data-science
Scala中的函数式编程
https://www.coursera.org/specializations/scala
游戏设计与开发
https://www.coursera.org/specializations/game-development
最后再唠叨一点,任何知识最终最重要的是项目展示
学习最重要的还在于是否可以运用学到的知识来解决实际的问题。
搭建真实的项目不仅可以丰富我们的简历,还能够巩固我们的所学。
内容首发公众号: 乐学Fintech
用代码理解分析解决金融问题
如果是科班的话就这张图
如果不是科班的话,建议还是python吧。
严格按照如下顺序学习
python 学variable ifelse loop function
java 学class inheritance interface abstract
c++ 学内存管理 destructor
C++的同时学演算法和数据结构
- array/linked list
- 各种排序
- stack/queue
- tree heap hashtable
- 略微了解下 graph相关 bfs dfs 最短路径等
到此为止基本功和内功就修炼好了
就像是独孤九剑的气宗
剩下就是剑宗外功了
网站前端 后端 资料库 大数据 app开发 大型游戏开发 3d开发 再或者是运维 自动化之类的 你随便找个感兴趣的查查资料自己就会了
按照考研408课程学习。
额,先买一台还能说的过去的电脑吧
如果只是想拓展知识面的话,推荐京东搜索「计算机科学丛书」
推荐阅读: