/LearningProject

Learning File.Mathematic、English、Computer Science etc.

Primary LanguageMATLAB

Learning Project(持续更新)

这个项目是我记录和分享关于再进入学校后的学习。

列出的并非是我全部的学习计划,每当我快要完成了一个进程,就会开始计划下一个进程。

如果能为您提供一些帮助我很高兴

如果您是经验丰富的学者或工程师,请毫无保留的评价我的学习方式及其学习内容。我会非常感谢您。

目前我还没有对自己所想进入细分领域有个明确的目标,主要是"分布式计算"和"分布式存储",如果您能提供信息帮助我,我将非常感激不尽! 我选择了密码学方向,因为元宇宙比云原生更加吸引人(狗头保命).

我的研究生课程一周只有2节课,分别是云计算相关课程和高级算法相关课程,我本以为自己有时间去学习其他的,但是由于英语并不是很好,并且每节课的信息量太大,导致我得花很多时间去消化和整理笔记。另外还有一门外语课和可能会有两个交流活动,所以我想学习例如CSAPP等课程需要后置。

Table of Contents

Created by gh-md-toc

计算机基础

作为计算机科学专业的学生,不能不懂计算机。

计算机的数学

课程由MIT提供,MIT 6.042 'Mathematics for Computer Science'

作业: 无

笔记:无

状态: 待学

优先级:

课程态度:课程难度不高,对于纯计算机方向来说,数学是工具而并非我们研究的主体。

计算机程序的结构和解释

课程为Harold Abelson、Gerald Jay Sussman在1986年7月给Hewlett-Packard公司员工培训时的录像。

GITHUB SICP 资料合集

作业:待完成

笔记:无

状态:在学

优先级:

课程态度:此课程虽然是基础课程但并非入门课程,也并非互联网上所描述的CS学生必看课程,课程具有一定的难度,但学习这门课程可以从更深层次去理解什么是编程,典型的例如什么是递归、什么是迭代?这门课程搭配的是Scheme语言,函数式编程语言,强烈建议日常使用面向对象语言的工程师学习此课程,能为写出更好的代码带来帮助。

Computer Systems: A Programmer's Perspective

简称CSAPP,课程由CMU提供。

VIDEO

LAB

作业:待完成

笔记:无

状态:在学(2021年5月31日前完成)

优先级:

课程态度:此课程是一门综合了计算机组成、编译原理、操作系统及计算机网络的一门课,课程在互联网上收获大量好评。编程语言为C0,不需要具有C语言知识,但是需要具有编程的经验。如果过去没有好好学习计算机4门基础课,那这个课程可以让你重新系统的学习,但课程内容不是太深入,后续针对某一个领域比如计算机编译原理,还需要专门领域的学习资源。

高等数学相关

不要死磕学术,计算机科学众多权威都表示,“数学不应该成为学生们学习计算机的阻碍”,但也不要忽视数学。

线性代数

网易MOOC 山东大学 线性代数

状态:在学

笔记:

课程态度:线性代数是计算机专业比较重要的数学学科,不用掌握线性代数也能写出代码,但是掌握了能写出更艺术的代码。

高等数学

网易MOOC 国防科大 高数1

网易MOOC 国防科大 高数2

网易MOOC 国防科大 高数3

网易MOOC 国防科大 高数4

网易MOOC 国防科大 高数5

状态:在学

笔记:

课程态度:虽然作为计算机专业的学生,高数自然是无法与数学专业的学生匹敌,且如果不参加ACM,线性代数和离散数学远比高数常用,但并不意味着高数就是“需要用的时候再查”,例如高数2中所描述的牛顿迭代法,是计算机中常用于解决方程的一种方法。

数理统计:

网易MOOC 电子科技大学 概率与数理统计

状态:未学

笔记:无

课程态度:这个就不用说了,不一定要用到计算机上,没准向喜欢的人表白时也用得上了(狗头保命.jpg)

工程应用

不仅学习学术,也不要忘了工程。

深入理解JAVA虚拟机

本项目没有视频,为电子书。

作业:无

状态:在学

优先级:

笔记:

课程态度:每个JAVA程序员都应该读的一本书。

Effective Java

本项目没有视频,为电子书。

作业:无

状态:可当作工具书使用

优先级:

笔记:无

课程态度:当入门JAVA后,对于如何在工程上更好的进行JAVA编码,这本书会给予很多意见。

Spring源码深度解析

本项目没有视频,为电子书。

作业:无

状态:待学

优先级:

笔记:无

课程态度:不了解Spring的原理,又如何在工程中将Spring的特性发挥的淋漓尽致呢?作为Java目前最火的框架,Spring及其生态圈为Java带来了许多名声。如果研究者们为Java带来更多丰富的特性,例如Lambda编程或虚拟机模块化,那Spring就是"传教士",将高大上的特性工程化,使更多的工程师能发现新特性的优点。

云计算

分布式系统

课程由MIT提供。

MIT 6.824 HOMEPAGE

MIT 6.824 YOUTUBE VIDEO

作业: 无

笔记:无

状态: 待学

优先级:

课程态度:如果一台机器算力不够,那我们就把N台机器联系起来。

课程建议先阅读一遍论文《In Search of an Understandable Consensus Algorithm》,这篇论文可以带你了解下,分布式系统将会面临的问题,并且提出了一个目前在分布式领域举足轻重的raft算法。

当然,学习分布式总会面临Paxos这个怪物。

数据科学

有些人说是科学,有些人说是玄学,有些人说是神学。

机器学习入门

这就是大名鼎鼎的斯坦福大佬吴恩达的入门课程。

吴恩达 coursera 机器学习

作业:已完成(Octave)

笔记:我写了部分课程的md笔记,还有一份博士的学习笔记

状态:已完成

优先级:

课程态度:无论你的方向是否是人工智能,机器学习总归应该学习的,特别是作为研究生阶段的学生来说。课程对计算机知识依赖不强,对数学有一定要求,特别是高等数学的微积分、统计学、线性代数。

PS: 课程不难,但是证明某些数学公式相当困难,像我这种对数据科学不如对计算机敏感的人来说,有时候真的不知道这么做有何意义?学完这一课以后我在想,机器学习到底是给我们带来了便利,还是带来了禁锢?就像我在购物网站上,永远无法看在心仪的商品,而是推荐给我一堆又一堆我曾经看过但我永远不会购买的商品。

资源

  1. 交友网站 GITHUB
  2. 来猜猜JAVA上周又出现了什么幺蛾子BUG 专注于JAVA的网站,不仅有很多高质量的对生产环境有帮助的文章,还有教学。
  3. TLA+ 语言 用数学来证明你的并发或分布式程序的设计是否合理,语言作者是分布式大佬,图灵奖获得者,同时也是LaTex排版系统的作者。
  4. IBM DEVELOPER IBM开发者网站,现在中文站正在维护,上面的文章质量不知道比CSDN高了多少倍。
  5. 墨刀 一款很方便的产品设计工具。
  6. Jenkins 无论怎么说,它总是一款方便的运维工具
  7. MIT 图书馆 虽然这辈子也无法成为MIT的学生,但是也可以上上MIT的课呀