diff --git a/404.html b/404.html index aada20ed..885068cc 100644 --- a/404.html +++ b/404.html @@ -1,1951 +1 @@ - - - - - - - - - - - - - - - - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
- -

404 - Not found

- -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + CS自学指南

404 - Not found

回到页面顶部
\ No newline at end of file diff --git a/CS学习规划/index.html b/CS学习规划/index.html index 1ef577a9..7bf7003d 100644 --- a/CS学习规划/index.html +++ b/CS学习规划/index.html @@ -1,3379 +1 @@ - - - - - - - - - - - - - - - - 一个仅供参考的CS学习规划 - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

一个仅供参考的CS学习规划

-

计算机领域方向庞杂,知识浩如烟海,每个细分领域如果深究下去都可以说学无止境。因此,一个清晰明确的学习规划是非常重要的。这一节的内容是对后续整本书的内容的一个概览,你可以将其看作是这本书的目录,按需选择自己感兴趣的内容进行学习。

-

不过,在开始学习之前,先向小白们强烈推荐一个科普向系列视频Crash Course: Computer Science,在短短8个小时里非常生动且全面地科普了关于计算机科学的方方面面:计算机的历史、计算机是如何运作的、组成计算机的各个重要模块、计算机科学中的重要思想等等等等。正如它的口号所说的Computers are not magic!,希望看完这个视频之后,大家能对计算机科学有个全貌性地感知,从而怀着兴趣去面对下面浩如烟海的更为细致且深入的学习内容。

-

必学工具

-
-

俗话说:磨刀不误砍柴工。如果你是一个刚刚接触计算机的24k纯小白,学会一些工具将会让你事半功倍。

-
-

MIT-Missing-Semester这门课覆盖了这些工具中绝大部分,而且有相当详细的使用指导,强烈建议小白学习。

-

翻墙:由于一些众所周知的原因,谷歌、Github等网站在大陆无法访问。然而很多时候,谷歌和Stackoverflow可以解决你在开发过程中遇到的95%的问题。因此,学会翻墙几乎是一个内地CSer的必备技能。(考虑到法律问题,这个文档提供的翻墙方式仅对拥有北大邮箱的用户适用)。

-

IDE(Integrated Development Environment):集成开发环境,说白了就是你写代码的地方。作为一个码农,IDE的重要性不言而喻,但由于很多IDE是为大型工程项目设计的,体量较大,功能也过于丰富。其实如今一些轻便的文本编辑器配合丰富的插件生态基本可以满足日常的轻量编程需求。个人常用的编辑器是VSCode和Sublime(前者的插件配置非常简单,后者略显复杂但颜值很高)。当然对于大型项目我还是会采用略重型的IDE,例如Pycharm(Python),IDEA(Java)等等(免责申明:所有的IDE都是世界上最好的IDE)。

-

Vim:一款命令行编辑工具。这是一个学习曲线有些陡峭的编辑器,不过学会它我觉得是非常有必要的,因为它将极大地提高你的开发效率。现在绝大多数IDE也都支持Vim插件,让你在享受现代开发环境的同时保留极客的炫酷(yue)。

-

Git:一款代码版本控制工具。Git的学习曲线可能更为陡峭,但出自Linux之父Linus之手的Git绝对是每个学CS的童鞋必须掌握的神器之一。

-

Github:基于Git的代码托管平台。全世界最大的代码开源社区,大佬集聚地。

-

Makefile:一款工程构建工具。善用Makefile会让你养成代码模块化的习惯,同时也能让你熟悉一些大型工程的编译链接流程。

-

CMake:一款功能比Makefile更为强大的构建工具,建议掌握Makefile之后再加以学习。

-

LaTex逼格提升论文排版工具。

-

Docker:一款相较于虚拟机更轻量级的软件打包与环境部署工具。

-

实用工具箱:除了上面提到的这些在开发中使用频率极高的工具之外,我还收集了很多实用有趣的免费工具,例如一些下载工具、设计工具、学习网站等等。

-

好书推荐

-
-

私以为一本好的教材应当是以人为本的,而不是炫技式的理论堆砌。告诉读者“是什么”固然重要,但更好的应当是教材作者将其在这个领域深耕几十年的经验融汇进书中,向读者娓娓道来“为什么”以及未来应该“怎么做”。

-
-

链接戳这里

-

环境配置

-
-

你以为的开发 —— 在IDE里疯狂码代码数小时。

-

实际上的开发 —— 配环境配几天还没开始写代码。

-
-

推荐一个非常不错的Github项目DevOps-Guide,其中涵盖了非常多的运维方面的基础知识和教程,例如Docker,K8s,Linux,CI-CD,Github Actions等等。

-

另外大家可以参考一份灵感来自 6.NULL MIT-Missing-Semester环境配置指南,重点在于终端的美化配置。此外还包括常用软件源(如GitHub, Anaconda, pip等)的加速与替换以及一些IDE的配置与激活教程。

-

More contents under construction.

-

课程地图

-
-

正如这章开头提到的,这份课程地图仅仅是一个仅供参考的课程规划,我作为一个临近毕业的本科生。深感自己没有权利也没有能力向别人宣扬“应该怎么学”。因此如果你觉得以下的课程分类与选择有不合理之处,我全盘接受,并深感抱歉。你可以在下一节定制属于你的课程地图

-
-

以下课程类别中除了含有基础入门字眼的以外,并无明确的先后次序,大家只要满足某个课程的先修要求,完全可以根据自己的需要和喜好选择想要学习的课程。

-

另外由于贡献者的不断增加,这份课程地图已经从最初我的学习经历,发展成为很多CS自学者的资源合集,其中难免有内容交叉甚至重复的。但之所以都列出来,还是希望集百家之长,给大家尽可能多的选择与参考。

-

数学基础

-

微积分与线性代数

-

作为大一新生,学好微积分线代是和写代码至少同等重要的事情,相信已经有无数的前人经验提到过这一点,但我还是要不厌其烦地再强调一遍:学好微积分线代真的很重要!你也许会吐槽这些东西岂不是考完就忘,那我觉得你是并没有把握住它们本质,对它们的理解还没有达到刻骨铭心的程度。如果觉得老师课上讲的内容晦涩难懂,不妨参考MIT的Calculus Course18.06: Linear Algebra的课程notes,至少于我而言,它帮助我深刻理解了微积分和线性代数的许多本质。顺道再安利一个油管数学网红3Blue1Brown,他的频道有很多用生动形象的动画阐释数学本质内核的视频,兼具深度和广度,质量非常高。

-

信息论入门

-

作为计算机系的学生,及早了解一些信息论的基础知识,我觉得是大有裨益的。但大多信息论课程都面向高年级本科生甚至研究生,对新手极不友好。而MIT的6.050J: Information theory and Entropy这门课正是为大一新生量身定制的,几乎没有先修要求,涵盖了编码、压缩、通信、信息熵等等内容,非常有趣。

-

数学进阶

-

离散数学与概率论

-

集合论、图论、概率论等等是算法推导与证明的重要工具,也是后续高阶数学课程的基础。但我觉得这类课程的讲授很容易落入理论化与形式化的窠臼,让课堂成为定理结论的堆砌,而无法使学生深刻把握理论的本质,进而造成学了就背,考了就忘的怪圈。如果能在理论教学中穿插算法运用实例,学生在拓展算法知识的同时也能窥见理论的力量和魅力。

-

UCB CS70 : discrete Math and probability theoryUCB CS126 : Probability theory是UC Berkeley的概率论课程,前者覆盖了离散数学和概率论基础,后者则涉及随机过程以及深入的理论内容。两者都非常注重理论和实践的结合,有丰富的算法实际运用实例,后者还有大量的Python编程作业来让学生运用概率论的知识解决实际问题。

-

数值分析

-

作为计算机系的学生,培养计算思维是很重要的,实际问题的建模、离散化,计算机的模拟、分析,是一项很重要的能力。而这两年开始风靡的,由MIT打造的Julia编程语言以其C一样的速度和Python一样友好的语法在数值计算领域有一统天下之势,MIT的许多数学课程也开始用Julia作为教学工具,把艰深的数学理论用直观清晰的代码展示出来。

-

ComputationalThinking是MIT开设的一门计算思维入门课,所有课程内容全部开源,可以在课程网站直接访问。这门课利用Julia编程语言,在图像处理、社会科学与数据科学、气候学建模三个topic下带领学生理解算法、数学建模、数据分析、交互设计、图例展示,让学生体验计算与科学的美妙结合。内容虽然不难,但给我最深刻的感受就是,科学的魅力并不是故弄玄虚的艰深理论,不是诘屈聱牙的术语行话,而是用直观生动的案例,用简练深刻的语言,让每个普通人都能理解。

-

上完上面的体验课之后,如果意犹未尽的话,不妨试试MIT的18.330 : Introduction to numerical analysis,这门课的编程作业同样会用Julia编程语言,不过难度和深度上都上了一个台阶。内容涉及了浮点编码、Root finding、线性系统、微分方程等等方面,整门课的主旨就是让你利用离散化的计算机表示去估计和逼近一个数学上连续的概念。这门课的教授还专门撰写了一本配套的开源教材Fundamentals of Numerical Computation,里面附有丰富的Julia代码实例和严谨的公式推导。

-

如果你还意犹未尽的话,还有MIT的研究生课程18.335: Introduction to numerical method供你参考。

-

微分方程

-

如果世间万物的运动发展都能用方程来刻画和描述,这是一件多么酷的事情呀!虽然几乎任何一所学校的CS培养方案中都没有微分方程相关的必修课程,但我还是觉得掌握它会赋予你一个新的视角来审视这个世界。

-

由于微分方程中往往会用到很多复变函数的知识,所以大家可以参考MIT18.04: Complex variables functions的课程notes来补齐先修知识。

-

MIT18.03: differential equations主要覆盖了常微分方程的求解,在此基础之上MIT18.152: Partial differential equations则会深入偏微分方程的建模与求解。掌握了微分方程这一有利工具,相信对于你的实际问题的建模能力以及从众多噪声变量中把握本质的直觉都会有很大帮助。

-

数学高阶

-

作为计算机系的学生,我经常听到数学无用论的论断,对此我不敢苟同但也无权反对,但若凡事都硬要争出个有用和无用的区别来,倒也着实无趣,因此下面这些面向高年级甚至研究生的数学课程,大家按兴趣自取所需。

-

凸优化

-

Standford EE364A: Convex Optimization

-

信息论

-

MIT6.441: Information Theory

-

应用统计学

-

MIT18.650: Statistics for Applications

-

初等数论

-

MIT18.781: Theory of Numbers

-

密码学

-

Standford CS255: Cryptography

-

编程入门

-
-

Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language.

-
-

Shell

- -

Python

- -

C++

- -

Rust

- -

OCaml

- -

电子基础

-

电路基础

-

作为计算机系的学生,了解一些基础的电路知识,感受从传感器收集数据到数据分析再到算法预测整条流水线,对于后续知识的学习以及计算思维的培养还是很有帮助的。EE16A&B: Designing Information Devices and Systems I&II是伯克利EE学生的大一入门课,其中EE16A注重通过电路从实际环境中收集和分析数据,而EE16B则侧重从这些收集到的数据进行分析并做出预测行为。

-

信号与系统

-

信号与系统是一门我觉得非常值得一上的课,最初学它只是为了满足我对傅里叶变换的好奇,但学完之后我才不禁感叹,傅立叶变换给我提供了一个全新的视角去看待这个世界,就如同微分方程一样,让你沉浸在用数学去精确描绘和刻画这个世界的优雅与神奇之中。 -MIT 6.003 : signal and systems提供了全部的课程录影、书面作业以及答案。也可以去看这门课的远古版本 -而UCB EE120 : Signal and Systems关于傅立叶变换的notes写得非常好,并且提供了6个非常有趣的Python编程作业,让你实践中运用信号与系统的理论与算法。

-

数据结构与算法

-

数据结构与算法

- -

算法设计与分析

- -

软件工程

-

入门课

-

一份“能跑”的代码,和一份高质量的工业级代码是有本质区别的。因此我非常推荐低年级的同学学习一下MIT 6.031: Software Construction这门课,它会以Java语言为基础,以丰富细致的阅读材料和精心设计的编程练习传授如何编写不易出bug、简明易懂、易于维护修改的高质量代码。大到宏观数据结构设计,小到如何写注释,遵循这些前人总结的细节和经验,对于你此后的编程生涯大有裨益。

-

专业课

-

当然,如果你想系统性地上一门软件工程的课程,那我推荐的是伯克利的UCB CS169: software engineering。但需要提醒的是,和大多学校(包括贵校)的软件工程课程不同,这门课不会涉及传统的design and document模式,即强调各种类图、流程图及文档设计,而是采用近些年流行起来的小团队快速迭代Agile Develepment开发模式以及利用云平台的Software as a service服务模式。

-

体系结构

-

入门课

-

从小我就一直听说,计算机的世界是由01构成的,我不理解但大受震撼。如果你的内心也怀有这份好奇,不妨花一到两个月的时间学习Coursera: Nand2Tetris这门无门槛的计算机课程。这门麻雀虽小五脏俱全的课程会从01开始让你亲手造出一台计算机,并在上面运行俄罗斯方块小游戏。一门课里涵盖了编译、虚拟机、汇编、体系结构、数字电路、逻辑门等等从上至下、从软至硬的各类知识,非常全面。难度上也是通过精心的设计,略去了众多现代计算机复杂的细节,提取出了最核心本质的东西,力图让每个人都能理解。在低年级,如果就能从宏观上建立对整个计算机体系的鸟瞰图,是大有裨益的。

-

专业课

-

当然,如果想深入现代计算机体系结构的复杂细节,还得上一门大学本科难度的课程UCB CS61C: Great Ideas in Computer Architecture。UC Berkeley作为RISC-V架构的发源地,在体系结构领域算得上首屈一指。其课程非常注重实践,你会在Project中手写汇编构造神经网络,从零开始搭建一个CPU,这些实践都会让你对计算机体系结构有更为深入的理解,而不是仅停留于“取指译码执行访存写回”的单调背诵里。

-

系统入门

-

计算机系统是一个庞杂而深刻的主题,在深入学习某个细分领域之前,对各个领域有一个宏观概念性的理解,对一些通用性的设计原则有所知晓,会让你在之后的深入学习中不断强化一些最为核心乃至哲学的概念,而不会桎梏于复杂的内部细节和各种trick。因为在我看来,学习系统最关键的还是想让你领悟到这些最核心的东西,从而能够设计和实现出属于自己的系统。

-

MIT6.033: System Engineering是MIT的系统入门课,主题涉及了操作系统、网络、分布式和系统安全,除了知识点的传授外,这门课还会讲授一些写作和表达上的技巧,让你学会如何设计并向别人介绍和分析自己的系统。这本书配套的教材Principles of Computer System Design: An Introduction也写得非常好,推荐大家阅读。

-

CMU 15-213: Introduction to Computer System是CMU的系统入门课,内容覆盖了体系结构、操作系统、链接、并行、网络等等,兼具广度和深度,配套的教材Computer Systems: A Programmer's Perspective也是质量极高,强烈建议阅读。

-

操作系统

-

操作系统作为所有应用软件和底层硬件交互的掌舵者,了解它的内部原理和设计原则对于一个不满足于调包侠的程序员来说是很有帮助的。同时,国外操统课程的质量也是让上了多年网课的我也感到瞠目结舌。

-

MIT 6.S081: Operating System Engineering,MIT著名PDOS实验室出品,11个Project会让你在一个2万多行的教学用迷你操作系统上增加各类功能模块。这门课也让我深刻认识到,做系统不是靠PPT念出来的,是得几万行代码一点点累起来的。

-

UCB CS162: Operating System,伯克利的操作系统课,采用和Stanford同样的Project —— 一个教学用操作系统Pintos。我作为下学期北京大学操作系统实验班的助教,会尝试引入这个Project,欢迎大家选课尝试,同时课程资源也会全部开源,目前课程网站正在建设当中。

-

并行与分布式系统

-

想必这两年各类CS讲座里最常听到的话就是“摩尔定律正在走向终结”,此话不假。同时如今深度学习的兴起导致对计算机算力与存储的要求都达到了前所未有的高度,因此并行和分布式系统已成为一项热门技术话题。

-

并行计算

-

CMU 15-418/Stanford CS149: Parallel Computing

-

分布式系统

-

MIT 6.824: Distributed System

-

系统安全

-

不知道你当年选择计算机是不是因为怀着一个中二的黑客梦想,但现实却是成为黑客道阻且长。

-

理论

-

UCB CS161: Computer Security是伯克利的系统安全课程,会涵盖栈攻击、密码学、网站安全、网络安全等等内容。

-

实践

-

掌握这些理论知识之后,还需要在实践中培养和锻炼这些“安全素养”。CTF夺旗赛是一项比较热门的系统安全比赛,赛题中会融会贯通地考察你对计算机各个领域知识的理解和运用。北大今年也成功举办了第0届和第1届,也鼓励大家后期踊跃参与,在实践中提高自己。下面列举一些我平时学习(摸鱼)用到的资源:

- -

计算机网络

-

计网著名教材《自顶向下方法》的配套学习资源Computer Networking: A Top-Down Approach

-

没有什么能比自己写个TCP/IP协议栈更能加深自己对计算机网络的理解了,所以不妨试试Stanford CS144: Computer Network,8个Project带你实现整个协议栈。

-

数据库系统

-

没有什么能比自己写个关系型数据库更能加深自己对数据库系统的理解了。

-

C++版

-

CMU 15-445: Introduction to Database System

-

Java版

-

UCB CS186: Introduction to Database System

-

编译原理

-

没有什么能比自己写个编译器更能加深自己对编译器的理解了。

-

Stanford CS143: Compilers

-

计算机图形学

-

Games101

-

Web开发

-

网站的开发很少在计算机的培养方案里被重视,但其实掌握这项技能还是好处多多的,例如搭建自己的个人主页,抑或是给自己的课程项目做一个精彩的展示网页。

-

两周速成版

-

MIT web development course

-

系统学习版

-

Stanford CS142: Web Applications

-

数据科学

-

UCB Data100: Principles and Techniques of Data Science

-

人工智能

-

入门课

-

Harvard CS50’s Introduction to AI with Python

-

专业课

-

UCB CS188: Introduction to Artificial Intelligence

-

机器学习

-

入门课

-

Coursera: Machine Learning

-

专业课

- -

深度学习

-

入门课

- -

计算机视觉

-

Stanford CS231n: CNN for Visual Recognition

-

自然语言处理

-

Stanford CS224n: Natural Language Processing

-

图神经网络

-

Stanford CS224w: Machine Learning with Graphs

-

强化学习

-

UCB CS285: Deep Reinforcement Learning

-

定制属于你的课程地图

-
-

授人以鱼不如授人以渔。

-
-

以上的课程规划难免有强烈的个人倾向和喜好,不一定适合所有人,更多的是起到抛砖引玉的作用。如果你想挑选自己感兴趣的方向和内容加以学习,可以参考我在下面列出来的资源。

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + 一个仅供参考的CS学习规划 - CS自学指南
跳转至

一个仅供参考的CS学习规划

计算机领域方向庞杂,知识浩如烟海,每个细分领域如果深究下去都可以说学无止境。因此,一个清晰明确的学习规划是非常重要的。这一节的内容是对后续整本书的内容的一个概览,你可以将其看作是这本书的目录,按需选择自己感兴趣的内容进行学习。

不过,在开始学习之前,先向小白们强烈推荐一个科普向系列视频Crash Course: Computer Science,在短短8个小时里非常生动且全面地科普了关于计算机科学的方方面面:计算机的历史、计算机是如何运作的、组成计算机的各个重要模块、计算机科学中的重要思想等等等等。正如它的口号所说的Computers are not magic!,希望看完这个视频之后,大家能对计算机科学有个全貌性地感知,从而怀着兴趣去面对下面浩如烟海的更为细致且深入的学习内容。

必学工具

俗话说:磨刀不误砍柴工。如果你是一个刚刚接触计算机的24k纯小白,学会一些工具将会让你事半功倍。

MIT-Missing-Semester这门课覆盖了这些工具中绝大部分,而且有相当详细的使用指导,强烈建议小白学习。

翻墙:由于一些众所周知的原因,谷歌、Github等网站在大陆无法访问。然而很多时候,谷歌和Stackoverflow可以解决你在开发过程中遇到的95%的问题。因此,学会翻墙几乎是一个内地CSer的必备技能。(考虑到法律问题,这个文档提供的翻墙方式仅对拥有北大邮箱的用户适用)。

IDE(Integrated Development Environment):集成开发环境,说白了就是你写代码的地方。作为一个码农,IDE的重要性不言而喻,但由于很多IDE是为大型工程项目设计的,体量较大,功能也过于丰富。其实如今一些轻便的文本编辑器配合丰富的插件生态基本可以满足日常的轻量编程需求。个人常用的编辑器是VSCode和Sublime(前者的插件配置非常简单,后者略显复杂但颜值很高)。当然对于大型项目我还是会采用略重型的IDE,例如Pycharm(Python),IDEA(Java)等等(免责申明:所有的IDE都是世界上最好的IDE)。

Vim:一款命令行编辑工具。这是一个学习曲线有些陡峭的编辑器,不过学会它我觉得是非常有必要的,因为它将极大地提高你的开发效率。现在绝大多数IDE也都支持Vim插件,让你在享受现代开发环境的同时保留极客的炫酷(yue)。

Git:一款代码版本控制工具。Git的学习曲线可能更为陡峭,但出自Linux之父Linus之手的Git绝对是每个学CS的童鞋必须掌握的神器之一。

Github:基于Git的代码托管平台。全世界最大的代码开源社区,大佬集聚地。

Makefile:一款工程构建工具。善用Makefile会让你养成代码模块化的习惯,同时也能让你熟悉一些大型工程的编译链接流程。

CMake:一款功能比Makefile更为强大的构建工具,建议掌握Makefile之后再加以学习。

LaTex逼格提升论文排版工具。

Docker:一款相较于虚拟机更轻量级的软件打包与环境部署工具。

实用工具箱:除了上面提到的这些在开发中使用频率极高的工具之外,我还收集了很多实用有趣的免费工具,例如一些下载工具、设计工具、学习网站等等。

好书推荐

私以为一本好的教材应当是以人为本的,而不是炫技式的理论堆砌。告诉读者“是什么”固然重要,但更好的应当是教材作者将其在这个领域深耕几十年的经验融汇进书中,向读者娓娓道来“为什么”以及未来应该“怎么做”。

链接戳这里

环境配置

你以为的开发 —— 在IDE里疯狂码代码数小时。

实际上的开发 —— 配环境配几天还没开始写代码。

推荐一个非常不错的Github项目DevOps-Guide,其中涵盖了非常多的运维方面的基础知识和教程,例如Docker,K8s,Linux,CI-CD,Github Actions等等。

另外大家可以参考一份灵感来自 6.NULL MIT-Missing-Semester环境配置指南,重点在于终端的美化配置。此外还包括常用软件源(如GitHub, Anaconda, pip等)的加速与替换以及一些IDE的配置与激活教程。

More contents under construction.

课程地图

正如这章开头提到的,这份课程地图仅仅是一个仅供参考的课程规划,我作为一个临近毕业的本科生。深感自己没有权利也没有能力向别人宣扬“应该怎么学”。因此如果你觉得以下的课程分类与选择有不合理之处,我全盘接受,并深感抱歉。你可以在下一节定制属于你的课程地图

以下课程类别中除了含有基础入门字眼的以外,并无明确的先后次序,大家只要满足某个课程的先修要求,完全可以根据自己的需要和喜好选择想要学习的课程。

另外由于贡献者的不断增加,这份课程地图已经从最初我的学习经历,发展成为很多CS自学者的资源合集,其中难免有内容交叉甚至重复的。但之所以都列出来,还是希望集百家之长,给大家尽可能多的选择与参考。

数学基础

微积分与线性代数

作为大一新生,学好微积分线代是和写代码至少同等重要的事情,相信已经有无数的前人经验提到过这一点,但我还是要不厌其烦地再强调一遍:学好微积分线代真的很重要!你也许会吐槽这些东西岂不是考完就忘,那我觉得你是并没有把握住它们本质,对它们的理解还没有达到刻骨铭心的程度。如果觉得老师课上讲的内容晦涩难懂,不妨参考MIT的Calculus Course18.06: Linear Algebra的课程notes,至少于我而言,它帮助我深刻理解了微积分和线性代数的许多本质。顺道再安利一个油管数学网红3Blue1Brown,他的频道有很多用生动形象的动画阐释数学本质内核的视频,兼具深度和广度,质量非常高。

信息论入门

作为计算机系的学生,及早了解一些信息论的基础知识,我觉得是大有裨益的。但大多信息论课程都面向高年级本科生甚至研究生,对新手极不友好。而MIT的6.050J: Information theory and Entropy这门课正是为大一新生量身定制的,几乎没有先修要求,涵盖了编码、压缩、通信、信息熵等等内容,非常有趣。

数学进阶

离散数学与概率论

集合论、图论、概率论等等是算法推导与证明的重要工具,也是后续高阶数学课程的基础。但我觉得这类课程的讲授很容易落入理论化与形式化的窠臼,让课堂成为定理结论的堆砌,而无法使学生深刻把握理论的本质,进而造成学了就背,考了就忘的怪圈。如果能在理论教学中穿插算法运用实例,学生在拓展算法知识的同时也能窥见理论的力量和魅力。

UCB CS70 : discrete Math and probability theoryUCB CS126 : Probability theory是UC Berkeley的概率论课程,前者覆盖了离散数学和概率论基础,后者则涉及随机过程以及深入的理论内容。两者都非常注重理论和实践的结合,有丰富的算法实际运用实例,后者还有大量的Python编程作业来让学生运用概率论的知识解决实际问题。

数值分析

作为计算机系的学生,培养计算思维是很重要的,实际问题的建模、离散化,计算机的模拟、分析,是一项很重要的能力。而这两年开始风靡的,由MIT打造的Julia编程语言以其C一样的速度和Python一样友好的语法在数值计算领域有一统天下之势,MIT的许多数学课程也开始用Julia作为教学工具,把艰深的数学理论用直观清晰的代码展示出来。

ComputationalThinking是MIT开设的一门计算思维入门课,所有课程内容全部开源,可以在课程网站直接访问。这门课利用Julia编程语言,在图像处理、社会科学与数据科学、气候学建模三个topic下带领学生理解算法、数学建模、数据分析、交互设计、图例展示,让学生体验计算与科学的美妙结合。内容虽然不难,但给我最深刻的感受就是,科学的魅力并不是故弄玄虚的艰深理论,不是诘屈聱牙的术语行话,而是用直观生动的案例,用简练深刻的语言,让每个普通人都能理解。

上完上面的体验课之后,如果意犹未尽的话,不妨试试MIT的18.330 : Introduction to numerical analysis,这门课的编程作业同样会用Julia编程语言,不过难度和深度上都上了一个台阶。内容涉及了浮点编码、Root finding、线性系统、微分方程等等方面,整门课的主旨就是让你利用离散化的计算机表示去估计和逼近一个数学上连续的概念。这门课的教授还专门撰写了一本配套的开源教材Fundamentals of Numerical Computation,里面附有丰富的Julia代码实例和严谨的公式推导。

如果你还意犹未尽的话,还有MIT的研究生课程18.335: Introduction to numerical method供你参考。

微分方程

如果世间万物的运动发展都能用方程来刻画和描述,这是一件多么酷的事情呀!虽然几乎任何一所学校的CS培养方案中都没有微分方程相关的必修课程,但我还是觉得掌握它会赋予你一个新的视角来审视这个世界。

由于微分方程中往往会用到很多复变函数的知识,所以大家可以参考MIT18.04: Complex variables functions的课程notes来补齐先修知识。

MIT18.03: differential equations主要覆盖了常微分方程的求解,在此基础之上MIT18.152: Partial differential equations则会深入偏微分方程的建模与求解。掌握了微分方程这一有利工具,相信对于你的实际问题的建模能力以及从众多噪声变量中把握本质的直觉都会有很大帮助。

数学高阶

作为计算机系的学生,我经常听到数学无用论的论断,对此我不敢苟同但也无权反对,但若凡事都硬要争出个有用和无用的区别来,倒也着实无趣,因此下面这些面向高年级甚至研究生的数学课程,大家按兴趣自取所需。

凸优化

Standford EE364A: Convex Optimization

信息论

MIT6.441: Information Theory

应用统计学

MIT18.650: Statistics for Applications

初等数论

MIT18.781: Theory of Numbers

密码学

Standford CS255: Cryptography

编程入门

Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language.

Shell

Python

C++

Rust

OCaml

电子基础

电路基础

作为计算机系的学生,了解一些基础的电路知识,感受从传感器收集数据到数据分析再到算法预测整条流水线,对于后续知识的学习以及计算思维的培养还是很有帮助的。EE16A&B: Designing Information Devices and Systems I&II是伯克利EE学生的大一入门课,其中EE16A注重通过电路从实际环境中收集和分析数据,而EE16B则侧重从这些收集到的数据进行分析并做出预测行为。

信号与系统

信号与系统是一门我觉得非常值得一上的课,最初学它只是为了满足我对傅里叶变换的好奇,但学完之后我才不禁感叹,傅立叶变换给我提供了一个全新的视角去看待这个世界,就如同微分方程一样,让你沉浸在用数学去精确描绘和刻画这个世界的优雅与神奇之中。 MIT 6.003 : signal and systems提供了全部的课程录影、书面作业以及答案。也可以去看这门课的远古版本UCB EE120 : Signal and Systems关于傅立叶变换的notes写得非常好,并且提供了6个非常有趣的Python编程作业,让你实践中运用信号与系统的理论与算法。

数据结构与算法

数据结构与算法

算法设计与分析

软件工程

入门课

一份“能跑”的代码,和一份高质量的工业级代码是有本质区别的。因此我非常推荐低年级的同学学习一下MIT 6.031: Software Construction这门课,它会以Java语言为基础,以丰富细致的阅读材料和精心设计的编程练习传授如何编写不易出bug、简明易懂、易于维护修改的高质量代码。大到宏观数据结构设计,小到如何写注释,遵循这些前人总结的细节和经验,对于你此后的编程生涯大有裨益。

专业课

当然,如果你想系统性地上一门软件工程的课程,那我推荐的是伯克利的UCB CS169: software engineering。但需要提醒的是,和大多学校(包括贵校)的软件工程课程不同,这门课不会涉及传统的design and document模式,即强调各种类图、流程图及文档设计,而是采用近些年流行起来的小团队快速迭代Agile Develepment开发模式以及利用云平台的Software as a service服务模式。

体系结构

入门课

从小我就一直听说,计算机的世界是由01构成的,我不理解但大受震撼。如果你的内心也怀有这份好奇,不妨花一到两个月的时间学习Coursera: Nand2Tetris这门无门槛的计算机课程。这门麻雀虽小五脏俱全的课程会从01开始让你亲手造出一台计算机,并在上面运行俄罗斯方块小游戏。一门课里涵盖了编译、虚拟机、汇编、体系结构、数字电路、逻辑门等等从上至下、从软至硬的各类知识,非常全面。难度上也是通过精心的设计,略去了众多现代计算机复杂的细节,提取出了最核心本质的东西,力图让每个人都能理解。在低年级,如果就能从宏观上建立对整个计算机体系的鸟瞰图,是大有裨益的。

专业课

当然,如果想深入现代计算机体系结构的复杂细节,还得上一门大学本科难度的课程UCB CS61C: Great Ideas in Computer Architecture。UC Berkeley作为RISC-V架构的发源地,在体系结构领域算得上首屈一指。其课程非常注重实践,你会在Project中手写汇编构造神经网络,从零开始搭建一个CPU,这些实践都会让你对计算机体系结构有更为深入的理解,而不是仅停留于“取指译码执行访存写回”的单调背诵里。

系统入门

计算机系统是一个庞杂而深刻的主题,在深入学习某个细分领域之前,对各个领域有一个宏观概念性的理解,对一些通用性的设计原则有所知晓,会让你在之后的深入学习中不断强化一些最为核心乃至哲学的概念,而不会桎梏于复杂的内部细节和各种trick。因为在我看来,学习系统最关键的还是想让你领悟到这些最核心的东西,从而能够设计和实现出属于自己的系统。

MIT6.033: System Engineering是MIT的系统入门课,主题涉及了操作系统、网络、分布式和系统安全,除了知识点的传授外,这门课还会讲授一些写作和表达上的技巧,让你学会如何设计并向别人介绍和分析自己的系统。这本书配套的教材Principles of Computer System Design: An Introduction也写得非常好,推荐大家阅读。

CMU 15-213: Introduction to Computer System是CMU的系统入门课,内容覆盖了体系结构、操作系统、链接、并行、网络等等,兼具广度和深度,配套的教材Computer Systems: A Programmer's Perspective也是质量极高,强烈建议阅读。

操作系统

操作系统作为所有应用软件和底层硬件交互的掌舵者,了解它的内部原理和设计原则对于一个不满足于调包侠的程序员来说是很有帮助的。同时,国外操统课程的质量也是让上了多年网课的我也感到瞠目结舌。

MIT 6.S081: Operating System Engineering,MIT著名PDOS实验室出品,11个Project会让你在一个2万多行的教学用迷你操作系统上增加各类功能模块。这门课也让我深刻认识到,做系统不是靠PPT念出来的,是得几万行代码一点点累起来的。

UCB CS162: Operating System,伯克利的操作系统课,采用和Stanford同样的Project —— 一个教学用操作系统Pintos。我作为下学期北京大学操作系统实验班的助教,会尝试引入这个Project,欢迎大家选课尝试,同时课程资源也会全部开源,目前课程网站正在建设当中。

并行与分布式系统

想必这两年各类CS讲座里最常听到的话就是“摩尔定律正在走向终结”,此话不假。同时如今深度学习的兴起导致对计算机算力与存储的要求都达到了前所未有的高度,因此并行和分布式系统已成为一项热门技术话题。

并行计算

CMU 15-418/Stanford CS149: Parallel Computing

分布式系统

MIT 6.824: Distributed System

系统安全

不知道你当年选择计算机是不是因为怀着一个中二的黑客梦想,但现实却是成为黑客道阻且长。

理论

UCB CS161: Computer Security是伯克利的系统安全课程,会涵盖栈攻击、密码学、网站安全、网络安全等等内容。

实践

掌握这些理论知识之后,还需要在实践中培养和锻炼这些“安全素养”。CTF夺旗赛是一项比较热门的系统安全比赛,赛题中会融会贯通地考察你对计算机各个领域知识的理解和运用。北大今年也成功举办了第0届和第1届,也鼓励大家后期踊跃参与,在实践中提高自己。下面列举一些我平时学习(摸鱼)用到的资源:

计算机网络

计网著名教材《自顶向下方法》的配套学习资源Computer Networking: A Top-Down Approach

没有什么能比自己写个TCP/IP协议栈更能加深自己对计算机网络的理解了,所以不妨试试Stanford CS144: Computer Network,8个Project带你实现整个协议栈。

数据库系统

没有什么能比自己写个关系型数据库更能加深自己对数据库系统的理解了。

C++版

CMU 15-445: Introduction to Database System

Java版

UCB CS186: Introduction to Database System

编译原理

没有什么能比自己写个编译器更能加深自己对编译器的理解了。

Stanford CS143: Compilers

计算机图形学

Games101

Web开发

网站的开发很少在计算机的培养方案里被重视,但其实掌握这项技能还是好处多多的,例如搭建自己的个人主页,抑或是给自己的课程项目做一个精彩的展示网页。

两周速成版

MIT web development course

系统学习版

Stanford CS142: Web Applications

数据科学

UCB Data100: Principles and Techniques of Data Science

人工智能

入门课

Harvard CS50’s Introduction to AI with Python

专业课

UCB CS188: Introduction to Artificial Intelligence

机器学习

入门课

Coursera: Machine Learning

专业课

深度学习

入门课

计算机视觉

Stanford CS231n: CNN for Visual Recognition

自然语言处理

Stanford CS224n: Natural Language Processing

图神经网络

Stanford CS224w: Machine Learning with Graphs

强化学习

UCB CS285: Deep Reinforcement Learning

定制属于你的课程地图

授人以鱼不如授人以渔。

以上的课程规划难免有强烈的个人倾向和喜好,不一定适合所有人,更多的是起到抛砖引玉的作用。如果你想挑选自己感兴趣的方向和内容加以学习,可以参考我在下面列出来的资源。


最后更新: December 28, 2021
回到页面顶部
\ No newline at end of file diff --git a/Web开发/CS142/index.html b/Web开发/CS142/index.html index 0191c551..431c86ea 100644 --- a/Web开发/CS142/index.html +++ b/Web开发/CS142/index.html @@ -1,2104 +1 @@ - - - - - - - - - - - - - - - - Stanford CS142: Web Applications - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Stanford CS142: Web Applications

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:有一定的编程经验
  • -
  • 编程语言:JavaScript/HTML/CSS
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:100小时
  • -
-

斯坦福的Web应用开发课程,内容覆盖了HTML、CSS、JavaScript、ReactJs、NodeJS、ExpressJS、Web安全等等。8个Project会让你在实战中锻炼自己的Web开发技巧。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Stanford CS142: Web Applications - CS自学指南
跳转至

Stanford CS142: Web Applications

课程简介

  • 所属大学:Stanford
  • 先修要求:有一定的编程经验
  • 编程语言:JavaScript/HTML/CSS
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:100小时

斯坦福的Web应用开发课程,内容覆盖了HTML、CSS、JavaScript、ReactJs、NodeJS、ExpressJS、Web安全等等。8个Project会让你在实战中锻炼自己的Web开发技巧。

课程资源


最后更新: December 11, 2021
回到页面顶部
\ No newline at end of file diff --git a/Web开发/mitweb/index.html b/Web开发/mitweb/index.html index 9ce31ff3..f3ecc541 100644 --- a/Web开发/mitweb/index.html +++ b/Web开发/mitweb/index.html @@ -1,2104 +1 @@ - - - - - - - - - - - - - - - - MIT web development course - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

MIT Web Development Crash Course

-

课程简介

-
    -
  • 所属大学:MIT
  • -
  • 先修要求:掌握至少一门编程语言
  • -
  • 编程语言:JavaScript/HTML/CSS/NoSQL
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:因人而异
  • -
-

MIT在每年1月份会有一个为期4周的Independent Activities Period (IAP),在这个月里,MIT的学生和老师可以自由地开设很多有趣的课程,而这门网站开发课程就是其中之一。

-

在一个月的时间里,你会从零开始掌握一个网站的设计、搭建、美化、交互等等核心内容,基本覆盖了Web开发的前后端大部分技术栈。如果你不需要系统地学习网络开发,而只是出于兴趣想把它加入自己的技能包里,那么这门课将非常适合你。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频:参见课程网站链接
  • -
  • 课程作业:参见课程schedule
  • -
- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + MIT web development course - CS自学指南
跳转至

MIT Web Development Crash Course

课程简介

  • 所属大学:MIT
  • 先修要求:掌握至少一门编程语言
  • 编程语言:JavaScript/HTML/CSS/NoSQL
  • 课程难度:🌟🌟🌟
  • 预计学时:因人而异

MIT在每年1月份会有一个为期4周的Independent Activities Period (IAP),在这个月里,MIT的学生和老师可以自由地开设很多有趣的课程,而这门网站开发课程就是其中之一。

在一个月的时间里,你会从零开始掌握一个网站的设计、搭建、美化、交互等等核心内容,基本覆盖了Web开发的前后端大部分技术栈。如果你不需要系统地学习网络开发,而只是出于兴趣想把它加入自己的技能包里,那么这门课将非常适合你。

课程资源

  • 课程网站
  • 课程视频:参见课程网站链接
  • 课程作业:参见课程schedule

最后更新: December 11, 2021
回到页面顶部
\ No newline at end of file diff --git a/index.html b/index.html index 842ce26c..1f5541a2 100644 --- a/index.html +++ b/index.html @@ -1,2211 +1 @@ - - - - - - - - - - - - - - - - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - - - - -
-
- - - - - - - -

前言

-

更新:本书最新网址 csdiy.wiki ,欢迎大家访问 ~

-

这是一本计算机的自学指南,也是对自己大学三年自学生涯的一个纪念。

-

这同时也是一份献给北大信科学弟学妹们的礼物。如果这本书能对你们的信科生涯有哪怕一丝一毫的帮助,都是对我极大的鼓励和慰藉。

-

本书目前规划了以下部分(如果你有其他好的建议,或者想加入贡献者的行列,欢迎邮件zhongyinmin@pku.edu.cn或者在issue里提问):

-
    -
  • 必学工具:IDE, 翻墙, StackOverflow, Git, Github, Vim, Latex, Makefile, 实用工具 ...
  • -
  • 国外高质量CS课程汇总:我将把我上过的所有高质量的国外CS课程分门别类进行汇总,并给出相关的自学建议,大部分课程都会有一个独立的仓库维护相关的资源以及我的作业实现。
  • -
  • 环境配置:Linux基础,bash,环境变量,Anaconda ...
  • -
  • 经典书籍推荐:看过CSAPP这本书的同学一定感叹好书的重要,我将列举推荐自己看过的计算机领域的必看好书与资源链接。
  • -
-

梦开始的地方 —— CS61A

-

大一入学时我是一个对计算机一无所知的小白,装了几十个G的Visual Studio天天和OJ你死我活。凭着高中的数学底子我数学课学得还不错,但在专业课上对竞赛大佬只有仰望。提到编程我只会打开那笨重的IDE,新建一个我也不知道具体是干啥的命令行项目,然后就是cin,cout,for循环,然后CE,RE,WA循环。当时的我就处在一种拼命想学好但不知道怎么学,课上认真听讲但题还不会做,课后做作业完全是用时间和它硬耗的痛苦状态。我至今电脑里还存着自己大一上学期计算概论大作业的源代码 —— 一个1200行的C++文件,没有头文件、没有类、没有封装、没有unit test、没有makefile、没有git,唯一的优点是它确实能跑,缺点是“能跑”的补集。我一度怀疑我是不是不适合学计算机,因为童年对于极客的所有想象,已经被我第一个学期的体验彻底粉碎了。

-

这一切的转机发生在我大一的寒假,我心血来潮想学习Python。无意间看到知乎有人推荐了CS61A这门课,说是UC Berkeley的大一入门课程,讲的就是Python。我永远不会忘记那一天,打开CS61A课程网站的那个瞬间,就像哥伦布发现了新大陆一样,我开启了新世界的大门。

-

我一口气3个星期上完了这门课,它让我第一次感觉到原来CS可以学得如此充实而有趣,原来这世上竟有如此精华的课程。

-

为避免有崇洋媚外之嫌,我单纯从一个学生的视角来讲讲自学CS61A的体验:

-
    -
  • -

    独立搭建的课程网站: 一个网站将所有课程资源整合一体,条理分明的课程schedule、所有slides,hw,discussion的文件链接、详细明确的课程给分说明、历年的考试题与答案。这样一个网站抛开美观程度不谈,既方便学生,也让资源公正透明。

    -
  • -
  • -

    课程教授亲自编写的教材:CS61A这门课的开课老师将MIT的经典教材Structure and Interpretation of Computer Programs(SICP)用Python这门语言进行改编(原教材基于Scheme语言),保证了课堂内容与教材内容的一致性,同时补充了更多细节,可以说诚意满满。而且全书开源,可以直接线上阅读。

    -
  • -
  • -

    丰富到让人眼花缭乱的课程作业:14个lab巩固随堂知识点,10个homework,还有4个代码量均上千行的project。与大家熟悉的OJ和word文档式的作业不同,所有作业均有完善的代码框架,保姆级的作业说明。每个Project都有详尽的handout文档、全自动的评分脚本。CS61A甚至专门开发了一个自动化的作业提交评分系统(据说还发了论文)。当然,有人会说“一个project几千行代码大部分都是助教帮你写好的,你还能学到啥?”。此言差矣,作为一个刚刚接触计算机,连安装Python都磕磕绊绊的小白来说,这样完善的代码框架既可以让你专注于巩固课堂上学习到的核心知识点,又能有“我才学了一个月就能做一个小游戏了!”的成就感,还能有机会阅读学习别人高质量的代码,从而为自己所用。我觉得在低年级,这种代码框架可以说百利而无一害。唯一的害也许是苦了老师和助教,因为开发这样的作业可想而知需要相当的时间投入。

    -
  • -
  • -

    每周Discussion讨论课,助教会讲解知识难点和考试例题:类似于北京大学ICS的小班研讨,但习题全部用Latex撰写,相当规范且会明确给出solution。

    -
  • -
-

这样的课程,你完全不需要任何计算机的基础,你只需要努力、认真、花时间就够了。此前那种有劲没处使的感觉,那种付出再多时间却得不到回报的感觉,从此烟消云散。这太适合我了,我从此爱上了自学。

-

试想如果有人能把艰深的知识点嚼碎嚼烂,用生动直白的方式呈现给你,还有那么多听起来就很fancy,种类繁多的project来巩固你的理论知识,你会觉得他们真的是在倾尽全力想方设法地让你完全掌握这门课,你会觉得不学好它简直是对这些课程建设者的侮辱。

-

如果你觉得我在夸大其词,那么不妨从CS61A开始,因为它是我的梦开始的地方。

-

为什么写这本书

-

在我2020年秋季学期担任《深入理解计算机系统》(CSAPP)这门课的助教时,我已经自学一年多了。这一年多来我无比享受这种自学模式,为了分享这种快乐,我为自己的小班同学做过一个CS自学资料整理仓库。当时纯粹是心血来潮,因为我也不敢公然鼓励大家翘课自学。

-

但随着又一年时间的维护,这个仓库的内容已经相当丰富,基本覆盖了计科、智能系、软工系的绝大多数课程,我也为每个课程都建了各自的Github仓库,汇总我用到的自学资料以及作业实现。

-

直到大四开始凑学分毕业的时候,我打开自己的培养方案,我发现它已经是我这个自学仓库的子集了,而这距离我开始自学也才两年半而已。于是,一个大胆的想法在我脑海中浮现:也许,我可以打造一个自学式的培养方案,把我这三年自学经历中遇到的坑、走过的路记录下来,以期能为后来的学弟学妹们贡献自己的一份微薄之力。

-

如果大家可以在三年不到的时间里就能建立起整座CS的基础大厦,能有相对扎实的数学功底和代码能力,经历过数十个千行代码量的Project的洗礼,掌握至少C/C++/Java/JS/Python/Go/Rust等主流语言,对算法、电路、体系、网络、操统、编译、人工智能、机器学习、计算机视觉、自然语言处理、强化学习、密码学、信息论、博弈论、数值分析、统计学、分布式、数据库、图形学、Web开发、云服务、超算等等方面均有涉猎。我想,你将有足够的底气和自信选择自己感兴趣的方向,无论是就业还是科研,你都将有相当的竞争力。

-

因为我坚信,既然你能坚持听我BB到这里,你一定不缺学好CS的能力,你只是没有一个好的老师,给你讲一门好的课程。而我,将力图根据我三年的体验,为你挑选这样的课程。

-

自学的好处

-

对我来说,自学最大的好处就在于可以完全根据自己的进度来调整学习速度。对于一些疑难知识点,我可以反复回看视频,在网上谷歌相关的内容,上StackOverflow提问题,直到完全将它弄明白。而对于自己掌握得相对较快的内容,则可以两倍速甚至三倍速略过。

-

自学的另一大好处就是博采众长。计算机系的几大核心课程:体系、网络、操统、编译,每一门我基本都上过不同大学的课程,不同的教材、不同的知识点侧重、不同的project将会极大丰富你的视野,也会让你理解错误的一些内容得到及时纠正。

-

自学的第三个好处是时间自由,具体原因省略。

-

自学的坏处

-

当然,作为CS自学主义的忠实拥趸者,我不得不承认自学也有它的坏处。

-

第一就是交流沟通的不便。我其实是一个很热衷于提问的人,对于所有没有弄明白的点,我都喜欢穷追到底。但当你面对着屏幕听到老师讲了一个你没明白的知识点的时候,你无法顺着网线到另一端向老师问个明白。我努力通过独立思考和善用Google来缓解这一点,但是,如果能有几个志同道合的伙伴结伴自学,那将是极好的。关于交流群的建立,大家可以参考仓库README中的教程。

-

第二就是这些自学的课程基本都是英文的。从视频到slides到作业全是英文,所以有一定的门槛。不过我觉得这个挑战如果你克服了的话对你是极为有利的。因为在当下,虽然我很不情愿,但也不得不承认,在计算机领域,很多优质的文档、论坛、网站都是全英文的。养成英文阅读的习惯,在赤旗插遍世界之前,还是有一定好处的(狗头保命)。

-

第三,也是我觉得最困难的一点,就是自律。因为没有DDL有时候真的是一件可怕的事情,特别是随着学习的深入,国外的很多课程是相当虐的。你得有足够的驱动力强迫自己静下心来,阅读几十页的Project Handout,理解上千行的代码框架,忍受数个小时的debug时光。而这一切,没有学分,没有绩点,没有老师,没有同学,只有一个信念 —— 你在变强。

-

这本书适合谁

-

正如我在前言里说的,任何有志于自学计算机的朋友都可以参考这本书。如果你已经有了一定的计算机基础,只是对某个特定的领域感兴趣,可以选择性地挑选你感兴趣的内容进行学习。当然,如果你是一个像我当年一样对计算机一无所知的小白,初入大学的校门,我希望这本书能成为你的攻略,让你花最少的时间掌握你所需要的知识和能力。某种程度上,这本书更像是一个根据我的体验来排序的课程搜索引擎,帮助大家足不出户,体验世界顶级名校的计算机优质课程。

-

当然,作为一个还未毕业的本科生,我深感自己没有能力也没有权利去宣扬一种学习方式,我只是希望这份资料能让那些同样有自学之心和毅力朋友可以少走些弯路,收获更丰富、更多样、更满足的学习体验。

-

特别鸣谢

-

在这里,我怀着崇敬之心真诚地感谢所有将课程资源无偿开源的各位教授们。这些课程倾注了他们数十年教学生涯的积淀和心血,他们却选择无私地让所有人享受到如此高质量的CS教育。没有他们,我的大学生活不会这样充实而快乐。很多教授在我给他们发了感谢邮件之后,甚至会回复上百字的长文,真的让我无比感动。他们也时刻激励着我,做一件事,就得用心做好,无论是科研,还是为人。

-

你也想加入到贡献者的行列

-

一个人的力量终究是有限的,这本书也是我在繁重的科研之余熬夜抽空写出来的,难免有不够完善之处。另外,由于个人做的是系统方向,很多课程侧重系统领域,对于数学、理论计算机、高级算法相关的内容则相对少些。如果有大佬想在其他领域分享自己的自学经历与资源,可以直接在项目中发起Pull Request,也欢迎和我邮件联系(zhongyinmin@pku.edu.cn)。

-

关于交流群的建立

-

方法参见仓库的README.

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + CS自学指南
跳转至

前言

更新:本书最新网址 csdiy.wiki ,欢迎大家访问 ~

这是一本计算机的自学指南,也是对自己大学三年自学生涯的一个纪念。

这同时也是一份献给北大信科学弟学妹们的礼物。如果这本书能对你们的信科生涯有哪怕一丝一毫的帮助,都是对我极大的鼓励和慰藉。

本书目前规划了以下部分(如果你有其他好的建议,或者想加入贡献者的行列,欢迎邮件zhongyinmin@pku.edu.cn或者在issue里提问):

  • 必学工具:IDE, 翻墙, StackOverflow, Git, Github, Vim, Latex, Makefile, 实用工具 ...
  • 国外高质量CS课程汇总:我将把我上过的所有高质量的国外CS课程分门别类进行汇总,并给出相关的自学建议,大部分课程都会有一个独立的仓库维护相关的资源以及我的作业实现。
  • 环境配置:Linux基础,bash,环境变量,Anaconda ...
  • 经典书籍推荐:看过CSAPP这本书的同学一定感叹好书的重要,我将列举推荐自己看过的计算机领域的必看好书与资源链接。

梦开始的地方 —— CS61A

大一入学时我是一个对计算机一无所知的小白,装了几十个G的Visual Studio天天和OJ你死我活。凭着高中的数学底子我数学课学得还不错,但在专业课上对竞赛大佬只有仰望。提到编程我只会打开那笨重的IDE,新建一个我也不知道具体是干啥的命令行项目,然后就是cin,cout,for循环,然后CE,RE,WA循环。当时的我就处在一种拼命想学好但不知道怎么学,课上认真听讲但题还不会做,课后做作业完全是用时间和它硬耗的痛苦状态。我至今电脑里还存着自己大一上学期计算概论大作业的源代码 —— 一个1200行的C++文件,没有头文件、没有类、没有封装、没有unit test、没有makefile、没有git,唯一的优点是它确实能跑,缺点是“能跑”的补集。我一度怀疑我是不是不适合学计算机,因为童年对于极客的所有想象,已经被我第一个学期的体验彻底粉碎了。

这一切的转机发生在我大一的寒假,我心血来潮想学习Python。无意间看到知乎有人推荐了CS61A这门课,说是UC Berkeley的大一入门课程,讲的就是Python。我永远不会忘记那一天,打开CS61A课程网站的那个瞬间,就像哥伦布发现了新大陆一样,我开启了新世界的大门。

我一口气3个星期上完了这门课,它让我第一次感觉到原来CS可以学得如此充实而有趣,原来这世上竟有如此精华的课程。

为避免有崇洋媚外之嫌,我单纯从一个学生的视角来讲讲自学CS61A的体验:

  • 独立搭建的课程网站: 一个网站将所有课程资源整合一体,条理分明的课程schedule、所有slides,hw,discussion的文件链接、详细明确的课程给分说明、历年的考试题与答案。这样一个网站抛开美观程度不谈,既方便学生,也让资源公正透明。

  • 课程教授亲自编写的教材:CS61A这门课的开课老师将MIT的经典教材Structure and Interpretation of Computer Programs(SICP)用Python这门语言进行改编(原教材基于Scheme语言),保证了课堂内容与教材内容的一致性,同时补充了更多细节,可以说诚意满满。而且全书开源,可以直接线上阅读。

  • 丰富到让人眼花缭乱的课程作业:14个lab巩固随堂知识点,10个homework,还有4个代码量均上千行的project。与大家熟悉的OJ和word文档式的作业不同,所有作业均有完善的代码框架,保姆级的作业说明。每个Project都有详尽的handout文档、全自动的评分脚本。CS61A甚至专门开发了一个自动化的作业提交评分系统(据说还发了论文)。当然,有人会说“一个project几千行代码大部分都是助教帮你写好的,你还能学到啥?”。此言差矣,作为一个刚刚接触计算机,连安装Python都磕磕绊绊的小白来说,这样完善的代码框架既可以让你专注于巩固课堂上学习到的核心知识点,又能有“我才学了一个月就能做一个小游戏了!”的成就感,还能有机会阅读学习别人高质量的代码,从而为自己所用。我觉得在低年级,这种代码框架可以说百利而无一害。唯一的害也许是苦了老师和助教,因为开发这样的作业可想而知需要相当的时间投入。

  • 每周Discussion讨论课,助教会讲解知识难点和考试例题:类似于北京大学ICS的小班研讨,但习题全部用Latex撰写,相当规范且会明确给出solution。

这样的课程,你完全不需要任何计算机的基础,你只需要努力、认真、花时间就够了。此前那种有劲没处使的感觉,那种付出再多时间却得不到回报的感觉,从此烟消云散。这太适合我了,我从此爱上了自学。

试想如果有人能把艰深的知识点嚼碎嚼烂,用生动直白的方式呈现给你,还有那么多听起来就很fancy,种类繁多的project来巩固你的理论知识,你会觉得他们真的是在倾尽全力想方设法地让你完全掌握这门课,你会觉得不学好它简直是对这些课程建设者的侮辱。

如果你觉得我在夸大其词,那么不妨从CS61A开始,因为它是我的梦开始的地方。

为什么写这本书

在我2020年秋季学期担任《深入理解计算机系统》(CSAPP)这门课的助教时,我已经自学一年多了。这一年多来我无比享受这种自学模式,为了分享这种快乐,我为自己的小班同学做过一个CS自学资料整理仓库。当时纯粹是心血来潮,因为我也不敢公然鼓励大家翘课自学。

但随着又一年时间的维护,这个仓库的内容已经相当丰富,基本覆盖了计科、智能系、软工系的绝大多数课程,我也为每个课程都建了各自的Github仓库,汇总我用到的自学资料以及作业实现。

直到大四开始凑学分毕业的时候,我打开自己的培养方案,我发现它已经是我这个自学仓库的子集了,而这距离我开始自学也才两年半而已。于是,一个大胆的想法在我脑海中浮现:也许,我可以打造一个自学式的培养方案,把我这三年自学经历中遇到的坑、走过的路记录下来,以期能为后来的学弟学妹们贡献自己的一份微薄之力。

如果大家可以在三年不到的时间里就能建立起整座CS的基础大厦,能有相对扎实的数学功底和代码能力,经历过数十个千行代码量的Project的洗礼,掌握至少C/C++/Java/JS/Python/Go/Rust等主流语言,对算法、电路、体系、网络、操统、编译、人工智能、机器学习、计算机视觉、自然语言处理、强化学习、密码学、信息论、博弈论、数值分析、统计学、分布式、数据库、图形学、Web开发、云服务、超算等等方面均有涉猎。我想,你将有足够的底气和自信选择自己感兴趣的方向,无论是就业还是科研,你都将有相当的竞争力。

因为我坚信,既然你能坚持听我BB到这里,你一定不缺学好CS的能力,你只是没有一个好的老师,给你讲一门好的课程。而我,将力图根据我三年的体验,为你挑选这样的课程。

自学的好处

对我来说,自学最大的好处就在于可以完全根据自己的进度来调整学习速度。对于一些疑难知识点,我可以反复回看视频,在网上谷歌相关的内容,上StackOverflow提问题,直到完全将它弄明白。而对于自己掌握得相对较快的内容,则可以两倍速甚至三倍速略过。

自学的另一大好处就是博采众长。计算机系的几大核心课程:体系、网络、操统、编译,每一门我基本都上过不同大学的课程,不同的教材、不同的知识点侧重、不同的project将会极大丰富你的视野,也会让你理解错误的一些内容得到及时纠正。

自学的第三个好处是时间自由,具体原因省略。

自学的坏处

当然,作为CS自学主义的忠实拥趸者,我不得不承认自学也有它的坏处。

第一就是交流沟通的不便。我其实是一个很热衷于提问的人,对于所有没有弄明白的点,我都喜欢穷追到底。但当你面对着屏幕听到老师讲了一个你没明白的知识点的时候,你无法顺着网线到另一端向老师问个明白。我努力通过独立思考和善用Google来缓解这一点,但是,如果能有几个志同道合的伙伴结伴自学,那将是极好的。关于交流群的建立,大家可以参考仓库README中的教程。

第二就是这些自学的课程基本都是英文的。从视频到slides到作业全是英文,所以有一定的门槛。不过我觉得这个挑战如果你克服了的话对你是极为有利的。因为在当下,虽然我很不情愿,但也不得不承认,在计算机领域,很多优质的文档、论坛、网站都是全英文的。养成英文阅读的习惯,在赤旗插遍世界之前,还是有一定好处的(狗头保命)。

第三,也是我觉得最困难的一点,就是自律。因为没有DDL有时候真的是一件可怕的事情,特别是随着学习的深入,国外的很多课程是相当虐的。你得有足够的驱动力强迫自己静下心来,阅读几十页的Project Handout,理解上千行的代码框架,忍受数个小时的debug时光。而这一切,没有学分,没有绩点,没有老师,没有同学,只有一个信念 —— 你在变强。

这本书适合谁

正如我在前言里说的,任何有志于自学计算机的朋友都可以参考这本书。如果你已经有了一定的计算机基础,只是对某个特定的领域感兴趣,可以选择性地挑选你感兴趣的内容进行学习。当然,如果你是一个像我当年一样对计算机一无所知的小白,初入大学的校门,我希望这本书能成为你的攻略,让你花最少的时间掌握你所需要的知识和能力。某种程度上,这本书更像是一个根据我的体验来排序的课程搜索引擎,帮助大家足不出户,体验世界顶级名校的计算机优质课程。

当然,作为一个还未毕业的本科生,我深感自己没有能力也没有权利去宣扬一种学习方式,我只是希望这份资料能让那些同样有自学之心和毅力朋友可以少走些弯路,收获更丰富、更多样、更满足的学习体验。

特别鸣谢

在这里,我怀着崇敬之心真诚地感谢所有将课程资源无偿开源的各位教授们。这些课程倾注了他们数十年教学生涯的积淀和心血,他们却选择无私地让所有人享受到如此高质量的CS教育。没有他们,我的大学生活不会这样充实而快乐。很多教授在我给他们发了感谢邮件之后,甚至会回复上百字的长文,真的让我无比感动。他们也时刻激励着我,做一件事,就得用心做好,无论是科研,还是为人。

你也想加入到贡献者的行列

一个人的力量终究是有限的,这本书也是我在繁重的科研之余熬夜抽空写出来的,难免有不够完善之处。另外,由于个人做的是系统方向,很多课程侧重系统领域,对于数学、理论计算机、高级算法相关的内容则相对少些。如果有大佬想在其他领域分享自己的自学经历与资源,可以直接在项目中发起Pull Request,也欢迎和我邮件联系(zhongyinmin@pku.edu.cn)。

关于交流群的建立

方法参见仓库的README.


最后更新: December 28, 2021
回到页面顶部
\ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json index 1e7177f2..cd723b8b 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"\u524d\u8a00 \u66f4\u65b0\uff1a\u672c\u4e66\u6700\u65b0\u7f51\u5740 csdiy.wiki \uff0c\u6b22\u8fce\u5927\u5bb6\u8bbf\u95ee \uff5e \u8fd9\u662f\u4e00\u672c\u8ba1\u7b97\u673a\u7684\u81ea\u5b66\u6307\u5357\uff0c\u4e5f\u662f\u5bf9\u81ea\u5df1\u5927\u5b66\u4e09\u5e74\u81ea\u5b66\u751f\u6daf\u7684\u4e00\u4e2a\u7eaa\u5ff5\u3002 \u8fd9\u540c\u65f6\u4e5f\u662f\u4e00\u4efd\u732e\u7ed9\u5317\u5927\u4fe1\u79d1\u5b66\u5f1f\u5b66\u59b9\u4eec\u7684\u793c\u7269\u3002\u5982\u679c\u8fd9\u672c\u4e66\u80fd\u5bf9\u4f60\u4eec\u7684\u4fe1\u79d1\u751f\u6daf\u6709\u54ea\u6015\u4e00\u4e1d\u4e00\u6beb\u7684\u5e2e\u52a9\uff0c\u90fd\u662f\u5bf9\u6211\u6781\u5927\u7684\u9f13\u52b1\u548c\u6170\u85c9\u3002 \u672c\u4e66\u76ee\u524d\u89c4\u5212\u4e86\u4ee5\u4e0b\u90e8\u5206(\u5982\u679c\u4f60\u6709\u5176\u4ed6\u597d\u7684\u5efa\u8bae\uff0c\u6216\u8005\u60f3\u52a0\u5165\u8d21\u732e\u8005\u7684\u884c\u5217\uff0c\u6b22\u8fce\u90ae\u4ef6zhongyinmin@pku.edu.cn\u6216\u8005\u5728issue\u91cc\u63d0\u95ee)\uff1a \u5fc5\u5b66\u5de5\u5177\uff1aIDE, \u7ffb\u5899, StackOverflow, Git, Github, Vim, Latex, Makefile, \u5b9e\u7528\u5de5\u5177 ... \u56fd\u5916\u9ad8\u8d28\u91cfCS\u8bfe\u7a0b\u6c47\u603b \uff1a\u6211\u5c06\u628a\u6211\u4e0a\u8fc7\u7684\u6240\u6709\u9ad8\u8d28\u91cf\u7684\u56fd\u5916CS\u8bfe\u7a0b\u5206\u95e8\u522b\u7c7b\u8fdb\u884c\u6c47\u603b\uff0c\u5e76\u7ed9\u51fa\u76f8\u5173\u7684\u81ea\u5b66\u5efa\u8bae\uff0c\u5927\u90e8\u5206\u8bfe\u7a0b\u90fd\u4f1a\u6709\u4e00\u4e2a\u72ec\u7acb\u7684\u4ed3\u5e93\u7ef4\u62a4\u76f8\u5173\u7684\u8d44\u6e90\u4ee5\u53ca\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u73af\u5883\u914d\u7f6e\uff1aLinux\u57fa\u7840\uff0cbash\uff0c\u73af\u5883\u53d8\u91cf\uff0cAnaconda ... \u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\uff1a\u770b\u8fc7CSAPP\u8fd9\u672c\u4e66\u7684\u540c\u5b66\u4e00\u5b9a\u611f\u53f9\u597d\u4e66\u7684\u91cd\u8981\uff0c\u6211\u5c06\u5217\u4e3e\u63a8\u8350\u81ea\u5df1\u770b\u8fc7\u7684\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5fc5\u770b\u597d\u4e66\u4e0e\u8d44\u6e90\u94fe\u63a5\u3002 \u68a6\u5f00\u59cb\u7684\u5730\u65b9 \u2014\u2014 CS61A \u5927\u4e00\u5165\u5b66\u65f6\u6211\u662f\u4e00\u4e2a\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u88c5\u4e86\u51e0\u5341\u4e2aG\u7684Visual Studio\u5929\u5929\u548cOJ\u4f60\u6b7b\u6211\u6d3b\u3002\u51ed\u7740\u9ad8\u4e2d\u7684\u6570\u5b66\u5e95\u5b50\u6211\u6570\u5b66\u8bfe\u5b66\u5f97\u8fd8\u4e0d\u9519\uff0c\u4f46\u5728\u4e13\u4e1a\u8bfe\u4e0a\u5bf9\u7ade\u8d5b\u5927\u4f6c\u53ea\u6709\u4ef0\u671b\u3002\u63d0\u5230\u7f16\u7a0b\u6211\u53ea\u4f1a\u6253\u5f00\u90a3\u7b28\u91cd\u7684IDE\uff0c\u65b0\u5efa\u4e00\u4e2a\u6211\u4e5f\u4e0d\u77e5\u9053\u5177\u4f53\u662f\u5e72\u5565\u7684\u547d\u4ee4\u884c\u9879\u76ee\uff0c\u7136\u540e\u5c31\u662fcin\uff0ccout\uff0cfor\u5faa\u73af\uff0c\u7136\u540eCE\uff0cRE\uff0cWA\u5faa\u73af\u3002\u5f53\u65f6\u7684\u6211\u5c31\u5904\u5728\u4e00\u79cd\u62fc\u547d\u60f3\u5b66\u597d\u4f46\u4e0d\u77e5\u9053\u600e\u4e48\u5b66\uff0c\u8bfe\u4e0a\u8ba4\u771f\u542c\u8bb2\u4f46\u9898\u8fd8\u4e0d\u4f1a\u505a\uff0c\u8bfe\u540e\u505a\u4f5c\u4e1a\u5b8c\u5168\u662f\u7528\u65f6\u95f4\u548c\u5b83\u786c\u8017\u7684\u75db\u82e6\u72b6\u6001\u3002\u6211\u81f3\u4eca\u7535\u8111\u91cc\u8fd8\u5b58\u7740\u81ea\u5df1\u5927\u4e00\u4e0a\u5b66\u671f\u8ba1\u7b97\u6982\u8bba\u5927\u4f5c\u4e1a\u7684\u6e90\u4ee3\u7801 \u2014\u2014 \u4e00\u4e2a1200\u884c\u7684C++\u6587\u4ef6\uff0c\u6ca1\u6709\u5934\u6587\u4ef6\u3001\u6ca1\u6709\u7c7b\u3001\u6ca1\u6709\u5c01\u88c5\u3001\u6ca1\u6709unit test\u3001\u6ca1\u6709makefile\u3001\u6ca1\u6709git\uff0c\u552f\u4e00\u7684\u4f18\u70b9\u662f\u5b83\u786e\u5b9e\u80fd\u8dd1\uff0c\u7f3a\u70b9\u662f\u201c\u80fd\u8dd1\u201d\u7684\u8865\u96c6\u3002\u6211\u4e00\u5ea6\u6000\u7591\u6211\u662f\u4e0d\u662f\u4e0d\u9002\u5408\u5b66\u8ba1\u7b97\u673a\uff0c\u56e0\u4e3a\u7ae5\u5e74\u5bf9\u4e8e\u6781\u5ba2\u7684\u6240\u6709\u60f3\u8c61\uff0c\u5df2\u7ecf\u88ab\u6211\u7b2c\u4e00\u4e2a\u5b66\u671f\u7684\u4f53\u9a8c\u5f7b\u5e95\u7c89\u788e\u4e86\u3002 \u8fd9\u4e00\u5207\u7684\u8f6c\u673a\u53d1\u751f\u5728\u6211\u5927\u4e00\u7684\u5bd2\u5047\uff0c\u6211\u5fc3\u8840\u6765\u6f6e\u60f3\u5b66\u4e60Python\u3002\u65e0\u610f\u95f4\u770b\u5230\u77e5\u4e4e\u6709\u4eba\u63a8\u8350\u4e86CS61A\u8fd9\u95e8\u8bfe\uff0c\u8bf4\u662fUC Berkeley\u7684\u5927\u4e00\u5165\u95e8\u8bfe\u7a0b\uff0c\u8bb2\u7684\u5c31\u662fPython\u3002\u6211\u6c38\u8fdc\u4e0d\u4f1a\u5fd8\u8bb0\u90a3\u4e00\u5929\uff0c\u6253\u5f00 CS61A \u8bfe\u7a0b\u7f51\u7ad9\u7684\u90a3\u4e2a\u77ac\u95f4\uff0c\u5c31\u50cf\u54e5\u4f26\u5e03\u53d1\u73b0\u4e86\u65b0\u5927\u9646\u4e00\u6837\uff0c\u6211\u5f00\u542f\u4e86\u65b0\u4e16\u754c\u7684\u5927\u95e8\u3002 \u6211\u4e00\u53e3\u6c143\u4e2a\u661f\u671f\u4e0a\u5b8c\u4e86\u8fd9\u95e8\u8bfe\uff0c\u5b83\u8ba9\u6211\u7b2c\u4e00\u6b21\u611f\u89c9\u5230\u539f\u6765CS\u53ef\u4ee5\u5b66\u5f97\u5982\u6b64\u5145\u5b9e\u800c\u6709\u8da3\uff0c\u539f\u6765\u8fd9\u4e16\u4e0a\u7adf\u6709\u5982\u6b64\u7cbe\u534e\u7684\u8bfe\u7a0b\u3002 \u4e3a\u907f\u514d\u6709\u5d07\u6d0b\u5a9a\u5916\u4e4b\u5acc\uff0c\u6211\u5355\u7eaf\u4ece\u4e00\u4e2a\u5b66\u751f\u7684\u89c6\u89d2\u6765\u8bb2\u8bb2\u81ea\u5b66CS61A\u7684\u4f53\u9a8c\uff1a \u72ec\u7acb\u642d\u5efa\u7684\u8bfe\u7a0b\u7f51\u7ad9: \u4e00\u4e2a\u7f51\u7ad9\u5c06\u6240\u6709\u8bfe\u7a0b\u8d44\u6e90\u6574\u5408\u4e00\u4f53\uff0c\u6761\u7406\u5206\u660e\u7684\u8bfe\u7a0bschedule\u3001\u6240\u6709slides\uff0chw\uff0cdiscussion\u7684\u6587\u4ef6\u94fe\u63a5\u3001\u8be6\u7ec6\u660e\u786e\u7684\u8bfe\u7a0b\u7ed9\u5206\u8bf4\u660e\u3001\u5386\u5e74\u7684\u8003\u8bd5\u9898\u4e0e\u7b54\u6848\u3002\u8fd9\u6837\u4e00\u4e2a\u7f51\u7ad9\u629b\u5f00\u7f8e\u89c2\u7a0b\u5ea6\u4e0d\u8c08\uff0c\u65e2\u65b9\u4fbf\u5b66\u751f\uff0c\u4e5f\u8ba9\u8d44\u6e90\u516c\u6b63\u900f\u660e\u3002 \u8bfe\u7a0b\u6559\u6388\u4eb2\u81ea\u7f16\u5199\u7684\u6559\u6750\uff1aCS61A\u8fd9\u95e8\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08\u5c06MIT\u7684\u7ecf\u5178\u6559\u6750 Structure and Interpretation of Computer Programs (SICP)\u7528Python\u8fd9\u95e8\u8bed\u8a00\u8fdb\u884c\u6539\u7f16\uff08\u539f\u6559\u6750\u57fa\u4e8eScheme\u8bed\u8a00\uff09\uff0c\u4fdd\u8bc1\u4e86\u8bfe\u5802\u5185\u5bb9\u4e0e\u6559\u6750\u5185\u5bb9\u7684\u4e00\u81f4\u6027\uff0c\u540c\u65f6\u8865\u5145\u4e86\u66f4\u591a\u7ec6\u8282\uff0c\u53ef\u4ee5\u8bf4\u8bda\u610f\u6ee1\u6ee1\u3002\u800c\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u7ebf\u4e0a\u9605\u8bfb\u3002 \u4e30\u5bcc\u5230\u8ba9\u4eba\u773c\u82b1\u7f2d\u4e71\u7684\u8bfe\u7a0b\u4f5c\u4e1a\uff1a14\u4e2alab\u5de9\u56fa\u968f\u5802\u77e5\u8bc6\u70b9\uff0c10\u4e2ahomework\uff0c\u8fd8\u67094\u4e2a\u4ee3\u7801\u91cf\u5747\u4e0a\u5343\u884c\u7684project\u3002\u4e0e\u5927\u5bb6\u719f\u6089\u7684OJ\u548cword\u6587\u6863\u5f0f\u7684\u4f5c\u4e1a\u4e0d\u540c\uff0c\u6240\u6709\u4f5c\u4e1a\u5747\u6709\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u4fdd\u59c6\u7ea7\u7684\u4f5c\u4e1a\u8bf4\u660e\u3002\u6bcf\u4e2aProject\u90fd\u6709\u8be6\u5c3d\u7684handout\u6587\u6863\u3001\u5168\u81ea\u52a8\u7684\u8bc4\u5206\u811a\u672c\u3002CS61A\u751a\u81f3\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a \u81ea\u52a8\u5316\u7684\u4f5c\u4e1a\u63d0\u4ea4\u8bc4\u5206\u7cfb\u7edf \uff08\u636e\u8bf4\u8fd8\u53d1\u4e86\u8bba\u6587\uff09\u3002\u5f53\u7136\uff0c\u6709\u4eba\u4f1a\u8bf4\u201c\u4e00\u4e2aproject\u51e0\u5343\u884c\u4ee3\u7801\u5927\u90e8\u5206\u90fd\u662f\u52a9\u6559\u5e2e\u4f60\u5199\u597d\u7684\uff0c\u4f60\u8fd8\u80fd\u5b66\u5230\u5565\uff1f\u201d\u3002\u6b64\u8a00\u5dee\u77e3\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\uff0c\u8fde\u5b89\u88c5Python\u90fd\u78d5\u78d5\u7eca\u7eca\u7684\u5c0f\u767d\u6765\u8bf4\uff0c\u8fd9\u6837\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\u65e2\u53ef\u4ee5\u8ba9\u4f60\u4e13\u6ce8\u4e8e\u5de9\u56fa\u8bfe\u5802\u4e0a\u5b66\u4e60\u5230\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\uff0c\u53c8\u80fd\u6709\u201c\u6211\u624d\u5b66\u4e86\u4e00\u4e2a\u6708\u5c31\u80fd\u505a\u4e00\u4e2a\u5c0f\u6e38\u620f\u4e86\uff01\u201d\u7684\u6210\u5c31\u611f\uff0c\u8fd8\u80fd\u6709\u673a\u4f1a\u9605\u8bfb\u5b66\u4e60\u522b\u4eba\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u4ece\u800c\u4e3a\u81ea\u5df1\u6240\u7528\u3002\u6211\u89c9\u5f97\u5728\u4f4e\u5e74\u7ea7\uff0c\u8fd9\u79cd\u4ee3\u7801\u6846\u67b6\u53ef\u4ee5\u8bf4\u767e\u5229\u800c\u65e0\u4e00\u5bb3\u3002\u552f\u4e00\u7684\u5bb3\u4e5f\u8bb8\u662f\u82e6\u4e86\u8001\u5e08\u548c\u52a9\u6559\uff0c\u56e0\u4e3a\u5f00\u53d1\u8fd9\u6837\u7684\u4f5c\u4e1a\u53ef\u60f3\u800c\u77e5\u9700\u8981\u76f8\u5f53\u7684\u65f6\u95f4\u6295\u5165\u3002 \u6bcf\u5468Discussion\u8ba8\u8bba\u8bfe\uff0c\u52a9\u6559\u4f1a\u8bb2\u89e3\u77e5\u8bc6\u96be\u70b9\u548c\u8003\u8bd5\u4f8b\u9898\uff1a\u7c7b\u4f3c\u4e8e\u5317\u4eac\u5927\u5b66ICS\u7684\u5c0f\u73ed\u7814\u8ba8\uff0c\u4f46\u4e60\u9898\u5168\u90e8\u7528Latex\u64b0\u5199\uff0c\u76f8\u5f53\u89c4\u8303\u4e14\u4f1a\u660e\u786e\u7ed9\u51fasolution\u3002 \u8fd9\u6837\u7684\u8bfe\u7a0b\uff0c\u4f60\u5b8c\u5168\u4e0d\u9700\u8981\u4efb\u4f55\u8ba1\u7b97\u673a\u7684\u57fa\u7840\uff0c\u4f60\u53ea\u9700\u8981\u52aa\u529b\u3001\u8ba4\u771f\u3001\u82b1\u65f6\u95f4\u5c31\u591f\u4e86\u3002\u6b64\u524d\u90a3\u79cd\u6709\u52b2\u6ca1\u5904\u4f7f\u7684\u611f\u89c9\uff0c\u90a3\u79cd\u4ed8\u51fa\u518d\u591a\u65f6\u95f4\u5374\u5f97\u4e0d\u5230\u56de\u62a5\u7684\u611f\u89c9\uff0c\u4ece\u6b64\u70df\u6d88\u4e91\u6563\u3002\u8fd9\u592a\u9002\u5408\u6211\u4e86\uff0c\u6211\u4ece\u6b64\u7231\u4e0a\u4e86\u81ea\u5b66\u3002 \u8bd5\u60f3\u5982\u679c\u6709\u4eba\u80fd\u628a\u8270\u6df1\u7684\u77e5\u8bc6\u70b9\u56bc\u788e\u56bc\u70c2\uff0c\u7528\u751f\u52a8\u76f4\u767d\u7684\u65b9\u5f0f\u5448\u73b0\u7ed9\u4f60\uff0c\u8fd8\u6709\u90a3\u4e48\u591a\u542c\u8d77\u6765\u5c31\u5f88fancy\uff0c\u79cd\u7c7b\u7e41\u591a\u7684project\u6765\u5de9\u56fa\u4f60\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u4f60\u4f1a\u89c9\u5f97\u4ed6\u4eec\u771f\u7684\u662f\u5728\u503e\u5c3d\u5168\u529b\u60f3\u65b9\u8bbe\u6cd5\u5730\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u8fd9\u95e8\u8bfe\uff0c\u4f60\u4f1a\u89c9\u5f97\u4e0d\u5b66\u597d\u5b83\u7b80\u76f4\u662f\u5bf9\u8fd9\u4e9b\u8bfe\u7a0b\u5efa\u8bbe\u8005\u7684\u4fae\u8fb1\u3002 \u5982\u679c\u4f60\u89c9\u5f97\u6211\u5728\u5938\u5927\u5176\u8bcd\uff0c\u90a3\u4e48\u4e0d\u59a8\u4ece CS61A \u5f00\u59cb\uff0c\u56e0\u4e3a\u5b83\u662f\u6211\u7684\u68a6\u5f00\u59cb\u7684\u5730\u65b9\u3002 \u4e3a\u4ec0\u4e48\u5199\u8fd9\u672c\u4e66 \u5728\u62112020\u5e74\u79cb\u5b63\u5b66\u671f\u62c5\u4efb\u300a\u6df1\u5165\u7406\u89e3\u8ba1\u7b97\u673a\u7cfb\u7edf\u300b\uff08CSAPP\uff09\u8fd9\u95e8\u8bfe\u7684\u52a9\u6559\u65f6\uff0c\u6211\u5df2\u7ecf\u81ea\u5b66\u4e00\u5e74\u591a\u4e86\u3002\u8fd9\u4e00\u5e74\u591a\u6765\u6211\u65e0\u6bd4\u4eab\u53d7\u8fd9\u79cd\u81ea\u5b66\u6a21\u5f0f\uff0c\u4e3a\u4e86\u5206\u4eab\u8fd9\u79cd\u5feb\u4e50\uff0c\u6211\u4e3a\u81ea\u5df1\u7684\u5c0f\u73ed\u540c\u5b66\u505a\u8fc7\u4e00\u4e2a CS\u81ea\u5b66\u8d44\u6599\u6574\u7406\u4ed3\u5e93 \u3002\u5f53\u65f6\u7eaf\u7cb9\u662f\u5fc3\u8840\u6765\u6f6e\uff0c\u56e0\u4e3a\u6211\u4e5f\u4e0d\u6562\u516c\u7136\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\u3002 \u4f46\u968f\u7740\u53c8\u4e00\u5e74\u65f6\u95f4\u7684\u7ef4\u62a4\uff0c\u8fd9\u4e2a\u4ed3\u5e93\u7684\u5185\u5bb9\u5df2\u7ecf\u76f8\u5f53\u4e30\u5bcc\uff0c\u57fa\u672c\u8986\u76d6\u4e86\u8ba1\u79d1\u3001\u667a\u80fd\u7cfb\u3001\u8f6f\u5de5\u7cfb\u7684\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\uff0c\u6211\u4e5f\u4e3a\u6bcf\u4e2a\u8bfe\u7a0b\u90fd\u5efa\u4e86\u5404\u81ea\u7684Github\u4ed3\u5e93\uff0c\u6c47\u603b\u6211\u7528\u5230\u7684\u81ea\u5b66\u8d44\u6599\u4ee5\u53ca\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u76f4\u5230\u5927\u56db\u5f00\u59cb\u51d1\u5b66\u5206\u6bd5\u4e1a\u7684\u65f6\u5019\uff0c\u6211\u6253\u5f00\u81ea\u5df1\u7684\u57f9\u517b\u65b9\u6848\uff0c\u6211\u53d1\u73b0\u5b83\u5df2\u7ecf\u662f\u6211\u8fd9\u4e2a\u81ea\u5b66\u4ed3\u5e93\u7684\u5b50\u96c6\u4e86\uff0c\u800c\u8fd9\u8ddd\u79bb\u6211\u5f00\u59cb\u81ea\u5b66\u4e5f\u624d\u4e24\u5e74\u534a\u800c\u5df2\u3002\u4e8e\u662f\uff0c\u4e00\u4e2a\u5927\u80c6\u7684\u60f3\u6cd5\u5728\u6211\u8111\u6d77\u4e2d\u6d6e\u73b0\uff1a\u4e5f\u8bb8\uff0c\u6211\u53ef\u4ee5\u6253\u9020\u4e00\u4e2a\u81ea\u5b66\u5f0f\u7684\u57f9\u517b\u65b9\u6848\uff0c\u628a\u6211\u8fd9\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u4e2d\u9047\u5230\u7684\u5751\u3001\u8d70\u8fc7\u7684\u8def\u8bb0\u5f55\u4e0b\u6765\uff0c\u4ee5\u671f\u80fd\u4e3a\u540e\u6765\u7684\u5b66\u5f1f\u5b66\u59b9\u4eec\u8d21\u732e\u81ea\u5df1\u7684\u4e00\u4efd\u5fae\u8584\u4e4b\u529b\u3002 \u5982\u679c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e09\u5e74\u4e0d\u5230\u7684\u65f6\u95f4\u91cc\u5c31\u80fd\u5efa\u7acb\u8d77\u6574\u5ea7CS\u7684\u57fa\u7840\u5927\u53a6\uff0c\u80fd\u6709\u76f8\u5bf9\u624e\u5b9e\u7684\u6570\u5b66\u529f\u5e95\u548c\u4ee3\u7801\u80fd\u529b\uff0c\u7ecf\u5386\u8fc7\u6570\u5341\u4e2a\u5343\u884c\u4ee3\u7801\u91cf\u7684Project\u7684\u6d17\u793c\uff0c\u638c\u63e1\u81f3\u5c11C/C++/Java/JS/Python/Go/Rust\u7b49\u4e3b\u6d41\u8bed\u8a00\uff0c\u5bf9\u7b97\u6cd5\u3001\u7535\u8def\u3001\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\u3001\u4eba\u5de5\u667a\u80fd\u3001\u673a\u5668\u5b66\u4e60\u3001\u8ba1\u7b97\u673a\u89c6\u89c9\u3001\u81ea\u7136\u8bed\u8a00\u5904\u7406\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u5bc6\u7801\u5b66\u3001\u4fe1\u606f\u8bba\u3001\u535a\u5f08\u8bba\u3001\u6570\u503c\u5206\u6790\u3001\u7edf\u8ba1\u5b66\u3001\u5206\u5e03\u5f0f\u3001\u6570\u636e\u5e93\u3001\u56fe\u5f62\u5b66\u3001Web\u5f00\u53d1\u3001\u4e91\u670d\u52a1\u3001\u8d85\u7b97\u7b49\u7b49\u65b9\u9762\u5747\u6709\u6d89\u730e\u3002\u6211\u60f3\uff0c\u4f60\u5c06\u6709\u8db3\u591f\u7684\u5e95\u6c14\u548c\u81ea\u4fe1\u9009\u62e9\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\uff0c\u65e0\u8bba\u662f\u5c31\u4e1a\u8fd8\u662f\u79d1\u7814\uff0c\u4f60\u90fd\u5c06\u6709\u76f8\u5f53\u7684\u7ade\u4e89\u529b\u3002 \u56e0\u4e3a\u6211\u575a\u4fe1\uff0c\u65e2\u7136\u4f60\u80fd\u575a\u6301\u542c\u6211BB\u5230\u8fd9\u91cc\uff0c\u4f60\u4e00\u5b9a\u4e0d\u7f3a\u5b66\u597dCS\u7684\u80fd\u529b\uff0c\u4f60\u53ea\u662f\u6ca1\u6709\u4e00\u4e2a\u597d\u7684\u8001\u5e08\uff0c\u7ed9\u4f60\u8bb2\u4e00\u95e8\u597d\u7684\u8bfe\u7a0b\u3002\u800c\u6211\uff0c\u5c06\u529b\u56fe\u6839\u636e\u6211\u4e09\u5e74\u7684\u4f53\u9a8c\uff0c\u4e3a\u4f60\u6311\u9009\u8fd9\u6837\u7684\u8bfe\u7a0b\u3002 \u81ea\u5b66\u7684\u597d\u5904 \u5bf9\u6211\u6765\u8bf4\uff0c\u81ea\u5b66\u6700\u5927\u7684\u597d\u5904\u5c31\u5728\u4e8e\u53ef\u4ee5\u5b8c\u5168\u6839\u636e\u81ea\u5df1\u7684\u8fdb\u5ea6\u6765\u8c03\u6574\u5b66\u4e60\u901f\u5ea6\u3002\u5bf9\u4e8e\u4e00\u4e9b\u7591\u96be\u77e5\u8bc6\u70b9\uff0c\u6211\u53ef\u4ee5\u53cd\u590d\u56de\u770b\u89c6\u9891\uff0c\u5728\u7f51\u4e0a\u8c37\u6b4c\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u4e0aStackOverflow\u63d0\u95ee\u9898\uff0c\u76f4\u5230\u5b8c\u5168\u5c06\u5b83\u5f04\u660e\u767d\u3002\u800c\u5bf9\u4e8e\u81ea\u5df1\u638c\u63e1\u5f97\u76f8\u5bf9\u8f83\u5feb\u7684\u5185\u5bb9\uff0c\u5219\u53ef\u4ee5\u4e24\u500d\u901f\u751a\u81f3\u4e09\u500d\u901f\u7565\u8fc7\u3002 \u81ea\u5b66\u7684\u53e6\u4e00\u5927\u597d\u5904\u5c31\u662f\u535a\u91c7\u4f17\u957f\u3002\u8ba1\u7b97\u673a\u7cfb\u7684\u51e0\u5927\u6838\u5fc3\u8bfe\u7a0b\uff1a\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\uff0c\u6bcf\u4e00\u95e8\u6211\u57fa\u672c\u90fd\u4e0a\u8fc7\u4e0d\u540c\u5927\u5b66\u7684\u8bfe\u7a0b\uff0c\u4e0d\u540c\u7684\u6559\u6750\u3001\u4e0d\u540c\u7684\u77e5\u8bc6\u70b9\u4fa7\u91cd\u3001\u4e0d\u540c\u7684project\u5c06\u4f1a\u6781\u5927\u4e30\u5bcc\u4f60\u7684\u89c6\u91ce\uff0c\u4e5f\u4f1a\u8ba9\u4f60\u7406\u89e3\u9519\u8bef\u7684\u4e00\u4e9b\u5185\u5bb9\u5f97\u5230\u53ca\u65f6\u7ea0\u6b63\u3002 \u81ea\u5b66\u7684\u7b2c\u4e09\u4e2a\u597d\u5904\u662f\u65f6\u95f4\u81ea\u7531\uff0c\u5177\u4f53\u539f\u56e0\u7701\u7565\u3002 \u81ea\u5b66\u7684\u574f\u5904 \u5f53\u7136\uff0c\u4f5c\u4e3aCS\u81ea\u5b66\u4e3b\u4e49\u7684\u5fe0\u5b9e\u62e5\u8db8\u8005\uff0c\u6211\u4e0d\u5f97\u4e0d\u627f\u8ba4\u81ea\u5b66\u4e5f\u6709\u5b83\u7684\u574f\u5904\u3002 \u7b2c\u4e00\u5c31\u662f\u4ea4\u6d41\u6c9f\u901a\u7684\u4e0d\u4fbf\u3002\u6211\u5176\u5b9e\u662f\u4e00\u4e2a\u5f88\u70ed\u8877\u4e8e\u63d0\u95ee\u7684\u4eba\uff0c\u5bf9\u4e8e\u6240\u6709\u6ca1\u6709\u5f04\u660e\u767d\u7684\u70b9\uff0c\u6211\u90fd\u559c\u6b22\u7a77\u8ffd\u5230\u5e95\u3002\u4f46\u5f53\u4f60\u9762\u5bf9\u7740\u5c4f\u5e55\u542c\u5230\u8001\u5e08\u8bb2\u4e86\u4e00\u4e2a\u4f60\u6ca1\u660e\u767d\u7684\u77e5\u8bc6\u70b9\u7684\u65f6\u5019\uff0c\u4f60\u65e0\u6cd5\u987a\u7740\u7f51\u7ebf\u5230\u53e6\u4e00\u7aef\u5411\u8001\u5e08\u95ee\u4e2a\u660e\u767d\u3002\u6211\u52aa\u529b\u901a\u8fc7\u72ec\u7acb\u601d\u8003\u548c\u5584\u7528Google\u6765\u7f13\u89e3\u8fd9\u4e00\u70b9\uff0c\u4f46\u662f\uff0c\u5982\u679c\u80fd\u6709\u51e0\u4e2a\u5fd7\u540c\u9053\u5408\u7684\u4f19\u4f34\u7ed3\u4f34\u81ea\u5b66\uff0c\u90a3\u5c06\u662f\u6781\u597d\u7684\u3002\u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb\uff0c\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4ed3\u5e93README\u4e2d\u7684\u6559\u7a0b\u3002 \u7b2c\u4e8c\u5c31\u662f\u8fd9\u4e9b\u81ea\u5b66\u7684\u8bfe\u7a0b\u57fa\u672c\u90fd\u662f\u82f1\u6587\u7684\u3002\u4ece\u89c6\u9891\u5230slides\u5230\u4f5c\u4e1a\u5168\u662f\u82f1\u6587\uff0c\u6240\u4ee5\u6709\u4e00\u5b9a\u7684\u95e8\u69db\u3002\u4e0d\u8fc7\u6211\u89c9\u5f97\u8fd9\u4e2a\u6311\u6218\u5982\u679c\u4f60\u514b\u670d\u4e86\u7684\u8bdd\u5bf9\u4f60\u662f\u6781\u4e3a\u6709\u5229\u7684\u3002\u56e0\u4e3a\u5728\u5f53\u4e0b\uff0c\u867d\u7136\u6211\u5f88\u4e0d\u60c5\u613f\uff0c\u4f46\u4e5f\u4e0d\u5f97\u4e0d\u627f\u8ba4\uff0c\u5728\u8ba1\u7b97\u673a\u9886\u57df\uff0c\u5f88\u591a\u4f18\u8d28\u7684\u6587\u6863\u3001\u8bba\u575b\u3001\u7f51\u7ad9\u90fd\u662f\u5168\u82f1\u6587\u7684\u3002\u517b\u6210\u82f1\u6587\u9605\u8bfb\u7684\u4e60\u60ef\uff0c\u5728\u8d64\u65d7\u63d2\u904d\u4e16\u754c\u4e4b\u524d\uff0c\u8fd8\u662f\u6709\u4e00\u5b9a\u597d\u5904\u7684\uff08\u72d7\u5934\u4fdd\u547d\uff09\u3002 \u7b2c\u4e09\uff0c\u4e5f\u662f\u6211\u89c9\u5f97\u6700\u56f0\u96be\u7684\u4e00\u70b9\uff0c\u5c31\u662f\u81ea\u5f8b\u3002\u56e0\u4e3a\u6ca1\u6709DDL\u6709\u65f6\u5019\u771f\u7684\u662f\u4e00\u4ef6\u53ef\u6015\u7684\u4e8b\u60c5\uff0c\u7279\u522b\u662f\u968f\u7740\u5b66\u4e60\u7684\u6df1\u5165\uff0c\u56fd\u5916\u7684\u5f88\u591a\u8bfe\u7a0b\u662f\u76f8\u5f53\u8650\u7684\u3002\u4f60\u5f97\u6709\u8db3\u591f\u7684\u9a71\u52a8\u529b\u5f3a\u8feb\u81ea\u5df1\u9759\u4e0b\u5fc3\u6765\uff0c\u9605\u8bfb\u51e0\u5341\u9875\u7684Project Handout\uff0c\u7406\u89e3\u4e0a\u5343\u884c\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u5fcd\u53d7\u6570\u4e2a\u5c0f\u65f6\u7684debug\u65f6\u5149\u3002\u800c\u8fd9\u4e00\u5207\uff0c\u6ca1\u6709\u5b66\u5206\uff0c\u6ca1\u6709\u7ee9\u70b9\uff0c\u6ca1\u6709\u8001\u5e08\uff0c\u6ca1\u6709\u540c\u5b66\uff0c\u53ea\u6709\u4e00\u4e2a\u4fe1\u5ff5 \u2014\u2014 \u4f60\u5728\u53d8\u5f3a\u3002 \u8fd9\u672c\u4e66\u9002\u5408\u8c01 \u6b63\u5982\u6211\u5728\u524d\u8a00\u91cc\u8bf4\u7684\uff0c\u4efb\u4f55\u6709\u5fd7\u4e8e\u81ea\u5b66\u8ba1\u7b97\u673a\u7684\u670b\u53cb\u90fd\u53ef\u4ee5\u53c2\u8003\u8fd9\u672c\u4e66\u3002\u5982\u679c\u4f60\u5df2\u7ecf\u6709\u4e86\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u57fa\u7840\uff0c\u53ea\u662f\u5bf9\u67d0\u4e2a\u7279\u5b9a\u7684\u9886\u57df\u611f\u5174\u8da3\uff0c\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u6311\u9009\u4f60\u611f\u5174\u8da3\u7684\u5185\u5bb9\u8fdb\u884c\u5b66\u4e60\u3002\u5f53\u7136\uff0c\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u50cf\u6211\u5f53\u5e74\u4e00\u6837\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u521d\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u6211\u5e0c\u671b\u8fd9\u672c\u4e66\u80fd\u6210\u4e3a\u4f60\u7684\u653b\u7565\uff0c\u8ba9\u4f60\u82b1\u6700\u5c11\u7684\u65f6\u95f4\u638c\u63e1\u4f60\u6240\u9700\u8981\u7684\u77e5\u8bc6\u548c\u80fd\u529b\u3002\u67d0\u79cd\u7a0b\u5ea6\u4e0a\uff0c\u8fd9\u672c\u4e66\u66f4\u50cf\u662f\u4e00\u4e2a\u6839\u636e\u6211\u7684\u4f53\u9a8c\u6765\u6392\u5e8f\u7684\u8bfe\u7a0b\u641c\u7d22\u5f15\u64ce\uff0c\u5e2e\u52a9\u5927\u5bb6\u8db3\u4e0d\u51fa\u6237\uff0c\u4f53\u9a8c\u4e16\u754c\u9876\u7ea7\u540d\u6821\u7684\u8ba1\u7b97\u673a\u4f18\u8d28\u8bfe\u7a0b\u3002 \u5f53\u7136\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u8fd8\u672a\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\uff0c\u6211\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u80fd\u529b\u4e5f\u6ca1\u6709\u6743\u5229\u53bb\u5ba3\u626c\u4e00\u79cd\u5b66\u4e60\u65b9\u5f0f\uff0c\u6211\u53ea\u662f\u5e0c\u671b\u8fd9\u4efd\u8d44\u6599\u80fd\u8ba9\u90a3\u4e9b\u540c\u6837\u6709\u81ea\u5b66\u4e4b\u5fc3\u548c\u6bc5\u529b\u670b\u53cb\u53ef\u4ee5\u5c11\u8d70\u4e9b\u5f2f\u8def\uff0c\u6536\u83b7\u66f4\u4e30\u5bcc\u3001\u66f4\u591a\u6837\u3001\u66f4\u6ee1\u8db3\u7684\u5b66\u4e60\u4f53\u9a8c\u3002 \u7279\u522b\u9e23\u8c22 \u5728\u8fd9\u91cc\uff0c\u6211\u6000\u7740\u5d07\u656c\u4e4b\u5fc3\u771f\u8bda\u5730\u611f\u8c22\u6240\u6709\u5c06\u8bfe\u7a0b\u8d44\u6e90\u65e0\u507f\u5f00\u6e90\u7684\u5404\u4f4d\u6559\u6388\u4eec\u3002\u8fd9\u4e9b\u8bfe\u7a0b\u503e\u6ce8\u4e86\u4ed6\u4eec\u6570\u5341\u5e74\u6559\u5b66\u751f\u6daf\u7684\u79ef\u6dc0\u548c\u5fc3\u8840\uff0c\u4ed6\u4eec\u5374\u9009\u62e9\u65e0\u79c1\u5730\u8ba9\u6240\u6709\u4eba\u4eab\u53d7\u5230\u5982\u6b64\u9ad8\u8d28\u91cf\u7684CS\u6559\u80b2\u3002\u6ca1\u6709\u4ed6\u4eec\uff0c\u6211\u7684\u5927\u5b66\u751f\u6d3b\u4e0d\u4f1a\u8fd9\u6837\u5145\u5b9e\u800c\u5feb\u4e50\u3002\u5f88\u591a\u6559\u6388\u5728\u6211\u7ed9\u4ed6\u4eec\u53d1\u4e86\u611f\u8c22\u90ae\u4ef6\u4e4b\u540e\uff0c\u751a\u81f3\u4f1a\u56de\u590d\u4e0a\u767e\u5b57\u7684\u957f\u6587\uff0c\u771f\u7684\u8ba9\u6211\u65e0\u6bd4\u611f\u52a8\u3002\u4ed6\u4eec\u4e5f\u65f6\u523b\u6fc0\u52b1\u7740\u6211\uff0c\u505a\u4e00\u4ef6\u4e8b\uff0c\u5c31\u5f97\u7528\u5fc3\u505a\u597d\uff0c\u65e0\u8bba\u662f\u79d1\u7814\uff0c\u8fd8\u662f\u4e3a\u4eba\u3002 \u4f60\u4e5f\u60f3\u52a0\u5165\u5230\u8d21\u732e\u8005\u7684\u884c\u5217 \u4e00\u4e2a\u4eba\u7684\u529b\u91cf\u7ec8\u7a76\u662f\u6709\u9650\u7684\uff0c\u8fd9\u672c\u4e66\u4e5f\u662f\u6211\u5728\u7e41\u91cd\u7684\u79d1\u7814\u4e4b\u4f59\u71ac\u591c\u62bd\u7a7a\u5199\u51fa\u6765\u7684\uff0c\u96be\u514d\u6709\u4e0d\u591f\u5b8c\u5584\u4e4b\u5904\u3002\u53e6\u5916\uff0c\u7531\u4e8e\u4e2a\u4eba\u505a\u7684\u662f\u7cfb\u7edf\u65b9\u5411\uff0c\u5f88\u591a\u8bfe\u7a0b\u4fa7\u91cd\u7cfb\u7edf\u9886\u57df\uff0c\u5bf9\u4e8e\u6570\u5b66\u3001\u7406\u8bba\u8ba1\u7b97\u673a\u3001\u9ad8\u7ea7\u7b97\u6cd5\u76f8\u5173\u7684\u5185\u5bb9\u5219\u76f8\u5bf9\u5c11\u4e9b\u3002\u5982\u679c\u6709\u5927\u4f6c\u60f3\u5728\u5176\u4ed6\u9886\u57df\u5206\u4eab\u81ea\u5df1\u7684\u81ea\u5b66\u7ecf\u5386\u4e0e\u8d44\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u5728\u9879\u76ee\u4e2d\u53d1\u8d77Pull Request\uff0c\u4e5f\u6b22\u8fce\u548c\u6211\u90ae\u4ef6\u8054\u7cfb\uff08zhongyinmin@pku.edu.cn\uff09\u3002 \u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb \u65b9\u6cd5\u53c2\u89c1\u4ed3\u5e93\u7684README.","title":"\u524d\u8a00"},{"location":"#_1","text":"\u66f4\u65b0\uff1a\u672c\u4e66\u6700\u65b0\u7f51\u5740 csdiy.wiki \uff0c\u6b22\u8fce\u5927\u5bb6\u8bbf\u95ee \uff5e \u8fd9\u662f\u4e00\u672c\u8ba1\u7b97\u673a\u7684\u81ea\u5b66\u6307\u5357\uff0c\u4e5f\u662f\u5bf9\u81ea\u5df1\u5927\u5b66\u4e09\u5e74\u81ea\u5b66\u751f\u6daf\u7684\u4e00\u4e2a\u7eaa\u5ff5\u3002 \u8fd9\u540c\u65f6\u4e5f\u662f\u4e00\u4efd\u732e\u7ed9\u5317\u5927\u4fe1\u79d1\u5b66\u5f1f\u5b66\u59b9\u4eec\u7684\u793c\u7269\u3002\u5982\u679c\u8fd9\u672c\u4e66\u80fd\u5bf9\u4f60\u4eec\u7684\u4fe1\u79d1\u751f\u6daf\u6709\u54ea\u6015\u4e00\u4e1d\u4e00\u6beb\u7684\u5e2e\u52a9\uff0c\u90fd\u662f\u5bf9\u6211\u6781\u5927\u7684\u9f13\u52b1\u548c\u6170\u85c9\u3002 \u672c\u4e66\u76ee\u524d\u89c4\u5212\u4e86\u4ee5\u4e0b\u90e8\u5206(\u5982\u679c\u4f60\u6709\u5176\u4ed6\u597d\u7684\u5efa\u8bae\uff0c\u6216\u8005\u60f3\u52a0\u5165\u8d21\u732e\u8005\u7684\u884c\u5217\uff0c\u6b22\u8fce\u90ae\u4ef6zhongyinmin@pku.edu.cn\u6216\u8005\u5728issue\u91cc\u63d0\u95ee)\uff1a \u5fc5\u5b66\u5de5\u5177\uff1aIDE, \u7ffb\u5899, StackOverflow, Git, Github, Vim, Latex, Makefile, \u5b9e\u7528\u5de5\u5177 ... \u56fd\u5916\u9ad8\u8d28\u91cfCS\u8bfe\u7a0b\u6c47\u603b \uff1a\u6211\u5c06\u628a\u6211\u4e0a\u8fc7\u7684\u6240\u6709\u9ad8\u8d28\u91cf\u7684\u56fd\u5916CS\u8bfe\u7a0b\u5206\u95e8\u522b\u7c7b\u8fdb\u884c\u6c47\u603b\uff0c\u5e76\u7ed9\u51fa\u76f8\u5173\u7684\u81ea\u5b66\u5efa\u8bae\uff0c\u5927\u90e8\u5206\u8bfe\u7a0b\u90fd\u4f1a\u6709\u4e00\u4e2a\u72ec\u7acb\u7684\u4ed3\u5e93\u7ef4\u62a4\u76f8\u5173\u7684\u8d44\u6e90\u4ee5\u53ca\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u73af\u5883\u914d\u7f6e\uff1aLinux\u57fa\u7840\uff0cbash\uff0c\u73af\u5883\u53d8\u91cf\uff0cAnaconda ... \u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\uff1a\u770b\u8fc7CSAPP\u8fd9\u672c\u4e66\u7684\u540c\u5b66\u4e00\u5b9a\u611f\u53f9\u597d\u4e66\u7684\u91cd\u8981\uff0c\u6211\u5c06\u5217\u4e3e\u63a8\u8350\u81ea\u5df1\u770b\u8fc7\u7684\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5fc5\u770b\u597d\u4e66\u4e0e\u8d44\u6e90\u94fe\u63a5\u3002","title":"\u524d\u8a00"},{"location":"#cs61a","text":"\u5927\u4e00\u5165\u5b66\u65f6\u6211\u662f\u4e00\u4e2a\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u88c5\u4e86\u51e0\u5341\u4e2aG\u7684Visual Studio\u5929\u5929\u548cOJ\u4f60\u6b7b\u6211\u6d3b\u3002\u51ed\u7740\u9ad8\u4e2d\u7684\u6570\u5b66\u5e95\u5b50\u6211\u6570\u5b66\u8bfe\u5b66\u5f97\u8fd8\u4e0d\u9519\uff0c\u4f46\u5728\u4e13\u4e1a\u8bfe\u4e0a\u5bf9\u7ade\u8d5b\u5927\u4f6c\u53ea\u6709\u4ef0\u671b\u3002\u63d0\u5230\u7f16\u7a0b\u6211\u53ea\u4f1a\u6253\u5f00\u90a3\u7b28\u91cd\u7684IDE\uff0c\u65b0\u5efa\u4e00\u4e2a\u6211\u4e5f\u4e0d\u77e5\u9053\u5177\u4f53\u662f\u5e72\u5565\u7684\u547d\u4ee4\u884c\u9879\u76ee\uff0c\u7136\u540e\u5c31\u662fcin\uff0ccout\uff0cfor\u5faa\u73af\uff0c\u7136\u540eCE\uff0cRE\uff0cWA\u5faa\u73af\u3002\u5f53\u65f6\u7684\u6211\u5c31\u5904\u5728\u4e00\u79cd\u62fc\u547d\u60f3\u5b66\u597d\u4f46\u4e0d\u77e5\u9053\u600e\u4e48\u5b66\uff0c\u8bfe\u4e0a\u8ba4\u771f\u542c\u8bb2\u4f46\u9898\u8fd8\u4e0d\u4f1a\u505a\uff0c\u8bfe\u540e\u505a\u4f5c\u4e1a\u5b8c\u5168\u662f\u7528\u65f6\u95f4\u548c\u5b83\u786c\u8017\u7684\u75db\u82e6\u72b6\u6001\u3002\u6211\u81f3\u4eca\u7535\u8111\u91cc\u8fd8\u5b58\u7740\u81ea\u5df1\u5927\u4e00\u4e0a\u5b66\u671f\u8ba1\u7b97\u6982\u8bba\u5927\u4f5c\u4e1a\u7684\u6e90\u4ee3\u7801 \u2014\u2014 \u4e00\u4e2a1200\u884c\u7684C++\u6587\u4ef6\uff0c\u6ca1\u6709\u5934\u6587\u4ef6\u3001\u6ca1\u6709\u7c7b\u3001\u6ca1\u6709\u5c01\u88c5\u3001\u6ca1\u6709unit test\u3001\u6ca1\u6709makefile\u3001\u6ca1\u6709git\uff0c\u552f\u4e00\u7684\u4f18\u70b9\u662f\u5b83\u786e\u5b9e\u80fd\u8dd1\uff0c\u7f3a\u70b9\u662f\u201c\u80fd\u8dd1\u201d\u7684\u8865\u96c6\u3002\u6211\u4e00\u5ea6\u6000\u7591\u6211\u662f\u4e0d\u662f\u4e0d\u9002\u5408\u5b66\u8ba1\u7b97\u673a\uff0c\u56e0\u4e3a\u7ae5\u5e74\u5bf9\u4e8e\u6781\u5ba2\u7684\u6240\u6709\u60f3\u8c61\uff0c\u5df2\u7ecf\u88ab\u6211\u7b2c\u4e00\u4e2a\u5b66\u671f\u7684\u4f53\u9a8c\u5f7b\u5e95\u7c89\u788e\u4e86\u3002 \u8fd9\u4e00\u5207\u7684\u8f6c\u673a\u53d1\u751f\u5728\u6211\u5927\u4e00\u7684\u5bd2\u5047\uff0c\u6211\u5fc3\u8840\u6765\u6f6e\u60f3\u5b66\u4e60Python\u3002\u65e0\u610f\u95f4\u770b\u5230\u77e5\u4e4e\u6709\u4eba\u63a8\u8350\u4e86CS61A\u8fd9\u95e8\u8bfe\uff0c\u8bf4\u662fUC Berkeley\u7684\u5927\u4e00\u5165\u95e8\u8bfe\u7a0b\uff0c\u8bb2\u7684\u5c31\u662fPython\u3002\u6211\u6c38\u8fdc\u4e0d\u4f1a\u5fd8\u8bb0\u90a3\u4e00\u5929\uff0c\u6253\u5f00 CS61A \u8bfe\u7a0b\u7f51\u7ad9\u7684\u90a3\u4e2a\u77ac\u95f4\uff0c\u5c31\u50cf\u54e5\u4f26\u5e03\u53d1\u73b0\u4e86\u65b0\u5927\u9646\u4e00\u6837\uff0c\u6211\u5f00\u542f\u4e86\u65b0\u4e16\u754c\u7684\u5927\u95e8\u3002 \u6211\u4e00\u53e3\u6c143\u4e2a\u661f\u671f\u4e0a\u5b8c\u4e86\u8fd9\u95e8\u8bfe\uff0c\u5b83\u8ba9\u6211\u7b2c\u4e00\u6b21\u611f\u89c9\u5230\u539f\u6765CS\u53ef\u4ee5\u5b66\u5f97\u5982\u6b64\u5145\u5b9e\u800c\u6709\u8da3\uff0c\u539f\u6765\u8fd9\u4e16\u4e0a\u7adf\u6709\u5982\u6b64\u7cbe\u534e\u7684\u8bfe\u7a0b\u3002 \u4e3a\u907f\u514d\u6709\u5d07\u6d0b\u5a9a\u5916\u4e4b\u5acc\uff0c\u6211\u5355\u7eaf\u4ece\u4e00\u4e2a\u5b66\u751f\u7684\u89c6\u89d2\u6765\u8bb2\u8bb2\u81ea\u5b66CS61A\u7684\u4f53\u9a8c\uff1a \u72ec\u7acb\u642d\u5efa\u7684\u8bfe\u7a0b\u7f51\u7ad9: \u4e00\u4e2a\u7f51\u7ad9\u5c06\u6240\u6709\u8bfe\u7a0b\u8d44\u6e90\u6574\u5408\u4e00\u4f53\uff0c\u6761\u7406\u5206\u660e\u7684\u8bfe\u7a0bschedule\u3001\u6240\u6709slides\uff0chw\uff0cdiscussion\u7684\u6587\u4ef6\u94fe\u63a5\u3001\u8be6\u7ec6\u660e\u786e\u7684\u8bfe\u7a0b\u7ed9\u5206\u8bf4\u660e\u3001\u5386\u5e74\u7684\u8003\u8bd5\u9898\u4e0e\u7b54\u6848\u3002\u8fd9\u6837\u4e00\u4e2a\u7f51\u7ad9\u629b\u5f00\u7f8e\u89c2\u7a0b\u5ea6\u4e0d\u8c08\uff0c\u65e2\u65b9\u4fbf\u5b66\u751f\uff0c\u4e5f\u8ba9\u8d44\u6e90\u516c\u6b63\u900f\u660e\u3002 \u8bfe\u7a0b\u6559\u6388\u4eb2\u81ea\u7f16\u5199\u7684\u6559\u6750\uff1aCS61A\u8fd9\u95e8\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08\u5c06MIT\u7684\u7ecf\u5178\u6559\u6750 Structure and Interpretation of Computer Programs (SICP)\u7528Python\u8fd9\u95e8\u8bed\u8a00\u8fdb\u884c\u6539\u7f16\uff08\u539f\u6559\u6750\u57fa\u4e8eScheme\u8bed\u8a00\uff09\uff0c\u4fdd\u8bc1\u4e86\u8bfe\u5802\u5185\u5bb9\u4e0e\u6559\u6750\u5185\u5bb9\u7684\u4e00\u81f4\u6027\uff0c\u540c\u65f6\u8865\u5145\u4e86\u66f4\u591a\u7ec6\u8282\uff0c\u53ef\u4ee5\u8bf4\u8bda\u610f\u6ee1\u6ee1\u3002\u800c\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u7ebf\u4e0a\u9605\u8bfb\u3002 \u4e30\u5bcc\u5230\u8ba9\u4eba\u773c\u82b1\u7f2d\u4e71\u7684\u8bfe\u7a0b\u4f5c\u4e1a\uff1a14\u4e2alab\u5de9\u56fa\u968f\u5802\u77e5\u8bc6\u70b9\uff0c10\u4e2ahomework\uff0c\u8fd8\u67094\u4e2a\u4ee3\u7801\u91cf\u5747\u4e0a\u5343\u884c\u7684project\u3002\u4e0e\u5927\u5bb6\u719f\u6089\u7684OJ\u548cword\u6587\u6863\u5f0f\u7684\u4f5c\u4e1a\u4e0d\u540c\uff0c\u6240\u6709\u4f5c\u4e1a\u5747\u6709\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u4fdd\u59c6\u7ea7\u7684\u4f5c\u4e1a\u8bf4\u660e\u3002\u6bcf\u4e2aProject\u90fd\u6709\u8be6\u5c3d\u7684handout\u6587\u6863\u3001\u5168\u81ea\u52a8\u7684\u8bc4\u5206\u811a\u672c\u3002CS61A\u751a\u81f3\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a \u81ea\u52a8\u5316\u7684\u4f5c\u4e1a\u63d0\u4ea4\u8bc4\u5206\u7cfb\u7edf \uff08\u636e\u8bf4\u8fd8\u53d1\u4e86\u8bba\u6587\uff09\u3002\u5f53\u7136\uff0c\u6709\u4eba\u4f1a\u8bf4\u201c\u4e00\u4e2aproject\u51e0\u5343\u884c\u4ee3\u7801\u5927\u90e8\u5206\u90fd\u662f\u52a9\u6559\u5e2e\u4f60\u5199\u597d\u7684\uff0c\u4f60\u8fd8\u80fd\u5b66\u5230\u5565\uff1f\u201d\u3002\u6b64\u8a00\u5dee\u77e3\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\uff0c\u8fde\u5b89\u88c5Python\u90fd\u78d5\u78d5\u7eca\u7eca\u7684\u5c0f\u767d\u6765\u8bf4\uff0c\u8fd9\u6837\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\u65e2\u53ef\u4ee5\u8ba9\u4f60\u4e13\u6ce8\u4e8e\u5de9\u56fa\u8bfe\u5802\u4e0a\u5b66\u4e60\u5230\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\uff0c\u53c8\u80fd\u6709\u201c\u6211\u624d\u5b66\u4e86\u4e00\u4e2a\u6708\u5c31\u80fd\u505a\u4e00\u4e2a\u5c0f\u6e38\u620f\u4e86\uff01\u201d\u7684\u6210\u5c31\u611f\uff0c\u8fd8\u80fd\u6709\u673a\u4f1a\u9605\u8bfb\u5b66\u4e60\u522b\u4eba\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u4ece\u800c\u4e3a\u81ea\u5df1\u6240\u7528\u3002\u6211\u89c9\u5f97\u5728\u4f4e\u5e74\u7ea7\uff0c\u8fd9\u79cd\u4ee3\u7801\u6846\u67b6\u53ef\u4ee5\u8bf4\u767e\u5229\u800c\u65e0\u4e00\u5bb3\u3002\u552f\u4e00\u7684\u5bb3\u4e5f\u8bb8\u662f\u82e6\u4e86\u8001\u5e08\u548c\u52a9\u6559\uff0c\u56e0\u4e3a\u5f00\u53d1\u8fd9\u6837\u7684\u4f5c\u4e1a\u53ef\u60f3\u800c\u77e5\u9700\u8981\u76f8\u5f53\u7684\u65f6\u95f4\u6295\u5165\u3002 \u6bcf\u5468Discussion\u8ba8\u8bba\u8bfe\uff0c\u52a9\u6559\u4f1a\u8bb2\u89e3\u77e5\u8bc6\u96be\u70b9\u548c\u8003\u8bd5\u4f8b\u9898\uff1a\u7c7b\u4f3c\u4e8e\u5317\u4eac\u5927\u5b66ICS\u7684\u5c0f\u73ed\u7814\u8ba8\uff0c\u4f46\u4e60\u9898\u5168\u90e8\u7528Latex\u64b0\u5199\uff0c\u76f8\u5f53\u89c4\u8303\u4e14\u4f1a\u660e\u786e\u7ed9\u51fasolution\u3002 \u8fd9\u6837\u7684\u8bfe\u7a0b\uff0c\u4f60\u5b8c\u5168\u4e0d\u9700\u8981\u4efb\u4f55\u8ba1\u7b97\u673a\u7684\u57fa\u7840\uff0c\u4f60\u53ea\u9700\u8981\u52aa\u529b\u3001\u8ba4\u771f\u3001\u82b1\u65f6\u95f4\u5c31\u591f\u4e86\u3002\u6b64\u524d\u90a3\u79cd\u6709\u52b2\u6ca1\u5904\u4f7f\u7684\u611f\u89c9\uff0c\u90a3\u79cd\u4ed8\u51fa\u518d\u591a\u65f6\u95f4\u5374\u5f97\u4e0d\u5230\u56de\u62a5\u7684\u611f\u89c9\uff0c\u4ece\u6b64\u70df\u6d88\u4e91\u6563\u3002\u8fd9\u592a\u9002\u5408\u6211\u4e86\uff0c\u6211\u4ece\u6b64\u7231\u4e0a\u4e86\u81ea\u5b66\u3002 \u8bd5\u60f3\u5982\u679c\u6709\u4eba\u80fd\u628a\u8270\u6df1\u7684\u77e5\u8bc6\u70b9\u56bc\u788e\u56bc\u70c2\uff0c\u7528\u751f\u52a8\u76f4\u767d\u7684\u65b9\u5f0f\u5448\u73b0\u7ed9\u4f60\uff0c\u8fd8\u6709\u90a3\u4e48\u591a\u542c\u8d77\u6765\u5c31\u5f88fancy\uff0c\u79cd\u7c7b\u7e41\u591a\u7684project\u6765\u5de9\u56fa\u4f60\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u4f60\u4f1a\u89c9\u5f97\u4ed6\u4eec\u771f\u7684\u662f\u5728\u503e\u5c3d\u5168\u529b\u60f3\u65b9\u8bbe\u6cd5\u5730\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u8fd9\u95e8\u8bfe\uff0c\u4f60\u4f1a\u89c9\u5f97\u4e0d\u5b66\u597d\u5b83\u7b80\u76f4\u662f\u5bf9\u8fd9\u4e9b\u8bfe\u7a0b\u5efa\u8bbe\u8005\u7684\u4fae\u8fb1\u3002 \u5982\u679c\u4f60\u89c9\u5f97\u6211\u5728\u5938\u5927\u5176\u8bcd\uff0c\u90a3\u4e48\u4e0d\u59a8\u4ece CS61A \u5f00\u59cb\uff0c\u56e0\u4e3a\u5b83\u662f\u6211\u7684\u68a6\u5f00\u59cb\u7684\u5730\u65b9\u3002","title":"\u68a6\u5f00\u59cb\u7684\u5730\u65b9 \u2014\u2014 CS61A"},{"location":"#_2","text":"\u5728\u62112020\u5e74\u79cb\u5b63\u5b66\u671f\u62c5\u4efb\u300a\u6df1\u5165\u7406\u89e3\u8ba1\u7b97\u673a\u7cfb\u7edf\u300b\uff08CSAPP\uff09\u8fd9\u95e8\u8bfe\u7684\u52a9\u6559\u65f6\uff0c\u6211\u5df2\u7ecf\u81ea\u5b66\u4e00\u5e74\u591a\u4e86\u3002\u8fd9\u4e00\u5e74\u591a\u6765\u6211\u65e0\u6bd4\u4eab\u53d7\u8fd9\u79cd\u81ea\u5b66\u6a21\u5f0f\uff0c\u4e3a\u4e86\u5206\u4eab\u8fd9\u79cd\u5feb\u4e50\uff0c\u6211\u4e3a\u81ea\u5df1\u7684\u5c0f\u73ed\u540c\u5b66\u505a\u8fc7\u4e00\u4e2a CS\u81ea\u5b66\u8d44\u6599\u6574\u7406\u4ed3\u5e93 \u3002\u5f53\u65f6\u7eaf\u7cb9\u662f\u5fc3\u8840\u6765\u6f6e\uff0c\u56e0\u4e3a\u6211\u4e5f\u4e0d\u6562\u516c\u7136\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\u3002 \u4f46\u968f\u7740\u53c8\u4e00\u5e74\u65f6\u95f4\u7684\u7ef4\u62a4\uff0c\u8fd9\u4e2a\u4ed3\u5e93\u7684\u5185\u5bb9\u5df2\u7ecf\u76f8\u5f53\u4e30\u5bcc\uff0c\u57fa\u672c\u8986\u76d6\u4e86\u8ba1\u79d1\u3001\u667a\u80fd\u7cfb\u3001\u8f6f\u5de5\u7cfb\u7684\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\uff0c\u6211\u4e5f\u4e3a\u6bcf\u4e2a\u8bfe\u7a0b\u90fd\u5efa\u4e86\u5404\u81ea\u7684Github\u4ed3\u5e93\uff0c\u6c47\u603b\u6211\u7528\u5230\u7684\u81ea\u5b66\u8d44\u6599\u4ee5\u53ca\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u76f4\u5230\u5927\u56db\u5f00\u59cb\u51d1\u5b66\u5206\u6bd5\u4e1a\u7684\u65f6\u5019\uff0c\u6211\u6253\u5f00\u81ea\u5df1\u7684\u57f9\u517b\u65b9\u6848\uff0c\u6211\u53d1\u73b0\u5b83\u5df2\u7ecf\u662f\u6211\u8fd9\u4e2a\u81ea\u5b66\u4ed3\u5e93\u7684\u5b50\u96c6\u4e86\uff0c\u800c\u8fd9\u8ddd\u79bb\u6211\u5f00\u59cb\u81ea\u5b66\u4e5f\u624d\u4e24\u5e74\u534a\u800c\u5df2\u3002\u4e8e\u662f\uff0c\u4e00\u4e2a\u5927\u80c6\u7684\u60f3\u6cd5\u5728\u6211\u8111\u6d77\u4e2d\u6d6e\u73b0\uff1a\u4e5f\u8bb8\uff0c\u6211\u53ef\u4ee5\u6253\u9020\u4e00\u4e2a\u81ea\u5b66\u5f0f\u7684\u57f9\u517b\u65b9\u6848\uff0c\u628a\u6211\u8fd9\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u4e2d\u9047\u5230\u7684\u5751\u3001\u8d70\u8fc7\u7684\u8def\u8bb0\u5f55\u4e0b\u6765\uff0c\u4ee5\u671f\u80fd\u4e3a\u540e\u6765\u7684\u5b66\u5f1f\u5b66\u59b9\u4eec\u8d21\u732e\u81ea\u5df1\u7684\u4e00\u4efd\u5fae\u8584\u4e4b\u529b\u3002 \u5982\u679c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e09\u5e74\u4e0d\u5230\u7684\u65f6\u95f4\u91cc\u5c31\u80fd\u5efa\u7acb\u8d77\u6574\u5ea7CS\u7684\u57fa\u7840\u5927\u53a6\uff0c\u80fd\u6709\u76f8\u5bf9\u624e\u5b9e\u7684\u6570\u5b66\u529f\u5e95\u548c\u4ee3\u7801\u80fd\u529b\uff0c\u7ecf\u5386\u8fc7\u6570\u5341\u4e2a\u5343\u884c\u4ee3\u7801\u91cf\u7684Project\u7684\u6d17\u793c\uff0c\u638c\u63e1\u81f3\u5c11C/C++/Java/JS/Python/Go/Rust\u7b49\u4e3b\u6d41\u8bed\u8a00\uff0c\u5bf9\u7b97\u6cd5\u3001\u7535\u8def\u3001\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\u3001\u4eba\u5de5\u667a\u80fd\u3001\u673a\u5668\u5b66\u4e60\u3001\u8ba1\u7b97\u673a\u89c6\u89c9\u3001\u81ea\u7136\u8bed\u8a00\u5904\u7406\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u5bc6\u7801\u5b66\u3001\u4fe1\u606f\u8bba\u3001\u535a\u5f08\u8bba\u3001\u6570\u503c\u5206\u6790\u3001\u7edf\u8ba1\u5b66\u3001\u5206\u5e03\u5f0f\u3001\u6570\u636e\u5e93\u3001\u56fe\u5f62\u5b66\u3001Web\u5f00\u53d1\u3001\u4e91\u670d\u52a1\u3001\u8d85\u7b97\u7b49\u7b49\u65b9\u9762\u5747\u6709\u6d89\u730e\u3002\u6211\u60f3\uff0c\u4f60\u5c06\u6709\u8db3\u591f\u7684\u5e95\u6c14\u548c\u81ea\u4fe1\u9009\u62e9\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\uff0c\u65e0\u8bba\u662f\u5c31\u4e1a\u8fd8\u662f\u79d1\u7814\uff0c\u4f60\u90fd\u5c06\u6709\u76f8\u5f53\u7684\u7ade\u4e89\u529b\u3002 \u56e0\u4e3a\u6211\u575a\u4fe1\uff0c\u65e2\u7136\u4f60\u80fd\u575a\u6301\u542c\u6211BB\u5230\u8fd9\u91cc\uff0c\u4f60\u4e00\u5b9a\u4e0d\u7f3a\u5b66\u597dCS\u7684\u80fd\u529b\uff0c\u4f60\u53ea\u662f\u6ca1\u6709\u4e00\u4e2a\u597d\u7684\u8001\u5e08\uff0c\u7ed9\u4f60\u8bb2\u4e00\u95e8\u597d\u7684\u8bfe\u7a0b\u3002\u800c\u6211\uff0c\u5c06\u529b\u56fe\u6839\u636e\u6211\u4e09\u5e74\u7684\u4f53\u9a8c\uff0c\u4e3a\u4f60\u6311\u9009\u8fd9\u6837\u7684\u8bfe\u7a0b\u3002","title":"\u4e3a\u4ec0\u4e48\u5199\u8fd9\u672c\u4e66"},{"location":"#_3","text":"\u5bf9\u6211\u6765\u8bf4\uff0c\u81ea\u5b66\u6700\u5927\u7684\u597d\u5904\u5c31\u5728\u4e8e\u53ef\u4ee5\u5b8c\u5168\u6839\u636e\u81ea\u5df1\u7684\u8fdb\u5ea6\u6765\u8c03\u6574\u5b66\u4e60\u901f\u5ea6\u3002\u5bf9\u4e8e\u4e00\u4e9b\u7591\u96be\u77e5\u8bc6\u70b9\uff0c\u6211\u53ef\u4ee5\u53cd\u590d\u56de\u770b\u89c6\u9891\uff0c\u5728\u7f51\u4e0a\u8c37\u6b4c\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u4e0aStackOverflow\u63d0\u95ee\u9898\uff0c\u76f4\u5230\u5b8c\u5168\u5c06\u5b83\u5f04\u660e\u767d\u3002\u800c\u5bf9\u4e8e\u81ea\u5df1\u638c\u63e1\u5f97\u76f8\u5bf9\u8f83\u5feb\u7684\u5185\u5bb9\uff0c\u5219\u53ef\u4ee5\u4e24\u500d\u901f\u751a\u81f3\u4e09\u500d\u901f\u7565\u8fc7\u3002 \u81ea\u5b66\u7684\u53e6\u4e00\u5927\u597d\u5904\u5c31\u662f\u535a\u91c7\u4f17\u957f\u3002\u8ba1\u7b97\u673a\u7cfb\u7684\u51e0\u5927\u6838\u5fc3\u8bfe\u7a0b\uff1a\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\uff0c\u6bcf\u4e00\u95e8\u6211\u57fa\u672c\u90fd\u4e0a\u8fc7\u4e0d\u540c\u5927\u5b66\u7684\u8bfe\u7a0b\uff0c\u4e0d\u540c\u7684\u6559\u6750\u3001\u4e0d\u540c\u7684\u77e5\u8bc6\u70b9\u4fa7\u91cd\u3001\u4e0d\u540c\u7684project\u5c06\u4f1a\u6781\u5927\u4e30\u5bcc\u4f60\u7684\u89c6\u91ce\uff0c\u4e5f\u4f1a\u8ba9\u4f60\u7406\u89e3\u9519\u8bef\u7684\u4e00\u4e9b\u5185\u5bb9\u5f97\u5230\u53ca\u65f6\u7ea0\u6b63\u3002 \u81ea\u5b66\u7684\u7b2c\u4e09\u4e2a\u597d\u5904\u662f\u65f6\u95f4\u81ea\u7531\uff0c\u5177\u4f53\u539f\u56e0\u7701\u7565\u3002","title":"\u81ea\u5b66\u7684\u597d\u5904"},{"location":"#_4","text":"\u5f53\u7136\uff0c\u4f5c\u4e3aCS\u81ea\u5b66\u4e3b\u4e49\u7684\u5fe0\u5b9e\u62e5\u8db8\u8005\uff0c\u6211\u4e0d\u5f97\u4e0d\u627f\u8ba4\u81ea\u5b66\u4e5f\u6709\u5b83\u7684\u574f\u5904\u3002 \u7b2c\u4e00\u5c31\u662f\u4ea4\u6d41\u6c9f\u901a\u7684\u4e0d\u4fbf\u3002\u6211\u5176\u5b9e\u662f\u4e00\u4e2a\u5f88\u70ed\u8877\u4e8e\u63d0\u95ee\u7684\u4eba\uff0c\u5bf9\u4e8e\u6240\u6709\u6ca1\u6709\u5f04\u660e\u767d\u7684\u70b9\uff0c\u6211\u90fd\u559c\u6b22\u7a77\u8ffd\u5230\u5e95\u3002\u4f46\u5f53\u4f60\u9762\u5bf9\u7740\u5c4f\u5e55\u542c\u5230\u8001\u5e08\u8bb2\u4e86\u4e00\u4e2a\u4f60\u6ca1\u660e\u767d\u7684\u77e5\u8bc6\u70b9\u7684\u65f6\u5019\uff0c\u4f60\u65e0\u6cd5\u987a\u7740\u7f51\u7ebf\u5230\u53e6\u4e00\u7aef\u5411\u8001\u5e08\u95ee\u4e2a\u660e\u767d\u3002\u6211\u52aa\u529b\u901a\u8fc7\u72ec\u7acb\u601d\u8003\u548c\u5584\u7528Google\u6765\u7f13\u89e3\u8fd9\u4e00\u70b9\uff0c\u4f46\u662f\uff0c\u5982\u679c\u80fd\u6709\u51e0\u4e2a\u5fd7\u540c\u9053\u5408\u7684\u4f19\u4f34\u7ed3\u4f34\u81ea\u5b66\uff0c\u90a3\u5c06\u662f\u6781\u597d\u7684\u3002\u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb\uff0c\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4ed3\u5e93README\u4e2d\u7684\u6559\u7a0b\u3002 \u7b2c\u4e8c\u5c31\u662f\u8fd9\u4e9b\u81ea\u5b66\u7684\u8bfe\u7a0b\u57fa\u672c\u90fd\u662f\u82f1\u6587\u7684\u3002\u4ece\u89c6\u9891\u5230slides\u5230\u4f5c\u4e1a\u5168\u662f\u82f1\u6587\uff0c\u6240\u4ee5\u6709\u4e00\u5b9a\u7684\u95e8\u69db\u3002\u4e0d\u8fc7\u6211\u89c9\u5f97\u8fd9\u4e2a\u6311\u6218\u5982\u679c\u4f60\u514b\u670d\u4e86\u7684\u8bdd\u5bf9\u4f60\u662f\u6781\u4e3a\u6709\u5229\u7684\u3002\u56e0\u4e3a\u5728\u5f53\u4e0b\uff0c\u867d\u7136\u6211\u5f88\u4e0d\u60c5\u613f\uff0c\u4f46\u4e5f\u4e0d\u5f97\u4e0d\u627f\u8ba4\uff0c\u5728\u8ba1\u7b97\u673a\u9886\u57df\uff0c\u5f88\u591a\u4f18\u8d28\u7684\u6587\u6863\u3001\u8bba\u575b\u3001\u7f51\u7ad9\u90fd\u662f\u5168\u82f1\u6587\u7684\u3002\u517b\u6210\u82f1\u6587\u9605\u8bfb\u7684\u4e60\u60ef\uff0c\u5728\u8d64\u65d7\u63d2\u904d\u4e16\u754c\u4e4b\u524d\uff0c\u8fd8\u662f\u6709\u4e00\u5b9a\u597d\u5904\u7684\uff08\u72d7\u5934\u4fdd\u547d\uff09\u3002 \u7b2c\u4e09\uff0c\u4e5f\u662f\u6211\u89c9\u5f97\u6700\u56f0\u96be\u7684\u4e00\u70b9\uff0c\u5c31\u662f\u81ea\u5f8b\u3002\u56e0\u4e3a\u6ca1\u6709DDL\u6709\u65f6\u5019\u771f\u7684\u662f\u4e00\u4ef6\u53ef\u6015\u7684\u4e8b\u60c5\uff0c\u7279\u522b\u662f\u968f\u7740\u5b66\u4e60\u7684\u6df1\u5165\uff0c\u56fd\u5916\u7684\u5f88\u591a\u8bfe\u7a0b\u662f\u76f8\u5f53\u8650\u7684\u3002\u4f60\u5f97\u6709\u8db3\u591f\u7684\u9a71\u52a8\u529b\u5f3a\u8feb\u81ea\u5df1\u9759\u4e0b\u5fc3\u6765\uff0c\u9605\u8bfb\u51e0\u5341\u9875\u7684Project Handout\uff0c\u7406\u89e3\u4e0a\u5343\u884c\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u5fcd\u53d7\u6570\u4e2a\u5c0f\u65f6\u7684debug\u65f6\u5149\u3002\u800c\u8fd9\u4e00\u5207\uff0c\u6ca1\u6709\u5b66\u5206\uff0c\u6ca1\u6709\u7ee9\u70b9\uff0c\u6ca1\u6709\u8001\u5e08\uff0c\u6ca1\u6709\u540c\u5b66\uff0c\u53ea\u6709\u4e00\u4e2a\u4fe1\u5ff5 \u2014\u2014 \u4f60\u5728\u53d8\u5f3a\u3002","title":"\u81ea\u5b66\u7684\u574f\u5904"},{"location":"#_5","text":"\u6b63\u5982\u6211\u5728\u524d\u8a00\u91cc\u8bf4\u7684\uff0c\u4efb\u4f55\u6709\u5fd7\u4e8e\u81ea\u5b66\u8ba1\u7b97\u673a\u7684\u670b\u53cb\u90fd\u53ef\u4ee5\u53c2\u8003\u8fd9\u672c\u4e66\u3002\u5982\u679c\u4f60\u5df2\u7ecf\u6709\u4e86\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u57fa\u7840\uff0c\u53ea\u662f\u5bf9\u67d0\u4e2a\u7279\u5b9a\u7684\u9886\u57df\u611f\u5174\u8da3\uff0c\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u6311\u9009\u4f60\u611f\u5174\u8da3\u7684\u5185\u5bb9\u8fdb\u884c\u5b66\u4e60\u3002\u5f53\u7136\uff0c\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u50cf\u6211\u5f53\u5e74\u4e00\u6837\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u521d\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u6211\u5e0c\u671b\u8fd9\u672c\u4e66\u80fd\u6210\u4e3a\u4f60\u7684\u653b\u7565\uff0c\u8ba9\u4f60\u82b1\u6700\u5c11\u7684\u65f6\u95f4\u638c\u63e1\u4f60\u6240\u9700\u8981\u7684\u77e5\u8bc6\u548c\u80fd\u529b\u3002\u67d0\u79cd\u7a0b\u5ea6\u4e0a\uff0c\u8fd9\u672c\u4e66\u66f4\u50cf\u662f\u4e00\u4e2a\u6839\u636e\u6211\u7684\u4f53\u9a8c\u6765\u6392\u5e8f\u7684\u8bfe\u7a0b\u641c\u7d22\u5f15\u64ce\uff0c\u5e2e\u52a9\u5927\u5bb6\u8db3\u4e0d\u51fa\u6237\uff0c\u4f53\u9a8c\u4e16\u754c\u9876\u7ea7\u540d\u6821\u7684\u8ba1\u7b97\u673a\u4f18\u8d28\u8bfe\u7a0b\u3002 \u5f53\u7136\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u8fd8\u672a\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\uff0c\u6211\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u80fd\u529b\u4e5f\u6ca1\u6709\u6743\u5229\u53bb\u5ba3\u626c\u4e00\u79cd\u5b66\u4e60\u65b9\u5f0f\uff0c\u6211\u53ea\u662f\u5e0c\u671b\u8fd9\u4efd\u8d44\u6599\u80fd\u8ba9\u90a3\u4e9b\u540c\u6837\u6709\u81ea\u5b66\u4e4b\u5fc3\u548c\u6bc5\u529b\u670b\u53cb\u53ef\u4ee5\u5c11\u8d70\u4e9b\u5f2f\u8def\uff0c\u6536\u83b7\u66f4\u4e30\u5bcc\u3001\u66f4\u591a\u6837\u3001\u66f4\u6ee1\u8db3\u7684\u5b66\u4e60\u4f53\u9a8c\u3002","title":"\u8fd9\u672c\u4e66\u9002\u5408\u8c01"},{"location":"#_6","text":"\u5728\u8fd9\u91cc\uff0c\u6211\u6000\u7740\u5d07\u656c\u4e4b\u5fc3\u771f\u8bda\u5730\u611f\u8c22\u6240\u6709\u5c06\u8bfe\u7a0b\u8d44\u6e90\u65e0\u507f\u5f00\u6e90\u7684\u5404\u4f4d\u6559\u6388\u4eec\u3002\u8fd9\u4e9b\u8bfe\u7a0b\u503e\u6ce8\u4e86\u4ed6\u4eec\u6570\u5341\u5e74\u6559\u5b66\u751f\u6daf\u7684\u79ef\u6dc0\u548c\u5fc3\u8840\uff0c\u4ed6\u4eec\u5374\u9009\u62e9\u65e0\u79c1\u5730\u8ba9\u6240\u6709\u4eba\u4eab\u53d7\u5230\u5982\u6b64\u9ad8\u8d28\u91cf\u7684CS\u6559\u80b2\u3002\u6ca1\u6709\u4ed6\u4eec\uff0c\u6211\u7684\u5927\u5b66\u751f\u6d3b\u4e0d\u4f1a\u8fd9\u6837\u5145\u5b9e\u800c\u5feb\u4e50\u3002\u5f88\u591a\u6559\u6388\u5728\u6211\u7ed9\u4ed6\u4eec\u53d1\u4e86\u611f\u8c22\u90ae\u4ef6\u4e4b\u540e\uff0c\u751a\u81f3\u4f1a\u56de\u590d\u4e0a\u767e\u5b57\u7684\u957f\u6587\uff0c\u771f\u7684\u8ba9\u6211\u65e0\u6bd4\u611f\u52a8\u3002\u4ed6\u4eec\u4e5f\u65f6\u523b\u6fc0\u52b1\u7740\u6211\uff0c\u505a\u4e00\u4ef6\u4e8b\uff0c\u5c31\u5f97\u7528\u5fc3\u505a\u597d\uff0c\u65e0\u8bba\u662f\u79d1\u7814\uff0c\u8fd8\u662f\u4e3a\u4eba\u3002","title":"\u7279\u522b\u9e23\u8c22"},{"location":"#_7","text":"\u4e00\u4e2a\u4eba\u7684\u529b\u91cf\u7ec8\u7a76\u662f\u6709\u9650\u7684\uff0c\u8fd9\u672c\u4e66\u4e5f\u662f\u6211\u5728\u7e41\u91cd\u7684\u79d1\u7814\u4e4b\u4f59\u71ac\u591c\u62bd\u7a7a\u5199\u51fa\u6765\u7684\uff0c\u96be\u514d\u6709\u4e0d\u591f\u5b8c\u5584\u4e4b\u5904\u3002\u53e6\u5916\uff0c\u7531\u4e8e\u4e2a\u4eba\u505a\u7684\u662f\u7cfb\u7edf\u65b9\u5411\uff0c\u5f88\u591a\u8bfe\u7a0b\u4fa7\u91cd\u7cfb\u7edf\u9886\u57df\uff0c\u5bf9\u4e8e\u6570\u5b66\u3001\u7406\u8bba\u8ba1\u7b97\u673a\u3001\u9ad8\u7ea7\u7b97\u6cd5\u76f8\u5173\u7684\u5185\u5bb9\u5219\u76f8\u5bf9\u5c11\u4e9b\u3002\u5982\u679c\u6709\u5927\u4f6c\u60f3\u5728\u5176\u4ed6\u9886\u57df\u5206\u4eab\u81ea\u5df1\u7684\u81ea\u5b66\u7ecf\u5386\u4e0e\u8d44\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u5728\u9879\u76ee\u4e2d\u53d1\u8d77Pull Request\uff0c\u4e5f\u6b22\u8fce\u548c\u6211\u90ae\u4ef6\u8054\u7cfb\uff08zhongyinmin@pku.edu.cn\uff09\u3002","title":"\u4f60\u4e5f\u60f3\u52a0\u5165\u5230\u8d21\u732e\u8005\u7684\u884c\u5217"},{"location":"#_8","text":"\u65b9\u6cd5\u53c2\u89c1\u4ed3\u5e93\u7684README.","title":"\u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/","text":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u8ba1\u7b97\u673a\u9886\u57df\u65b9\u5411\u5e9e\u6742\uff0c\u77e5\u8bc6\u6d69\u5982\u70df\u6d77\uff0c\u6bcf\u4e2a\u7ec6\u5206\u9886\u57df\u5982\u679c\u6df1\u7a76\u4e0b\u53bb\u90fd\u53ef\u4ee5\u8bf4\u5b66\u65e0\u6b62\u5883\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u6e05\u6670\u660e\u786e\u7684\u5b66\u4e60\u89c4\u5212\u662f\u975e\u5e38\u91cd\u8981\u7684\u3002\u8fd9\u4e00\u8282\u7684\u5185\u5bb9\u662f\u5bf9\u540e\u7eed\u6574\u672c\u4e66\u7684\u5185\u5bb9\u7684\u4e00\u4e2a\u6982\u89c8\uff0c\u4f60\u53ef\u4ee5\u5c06\u5176\u770b\u4f5c\u662f\u8fd9\u672c\u4e66\u7684\u76ee\u5f55\uff0c\u6309\u9700\u9009\u62e9\u81ea\u5df1\u611f\u5174\u8da3\u7684\u5185\u5bb9\u8fdb\u884c\u5b66\u4e60\u3002 \u4e0d\u8fc7\uff0c\u5728\u5f00\u59cb\u5b66\u4e60\u4e4b\u524d\uff0c\u5148\u5411\u5c0f\u767d\u4eec\u5f3a\u70c8\u63a8\u8350\u4e00\u4e2a\u79d1\u666e\u5411\u7cfb\u5217\u89c6\u9891 Crash Course: Computer Science \uff0c\u5728\u77ed\u77ed8\u4e2a\u5c0f\u65f6\u91cc\u975e\u5e38\u751f\u52a8\u4e14\u5168\u9762\u5730\u79d1\u666e\u4e86\u5173\u4e8e\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff1a\u8ba1\u7b97\u673a\u7684\u5386\u53f2\u3001\u8ba1\u7b97\u673a\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\u3001\u7ec4\u6210\u8ba1\u7b97\u673a\u7684\u5404\u4e2a\u91cd\u8981\u6a21\u5757\u3001\u8ba1\u7b97\u673a\u79d1\u5b66\u4e2d\u7684\u91cd\u8981\u601d\u60f3\u7b49\u7b49\u7b49\u7b49\u3002\u6b63\u5982\u5b83\u7684\u53e3\u53f7\u6240\u8bf4\u7684 Computers are not magic! \uff0c\u5e0c\u671b\u770b\u5b8c\u8fd9\u4e2a\u89c6\u9891\u4e4b\u540e\uff0c\u5927\u5bb6\u80fd\u5bf9\u8ba1\u7b97\u673a\u79d1\u5b66\u6709\u4e2a\u5168\u8c8c\u6027\u5730\u611f\u77e5\uff0c\u4ece\u800c\u6000\u7740\u5174\u8da3\u53bb\u9762\u5bf9\u4e0b\u9762\u6d69\u5982\u70df\u6d77\u7684\u66f4\u4e3a\u7ec6\u81f4\u4e14\u6df1\u5165\u7684\u5b66\u4e60\u5185\u5bb9\u3002 \u5fc5\u5b66\u5de5\u5177 \u4fd7\u8bdd\u8bf4\uff1a\u78e8\u5200\u4e0d\u8bef\u780d\u67f4\u5de5\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\u768424k\u7eaf\u5c0f\u767d\uff0c\u5b66\u4f1a\u4e00\u4e9b\u5de5\u5177\u5c06\u4f1a\u8ba9\u4f60\u4e8b\u534a\u529f\u500d\u3002 MIT-Missing-Semester \u8fd9\u95e8\u8bfe\u8986\u76d6\u4e86\u8fd9\u4e9b\u5de5\u5177\u4e2d\u7edd\u5927\u90e8\u5206\uff0c\u800c\u4e14\u6709\u76f8\u5f53\u8be6\u7ec6\u7684\u4f7f\u7528\u6307\u5bfc\uff0c\u5f3a\u70c8\u5efa\u8bae\u5c0f\u767d\u5b66\u4e60\u3002 \u7ffb\u5899 \uff1a\u7531\u4e8e\u4e00\u4e9b\u4f17\u6240\u5468\u77e5\u7684\u539f\u56e0\uff0c\u8c37\u6b4c\u3001Github\u7b49\u7f51\u7ad9\u5728\u5927\u9646\u65e0\u6cd5\u8bbf\u95ee\u3002\u7136\u800c\u5f88\u591a\u65f6\u5019\uff0c\u8c37\u6b4c\u548cStackoverflow\u53ef\u4ee5\u89e3\u51b3\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9047\u5230\u768495%\u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u5b66\u4f1a\u7ffb\u5899\u51e0\u4e4e\u662f\u4e00\u4e2a\u5185\u5730CSer\u7684\u5fc5\u5907\u6280\u80fd\u3002\uff08\u8003\u8651\u5230\u6cd5\u5f8b\u95ee\u9898\uff0c\u8fd9\u4e2a\u6587\u6863\u63d0\u4f9b\u7684\u7ffb\u5899\u65b9\u5f0f\u4ec5\u5bf9\u62e5\u6709\u5317\u5927\u90ae\u7bb1\u7684\u7528\u6237\u9002\u7528\uff09\u3002 IDE\uff08Integrated Development Environment\uff09\uff1a\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4f60\u5199\u4ee3\u7801\u7684\u5730\u65b9\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7801\u519c\uff0cIDE\u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u4f46\u7531\u4e8e\u5f88\u591aIDE\u662f\u4e3a\u5927\u578b\u5de5\u7a0b\u9879\u76ee\u8bbe\u8ba1\u7684\uff0c\u4f53\u91cf\u8f83\u5927\uff0c\u529f\u80fd\u4e5f\u8fc7\u4e8e\u4e30\u5bcc\u3002\u5176\u5b9e\u5982\u4eca\u4e00\u4e9b\u8f7b\u4fbf\u7684\u6587\u672c\u7f16\u8f91\u5668\u914d\u5408\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\u57fa\u672c\u53ef\u4ee5\u6ee1\u8db3\u65e5\u5e38\u7684\u8f7b\u91cf\u7f16\u7a0b\u9700\u6c42\u3002\u4e2a\u4eba\u5e38\u7528\u7684\u7f16\u8f91\u5668\u662fVSCode\u548cSublime\uff08\u524d\u8005\u7684\u63d2\u4ef6\u914d\u7f6e\u975e\u5e38\u7b80\u5355\uff0c\u540e\u8005\u7565\u663e\u590d\u6742\u4f46\u989c\u503c\u5f88\u9ad8\uff09\u3002\u5f53\u7136\u5bf9\u4e8e\u5927\u578b\u9879\u76ee\u6211\u8fd8\u662f\u4f1a\u91c7\u7528\u7565\u91cd\u578b\u7684IDE\uff0c\u4f8b\u5982Pycharm\uff08Python\uff09\uff0cIDEA\uff08Java\uff09\u7b49\u7b49\uff08\u514d\u8d23\u7533\u660e\uff1a\u6240\u6709\u7684IDE\u90fd\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684IDE\uff09\u3002 Vim \uff1a\u4e00\u6b3e\u547d\u4ee4\u884c\u7f16\u8f91\u5de5\u5177\u3002\u8fd9\u662f\u4e00\u4e2a\u5b66\u4e60\u66f2\u7ebf\u6709\u4e9b\u9661\u5ced\u7684\u7f16\u8f91\u5668\uff0c\u4e0d\u8fc7\u5b66\u4f1a\u5b83\u6211\u89c9\u5f97\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u56e0\u4e3a\u5b83\u5c06\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002\u73b0\u5728\u7edd\u5927\u591a\u6570IDE\u4e5f\u90fd\u652f\u6301Vim\u63d2\u4ef6\uff0c\u8ba9\u4f60\u5728\u4eab\u53d7\u73b0\u4ee3\u5f00\u53d1\u73af\u5883\u7684\u540c\u65f6\u4fdd\u7559\u6781\u5ba2\u7684\u70ab\u9177\uff08yue\uff09\u3002 Git \uff1a\u4e00\u6b3e\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\u3002Git\u7684\u5b66\u4e60\u66f2\u7ebf\u53ef\u80fd\u66f4\u4e3a\u9661\u5ced\uff0c\u4f46\u51fa\u81eaLinux\u4e4b\u7236Linus\u4e4b\u624b\u7684Git\u7edd\u5bf9\u662f\u6bcf\u4e2a\u5b66CS\u7684\u7ae5\u978b\u5fc5\u987b\u638c\u63e1\u7684\u795e\u5668\u4e4b\u4e00\u3002 Github \uff1a\u57fa\u4e8eGit\u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u5168\u4e16\u754c\u6700\u5927\u7684\u4ee3\u7801\u5f00\u6e90\u793e\u533a\uff0c\u5927\u4f6c\u96c6\u805a\u5730\u3002 Makefile \uff1a\u4e00\u6b3e\u5de5\u7a0b\u6784\u5efa\u5de5\u5177\u3002\u5584\u7528Makefile\u4f1a\u8ba9\u4f60\u517b\u6210\u4ee3\u7801\u6a21\u5757\u5316\u7684\u4e60\u60ef\uff0c\u540c\u65f6\u4e5f\u80fd\u8ba9\u4f60\u719f\u6089\u4e00\u4e9b\u5927\u578b\u5de5\u7a0b\u7684\u7f16\u8bd1\u94fe\u63a5\u6d41\u7a0b\u3002 CMake \uff1a\u4e00\u6b3e\u529f\u80fd\u6bd4Makefile\u66f4\u4e3a\u5f3a\u5927\u7684\u6784\u5efa\u5de5\u5177\uff0c\u5efa\u8bae\u638c\u63e1Makefile\u4e4b\u540e\u518d\u52a0\u4ee5\u5b66\u4e60\u3002 LaTex \uff1a \u903c\u683c\u63d0\u5347 \u8bba\u6587\u6392\u7248\u5de5\u5177\u3002 Docker \uff1a\u4e00\u6b3e\u76f8\u8f83\u4e8e\u865a\u62df\u673a\u66f4\u8f7b\u91cf\u7ea7\u7684\u8f6f\u4ef6\u6253\u5305\u4e0e\u73af\u5883\u90e8\u7f72\u5de5\u5177\u3002 \u5b9e\u7528\u5de5\u5177\u7bb1 \uff1a\u9664\u4e86\u4e0a\u9762\u63d0\u5230\u7684\u8fd9\u4e9b\u5728\u5f00\u53d1\u4e2d\u4f7f\u7528\u9891\u7387\u6781\u9ad8\u7684\u5de5\u5177\u4e4b\u5916\uff0c\u6211\u8fd8\u6536\u96c6\u4e86\u5f88\u591a\u5b9e\u7528\u6709\u8da3\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4f8b\u5982\u4e00\u4e9b\u4e0b\u8f7d\u5de5\u5177\u3001\u8bbe\u8ba1\u5de5\u5177\u3001\u5b66\u4e60\u7f51\u7ad9\u7b49\u7b49\u3002 \u597d\u4e66\u63a8\u8350 \u79c1\u4ee5\u4e3a\u4e00\u672c\u597d\u7684\u6559\u6750\u5e94\u5f53\u662f\u4ee5\u4eba\u4e3a\u672c\u7684\uff0c\u800c\u4e0d\u662f\u70ab\u6280\u5f0f\u7684\u7406\u8bba\u5806\u780c\u3002\u544a\u8bc9\u8bfb\u8005\u201c\u662f\u4ec0\u4e48\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u66f4\u597d\u7684\u5e94\u5f53\u662f\u6559\u6750\u4f5c\u8005\u5c06\u5176\u5728\u8fd9\u4e2a\u9886\u57df\u6df1\u8015\u51e0\u5341\u5e74\u7684\u7ecf\u9a8c\u878d\u6c47\u8fdb\u4e66\u4e2d\uff0c\u5411\u8bfb\u8005\u5a13\u5a13\u9053\u6765\u201c\u4e3a\u4ec0\u4e48\u201d\u4ee5\u53ca\u672a\u6765\u5e94\u8be5\u201c\u600e\u4e48\u505a\u201d\u3002 \u94fe\u63a5\u6233\u8fd9\u91cc \u73af\u5883\u914d\u7f6e \u4f60\u4ee5\u4e3a\u7684\u5f00\u53d1 \u2014\u2014 \u5728IDE\u91cc\u75af\u72c2\u7801\u4ee3\u7801\u6570\u5c0f\u65f6\u3002 \u5b9e\u9645\u4e0a\u7684\u5f00\u53d1 \u2014\u2014 \u914d\u73af\u5883\u914d\u51e0\u5929\u8fd8\u6ca1\u5f00\u59cb\u5199\u4ee3\u7801\u3002 \u63a8\u8350\u4e00\u4e2a\u975e\u5e38\u4e0d\u9519\u7684Github\u9879\u76ee DevOps-Guide \uff0c\u5176\u4e2d\u6db5\u76d6\u4e86\u975e\u5e38\u591a\u7684\u8fd0\u7ef4\u65b9\u9762\u7684\u57fa\u7840\u77e5\u8bc6\u548c\u6559\u7a0b\uff0c\u4f8b\u5982Docker\uff0cK8s\uff0cLinux\uff0cCI-CD\uff0cGithub Actions\u7b49\u7b49\u3002 \u53e6\u5916\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4e00\u4efd\u7075\u611f\u6765\u81ea 6.NULL MIT-Missing-Semester \u7684 \u73af\u5883\u914d\u7f6e\u6307\u5357 \uff0c\u91cd\u70b9\u5728\u4e8e\u7ec8\u7aef\u7684\u7f8e\u5316\u914d\u7f6e\u3002\u6b64\u5916\u8fd8\u5305\u62ec\u5e38\u7528\u8f6f\u4ef6\u6e90\uff08\u5982 GitHub , Anaconda , pip \u7b49\uff09\u7684\u52a0\u901f\u4e0e\u66ff\u6362\u4ee5\u53ca\u4e00\u4e9bIDE\u7684\u914d\u7f6e\u4e0e\u6fc0\u6d3b\u6559\u7a0b\u3002 More contents under construction. \u8bfe\u7a0b\u5730\u56fe \u6b63\u5982\u8fd9\u7ae0\u5f00\u5934\u63d0\u5230\u7684\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u4ec5\u4ec5\u662f\u4e00\u4e2a \u4ec5\u4f9b\u53c2\u8003 \u7684\u8bfe\u7a0b\u89c4\u5212\uff0c\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4e34\u8fd1\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\u3002\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u6743\u5229\u4e5f\u6ca1\u6709\u80fd\u529b\u5411\u522b\u4eba\u5ba3\u626c\u201c\u5e94\u8be5\u600e\u4e48\u5b66\u201d\u3002\u56e0\u6b64\u5982\u679c\u4f60\u89c9\u5f97\u4ee5\u4e0b\u7684\u8bfe\u7a0b\u5206\u7c7b\u4e0e\u9009\u62e9\u6709\u4e0d\u5408\u7406\u4e4b\u5904\uff0c\u6211\u5168\u76d8\u63a5\u53d7\uff0c\u5e76\u6df1\u611f\u62b1\u6b49\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4e00\u8282 \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u4ee5\u4e0b\u8bfe\u7a0b\u7c7b\u522b\u4e2d\u9664\u4e86\u542b\u6709 \u57fa\u7840 \u548c \u5165\u95e8 \u5b57\u773c\u7684\u4ee5\u5916\uff0c\u5e76\u65e0\u660e\u786e\u7684\u5148\u540e\u6b21\u5e8f\uff0c\u5927\u5bb6\u53ea\u8981\u6ee1\u8db3\u67d0\u4e2a\u8bfe\u7a0b\u7684\u5148\u4fee\u8981\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u548c\u559c\u597d\u9009\u62e9\u60f3\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b\u3002 \u53e6\u5916\u7531\u4e8e\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u52a0\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u5df2\u7ecf\u4ece\u6700\u521d\u6211\u7684\u5b66\u4e60\u7ecf\u5386\uff0c\u53d1\u5c55\u6210\u4e3a\u5f88\u591aCS\u81ea\u5b66\u8005\u7684\u8d44\u6e90\u5408\u96c6\uff0c\u5176\u4e2d\u96be\u514d\u6709\u5185\u5bb9\u4ea4\u53c9\u751a\u81f3\u91cd\u590d\u7684\u3002\u4f46\u4e4b\u6240\u4ee5\u90fd\u5217\u51fa\u6765\uff0c\u8fd8\u662f\u5e0c\u671b\u96c6\u767e\u5bb6\u4e4b\u957f\uff0c\u7ed9\u5927\u5bb6\u5c3d\u53ef\u80fd\u591a\u7684\u9009\u62e9\u4e0e\u53c2\u8003\u3002 \u6570\u5b66\u57fa\u7840 \u5fae\u79ef\u5206\u4e0e\u7ebf\u6027\u4ee3\u6570 \u4f5c\u4e3a\u5927\u4e00\u65b0\u751f\uff0c\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u662f\u548c\u5199\u4ee3\u7801\u81f3\u5c11\u540c\u7b49\u91cd\u8981\u7684\u4e8b\u60c5\uff0c\u76f8\u4fe1\u5df2\u7ecf\u6709\u65e0\u6570\u7684\u524d\u4eba\u7ecf\u9a8c\u63d0\u5230\u8fc7\u8fd9\u4e00\u70b9\uff0c\u4f46\u6211\u8fd8\u662f\u8981\u4e0d\u538c\u5176\u70e6\u5730\u518d\u5f3a\u8c03\u4e00\u904d\uff1a\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u771f\u7684\u5f88\u91cd\u8981\uff01\u4f60\u4e5f\u8bb8\u4f1a\u5410\u69fd\u8fd9\u4e9b\u4e1c\u897f\u5c82\u4e0d\u662f\u8003\u5b8c\u5c31\u5fd8\uff0c\u90a3\u6211\u89c9\u5f97\u4f60\u662f\u5e76\u6ca1\u6709\u628a\u63e1\u4f4f\u5b83\u4eec\u672c\u8d28\uff0c\u5bf9\u5b83\u4eec\u7684\u7406\u89e3\u8fd8\u6ca1\u6709\u8fbe\u5230\u523b\u9aa8\u94ed\u5fc3\u7684\u7a0b\u5ea6\u3002\u5982\u679c\u89c9\u5f97\u8001\u5e08\u8bfe\u4e0a\u8bb2\u7684\u5185\u5bb9\u6666\u6da9\u96be\u61c2\uff0c\u4e0d\u59a8\u53c2\u8003MIT\u7684 Calculus Course \u548c 18.06: Linear Algebra \u7684\u8bfe\u7a0bnotes\uff0c\u81f3\u5c11\u4e8e\u6211\u800c\u8a00\uff0c\u5b83\u5e2e\u52a9\u6211\u6df1\u523b\u7406\u89e3\u4e86\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570\u7684\u8bb8\u591a\u672c\u8d28\u3002\u987a\u9053\u518d\u5b89\u5229\u4e00\u4e2a\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \uff0c\u4ed6\u7684\u9891\u9053\u6709\u5f88\u591a\u7528\u751f\u52a8\u5f62\u8c61\u7684\u52a8\u753b\u9610\u91ca\u6570\u5b66\u672c\u8d28\u5185\u6838\u7684\u89c6\u9891\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u8d28\u91cf\u975e\u5e38\u9ad8\u3002 \u4fe1\u606f\u8bba\u5165\u95e8 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u53ca\u65e9\u4e86\u89e3\u4e00\u4e9b\u4fe1\u606f\u8bba\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u6211\u89c9\u5f97\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4f46\u5927\u591a\u4fe1\u606f\u8bba\u8bfe\u7a0b\u90fd\u9762\u5411\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u751a\u81f3\u7814\u7a76\u751f\uff0c\u5bf9\u65b0\u624b\u6781\u4e0d\u53cb\u597d\u3002\u800cMIT\u7684 6.050J: Information theory and Entropy \u8fd9\u95e8\u8bfe\u6b63\u662f\u4e3a\u5927\u4e00\u65b0\u751f\u91cf\u8eab\u5b9a\u5236\u7684\uff0c\u51e0\u4e4e\u6ca1\u6709\u5148\u4fee\u8981\u6c42\uff0c\u6db5\u76d6\u4e86\u7f16\u7801\u3001\u538b\u7f29\u3001\u901a\u4fe1\u3001\u4fe1\u606f\u71b5\u7b49\u7b49\u5185\u5bb9\uff0c\u975e\u5e38\u6709\u8da3\u3002 \u6570\u5b66\u8fdb\u9636 \u79bb\u6563\u6570\u5b66\u4e0e\u6982\u7387\u8bba \u96c6\u5408\u8bba\u3001\u56fe\u8bba\u3001\u6982\u7387\u8bba\u7b49\u7b49\u662f\u7b97\u6cd5\u63a8\u5bfc\u4e0e\u8bc1\u660e\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4e5f\u662f\u540e\u7eed\u9ad8\u9636\u6570\u5b66\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u4f46\u6211\u89c9\u5f97\u8fd9\u7c7b\u8bfe\u7a0b\u7684\u8bb2\u6388\u5f88\u5bb9\u6613\u843d\u5165\u7406\u8bba\u5316\u4e0e\u5f62\u5f0f\u5316\u7684\u7aa0\u81fc\uff0c\u8ba9\u8bfe\u5802\u6210\u4e3a\u5b9a\u7406\u7ed3\u8bba\u7684\u5806\u780c\uff0c\u800c\u65e0\u6cd5\u4f7f\u5b66\u751f\u6df1\u523b\u628a\u63e1\u7406\u8bba\u7684\u672c\u8d28\uff0c\u8fdb\u800c\u9020\u6210\u5b66\u4e86\u5c31\u80cc\uff0c\u8003\u4e86\u5c31\u5fd8\u7684\u602a\u5708\u3002\u5982\u679c\u80fd\u5728\u7406\u8bba\u6559\u5b66\u4e2d\u7a7f\u63d2\u7b97\u6cd5\u8fd0\u7528\u5b9e\u4f8b\uff0c\u5b66\u751f\u5728\u62d3\u5c55\u7b97\u6cd5\u77e5\u8bc6\u7684\u540c\u65f6\u4e5f\u80fd\u7aa5\u89c1\u7406\u8bba\u7684\u529b\u91cf\u548c\u9b45\u529b\u3002 UCB CS70 : discrete Math and probability theory \u548c UCB CS126 : Probability theory \u662fUC Berkeley\u7684\u6982\u7387\u8bba\u8bfe\u7a0b\uff0c\u524d\u8005\u8986\u76d6\u4e86\u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba\u57fa\u7840\uff0c\u540e\u8005\u5219\u6d89\u53ca\u968f\u673a\u8fc7\u7a0b\u4ee5\u53ca\u6df1\u5165\u7684\u7406\u8bba\u5185\u5bb9\u3002\u4e24\u8005\u90fd\u975e\u5e38\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u6709\u4e30\u5bcc\u7684\u7b97\u6cd5\u5b9e\u9645\u8fd0\u7528\u5b9e\u4f8b\uff0c\u540e\u8005\u8fd8\u6709\u5927\u91cf\u7684Python\u7f16\u7a0b\u4f5c\u4e1a\u6765\u8ba9\u5b66\u751f\u8fd0\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002 \u6570\u503c\u5206\u6790 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u57f9\u517b\u8ba1\u7b97\u601d\u7ef4\u662f\u5f88\u91cd\u8981\u7684\uff0c\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u3001\u79bb\u6563\u5316\uff0c\u8ba1\u7b97\u673a\u7684\u6a21\u62df\u3001\u5206\u6790\uff0c\u662f\u4e00\u9879\u5f88\u91cd\u8981\u7684\u80fd\u529b\u3002\u800c\u8fd9\u4e24\u5e74\u5f00\u59cb\u98ce\u9761\u7684\uff0c\u7531MIT\u6253\u9020\u7684 Julia \u7f16\u7a0b\u8bed\u8a00\u4ee5\u5176C\u4e00\u6837\u7684\u901f\u5ea6\u548cPython\u4e00\u6837\u53cb\u597d\u7684\u8bed\u6cd5\u5728\u6570\u503c\u8ba1\u7b97\u9886\u57df\u6709\u4e00\u7edf\u5929\u4e0b\u4e4b\u52bf\uff0cMIT\u7684\u8bb8\u591a\u6570\u5b66\u8bfe\u7a0b\u4e5f\u5f00\u59cb\u7528Julia\u4f5c\u4e3a\u6559\u5b66\u5de5\u5177\uff0c\u628a\u8270\u6df1\u7684\u6570\u5b66\u7406\u8bba\u7528\u76f4\u89c2\u6e05\u6670\u7684\u4ee3\u7801\u5c55\u793a\u51fa\u6765\u3002 ComputationalThinking \u662fMIT\u5f00\u8bbe\u7684\u4e00\u95e8\u8ba1\u7b97\u601d\u7ef4\u5165\u95e8\u8bfe\uff0c\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u5168\u90e8\u5f00\u6e90\uff0c\u53ef\u4ee5\u5728\u8bfe\u7a0b\u7f51\u7ad9\u76f4\u63a5\u8bbf\u95ee\u3002\u8fd9\u95e8\u8bfe\u5229\u7528Julia\u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u56fe\u50cf\u5904\u7406\u3001\u793e\u4f1a\u79d1\u5b66\u4e0e\u6570\u636e\u79d1\u5b66\u3001\u6c14\u5019\u5b66\u5efa\u6a21\u4e09\u4e2atopic\u4e0b\u5e26\u9886\u5b66\u751f\u7406\u89e3\u7b97\u6cd5\u3001\u6570\u5b66\u5efa\u6a21\u3001\u6570\u636e\u5206\u6790\u3001\u4ea4\u4e92\u8bbe\u8ba1\u3001\u56fe\u4f8b\u5c55\u793a\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u8ba1\u7b97\u4e0e\u79d1\u5b66\u7684\u7f8e\u5999\u7ed3\u5408\u3002\u5185\u5bb9\u867d\u7136\u4e0d\u96be\uff0c\u4f46\u7ed9\u6211\u6700\u6df1\u523b\u7684\u611f\u53d7\u5c31\u662f\uff0c\u79d1\u5b66\u7684\u9b45\u529b\u5e76\u4e0d\u662f\u6545\u5f04\u7384\u865a\u7684\u8270\u6df1\u7406\u8bba\uff0c\u4e0d\u662f\u8bd8\u5c48\u8071\u7259\u7684\u672f\u8bed\u884c\u8bdd\uff0c\u800c\u662f\u7528\u76f4\u89c2\u751f\u52a8\u7684\u6848\u4f8b\uff0c\u7528\u7b80\u7ec3\u6df1\u523b\u7684\u8bed\u8a00\uff0c\u8ba9\u6bcf\u4e2a\u666e\u901a\u4eba\u90fd\u80fd\u7406\u89e3\u3002 \u4e0a\u5b8c\u4e0a\u9762\u7684\u4f53\u9a8c\u8bfe\u4e4b\u540e\uff0c\u5982\u679c\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u4e0d\u59a8\u8bd5\u8bd5MIT\u7684 18.330 : Introduction to numerical analysis \uff0c\u8fd9\u95e8\u8bfe\u7684\u7f16\u7a0b\u4f5c\u4e1a\u540c\u6837\u4f1a\u7528Julia\u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u8fc7\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4e0a\u4e86\u4e00\u4e2a\u53f0\u9636\u3002\u5185\u5bb9\u6d89\u53ca\u4e86\u6d6e\u70b9\u7f16\u7801\u3001Root finding\u3001\u7ebf\u6027\u7cfb\u7edf\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u7b49\u65b9\u9762\uff0c\u6574\u95e8\u8bfe\u7684\u4e3b\u65e8\u5c31\u662f\u8ba9\u4f60\u5229\u7528\u79bb\u6563\u5316\u7684\u8ba1\u7b97\u673a\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u4e00\u4e2a\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\u3002\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u8fd8\u4e13\u95e8\u64b0\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750 Fundamentals of Numerical Computation \uff0c\u91cc\u9762\u9644\u6709\u4e30\u5bcc\u7684Julia\u4ee3\u7801\u5b9e\u4f8b\u548c\u4e25\u8c28\u7684\u516c\u5f0f\u63a8\u5bfc\u3002 \u5982\u679c\u4f60\u8fd8\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u8fd8\u6709MIT\u7684\u7814\u7a76\u751f\u8bfe\u7a0b 18.335: Introduction to numerical method \u4f9b\u4f60\u53c2\u8003\u3002 \u5fae\u5206\u65b9\u7a0b \u5982\u679c\u4e16\u95f4\u4e07\u7269\u7684\u8fd0\u52a8\u53d1\u5c55\u90fd\u80fd\u7528\u65b9\u7a0b\u6765\u523b\u753b\u548c\u63cf\u8ff0\uff0c\u8fd9\u662f\u4e00\u4ef6\u591a\u4e48\u9177\u7684\u4e8b\u60c5\u5440\uff01\u867d\u7136\u51e0\u4e4e\u4efb\u4f55\u4e00\u6240\u5b66\u6821\u7684CS\u57f9\u517b\u65b9\u6848\u4e2d\u90fd\u6ca1\u6709\u5fae\u5206\u65b9\u7a0b\u76f8\u5173\u7684\u5fc5\u4fee\u8bfe\u7a0b\uff0c\u4f46\u6211\u8fd8\u662f\u89c9\u5f97\u638c\u63e1\u5b83\u4f1a\u8d4b\u4e88\u4f60\u4e00\u4e2a\u65b0\u7684\u89c6\u89d2\u6765\u5ba1\u89c6\u8fd9\u4e2a\u4e16\u754c\u3002 \u7531\u4e8e\u5fae\u5206\u65b9\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u7528\u5230\u5f88\u591a\u590d\u53d8\u51fd\u6570\u7684\u77e5\u8bc6\uff0c\u6240\u4ee5\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003 MIT18.04: Complex variables functions \u7684\u8bfe\u7a0bnotes\u6765\u8865\u9f50\u5148\u4fee\u77e5\u8bc6\u3002 MIT18.03: differential equations \u4e3b\u8981\u8986\u76d6\u4e86\u5e38\u5fae\u5206\u65b9\u7a0b\u7684\u6c42\u89e3\uff0c\u5728\u6b64\u57fa\u7840\u4e4b\u4e0a MIT18.152: Partial differential equations \u5219\u4f1a\u6df1\u5165\u504f\u5fae\u5206\u65b9\u7a0b\u7684\u5efa\u6a21\u4e0e\u6c42\u89e3\u3002\u638c\u63e1\u4e86\u5fae\u5206\u65b9\u7a0b\u8fd9\u4e00\u6709\u5229\u5de5\u5177\uff0c\u76f8\u4fe1\u5bf9\u4e8e\u4f60\u7684\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u80fd\u529b\u4ee5\u53ca\u4ece\u4f17\u591a\u566a\u58f0\u53d8\u91cf\u4e2d\u628a\u63e1\u672c\u8d28\u7684\u76f4\u89c9\u90fd\u4f1a\u6709\u5f88\u5927\u5e2e\u52a9\u3002 \u6570\u5b66\u9ad8\u9636 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u6211\u7ecf\u5e38\u542c\u5230\u6570\u5b66\u65e0\u7528\u8bba\u7684\u8bba\u65ad\uff0c\u5bf9\u6b64\u6211\u4e0d\u6562\u82df\u540c\u4f46\u4e5f\u65e0\u6743\u53cd\u5bf9\uff0c\u4f46\u82e5\u51e1\u4e8b\u90fd\u786c\u8981\u4e89\u51fa\u4e2a\u6709\u7528\u548c\u65e0\u7528\u7684\u533a\u522b\u6765\uff0c\u5012\u4e5f\u7740\u5b9e\u65e0\u8da3\uff0c\u56e0\u6b64\u4e0b\u9762\u8fd9\u4e9b\u9762\u5411\u9ad8\u5e74\u7ea7\u751a\u81f3\u7814\u7a76\u751f\u7684\u6570\u5b66\u8bfe\u7a0b\uff0c\u5927\u5bb6\u6309\u5174\u8da3\u81ea\u53d6\u6240\u9700\u3002 \u51f8\u4f18\u5316 Standford EE364A: Convex Optimization \u4fe1\u606f\u8bba MIT6.441: Information Theory \u5e94\u7528\u7edf\u8ba1\u5b66 MIT18.650: Statistics for Applications \u521d\u7b49\u6570\u8bba MIT18.781: Theory of Numbers \u5bc6\u7801\u5b66 Standford CS255: Cryptography \u7f16\u7a0b\u5165\u95e8 Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language. Shell MIT-Missing-Semester Python Harvard CS50: This is CS50x \u6700\u597d\u7684\u8ba1\u7b97\u673a\u57fa\u7840\u5165\u95e8\u8bfe\uff0c\u4f60\u7edd\u5bf9\u4f1a\u7231\u4e0a\u7684\u3002 UCB CS61A: Structure and Interpretation of Computer Programs C++ Stanford CS106L: Standard C++ Programming Rust Stanford CS110L: Safety in Systems Programming OCaml Cornell CS3110 textbook: Functional Programming in OCaml \u7535\u5b50\u57fa\u7840 \u7535\u8def\u57fa\u7840 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u4e86\u89e3\u4e00\u4e9b\u57fa\u7840\u7684\u7535\u8def\u77e5\u8bc6\uff0c\u611f\u53d7\u4ece\u4f20\u611f\u5668\u6536\u96c6\u6570\u636e\u5230\u6570\u636e\u5206\u6790\u518d\u5230\u7b97\u6cd5\u9884\u6d4b\u6574\u6761\u6d41\u6c34\u7ebf\uff0c\u5bf9\u4e8e\u540e\u7eed\u77e5\u8bc6\u7684\u5b66\u4e60\u4ee5\u53ca\u8ba1\u7b97\u601d\u7ef4\u7684\u57f9\u517b\u8fd8\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002 EE16A&B: Designing Information Devices and Systems I&II \u662f\u4f2f\u514b\u5229EE\u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u5176\u4e2dEE16A\u6ce8\u91cd\u901a\u8fc7\u7535\u8def\u4ece\u5b9e\u9645\u73af\u5883\u4e2d\u6536\u96c6\u548c\u5206\u6790\u6570\u636e\uff0c\u800cEE16B\u5219\u4fa7\u91cd\u4ece\u8fd9\u4e9b\u6536\u96c6\u5230\u7684\u6570\u636e\u8fdb\u884c\u5206\u6790\u5e76\u505a\u51fa\u9884\u6d4b\u884c\u4e3a\u3002 \u4fe1\u53f7\u4e0e\u7cfb\u7edf \u4fe1\u53f7\u4e0e\u7cfb\u7edf\u662f\u4e00\u95e8\u6211\u89c9\u5f97\u975e\u5e38\u503c\u5f97\u4e00\u4e0a\u7684\u8bfe\uff0c\u6700\u521d\u5b66\u5b83\u53ea\u662f\u4e3a\u4e86\u6ee1\u8db3\u6211\u5bf9\u5085\u91cc\u53f6\u53d8\u6362\u7684\u597d\u5947\uff0c\u4f46\u5b66\u5b8c\u4e4b\u540e\u6211\u624d\u4e0d\u7981\u611f\u53f9\uff0c\u5085\u7acb\u53f6\u53d8\u6362\u7ed9\u6211\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u89c6\u89d2\u53bb\u770b\u5f85\u8fd9\u4e2a\u4e16\u754c\uff0c\u5c31\u5982\u540c\u5fae\u5206\u65b9\u7a0b\u4e00\u6837\uff0c\u8ba9\u4f60\u6c89\u6d78\u5728\u7528\u6570\u5b66\u53bb\u7cbe\u786e\u63cf\u7ed8\u548c\u523b\u753b\u8fd9\u4e2a\u4e16\u754c\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u4e4b\u4e2d\u3002 MIT 6.003 : signal and systems \u63d0\u4f9b\u4e86\u5168\u90e8\u7684\u8bfe\u7a0b\u5f55\u5f71\u3001\u4e66\u9762\u4f5c\u4e1a\u4ee5\u53ca\u7b54\u6848\u3002\u4e5f\u53ef\u4ee5\u53bb\u770b\u8fd9\u95e8\u8bfe\u7684 \u8fdc\u53e4\u7248\u672c \u800c UCB EE120 : Signal and Systems \u5173\u4e8e\u5085\u7acb\u53f6\u53d8\u6362\u7684notes\u5199\u5f97\u975e\u5e38\u597d\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e866\u4e2a\u975e\u5e38\u6709\u8da3\u7684Python\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u8ba9\u4f60\u5b9e\u8df5\u4e2d\u8fd0\u7528\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u3002 \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 Stanford CS106B/X: Programming Abstractions UCB CS61B: Data Structures and Algorithms Coursera: Algorithms I & II \u7b97\u6cd5\u8bbe\u8ba1\u4e0e\u5206\u6790 UCB CS170: Efficient Algorithms and Intractable Problems \u8f6f\u4ef6\u5de5\u7a0b \u5165\u95e8\u8bfe \u4e00\u4efd\u201c\u80fd\u8dd1\u201d\u7684\u4ee3\u7801\uff0c\u548c\u4e00\u4efd\u9ad8\u8d28\u91cf\u7684\u5de5\u4e1a\u7ea7\u4ee3\u7801\u662f\u6709\u672c\u8d28\u533a\u522b\u7684\u3002\u56e0\u6b64\u6211\u975e\u5e38\u63a8\u8350\u4f4e\u5e74\u7ea7\u7684\u540c\u5b66\u5b66\u4e60\u4e00\u4e0b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\uff0c\u5b83\u4f1a\u4ee5Java\u8bed\u8a00\u4e3a\u57fa\u7840\uff0c\u4ee5\u4e30\u5bcc\u7ec6\u81f4\u7684\u9605\u8bfb\u6750\u6599\u548c\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7f16\u7a0b\u7ec3\u4e60\u4f20\u6388\u5982\u4f55\u7f16\u5199 \u4e0d\u6613\u51fabug\u3001\u7b80\u660e\u6613\u61c2\u3001\u6613\u4e8e\u7ef4\u62a4\u4fee\u6539 \u7684\u9ad8\u8d28\u91cf\u4ee3\u7801\u3002\u5927\u5230\u5b8f\u89c2\u6570\u636e\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5c0f\u5230\u5982\u4f55\u5199\u6ce8\u91ca\uff0c\u9075\u5faa\u8fd9\u4e9b\u524d\u4eba\u603b\u7ed3\u7684\u7ec6\u8282\u548c\u7ecf\u9a8c\uff0c\u5bf9\u4e8e\u4f60\u6b64\u540e\u7684\u7f16\u7a0b\u751f\u6daf\u5927\u6709\u88e8\u76ca\u3002 \u4e13\u4e1a\u8bfe \u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u7cfb\u7edf\u6027\u5730\u4e0a\u4e00\u95e8\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8bfe\u7a0b\uff0c\u90a3\u6211\u63a8\u8350\u7684\u662f\u4f2f\u514b\u5229\u7684 UCB CS169: software engineering \u3002\u4f46\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u548c\u5927\u591a\u5b66\u6821\uff08\u5305\u62ec\u8d35\u6821\uff09\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4e0d\u4f1a\u6d89\u53ca\u4f20\u7edf\u7684 design and document \u6a21\u5f0f\uff0c\u5373\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6d41\u7a0b\u56fe\u53ca\u6587\u6863\u8bbe\u8ba1\uff0c\u800c\u662f\u91c7\u7528\u8fd1\u4e9b\u5e74\u6d41\u884c\u8d77\u6765\u7684\u5c0f\u56e2\u961f\u5feb\u901f\u8fed\u4ee3 Agile Develepment \u5f00\u53d1\u6a21\u5f0f\u4ee5\u53ca\u5229\u7528\u4e91\u5e73\u53f0\u7684 Software as a service \u670d\u52a1\u6a21\u5f0f\u3002 \u4f53\u7cfb\u7ed3\u6784 \u5165\u95e8\u8bfe \u4ece\u5c0f\u6211\u5c31\u4e00\u76f4\u542c\u8bf4\uff0c\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u662f\u753101\u6784\u6210\u7684\uff0c\u6211\u4e0d\u7406\u89e3\u4f46\u5927\u53d7\u9707\u64bc\u3002\u5982\u679c\u4f60\u7684\u5185\u5fc3\u4e5f\u6000\u6709\u8fd9\u4efd\u597d\u5947\uff0c\u4e0d\u59a8\u82b1\u4e00\u5230\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u5b66\u4e60 Coursera: Nand2Tetris \u8fd9\u95e8\u65e0\u95e8\u69db\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u8fd9\u95e8\u9ebb\u96c0\u867d\u5c0f\u4e94\u810f\u4ff1\u5168\u7684\u8bfe\u7a0b\u4f1a\u4ece01\u5f00\u59cb\u8ba9\u4f60\u4eb2\u624b\u9020\u51fa\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002\u4e00\u95e8\u8bfe\u91cc\u6db5\u76d6\u4e86\u7f16\u8bd1\u3001\u865a\u62df\u673a\u3001\u6c47\u7f16\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u6570\u5b57\u7535\u8def\u3001\u903b\u8f91\u95e8\u7b49\u7b49\u4ece\u4e0a\u81f3\u4e0b\u3001\u4ece\u8f6f\u81f3\u786c\u7684\u5404\u7c7b\u77e5\u8bc6\uff0c\u975e\u5e38\u5168\u9762\u3002\u96be\u5ea6\u4e0a\u4e5f\u662f\u901a\u8fc7\u7cbe\u5fc3\u7684\u8bbe\u8ba1\uff0c\u7565\u53bb\u4e86\u4f17\u591a\u73b0\u4ee3\u8ba1\u7b97\u673a\u590d\u6742\u7684\u7ec6\u8282\uff0c\u63d0\u53d6\u51fa\u4e86\u6700\u6838\u5fc3\u672c\u8d28\u7684\u4e1c\u897f\uff0c\u529b\u56fe\u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u7406\u89e3\u3002\u5728\u4f4e\u5e74\u7ea7\uff0c\u5982\u679c\u5c31\u80fd\u4ece\u5b8f\u89c2\u4e0a\u5efa\u7acb\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7684\u9e1f\u77b0\u56fe\uff0c\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002 \u4e13\u4e1a\u8bfe \u5f53\u7136\uff0c\u5982\u679c\u60f3\u6df1\u5165\u73b0\u4ee3\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u590d\u6742\u7ec6\u8282\uff0c\u8fd8\u5f97\u4e0a\u4e00\u95e8\u5927\u5b66\u672c\u79d1\u96be\u5ea6\u7684\u8bfe\u7a0b UCB CS61C: Great Ideas in Computer Architecture \u3002UC Berkeley\u4f5c\u4e3aRISC-V\u67b6\u6784\u7684\u53d1\u6e90\u5730\uff0c\u5728\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7b97\u5f97\u4e0a\u9996\u5c48\u4e00\u6307\u3002\u5176\u8bfe\u7a0b\u975e\u5e38\u6ce8\u91cd\u5b9e\u8df5\uff0c\u4f60\u4f1a\u5728Project\u4e2d\u624b\u5199\u6c47\u7f16\u6784\u9020\u795e\u7ecf\u7f51\u7edc\uff0c\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u4e00\u4e2aCPU\uff0c\u8fd9\u4e9b\u5b9e\u8df5\u90fd\u4f1a\u8ba9\u4f60\u5bf9\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6709\u66f4\u4e3a\u6df1\u5165\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u4ec5\u505c\u7559\u4e8e\u201c\u53d6\u6307\u8bd1\u7801\u6267\u884c\u8bbf\u5b58\u5199\u56de\u201d\u7684\u5355\u8c03\u80cc\u8bf5\u91cc\u3002 \u7cfb\u7edf\u5165\u95e8 \u8ba1\u7b97\u673a\u7cfb\u7edf\u662f\u4e00\u4e2a\u5e9e\u6742\u800c\u6df1\u523b\u7684\u4e3b\u9898\uff0c\u5728\u6df1\u5165\u5b66\u4e60\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u4e4b\u524d\uff0c\u5bf9\u5404\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5b8f\u89c2\u6982\u5ff5\u6027\u7684\u7406\u89e3\uff0c\u5bf9\u4e00\u4e9b\u901a\u7528\u6027\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u6240\u77e5\u6653\uff0c\u4f1a\u8ba9\u4f60\u5728\u4e4b\u540e\u7684\u6df1\u5165\u5b66\u4e60\u4e2d\u4e0d\u65ad\u5f3a\u5316\u4e00\u4e9b\u6700\u4e3a\u6838\u5fc3\u4e43\u81f3\u54f2\u5b66\u7684\u6982\u5ff5\uff0c\u800c\u4e0d\u4f1a\u684e\u688f\u4e8e\u590d\u6742\u7684\u5185\u90e8\u7ec6\u8282\u548c\u5404\u79cdtrick\u3002\u56e0\u4e3a\u5728\u6211\u770b\u6765\uff0c\u5b66\u4e60\u7cfb\u7edf\u6700\u5173\u952e\u7684\u8fd8\u662f\u60f3\u8ba9\u4f60\u9886\u609f\u5230\u8fd9\u4e9b\u6700\u6838\u5fc3\u7684\u4e1c\u897f\uff0c\u4ece\u800c\u80fd\u591f\u8bbe\u8ba1\u548c\u5b9e\u73b0\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002 MIT6.033: System Engineering \u662fMIT\u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u4e3b\u9898\u6d89\u53ca\u4e86\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u3001\u5206\u5e03\u5f0f\u548c\u7cfb\u7edf\u5b89\u5168\uff0c\u9664\u4e86\u77e5\u8bc6\u70b9\u7684\u4f20\u6388\u5916\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u8bb2\u6388\u4e00\u4e9b\u5199\u4f5c\u548c\u8868\u8fbe\u4e0a\u7684\u6280\u5de7\uff0c\u8ba9\u4f60\u5b66\u4f1a\u5982\u4f55\u8bbe\u8ba1\u5e76\u5411\u522b\u4eba\u4ecb\u7ecd\u548c\u5206\u6790\u81ea\u5df1\u7684\u7cfb\u7edf\u3002\u8fd9\u672c\u4e66\u914d\u5957\u7684\u6559\u6750 Principles of Computer System Design: An Introduction \u4e5f\u5199\u5f97\u975e\u5e38\u597d\uff0c\u63a8\u8350\u5927\u5bb6\u9605\u8bfb\u3002 CMU 15-213: Introduction to Computer System \u662fCMU\u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u5185\u5bb9\u8986\u76d6\u4e86\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\u7b49\uff0c\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\uff0c\u914d\u5957\u7684\u6559\u6750 Computer Systems: A Programmer's Perspective \u4e5f\u662f\u8d28\u91cf\u6781\u9ad8\uff0c\u5f3a\u70c8\u5efa\u8bae\u9605\u8bfb\u3002 \u64cd\u4f5c\u7cfb\u7edf \u64cd\u4f5c\u7cfb\u7edf\u4f5c\u4e3a\u6240\u6709\u5e94\u7528\u8f6f\u4ef6\u548c\u5e95\u5c42\u786c\u4ef6\u4ea4\u4e92\u7684\u638c\u8235\u8005\uff0c\u4e86\u89e3\u5b83\u7684\u5185\u90e8\u539f\u7406\u548c\u8bbe\u8ba1\u539f\u5219\u5bf9\u4e8e\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u4e8e\u8c03\u5305\u4fa0\u7684\u7a0b\u5e8f\u5458\u6765\u8bf4\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002\u540c\u65f6\uff0c\u56fd\u5916\u64cd\u7edf\u8bfe\u7a0b\u7684\u8d28\u91cf\u4e5f\u662f\u8ba9\u4e0a\u4e86\u591a\u5e74\u7f51\u8bfe\u7684\u6211\u4e5f\u611f\u5230\u77a0\u76ee\u7ed3\u820c\u3002 MIT 6.S081: Operating System Engineering \uff0cMIT\u8457\u540dPDOS\u5b9e\u9a8c\u5ba4\u51fa\u54c1\uff0c11\u4e2aProject\u4f1a\u8ba9\u4f60\u5728\u4e00\u4e2a2\u4e07\u591a\u884c\u7684\u6559\u5b66\u7528\u8ff7\u4f60\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u589e\u52a0\u5404\u7c7b\u529f\u80fd\u6a21\u5757\u3002\u8fd9\u95e8\u8bfe\u4e5f\u8ba9\u6211\u6df1\u523b\u8ba4\u8bc6\u5230\uff0c\u505a\u7cfb\u7edf\u4e0d\u662f\u9760PPT\u5ff5\u51fa\u6765\u7684\uff0c\u662f\u5f97\u51e0\u4e07\u884c\u4ee3\u7801\u4e00\u70b9\u70b9\u7d2f\u8d77\u6765\u7684\u3002 UCB CS162: Operating System \uff0c\u4f2f\u514b\u5229\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u91c7\u7528\u548cStanford\u540c\u6837\u7684Project \u2014\u2014 \u4e00\u4e2a\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edfPintos\u3002\u6211\u4f5c\u4e3a\u4e0b\u5b66\u671f\u5317\u4eac\u5927\u5b66\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u7684\u52a9\u6559\uff0c\u4f1a\u5c1d\u8bd5\u5f15\u5165\u8fd9\u4e2aProject\uff0c\u6b22\u8fce\u5927\u5bb6\u9009\u8bfe\u5c1d\u8bd5\uff0c\u540c\u65f6\u8bfe\u7a0b\u8d44\u6e90\u4e5f\u4f1a\u5168\u90e8\u5f00\u6e90\uff0c\u76ee\u524d \u8bfe\u7a0b\u7f51\u7ad9 \u6b63\u5728\u5efa\u8bbe\u5f53\u4e2d\u3002 \u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u7cfb\u7edf \u60f3\u5fc5\u8fd9\u4e24\u5e74\u5404\u7c7bCS\u8bb2\u5ea7\u91cc\u6700\u5e38\u542c\u5230\u7684\u8bdd\u5c31\u662f\u201c\u6469\u5c14\u5b9a\u5f8b\u6b63\u5728\u8d70\u5411\u7ec8\u7ed3\u201d\uff0c\u6b64\u8bdd\u4e0d\u5047\u3002\u540c\u65f6\u5982\u4eca\u6df1\u5ea6\u5b66\u4e60\u7684\u5174\u8d77\u5bfc\u81f4\u5bf9\u8ba1\u7b97\u673a\u7b97\u529b\u4e0e\u5b58\u50a8\u7684\u8981\u6c42\u90fd\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u56e0\u6b64\u5e76\u884c\u548c\u5206\u5e03\u5f0f\u7cfb\u7edf\u5df2\u6210\u4e3a\u4e00\u9879\u70ed\u95e8\u6280\u672f\u8bdd\u9898\u3002 \u5e76\u884c\u8ba1\u7b97 CMU 15-418/Stanford CS149: Parallel Computing \u5206\u5e03\u5f0f\u7cfb\u7edf MIT 6.824: Distributed System \u7cfb\u7edf\u5b89\u5168 \u4e0d\u77e5\u9053\u4f60\u5f53\u5e74\u9009\u62e9\u8ba1\u7b97\u673a\u662f\u4e0d\u662f\u56e0\u4e3a\u6000\u7740\u4e00\u4e2a\u4e2d\u4e8c\u7684\u9ed1\u5ba2\u68a6\u60f3\uff0c\u4f46\u73b0\u5b9e\u5374\u662f\u6210\u4e3a\u9ed1\u5ba2\u9053\u963b\u4e14\u957f\u3002 \u7406\u8bba UCB CS161: Computer Security \u662f\u4f2f\u514b\u5229\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u4f1a\u6db5\u76d6\u6808\u653b\u51fb\u3001\u5bc6\u7801\u5b66\u3001\u7f51\u7ad9\u5b89\u5168\u3001\u7f51\u7edc\u5b89\u5168\u7b49\u7b49\u5185\u5bb9\u3002 \u5b9e\u8df5 \u638c\u63e1\u8fd9\u4e9b\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u8fd8\u9700\u8981\u5728\u5b9e\u8df5\u4e2d\u57f9\u517b\u548c\u953b\u70bc\u8fd9\u4e9b\u201c\u5b89\u5168\u7d20\u517b\u201d\u3002 CTF\u593a\u65d7\u8d5b \u662f\u4e00\u9879\u6bd4\u8f83\u70ed\u95e8\u7684\u7cfb\u7edf\u5b89\u5168\u6bd4\u8d5b\uff0c\u8d5b\u9898\u4e2d\u4f1a\u878d\u4f1a\u8d2f\u901a\u5730\u8003\u5bdf\u4f60\u5bf9\u8ba1\u7b97\u673a\u5404\u4e2a\u9886\u57df\u77e5\u8bc6\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002\u5317\u5927\u4eca\u5e74\u4e5f\u6210\u529f\u4e3e\u529e\u4e86 \u7b2c0\u5c4a\u548c\u7b2c1\u5c4a \uff0c\u4e5f\u9f13\u52b1\u5927\u5bb6\u540e\u671f\u8e0a\u8dc3\u53c2\u4e0e\uff0c\u5728\u5b9e\u8df5\u4e2d\u63d0\u9ad8\u81ea\u5df1\u3002\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\u6211\u5e73\u65f6\u5b66\u4e60\uff08\u6478\u9c7c\uff09\u7528\u5230\u7684\u8d44\u6e90\uff1a CTF-wiki CTF-101 Hacker-101 \u8ba1\u7b97\u673a\u7f51\u7edc \u8ba1\u7f51\u8457\u540d\u6559\u6750\u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u7684\u914d\u5957\u5b66\u4e60\u8d44\u6e90 Computer Networking: A Top-Down Approach \u3002 \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2aTCP/IP\u534f\u8bae\u6808\u66f4\u80fd\u52a0\u6df1\u81ea\u5df1\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u7684\u7406\u89e3\u4e86\uff0c\u6240\u4ee5\u4e0d\u59a8\u8bd5\u8bd5 Stanford CS144: Computer Network \uff0c8\u4e2aProject\u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a\u534f\u8bae\u6808\u3002 \u6570\u636e\u5e93\u7cfb\u7edf \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u66f4\u80fd\u52a0\u6df1\u81ea\u5df1\u5bf9\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 C++\u7248 CMU 15-445: Introduction to Database System Java\u7248 UCB CS186: Introduction to Database System \u7f16\u8bd1\u539f\u7406 \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u7f16\u8bd1\u5668\u66f4\u80fd\u52a0\u6df1\u81ea\u5df1\u5bf9\u7f16\u8bd1\u5668\u7684\u7406\u89e3\u4e86\u3002 Stanford CS143: Compilers \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66 Games101 Web\u5f00\u53d1 \u7f51\u7ad9\u7684\u5f00\u53d1\u5f88\u5c11\u5728\u8ba1\u7b97\u673a\u7684\u57f9\u517b\u65b9\u6848\u91cc\u88ab\u91cd\u89c6\uff0c\u4f46\u5176\u5b9e\u638c\u63e1\u8fd9\u9879\u6280\u80fd\u8fd8\u662f\u597d\u5904\u591a\u591a\u7684\uff0c\u4f8b\u5982\u642d\u5efa\u81ea\u5df1\u7684\u4e2a\u4eba\u4e3b\u9875\uff0c\u6291\u6216\u662f\u7ed9\u81ea\u5df1\u7684\u8bfe\u7a0b\u9879\u76ee\u505a\u4e00\u4e2a\u7cbe\u5f69\u7684\u5c55\u793a\u7f51\u9875\u3002 \u4e24\u5468\u901f\u6210\u7248 MIT web development course \u7cfb\u7edf\u5b66\u4e60\u7248 Stanford CS142: Web Applications \u6570\u636e\u79d1\u5b66 UCB Data100: Principles and Techniques of Data Science \u4eba\u5de5\u667a\u80fd \u5165\u95e8\u8bfe Harvard CS50\u2019s Introduction to AI with Python \u4e13\u4e1a\u8bfe UCB CS188: Introduction to Artificial Intelligence \u673a\u5668\u5b66\u4e60 \u5165\u95e8\u8bfe Coursera: Machine Learning \u4e13\u4e1a\u8bfe Stanford CS229: Machine Learning UCB CS189: Introduction to Machine Learning \u6df1\u5ea6\u5b66\u4e60 \u5165\u95e8\u8bfe Coursera: Deep Learning \u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60 \u8ba1\u7b97\u673a\u89c6\u89c9 Stanford CS231n: CNN for Visual Recognition \u81ea\u7136\u8bed\u8a00\u5904\u7406 Stanford CS224n: Natural Language Processing \u56fe\u795e\u7ecf\u7f51\u7edc Stanford CS224w: Machine Learning with Graphs \u5f3a\u5316\u5b66\u4e60 UCB CS285: Deep Reinforcement Learning \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u6388\u4eba\u4ee5\u9c7c\u4e0d\u5982\u6388\u4eba\u4ee5\u6e14\u3002 \u4ee5\u4e0a\u7684\u8bfe\u7a0b\u89c4\u5212\u96be\u514d\u6709\u5f3a\u70c8\u7684\u4e2a\u4eba\u503e\u5411\u548c\u559c\u597d\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u6240\u6709\u4eba\uff0c\u66f4\u591a\u7684\u662f\u8d77\u5230\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\u3002\u5982\u679c\u4f60\u60f3\u6311\u9009\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\u548c\u5185\u5bb9\u52a0\u4ee5\u5b66\u4e60\uff0c\u53ef\u4ee5\u53c2\u8003\u6211\u5728\u4e0b\u9762\u5217\u51fa\u6765\u7684\u8d44\u6e90\u3002 MIT OpenCourseWare : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684\u8bfe\u7a0b\u8d44\u6e90\u5f00\u653e\u5171\u4eab\u9879\u76ee\uff0c\u6536\u5f55\u4e86\u6570\u4ee5\u5343\u8ba1\u7684\u5404\u79d1\u8bfe\u7a0b\u8d44\u6e90\uff0c\u5176\u4e2d\u8ba1\u7b97\u673a\u7c7b\u7684\u8bfe\u53f7\u662f6.xxx\u3002 MIT CS Course List \uff1a\u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684CS\u8bfe\u7a0b\u5217\u8868\u3002 UC Berkeley EECS Course Map \uff1aUC Berkeley\u7684EECS\u57f9\u517b\u65b9\u6848\uff0c\u4ee5\u8bfe\u7a0b\u5730\u56fe\u7684\u65b9\u5f0f\u5c06\u5404\u95e8\u8bfe\u7a0b\u7684\u7c7b\u522b\u548c\u5148\u4fee\u5173\u7cfb\u4e00\u76ee\u4e86\u7136\u5730\u5448\u73b0\uff0c\u5176\u4e2d\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 UC Berkeley CS Course List : UC Berkeley\u7684CS\u8bfe\u7a0b\u5217\u8868\u3002 Stanford CS Course List : \u65af\u5766\u798f\u7684CS\u8bfe\u7a0b\u5217\u8868\u3002","title":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#cs","text":"\u8ba1\u7b97\u673a\u9886\u57df\u65b9\u5411\u5e9e\u6742\uff0c\u77e5\u8bc6\u6d69\u5982\u70df\u6d77\uff0c\u6bcf\u4e2a\u7ec6\u5206\u9886\u57df\u5982\u679c\u6df1\u7a76\u4e0b\u53bb\u90fd\u53ef\u4ee5\u8bf4\u5b66\u65e0\u6b62\u5883\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u6e05\u6670\u660e\u786e\u7684\u5b66\u4e60\u89c4\u5212\u662f\u975e\u5e38\u91cd\u8981\u7684\u3002\u8fd9\u4e00\u8282\u7684\u5185\u5bb9\u662f\u5bf9\u540e\u7eed\u6574\u672c\u4e66\u7684\u5185\u5bb9\u7684\u4e00\u4e2a\u6982\u89c8\uff0c\u4f60\u53ef\u4ee5\u5c06\u5176\u770b\u4f5c\u662f\u8fd9\u672c\u4e66\u7684\u76ee\u5f55\uff0c\u6309\u9700\u9009\u62e9\u81ea\u5df1\u611f\u5174\u8da3\u7684\u5185\u5bb9\u8fdb\u884c\u5b66\u4e60\u3002 \u4e0d\u8fc7\uff0c\u5728\u5f00\u59cb\u5b66\u4e60\u4e4b\u524d\uff0c\u5148\u5411\u5c0f\u767d\u4eec\u5f3a\u70c8\u63a8\u8350\u4e00\u4e2a\u79d1\u666e\u5411\u7cfb\u5217\u89c6\u9891 Crash Course: Computer Science \uff0c\u5728\u77ed\u77ed8\u4e2a\u5c0f\u65f6\u91cc\u975e\u5e38\u751f\u52a8\u4e14\u5168\u9762\u5730\u79d1\u666e\u4e86\u5173\u4e8e\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff1a\u8ba1\u7b97\u673a\u7684\u5386\u53f2\u3001\u8ba1\u7b97\u673a\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\u3001\u7ec4\u6210\u8ba1\u7b97\u673a\u7684\u5404\u4e2a\u91cd\u8981\u6a21\u5757\u3001\u8ba1\u7b97\u673a\u79d1\u5b66\u4e2d\u7684\u91cd\u8981\u601d\u60f3\u7b49\u7b49\u7b49\u7b49\u3002\u6b63\u5982\u5b83\u7684\u53e3\u53f7\u6240\u8bf4\u7684 Computers are not magic! \uff0c\u5e0c\u671b\u770b\u5b8c\u8fd9\u4e2a\u89c6\u9891\u4e4b\u540e\uff0c\u5927\u5bb6\u80fd\u5bf9\u8ba1\u7b97\u673a\u79d1\u5b66\u6709\u4e2a\u5168\u8c8c\u6027\u5730\u611f\u77e5\uff0c\u4ece\u800c\u6000\u7740\u5174\u8da3\u53bb\u9762\u5bf9\u4e0b\u9762\u6d69\u5982\u70df\u6d77\u7684\u66f4\u4e3a\u7ec6\u81f4\u4e14\u6df1\u5165\u7684\u5b66\u4e60\u5185\u5bb9\u3002","title":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_1","text":"\u4fd7\u8bdd\u8bf4\uff1a\u78e8\u5200\u4e0d\u8bef\u780d\u67f4\u5de5\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\u768424k\u7eaf\u5c0f\u767d\uff0c\u5b66\u4f1a\u4e00\u4e9b\u5de5\u5177\u5c06\u4f1a\u8ba9\u4f60\u4e8b\u534a\u529f\u500d\u3002 MIT-Missing-Semester \u8fd9\u95e8\u8bfe\u8986\u76d6\u4e86\u8fd9\u4e9b\u5de5\u5177\u4e2d\u7edd\u5927\u90e8\u5206\uff0c\u800c\u4e14\u6709\u76f8\u5f53\u8be6\u7ec6\u7684\u4f7f\u7528\u6307\u5bfc\uff0c\u5f3a\u70c8\u5efa\u8bae\u5c0f\u767d\u5b66\u4e60\u3002 \u7ffb\u5899 \uff1a\u7531\u4e8e\u4e00\u4e9b\u4f17\u6240\u5468\u77e5\u7684\u539f\u56e0\uff0c\u8c37\u6b4c\u3001Github\u7b49\u7f51\u7ad9\u5728\u5927\u9646\u65e0\u6cd5\u8bbf\u95ee\u3002\u7136\u800c\u5f88\u591a\u65f6\u5019\uff0c\u8c37\u6b4c\u548cStackoverflow\u53ef\u4ee5\u89e3\u51b3\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9047\u5230\u768495%\u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u5b66\u4f1a\u7ffb\u5899\u51e0\u4e4e\u662f\u4e00\u4e2a\u5185\u5730CSer\u7684\u5fc5\u5907\u6280\u80fd\u3002\uff08\u8003\u8651\u5230\u6cd5\u5f8b\u95ee\u9898\uff0c\u8fd9\u4e2a\u6587\u6863\u63d0\u4f9b\u7684\u7ffb\u5899\u65b9\u5f0f\u4ec5\u5bf9\u62e5\u6709\u5317\u5927\u90ae\u7bb1\u7684\u7528\u6237\u9002\u7528\uff09\u3002 IDE\uff08Integrated Development Environment\uff09\uff1a\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4f60\u5199\u4ee3\u7801\u7684\u5730\u65b9\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7801\u519c\uff0cIDE\u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u4f46\u7531\u4e8e\u5f88\u591aIDE\u662f\u4e3a\u5927\u578b\u5de5\u7a0b\u9879\u76ee\u8bbe\u8ba1\u7684\uff0c\u4f53\u91cf\u8f83\u5927\uff0c\u529f\u80fd\u4e5f\u8fc7\u4e8e\u4e30\u5bcc\u3002\u5176\u5b9e\u5982\u4eca\u4e00\u4e9b\u8f7b\u4fbf\u7684\u6587\u672c\u7f16\u8f91\u5668\u914d\u5408\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\u57fa\u672c\u53ef\u4ee5\u6ee1\u8db3\u65e5\u5e38\u7684\u8f7b\u91cf\u7f16\u7a0b\u9700\u6c42\u3002\u4e2a\u4eba\u5e38\u7528\u7684\u7f16\u8f91\u5668\u662fVSCode\u548cSublime\uff08\u524d\u8005\u7684\u63d2\u4ef6\u914d\u7f6e\u975e\u5e38\u7b80\u5355\uff0c\u540e\u8005\u7565\u663e\u590d\u6742\u4f46\u989c\u503c\u5f88\u9ad8\uff09\u3002\u5f53\u7136\u5bf9\u4e8e\u5927\u578b\u9879\u76ee\u6211\u8fd8\u662f\u4f1a\u91c7\u7528\u7565\u91cd\u578b\u7684IDE\uff0c\u4f8b\u5982Pycharm\uff08Python\uff09\uff0cIDEA\uff08Java\uff09\u7b49\u7b49\uff08\u514d\u8d23\u7533\u660e\uff1a\u6240\u6709\u7684IDE\u90fd\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684IDE\uff09\u3002 Vim \uff1a\u4e00\u6b3e\u547d\u4ee4\u884c\u7f16\u8f91\u5de5\u5177\u3002\u8fd9\u662f\u4e00\u4e2a\u5b66\u4e60\u66f2\u7ebf\u6709\u4e9b\u9661\u5ced\u7684\u7f16\u8f91\u5668\uff0c\u4e0d\u8fc7\u5b66\u4f1a\u5b83\u6211\u89c9\u5f97\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u56e0\u4e3a\u5b83\u5c06\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002\u73b0\u5728\u7edd\u5927\u591a\u6570IDE\u4e5f\u90fd\u652f\u6301Vim\u63d2\u4ef6\uff0c\u8ba9\u4f60\u5728\u4eab\u53d7\u73b0\u4ee3\u5f00\u53d1\u73af\u5883\u7684\u540c\u65f6\u4fdd\u7559\u6781\u5ba2\u7684\u70ab\u9177\uff08yue\uff09\u3002 Git \uff1a\u4e00\u6b3e\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\u3002Git\u7684\u5b66\u4e60\u66f2\u7ebf\u53ef\u80fd\u66f4\u4e3a\u9661\u5ced\uff0c\u4f46\u51fa\u81eaLinux\u4e4b\u7236Linus\u4e4b\u624b\u7684Git\u7edd\u5bf9\u662f\u6bcf\u4e2a\u5b66CS\u7684\u7ae5\u978b\u5fc5\u987b\u638c\u63e1\u7684\u795e\u5668\u4e4b\u4e00\u3002 Github \uff1a\u57fa\u4e8eGit\u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u5168\u4e16\u754c\u6700\u5927\u7684\u4ee3\u7801\u5f00\u6e90\u793e\u533a\uff0c\u5927\u4f6c\u96c6\u805a\u5730\u3002 Makefile \uff1a\u4e00\u6b3e\u5de5\u7a0b\u6784\u5efa\u5de5\u5177\u3002\u5584\u7528Makefile\u4f1a\u8ba9\u4f60\u517b\u6210\u4ee3\u7801\u6a21\u5757\u5316\u7684\u4e60\u60ef\uff0c\u540c\u65f6\u4e5f\u80fd\u8ba9\u4f60\u719f\u6089\u4e00\u4e9b\u5927\u578b\u5de5\u7a0b\u7684\u7f16\u8bd1\u94fe\u63a5\u6d41\u7a0b\u3002 CMake \uff1a\u4e00\u6b3e\u529f\u80fd\u6bd4Makefile\u66f4\u4e3a\u5f3a\u5927\u7684\u6784\u5efa\u5de5\u5177\uff0c\u5efa\u8bae\u638c\u63e1Makefile\u4e4b\u540e\u518d\u52a0\u4ee5\u5b66\u4e60\u3002 LaTex \uff1a \u903c\u683c\u63d0\u5347 \u8bba\u6587\u6392\u7248\u5de5\u5177\u3002 Docker \uff1a\u4e00\u6b3e\u76f8\u8f83\u4e8e\u865a\u62df\u673a\u66f4\u8f7b\u91cf\u7ea7\u7684\u8f6f\u4ef6\u6253\u5305\u4e0e\u73af\u5883\u90e8\u7f72\u5de5\u5177\u3002 \u5b9e\u7528\u5de5\u5177\u7bb1 \uff1a\u9664\u4e86\u4e0a\u9762\u63d0\u5230\u7684\u8fd9\u4e9b\u5728\u5f00\u53d1\u4e2d\u4f7f\u7528\u9891\u7387\u6781\u9ad8\u7684\u5de5\u5177\u4e4b\u5916\uff0c\u6211\u8fd8\u6536\u96c6\u4e86\u5f88\u591a\u5b9e\u7528\u6709\u8da3\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4f8b\u5982\u4e00\u4e9b\u4e0b\u8f7d\u5de5\u5177\u3001\u8bbe\u8ba1\u5de5\u5177\u3001\u5b66\u4e60\u7f51\u7ad9\u7b49\u7b49\u3002","title":"\u5fc5\u5b66\u5de5\u5177"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_2","text":"\u79c1\u4ee5\u4e3a\u4e00\u672c\u597d\u7684\u6559\u6750\u5e94\u5f53\u662f\u4ee5\u4eba\u4e3a\u672c\u7684\uff0c\u800c\u4e0d\u662f\u70ab\u6280\u5f0f\u7684\u7406\u8bba\u5806\u780c\u3002\u544a\u8bc9\u8bfb\u8005\u201c\u662f\u4ec0\u4e48\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u66f4\u597d\u7684\u5e94\u5f53\u662f\u6559\u6750\u4f5c\u8005\u5c06\u5176\u5728\u8fd9\u4e2a\u9886\u57df\u6df1\u8015\u51e0\u5341\u5e74\u7684\u7ecf\u9a8c\u878d\u6c47\u8fdb\u4e66\u4e2d\uff0c\u5411\u8bfb\u8005\u5a13\u5a13\u9053\u6765\u201c\u4e3a\u4ec0\u4e48\u201d\u4ee5\u53ca\u672a\u6765\u5e94\u8be5\u201c\u600e\u4e48\u505a\u201d\u3002 \u94fe\u63a5\u6233\u8fd9\u91cc","title":"\u597d\u4e66\u63a8\u8350"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_3","text":"\u4f60\u4ee5\u4e3a\u7684\u5f00\u53d1 \u2014\u2014 \u5728IDE\u91cc\u75af\u72c2\u7801\u4ee3\u7801\u6570\u5c0f\u65f6\u3002 \u5b9e\u9645\u4e0a\u7684\u5f00\u53d1 \u2014\u2014 \u914d\u73af\u5883\u914d\u51e0\u5929\u8fd8\u6ca1\u5f00\u59cb\u5199\u4ee3\u7801\u3002 \u63a8\u8350\u4e00\u4e2a\u975e\u5e38\u4e0d\u9519\u7684Github\u9879\u76ee DevOps-Guide \uff0c\u5176\u4e2d\u6db5\u76d6\u4e86\u975e\u5e38\u591a\u7684\u8fd0\u7ef4\u65b9\u9762\u7684\u57fa\u7840\u77e5\u8bc6\u548c\u6559\u7a0b\uff0c\u4f8b\u5982Docker\uff0cK8s\uff0cLinux\uff0cCI-CD\uff0cGithub Actions\u7b49\u7b49\u3002 \u53e6\u5916\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4e00\u4efd\u7075\u611f\u6765\u81ea 6.NULL MIT-Missing-Semester \u7684 \u73af\u5883\u914d\u7f6e\u6307\u5357 \uff0c\u91cd\u70b9\u5728\u4e8e\u7ec8\u7aef\u7684\u7f8e\u5316\u914d\u7f6e\u3002\u6b64\u5916\u8fd8\u5305\u62ec\u5e38\u7528\u8f6f\u4ef6\u6e90\uff08\u5982 GitHub , Anaconda , pip \u7b49\uff09\u7684\u52a0\u901f\u4e0e\u66ff\u6362\u4ee5\u53ca\u4e00\u4e9bIDE\u7684\u914d\u7f6e\u4e0e\u6fc0\u6d3b\u6559\u7a0b\u3002 More contents under construction.","title":"\u73af\u5883\u914d\u7f6e"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_4","text":"\u6b63\u5982\u8fd9\u7ae0\u5f00\u5934\u63d0\u5230\u7684\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u4ec5\u4ec5\u662f\u4e00\u4e2a \u4ec5\u4f9b\u53c2\u8003 \u7684\u8bfe\u7a0b\u89c4\u5212\uff0c\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4e34\u8fd1\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\u3002\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u6743\u5229\u4e5f\u6ca1\u6709\u80fd\u529b\u5411\u522b\u4eba\u5ba3\u626c\u201c\u5e94\u8be5\u600e\u4e48\u5b66\u201d\u3002\u56e0\u6b64\u5982\u679c\u4f60\u89c9\u5f97\u4ee5\u4e0b\u7684\u8bfe\u7a0b\u5206\u7c7b\u4e0e\u9009\u62e9\u6709\u4e0d\u5408\u7406\u4e4b\u5904\uff0c\u6211\u5168\u76d8\u63a5\u53d7\uff0c\u5e76\u6df1\u611f\u62b1\u6b49\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4e00\u8282 \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u4ee5\u4e0b\u8bfe\u7a0b\u7c7b\u522b\u4e2d\u9664\u4e86\u542b\u6709 \u57fa\u7840 \u548c \u5165\u95e8 \u5b57\u773c\u7684\u4ee5\u5916\uff0c\u5e76\u65e0\u660e\u786e\u7684\u5148\u540e\u6b21\u5e8f\uff0c\u5927\u5bb6\u53ea\u8981\u6ee1\u8db3\u67d0\u4e2a\u8bfe\u7a0b\u7684\u5148\u4fee\u8981\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u548c\u559c\u597d\u9009\u62e9\u60f3\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b\u3002 \u53e6\u5916\u7531\u4e8e\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u52a0\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u5df2\u7ecf\u4ece\u6700\u521d\u6211\u7684\u5b66\u4e60\u7ecf\u5386\uff0c\u53d1\u5c55\u6210\u4e3a\u5f88\u591aCS\u81ea\u5b66\u8005\u7684\u8d44\u6e90\u5408\u96c6\uff0c\u5176\u4e2d\u96be\u514d\u6709\u5185\u5bb9\u4ea4\u53c9\u751a\u81f3\u91cd\u590d\u7684\u3002\u4f46\u4e4b\u6240\u4ee5\u90fd\u5217\u51fa\u6765\uff0c\u8fd8\u662f\u5e0c\u671b\u96c6\u767e\u5bb6\u4e4b\u957f\uff0c\u7ed9\u5927\u5bb6\u5c3d\u53ef\u80fd\u591a\u7684\u9009\u62e9\u4e0e\u53c2\u8003\u3002","title":"\u8bfe\u7a0b\u5730\u56fe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_5","text":"","title":"\u6570\u5b66\u57fa\u7840"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_6","text":"\u4f5c\u4e3a\u5927\u4e00\u65b0\u751f\uff0c\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u662f\u548c\u5199\u4ee3\u7801\u81f3\u5c11\u540c\u7b49\u91cd\u8981\u7684\u4e8b\u60c5\uff0c\u76f8\u4fe1\u5df2\u7ecf\u6709\u65e0\u6570\u7684\u524d\u4eba\u7ecf\u9a8c\u63d0\u5230\u8fc7\u8fd9\u4e00\u70b9\uff0c\u4f46\u6211\u8fd8\u662f\u8981\u4e0d\u538c\u5176\u70e6\u5730\u518d\u5f3a\u8c03\u4e00\u904d\uff1a\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u771f\u7684\u5f88\u91cd\u8981\uff01\u4f60\u4e5f\u8bb8\u4f1a\u5410\u69fd\u8fd9\u4e9b\u4e1c\u897f\u5c82\u4e0d\u662f\u8003\u5b8c\u5c31\u5fd8\uff0c\u90a3\u6211\u89c9\u5f97\u4f60\u662f\u5e76\u6ca1\u6709\u628a\u63e1\u4f4f\u5b83\u4eec\u672c\u8d28\uff0c\u5bf9\u5b83\u4eec\u7684\u7406\u89e3\u8fd8\u6ca1\u6709\u8fbe\u5230\u523b\u9aa8\u94ed\u5fc3\u7684\u7a0b\u5ea6\u3002\u5982\u679c\u89c9\u5f97\u8001\u5e08\u8bfe\u4e0a\u8bb2\u7684\u5185\u5bb9\u6666\u6da9\u96be\u61c2\uff0c\u4e0d\u59a8\u53c2\u8003MIT\u7684 Calculus Course \u548c 18.06: Linear Algebra \u7684\u8bfe\u7a0bnotes\uff0c\u81f3\u5c11\u4e8e\u6211\u800c\u8a00\uff0c\u5b83\u5e2e\u52a9\u6211\u6df1\u523b\u7406\u89e3\u4e86\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570\u7684\u8bb8\u591a\u672c\u8d28\u3002\u987a\u9053\u518d\u5b89\u5229\u4e00\u4e2a\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \uff0c\u4ed6\u7684\u9891\u9053\u6709\u5f88\u591a\u7528\u751f\u52a8\u5f62\u8c61\u7684\u52a8\u753b\u9610\u91ca\u6570\u5b66\u672c\u8d28\u5185\u6838\u7684\u89c6\u9891\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u8d28\u91cf\u975e\u5e38\u9ad8\u3002","title":"\u5fae\u79ef\u5206\u4e0e\u7ebf\u6027\u4ee3\u6570"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_7","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u53ca\u65e9\u4e86\u89e3\u4e00\u4e9b\u4fe1\u606f\u8bba\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u6211\u89c9\u5f97\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4f46\u5927\u591a\u4fe1\u606f\u8bba\u8bfe\u7a0b\u90fd\u9762\u5411\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u751a\u81f3\u7814\u7a76\u751f\uff0c\u5bf9\u65b0\u624b\u6781\u4e0d\u53cb\u597d\u3002\u800cMIT\u7684 6.050J: Information theory and Entropy \u8fd9\u95e8\u8bfe\u6b63\u662f\u4e3a\u5927\u4e00\u65b0\u751f\u91cf\u8eab\u5b9a\u5236\u7684\uff0c\u51e0\u4e4e\u6ca1\u6709\u5148\u4fee\u8981\u6c42\uff0c\u6db5\u76d6\u4e86\u7f16\u7801\u3001\u538b\u7f29\u3001\u901a\u4fe1\u3001\u4fe1\u606f\u71b5\u7b49\u7b49\u5185\u5bb9\uff0c\u975e\u5e38\u6709\u8da3\u3002","title":"\u4fe1\u606f\u8bba\u5165\u95e8"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_8","text":"","title":"\u6570\u5b66\u8fdb\u9636"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_9","text":"\u96c6\u5408\u8bba\u3001\u56fe\u8bba\u3001\u6982\u7387\u8bba\u7b49\u7b49\u662f\u7b97\u6cd5\u63a8\u5bfc\u4e0e\u8bc1\u660e\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4e5f\u662f\u540e\u7eed\u9ad8\u9636\u6570\u5b66\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u4f46\u6211\u89c9\u5f97\u8fd9\u7c7b\u8bfe\u7a0b\u7684\u8bb2\u6388\u5f88\u5bb9\u6613\u843d\u5165\u7406\u8bba\u5316\u4e0e\u5f62\u5f0f\u5316\u7684\u7aa0\u81fc\uff0c\u8ba9\u8bfe\u5802\u6210\u4e3a\u5b9a\u7406\u7ed3\u8bba\u7684\u5806\u780c\uff0c\u800c\u65e0\u6cd5\u4f7f\u5b66\u751f\u6df1\u523b\u628a\u63e1\u7406\u8bba\u7684\u672c\u8d28\uff0c\u8fdb\u800c\u9020\u6210\u5b66\u4e86\u5c31\u80cc\uff0c\u8003\u4e86\u5c31\u5fd8\u7684\u602a\u5708\u3002\u5982\u679c\u80fd\u5728\u7406\u8bba\u6559\u5b66\u4e2d\u7a7f\u63d2\u7b97\u6cd5\u8fd0\u7528\u5b9e\u4f8b\uff0c\u5b66\u751f\u5728\u62d3\u5c55\u7b97\u6cd5\u77e5\u8bc6\u7684\u540c\u65f6\u4e5f\u80fd\u7aa5\u89c1\u7406\u8bba\u7684\u529b\u91cf\u548c\u9b45\u529b\u3002 UCB CS70 : discrete Math and probability theory \u548c UCB CS126 : Probability theory \u662fUC Berkeley\u7684\u6982\u7387\u8bba\u8bfe\u7a0b\uff0c\u524d\u8005\u8986\u76d6\u4e86\u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba\u57fa\u7840\uff0c\u540e\u8005\u5219\u6d89\u53ca\u968f\u673a\u8fc7\u7a0b\u4ee5\u53ca\u6df1\u5165\u7684\u7406\u8bba\u5185\u5bb9\u3002\u4e24\u8005\u90fd\u975e\u5e38\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u6709\u4e30\u5bcc\u7684\u7b97\u6cd5\u5b9e\u9645\u8fd0\u7528\u5b9e\u4f8b\uff0c\u540e\u8005\u8fd8\u6709\u5927\u91cf\u7684Python\u7f16\u7a0b\u4f5c\u4e1a\u6765\u8ba9\u5b66\u751f\u8fd0\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002","title":"\u79bb\u6563\u6570\u5b66\u4e0e\u6982\u7387\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_10","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u57f9\u517b\u8ba1\u7b97\u601d\u7ef4\u662f\u5f88\u91cd\u8981\u7684\uff0c\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u3001\u79bb\u6563\u5316\uff0c\u8ba1\u7b97\u673a\u7684\u6a21\u62df\u3001\u5206\u6790\uff0c\u662f\u4e00\u9879\u5f88\u91cd\u8981\u7684\u80fd\u529b\u3002\u800c\u8fd9\u4e24\u5e74\u5f00\u59cb\u98ce\u9761\u7684\uff0c\u7531MIT\u6253\u9020\u7684 Julia \u7f16\u7a0b\u8bed\u8a00\u4ee5\u5176C\u4e00\u6837\u7684\u901f\u5ea6\u548cPython\u4e00\u6837\u53cb\u597d\u7684\u8bed\u6cd5\u5728\u6570\u503c\u8ba1\u7b97\u9886\u57df\u6709\u4e00\u7edf\u5929\u4e0b\u4e4b\u52bf\uff0cMIT\u7684\u8bb8\u591a\u6570\u5b66\u8bfe\u7a0b\u4e5f\u5f00\u59cb\u7528Julia\u4f5c\u4e3a\u6559\u5b66\u5de5\u5177\uff0c\u628a\u8270\u6df1\u7684\u6570\u5b66\u7406\u8bba\u7528\u76f4\u89c2\u6e05\u6670\u7684\u4ee3\u7801\u5c55\u793a\u51fa\u6765\u3002 ComputationalThinking \u662fMIT\u5f00\u8bbe\u7684\u4e00\u95e8\u8ba1\u7b97\u601d\u7ef4\u5165\u95e8\u8bfe\uff0c\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u5168\u90e8\u5f00\u6e90\uff0c\u53ef\u4ee5\u5728\u8bfe\u7a0b\u7f51\u7ad9\u76f4\u63a5\u8bbf\u95ee\u3002\u8fd9\u95e8\u8bfe\u5229\u7528Julia\u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u56fe\u50cf\u5904\u7406\u3001\u793e\u4f1a\u79d1\u5b66\u4e0e\u6570\u636e\u79d1\u5b66\u3001\u6c14\u5019\u5b66\u5efa\u6a21\u4e09\u4e2atopic\u4e0b\u5e26\u9886\u5b66\u751f\u7406\u89e3\u7b97\u6cd5\u3001\u6570\u5b66\u5efa\u6a21\u3001\u6570\u636e\u5206\u6790\u3001\u4ea4\u4e92\u8bbe\u8ba1\u3001\u56fe\u4f8b\u5c55\u793a\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u8ba1\u7b97\u4e0e\u79d1\u5b66\u7684\u7f8e\u5999\u7ed3\u5408\u3002\u5185\u5bb9\u867d\u7136\u4e0d\u96be\uff0c\u4f46\u7ed9\u6211\u6700\u6df1\u523b\u7684\u611f\u53d7\u5c31\u662f\uff0c\u79d1\u5b66\u7684\u9b45\u529b\u5e76\u4e0d\u662f\u6545\u5f04\u7384\u865a\u7684\u8270\u6df1\u7406\u8bba\uff0c\u4e0d\u662f\u8bd8\u5c48\u8071\u7259\u7684\u672f\u8bed\u884c\u8bdd\uff0c\u800c\u662f\u7528\u76f4\u89c2\u751f\u52a8\u7684\u6848\u4f8b\uff0c\u7528\u7b80\u7ec3\u6df1\u523b\u7684\u8bed\u8a00\uff0c\u8ba9\u6bcf\u4e2a\u666e\u901a\u4eba\u90fd\u80fd\u7406\u89e3\u3002 \u4e0a\u5b8c\u4e0a\u9762\u7684\u4f53\u9a8c\u8bfe\u4e4b\u540e\uff0c\u5982\u679c\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u4e0d\u59a8\u8bd5\u8bd5MIT\u7684 18.330 : Introduction to numerical analysis \uff0c\u8fd9\u95e8\u8bfe\u7684\u7f16\u7a0b\u4f5c\u4e1a\u540c\u6837\u4f1a\u7528Julia\u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u8fc7\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4e0a\u4e86\u4e00\u4e2a\u53f0\u9636\u3002\u5185\u5bb9\u6d89\u53ca\u4e86\u6d6e\u70b9\u7f16\u7801\u3001Root finding\u3001\u7ebf\u6027\u7cfb\u7edf\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u7b49\u65b9\u9762\uff0c\u6574\u95e8\u8bfe\u7684\u4e3b\u65e8\u5c31\u662f\u8ba9\u4f60\u5229\u7528\u79bb\u6563\u5316\u7684\u8ba1\u7b97\u673a\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u4e00\u4e2a\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\u3002\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u8fd8\u4e13\u95e8\u64b0\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750 Fundamentals of Numerical Computation \uff0c\u91cc\u9762\u9644\u6709\u4e30\u5bcc\u7684Julia\u4ee3\u7801\u5b9e\u4f8b\u548c\u4e25\u8c28\u7684\u516c\u5f0f\u63a8\u5bfc\u3002 \u5982\u679c\u4f60\u8fd8\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u8fd8\u6709MIT\u7684\u7814\u7a76\u751f\u8bfe\u7a0b 18.335: Introduction to numerical method \u4f9b\u4f60\u53c2\u8003\u3002","title":"\u6570\u503c\u5206\u6790"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_11","text":"\u5982\u679c\u4e16\u95f4\u4e07\u7269\u7684\u8fd0\u52a8\u53d1\u5c55\u90fd\u80fd\u7528\u65b9\u7a0b\u6765\u523b\u753b\u548c\u63cf\u8ff0\uff0c\u8fd9\u662f\u4e00\u4ef6\u591a\u4e48\u9177\u7684\u4e8b\u60c5\u5440\uff01\u867d\u7136\u51e0\u4e4e\u4efb\u4f55\u4e00\u6240\u5b66\u6821\u7684CS\u57f9\u517b\u65b9\u6848\u4e2d\u90fd\u6ca1\u6709\u5fae\u5206\u65b9\u7a0b\u76f8\u5173\u7684\u5fc5\u4fee\u8bfe\u7a0b\uff0c\u4f46\u6211\u8fd8\u662f\u89c9\u5f97\u638c\u63e1\u5b83\u4f1a\u8d4b\u4e88\u4f60\u4e00\u4e2a\u65b0\u7684\u89c6\u89d2\u6765\u5ba1\u89c6\u8fd9\u4e2a\u4e16\u754c\u3002 \u7531\u4e8e\u5fae\u5206\u65b9\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u7528\u5230\u5f88\u591a\u590d\u53d8\u51fd\u6570\u7684\u77e5\u8bc6\uff0c\u6240\u4ee5\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003 MIT18.04: Complex variables functions \u7684\u8bfe\u7a0bnotes\u6765\u8865\u9f50\u5148\u4fee\u77e5\u8bc6\u3002 MIT18.03: differential equations \u4e3b\u8981\u8986\u76d6\u4e86\u5e38\u5fae\u5206\u65b9\u7a0b\u7684\u6c42\u89e3\uff0c\u5728\u6b64\u57fa\u7840\u4e4b\u4e0a MIT18.152: Partial differential equations \u5219\u4f1a\u6df1\u5165\u504f\u5fae\u5206\u65b9\u7a0b\u7684\u5efa\u6a21\u4e0e\u6c42\u89e3\u3002\u638c\u63e1\u4e86\u5fae\u5206\u65b9\u7a0b\u8fd9\u4e00\u6709\u5229\u5de5\u5177\uff0c\u76f8\u4fe1\u5bf9\u4e8e\u4f60\u7684\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u80fd\u529b\u4ee5\u53ca\u4ece\u4f17\u591a\u566a\u58f0\u53d8\u91cf\u4e2d\u628a\u63e1\u672c\u8d28\u7684\u76f4\u89c9\u90fd\u4f1a\u6709\u5f88\u5927\u5e2e\u52a9\u3002","title":"\u5fae\u5206\u65b9\u7a0b"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_12","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u6211\u7ecf\u5e38\u542c\u5230\u6570\u5b66\u65e0\u7528\u8bba\u7684\u8bba\u65ad\uff0c\u5bf9\u6b64\u6211\u4e0d\u6562\u82df\u540c\u4f46\u4e5f\u65e0\u6743\u53cd\u5bf9\uff0c\u4f46\u82e5\u51e1\u4e8b\u90fd\u786c\u8981\u4e89\u51fa\u4e2a\u6709\u7528\u548c\u65e0\u7528\u7684\u533a\u522b\u6765\uff0c\u5012\u4e5f\u7740\u5b9e\u65e0\u8da3\uff0c\u56e0\u6b64\u4e0b\u9762\u8fd9\u4e9b\u9762\u5411\u9ad8\u5e74\u7ea7\u751a\u81f3\u7814\u7a76\u751f\u7684\u6570\u5b66\u8bfe\u7a0b\uff0c\u5927\u5bb6\u6309\u5174\u8da3\u81ea\u53d6\u6240\u9700\u3002","title":"\u6570\u5b66\u9ad8\u9636"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_13","text":"Standford EE364A: Convex Optimization","title":"\u51f8\u4f18\u5316"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_14","text":"MIT6.441: Information Theory","title":"\u4fe1\u606f\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_15","text":"MIT18.650: Statistics for Applications","title":"\u5e94\u7528\u7edf\u8ba1\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_16","text":"MIT18.781: Theory of Numbers","title":"\u521d\u7b49\u6570\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_17","text":"Standford CS255: Cryptography","title":"\u5bc6\u7801\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_18","text":"Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language.","title":"\u7f16\u7a0b\u5165\u95e8"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#shell","text":"MIT-Missing-Semester","title":"Shell"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#python","text":"Harvard CS50: This is CS50x \u6700\u597d\u7684\u8ba1\u7b97\u673a\u57fa\u7840\u5165\u95e8\u8bfe\uff0c\u4f60\u7edd\u5bf9\u4f1a\u7231\u4e0a\u7684\u3002 UCB CS61A: Structure and Interpretation of Computer Programs","title":"Python"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#c","text":"Stanford CS106L: Standard C++ Programming","title":"C++"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#rust","text":"Stanford CS110L: Safety in Systems Programming","title":"Rust"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#ocaml","text":"Cornell CS3110 textbook: Functional Programming in OCaml","title":"OCaml"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_19","text":"","title":"\u7535\u5b50\u57fa\u7840"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_20","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u4e86\u89e3\u4e00\u4e9b\u57fa\u7840\u7684\u7535\u8def\u77e5\u8bc6\uff0c\u611f\u53d7\u4ece\u4f20\u611f\u5668\u6536\u96c6\u6570\u636e\u5230\u6570\u636e\u5206\u6790\u518d\u5230\u7b97\u6cd5\u9884\u6d4b\u6574\u6761\u6d41\u6c34\u7ebf\uff0c\u5bf9\u4e8e\u540e\u7eed\u77e5\u8bc6\u7684\u5b66\u4e60\u4ee5\u53ca\u8ba1\u7b97\u601d\u7ef4\u7684\u57f9\u517b\u8fd8\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002 EE16A&B: Designing Information Devices and Systems I&II \u662f\u4f2f\u514b\u5229EE\u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u5176\u4e2dEE16A\u6ce8\u91cd\u901a\u8fc7\u7535\u8def\u4ece\u5b9e\u9645\u73af\u5883\u4e2d\u6536\u96c6\u548c\u5206\u6790\u6570\u636e\uff0c\u800cEE16B\u5219\u4fa7\u91cd\u4ece\u8fd9\u4e9b\u6536\u96c6\u5230\u7684\u6570\u636e\u8fdb\u884c\u5206\u6790\u5e76\u505a\u51fa\u9884\u6d4b\u884c\u4e3a\u3002","title":"\u7535\u8def\u57fa\u7840"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_21","text":"\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u662f\u4e00\u95e8\u6211\u89c9\u5f97\u975e\u5e38\u503c\u5f97\u4e00\u4e0a\u7684\u8bfe\uff0c\u6700\u521d\u5b66\u5b83\u53ea\u662f\u4e3a\u4e86\u6ee1\u8db3\u6211\u5bf9\u5085\u91cc\u53f6\u53d8\u6362\u7684\u597d\u5947\uff0c\u4f46\u5b66\u5b8c\u4e4b\u540e\u6211\u624d\u4e0d\u7981\u611f\u53f9\uff0c\u5085\u7acb\u53f6\u53d8\u6362\u7ed9\u6211\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u89c6\u89d2\u53bb\u770b\u5f85\u8fd9\u4e2a\u4e16\u754c\uff0c\u5c31\u5982\u540c\u5fae\u5206\u65b9\u7a0b\u4e00\u6837\uff0c\u8ba9\u4f60\u6c89\u6d78\u5728\u7528\u6570\u5b66\u53bb\u7cbe\u786e\u63cf\u7ed8\u548c\u523b\u753b\u8fd9\u4e2a\u4e16\u754c\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u4e4b\u4e2d\u3002 MIT 6.003 : signal and systems \u63d0\u4f9b\u4e86\u5168\u90e8\u7684\u8bfe\u7a0b\u5f55\u5f71\u3001\u4e66\u9762\u4f5c\u4e1a\u4ee5\u53ca\u7b54\u6848\u3002\u4e5f\u53ef\u4ee5\u53bb\u770b\u8fd9\u95e8\u8bfe\u7684 \u8fdc\u53e4\u7248\u672c \u800c UCB EE120 : Signal and Systems \u5173\u4e8e\u5085\u7acb\u53f6\u53d8\u6362\u7684notes\u5199\u5f97\u975e\u5e38\u597d\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e866\u4e2a\u975e\u5e38\u6709\u8da3\u7684Python\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u8ba9\u4f60\u5b9e\u8df5\u4e2d\u8fd0\u7528\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u3002","title":"\u4fe1\u53f7\u4e0e\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_22","text":"","title":"\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_23","text":"Stanford CS106B/X: Programming Abstractions UCB CS61B: Data Structures and Algorithms Coursera: Algorithms I & II","title":"\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_24","text":"UCB CS170: Efficient Algorithms and Intractable Problems","title":"\u7b97\u6cd5\u8bbe\u8ba1\u4e0e\u5206\u6790"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_25","text":"","title":"\u8f6f\u4ef6\u5de5\u7a0b"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_26","text":"\u4e00\u4efd\u201c\u80fd\u8dd1\u201d\u7684\u4ee3\u7801\uff0c\u548c\u4e00\u4efd\u9ad8\u8d28\u91cf\u7684\u5de5\u4e1a\u7ea7\u4ee3\u7801\u662f\u6709\u672c\u8d28\u533a\u522b\u7684\u3002\u56e0\u6b64\u6211\u975e\u5e38\u63a8\u8350\u4f4e\u5e74\u7ea7\u7684\u540c\u5b66\u5b66\u4e60\u4e00\u4e0b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\uff0c\u5b83\u4f1a\u4ee5Java\u8bed\u8a00\u4e3a\u57fa\u7840\uff0c\u4ee5\u4e30\u5bcc\u7ec6\u81f4\u7684\u9605\u8bfb\u6750\u6599\u548c\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7f16\u7a0b\u7ec3\u4e60\u4f20\u6388\u5982\u4f55\u7f16\u5199 \u4e0d\u6613\u51fabug\u3001\u7b80\u660e\u6613\u61c2\u3001\u6613\u4e8e\u7ef4\u62a4\u4fee\u6539 \u7684\u9ad8\u8d28\u91cf\u4ee3\u7801\u3002\u5927\u5230\u5b8f\u89c2\u6570\u636e\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5c0f\u5230\u5982\u4f55\u5199\u6ce8\u91ca\uff0c\u9075\u5faa\u8fd9\u4e9b\u524d\u4eba\u603b\u7ed3\u7684\u7ec6\u8282\u548c\u7ecf\u9a8c\uff0c\u5bf9\u4e8e\u4f60\u6b64\u540e\u7684\u7f16\u7a0b\u751f\u6daf\u5927\u6709\u88e8\u76ca\u3002","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_27","text":"\u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u7cfb\u7edf\u6027\u5730\u4e0a\u4e00\u95e8\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8bfe\u7a0b\uff0c\u90a3\u6211\u63a8\u8350\u7684\u662f\u4f2f\u514b\u5229\u7684 UCB CS169: software engineering \u3002\u4f46\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u548c\u5927\u591a\u5b66\u6821\uff08\u5305\u62ec\u8d35\u6821\uff09\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4e0d\u4f1a\u6d89\u53ca\u4f20\u7edf\u7684 design and document \u6a21\u5f0f\uff0c\u5373\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6d41\u7a0b\u56fe\u53ca\u6587\u6863\u8bbe\u8ba1\uff0c\u800c\u662f\u91c7\u7528\u8fd1\u4e9b\u5e74\u6d41\u884c\u8d77\u6765\u7684\u5c0f\u56e2\u961f\u5feb\u901f\u8fed\u4ee3 Agile Develepment \u5f00\u53d1\u6a21\u5f0f\u4ee5\u53ca\u5229\u7528\u4e91\u5e73\u53f0\u7684 Software as a service \u670d\u52a1\u6a21\u5f0f\u3002","title":"\u4e13\u4e1a\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_28","text":"","title":"\u4f53\u7cfb\u7ed3\u6784"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_29","text":"\u4ece\u5c0f\u6211\u5c31\u4e00\u76f4\u542c\u8bf4\uff0c\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u662f\u753101\u6784\u6210\u7684\uff0c\u6211\u4e0d\u7406\u89e3\u4f46\u5927\u53d7\u9707\u64bc\u3002\u5982\u679c\u4f60\u7684\u5185\u5fc3\u4e5f\u6000\u6709\u8fd9\u4efd\u597d\u5947\uff0c\u4e0d\u59a8\u82b1\u4e00\u5230\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u5b66\u4e60 Coursera: Nand2Tetris \u8fd9\u95e8\u65e0\u95e8\u69db\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u8fd9\u95e8\u9ebb\u96c0\u867d\u5c0f\u4e94\u810f\u4ff1\u5168\u7684\u8bfe\u7a0b\u4f1a\u4ece01\u5f00\u59cb\u8ba9\u4f60\u4eb2\u624b\u9020\u51fa\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002\u4e00\u95e8\u8bfe\u91cc\u6db5\u76d6\u4e86\u7f16\u8bd1\u3001\u865a\u62df\u673a\u3001\u6c47\u7f16\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u6570\u5b57\u7535\u8def\u3001\u903b\u8f91\u95e8\u7b49\u7b49\u4ece\u4e0a\u81f3\u4e0b\u3001\u4ece\u8f6f\u81f3\u786c\u7684\u5404\u7c7b\u77e5\u8bc6\uff0c\u975e\u5e38\u5168\u9762\u3002\u96be\u5ea6\u4e0a\u4e5f\u662f\u901a\u8fc7\u7cbe\u5fc3\u7684\u8bbe\u8ba1\uff0c\u7565\u53bb\u4e86\u4f17\u591a\u73b0\u4ee3\u8ba1\u7b97\u673a\u590d\u6742\u7684\u7ec6\u8282\uff0c\u63d0\u53d6\u51fa\u4e86\u6700\u6838\u5fc3\u672c\u8d28\u7684\u4e1c\u897f\uff0c\u529b\u56fe\u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u7406\u89e3\u3002\u5728\u4f4e\u5e74\u7ea7\uff0c\u5982\u679c\u5c31\u80fd\u4ece\u5b8f\u89c2\u4e0a\u5efa\u7acb\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7684\u9e1f\u77b0\u56fe\uff0c\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_30","text":"\u5f53\u7136\uff0c\u5982\u679c\u60f3\u6df1\u5165\u73b0\u4ee3\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u590d\u6742\u7ec6\u8282\uff0c\u8fd8\u5f97\u4e0a\u4e00\u95e8\u5927\u5b66\u672c\u79d1\u96be\u5ea6\u7684\u8bfe\u7a0b UCB CS61C: Great Ideas in Computer Architecture \u3002UC Berkeley\u4f5c\u4e3aRISC-V\u67b6\u6784\u7684\u53d1\u6e90\u5730\uff0c\u5728\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7b97\u5f97\u4e0a\u9996\u5c48\u4e00\u6307\u3002\u5176\u8bfe\u7a0b\u975e\u5e38\u6ce8\u91cd\u5b9e\u8df5\uff0c\u4f60\u4f1a\u5728Project\u4e2d\u624b\u5199\u6c47\u7f16\u6784\u9020\u795e\u7ecf\u7f51\u7edc\uff0c\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u4e00\u4e2aCPU\uff0c\u8fd9\u4e9b\u5b9e\u8df5\u90fd\u4f1a\u8ba9\u4f60\u5bf9\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6709\u66f4\u4e3a\u6df1\u5165\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u4ec5\u505c\u7559\u4e8e\u201c\u53d6\u6307\u8bd1\u7801\u6267\u884c\u8bbf\u5b58\u5199\u56de\u201d\u7684\u5355\u8c03\u80cc\u8bf5\u91cc\u3002","title":"\u4e13\u4e1a\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_31","text":"\u8ba1\u7b97\u673a\u7cfb\u7edf\u662f\u4e00\u4e2a\u5e9e\u6742\u800c\u6df1\u523b\u7684\u4e3b\u9898\uff0c\u5728\u6df1\u5165\u5b66\u4e60\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u4e4b\u524d\uff0c\u5bf9\u5404\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5b8f\u89c2\u6982\u5ff5\u6027\u7684\u7406\u89e3\uff0c\u5bf9\u4e00\u4e9b\u901a\u7528\u6027\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u6240\u77e5\u6653\uff0c\u4f1a\u8ba9\u4f60\u5728\u4e4b\u540e\u7684\u6df1\u5165\u5b66\u4e60\u4e2d\u4e0d\u65ad\u5f3a\u5316\u4e00\u4e9b\u6700\u4e3a\u6838\u5fc3\u4e43\u81f3\u54f2\u5b66\u7684\u6982\u5ff5\uff0c\u800c\u4e0d\u4f1a\u684e\u688f\u4e8e\u590d\u6742\u7684\u5185\u90e8\u7ec6\u8282\u548c\u5404\u79cdtrick\u3002\u56e0\u4e3a\u5728\u6211\u770b\u6765\uff0c\u5b66\u4e60\u7cfb\u7edf\u6700\u5173\u952e\u7684\u8fd8\u662f\u60f3\u8ba9\u4f60\u9886\u609f\u5230\u8fd9\u4e9b\u6700\u6838\u5fc3\u7684\u4e1c\u897f\uff0c\u4ece\u800c\u80fd\u591f\u8bbe\u8ba1\u548c\u5b9e\u73b0\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002 MIT6.033: System Engineering \u662fMIT\u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u4e3b\u9898\u6d89\u53ca\u4e86\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u3001\u5206\u5e03\u5f0f\u548c\u7cfb\u7edf\u5b89\u5168\uff0c\u9664\u4e86\u77e5\u8bc6\u70b9\u7684\u4f20\u6388\u5916\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u8bb2\u6388\u4e00\u4e9b\u5199\u4f5c\u548c\u8868\u8fbe\u4e0a\u7684\u6280\u5de7\uff0c\u8ba9\u4f60\u5b66\u4f1a\u5982\u4f55\u8bbe\u8ba1\u5e76\u5411\u522b\u4eba\u4ecb\u7ecd\u548c\u5206\u6790\u81ea\u5df1\u7684\u7cfb\u7edf\u3002\u8fd9\u672c\u4e66\u914d\u5957\u7684\u6559\u6750 Principles of Computer System Design: An Introduction \u4e5f\u5199\u5f97\u975e\u5e38\u597d\uff0c\u63a8\u8350\u5927\u5bb6\u9605\u8bfb\u3002 CMU 15-213: Introduction to Computer System \u662fCMU\u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u5185\u5bb9\u8986\u76d6\u4e86\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\u7b49\uff0c\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\uff0c\u914d\u5957\u7684\u6559\u6750 Computer Systems: A Programmer's Perspective \u4e5f\u662f\u8d28\u91cf\u6781\u9ad8\uff0c\u5f3a\u70c8\u5efa\u8bae\u9605\u8bfb\u3002","title":"\u7cfb\u7edf\u5165\u95e8"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_32","text":"\u64cd\u4f5c\u7cfb\u7edf\u4f5c\u4e3a\u6240\u6709\u5e94\u7528\u8f6f\u4ef6\u548c\u5e95\u5c42\u786c\u4ef6\u4ea4\u4e92\u7684\u638c\u8235\u8005\uff0c\u4e86\u89e3\u5b83\u7684\u5185\u90e8\u539f\u7406\u548c\u8bbe\u8ba1\u539f\u5219\u5bf9\u4e8e\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u4e8e\u8c03\u5305\u4fa0\u7684\u7a0b\u5e8f\u5458\u6765\u8bf4\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002\u540c\u65f6\uff0c\u56fd\u5916\u64cd\u7edf\u8bfe\u7a0b\u7684\u8d28\u91cf\u4e5f\u662f\u8ba9\u4e0a\u4e86\u591a\u5e74\u7f51\u8bfe\u7684\u6211\u4e5f\u611f\u5230\u77a0\u76ee\u7ed3\u820c\u3002 MIT 6.S081: Operating System Engineering \uff0cMIT\u8457\u540dPDOS\u5b9e\u9a8c\u5ba4\u51fa\u54c1\uff0c11\u4e2aProject\u4f1a\u8ba9\u4f60\u5728\u4e00\u4e2a2\u4e07\u591a\u884c\u7684\u6559\u5b66\u7528\u8ff7\u4f60\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u589e\u52a0\u5404\u7c7b\u529f\u80fd\u6a21\u5757\u3002\u8fd9\u95e8\u8bfe\u4e5f\u8ba9\u6211\u6df1\u523b\u8ba4\u8bc6\u5230\uff0c\u505a\u7cfb\u7edf\u4e0d\u662f\u9760PPT\u5ff5\u51fa\u6765\u7684\uff0c\u662f\u5f97\u51e0\u4e07\u884c\u4ee3\u7801\u4e00\u70b9\u70b9\u7d2f\u8d77\u6765\u7684\u3002 UCB CS162: Operating System \uff0c\u4f2f\u514b\u5229\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u91c7\u7528\u548cStanford\u540c\u6837\u7684Project \u2014\u2014 \u4e00\u4e2a\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edfPintos\u3002\u6211\u4f5c\u4e3a\u4e0b\u5b66\u671f\u5317\u4eac\u5927\u5b66\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u7684\u52a9\u6559\uff0c\u4f1a\u5c1d\u8bd5\u5f15\u5165\u8fd9\u4e2aProject\uff0c\u6b22\u8fce\u5927\u5bb6\u9009\u8bfe\u5c1d\u8bd5\uff0c\u540c\u65f6\u8bfe\u7a0b\u8d44\u6e90\u4e5f\u4f1a\u5168\u90e8\u5f00\u6e90\uff0c\u76ee\u524d \u8bfe\u7a0b\u7f51\u7ad9 \u6b63\u5728\u5efa\u8bbe\u5f53\u4e2d\u3002","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_33","text":"\u60f3\u5fc5\u8fd9\u4e24\u5e74\u5404\u7c7bCS\u8bb2\u5ea7\u91cc\u6700\u5e38\u542c\u5230\u7684\u8bdd\u5c31\u662f\u201c\u6469\u5c14\u5b9a\u5f8b\u6b63\u5728\u8d70\u5411\u7ec8\u7ed3\u201d\uff0c\u6b64\u8bdd\u4e0d\u5047\u3002\u540c\u65f6\u5982\u4eca\u6df1\u5ea6\u5b66\u4e60\u7684\u5174\u8d77\u5bfc\u81f4\u5bf9\u8ba1\u7b97\u673a\u7b97\u529b\u4e0e\u5b58\u50a8\u7684\u8981\u6c42\u90fd\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u56e0\u6b64\u5e76\u884c\u548c\u5206\u5e03\u5f0f\u7cfb\u7edf\u5df2\u6210\u4e3a\u4e00\u9879\u70ed\u95e8\u6280\u672f\u8bdd\u9898\u3002","title":"\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_34","text":"CMU 15-418/Stanford CS149: Parallel Computing","title":"\u5e76\u884c\u8ba1\u7b97"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_35","text":"MIT 6.824: Distributed System","title":"\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_36","text":"\u4e0d\u77e5\u9053\u4f60\u5f53\u5e74\u9009\u62e9\u8ba1\u7b97\u673a\u662f\u4e0d\u662f\u56e0\u4e3a\u6000\u7740\u4e00\u4e2a\u4e2d\u4e8c\u7684\u9ed1\u5ba2\u68a6\u60f3\uff0c\u4f46\u73b0\u5b9e\u5374\u662f\u6210\u4e3a\u9ed1\u5ba2\u9053\u963b\u4e14\u957f\u3002","title":"\u7cfb\u7edf\u5b89\u5168"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_37","text":"UCB CS161: Computer Security \u662f\u4f2f\u514b\u5229\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u4f1a\u6db5\u76d6\u6808\u653b\u51fb\u3001\u5bc6\u7801\u5b66\u3001\u7f51\u7ad9\u5b89\u5168\u3001\u7f51\u7edc\u5b89\u5168\u7b49\u7b49\u5185\u5bb9\u3002","title":"\u7406\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_38","text":"\u638c\u63e1\u8fd9\u4e9b\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u8fd8\u9700\u8981\u5728\u5b9e\u8df5\u4e2d\u57f9\u517b\u548c\u953b\u70bc\u8fd9\u4e9b\u201c\u5b89\u5168\u7d20\u517b\u201d\u3002 CTF\u593a\u65d7\u8d5b \u662f\u4e00\u9879\u6bd4\u8f83\u70ed\u95e8\u7684\u7cfb\u7edf\u5b89\u5168\u6bd4\u8d5b\uff0c\u8d5b\u9898\u4e2d\u4f1a\u878d\u4f1a\u8d2f\u901a\u5730\u8003\u5bdf\u4f60\u5bf9\u8ba1\u7b97\u673a\u5404\u4e2a\u9886\u57df\u77e5\u8bc6\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002\u5317\u5927\u4eca\u5e74\u4e5f\u6210\u529f\u4e3e\u529e\u4e86 \u7b2c0\u5c4a\u548c\u7b2c1\u5c4a \uff0c\u4e5f\u9f13\u52b1\u5927\u5bb6\u540e\u671f\u8e0a\u8dc3\u53c2\u4e0e\uff0c\u5728\u5b9e\u8df5\u4e2d\u63d0\u9ad8\u81ea\u5df1\u3002\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\u6211\u5e73\u65f6\u5b66\u4e60\uff08\u6478\u9c7c\uff09\u7528\u5230\u7684\u8d44\u6e90\uff1a CTF-wiki CTF-101 Hacker-101","title":"\u5b9e\u8df5"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_39","text":"\u8ba1\u7f51\u8457\u540d\u6559\u6750\u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u7684\u914d\u5957\u5b66\u4e60\u8d44\u6e90 Computer Networking: A Top-Down Approach \u3002 \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2aTCP/IP\u534f\u8bae\u6808\u66f4\u80fd\u52a0\u6df1\u81ea\u5df1\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u7684\u7406\u89e3\u4e86\uff0c\u6240\u4ee5\u4e0d\u59a8\u8bd5\u8bd5 Stanford CS144: Computer Network \uff0c8\u4e2aProject\u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a\u534f\u8bae\u6808\u3002","title":"\u8ba1\u7b97\u673a\u7f51\u7edc"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_40","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u66f4\u80fd\u52a0\u6df1\u81ea\u5df1\u5bf9\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002","title":"\u6570\u636e\u5e93\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#c_1","text":"CMU 15-445: Introduction to Database System","title":"C++\u7248"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#java","text":"UCB CS186: Introduction to Database System","title":"Java\u7248"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_41","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u7f16\u8bd1\u5668\u66f4\u80fd\u52a0\u6df1\u81ea\u5df1\u5bf9\u7f16\u8bd1\u5668\u7684\u7406\u89e3\u4e86\u3002 Stanford CS143: Compilers","title":"\u7f16\u8bd1\u539f\u7406"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_42","text":"Games101","title":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#web","text":"\u7f51\u7ad9\u7684\u5f00\u53d1\u5f88\u5c11\u5728\u8ba1\u7b97\u673a\u7684\u57f9\u517b\u65b9\u6848\u91cc\u88ab\u91cd\u89c6\uff0c\u4f46\u5176\u5b9e\u638c\u63e1\u8fd9\u9879\u6280\u80fd\u8fd8\u662f\u597d\u5904\u591a\u591a\u7684\uff0c\u4f8b\u5982\u642d\u5efa\u81ea\u5df1\u7684\u4e2a\u4eba\u4e3b\u9875\uff0c\u6291\u6216\u662f\u7ed9\u81ea\u5df1\u7684\u8bfe\u7a0b\u9879\u76ee\u505a\u4e00\u4e2a\u7cbe\u5f69\u7684\u5c55\u793a\u7f51\u9875\u3002","title":"Web\u5f00\u53d1"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_43","text":"MIT web development course","title":"\u4e24\u5468\u901f\u6210\u7248"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_44","text":"Stanford CS142: Web Applications","title":"\u7cfb\u7edf\u5b66\u4e60\u7248"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_45","text":"UCB Data100: Principles and Techniques of Data Science","title":"\u6570\u636e\u79d1\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_46","text":"","title":"\u4eba\u5de5\u667a\u80fd"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_47","text":"Harvard CS50\u2019s Introduction to AI with Python","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_48","text":"UCB CS188: Introduction to Artificial Intelligence","title":"\u4e13\u4e1a\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_49","text":"","title":"\u673a\u5668\u5b66\u4e60"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_50","text":"Coursera: Machine Learning","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_51","text":"Stanford CS229: Machine Learning UCB CS189: Introduction to Machine Learning","title":"\u4e13\u4e1a\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_52","text":"","title":"\u6df1\u5ea6\u5b66\u4e60"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_53","text":"Coursera: Deep Learning \u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_54","text":"Stanford CS231n: CNN for Visual Recognition","title":"\u8ba1\u7b97\u673a\u89c6\u89c9"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_55","text":"Stanford CS224n: Natural Language Processing","title":"\u81ea\u7136\u8bed\u8a00\u5904\u7406"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_56","text":"Stanford CS224w: Machine Learning with Graphs","title":"\u56fe\u795e\u7ecf\u7f51\u7edc"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_57","text":"UCB CS285: Deep Reinforcement Learning","title":"\u5f3a\u5316\u5b66\u4e60"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_58","text":"\u6388\u4eba\u4ee5\u9c7c\u4e0d\u5982\u6388\u4eba\u4ee5\u6e14\u3002 \u4ee5\u4e0a\u7684\u8bfe\u7a0b\u89c4\u5212\u96be\u514d\u6709\u5f3a\u70c8\u7684\u4e2a\u4eba\u503e\u5411\u548c\u559c\u597d\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u6240\u6709\u4eba\uff0c\u66f4\u591a\u7684\u662f\u8d77\u5230\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\u3002\u5982\u679c\u4f60\u60f3\u6311\u9009\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\u548c\u5185\u5bb9\u52a0\u4ee5\u5b66\u4e60\uff0c\u53ef\u4ee5\u53c2\u8003\u6211\u5728\u4e0b\u9762\u5217\u51fa\u6765\u7684\u8d44\u6e90\u3002 MIT OpenCourseWare : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684\u8bfe\u7a0b\u8d44\u6e90\u5f00\u653e\u5171\u4eab\u9879\u76ee\uff0c\u6536\u5f55\u4e86\u6570\u4ee5\u5343\u8ba1\u7684\u5404\u79d1\u8bfe\u7a0b\u8d44\u6e90\uff0c\u5176\u4e2d\u8ba1\u7b97\u673a\u7c7b\u7684\u8bfe\u53f7\u662f6.xxx\u3002 MIT CS Course List \uff1a\u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684CS\u8bfe\u7a0b\u5217\u8868\u3002 UC Berkeley EECS Course Map \uff1aUC Berkeley\u7684EECS\u57f9\u517b\u65b9\u6848\uff0c\u4ee5\u8bfe\u7a0b\u5730\u56fe\u7684\u65b9\u5f0f\u5c06\u5404\u95e8\u8bfe\u7a0b\u7684\u7c7b\u522b\u548c\u5148\u4fee\u5173\u7cfb\u4e00\u76ee\u4e86\u7136\u5730\u5448\u73b0\uff0c\u5176\u4e2d\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 UC Berkeley CS Course List : UC Berkeley\u7684CS\u8bfe\u7a0b\u5217\u8868\u3002 Stanford CS Course List : \u65af\u5766\u798f\u7684CS\u8bfe\u7a0b\u5217\u8868\u3002","title":"\u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe"},{"location":"%E5%90%8E%E8%AE%B0/","text":"\u4ece\u6700\u521d\u7684\u60f3\u6cd5\u5f00\u59cb\uff0c\u5230\u65ad\u65ad\u7eed\u7eed\u5b8c\u6210\u8fd9\u672c\u4e66\uff0c\u518d\u5230\u6811\u6d1e\u7684\u70ed\u70c8\u53cd\u54cd\uff0c\u6211\u5f88\u6fc0\u52a8\uff0c\u4f46\u4e5f\u4e94\u5473\u6742\u9648\u3002\u539f\u6765\u5728\u5317\u5927\u8fd9\u4e2a\u56ed\u5b50\u91cc\uff0c\u4e5f\u6709\u90a3\u4e48\u591a\u4eba\uff0c\u5bf9\u81ea\u5df1\u7684\u672c\u79d1\u751f\u6daf\u5e76\u4e0d\u6ee1\u610f\u3002\u800c\u8fd9\u91cc\uff0c\u53ef\u662f\u56ca\u62ec\u4e86\u4e2d\u56fd\u975e\u5e38\u4f18\u79c0\u7684\u4e00\u5e2e\u5e74\u8f7b\u4eba\u3002\u6240\u4ee5\u95ee\u9898\u51fa\u5728\u54ea\u91cc\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\u5440\uff0c\u53ea\u662f\u4e00\u4e2a\u5355\u7eaf\u7684\u6c42\u5b66\u8005\uff0c\u6211\u7684\u76ee\u6807\u53ea\u662f\u60f3\u5feb\u4e50\u5730\u3001\u81ea\u7531\u5730\u3001\u9ad8\u8d28\u91cf\u5730\u638c\u63e1\u90a3\u4e9b\u4e13\u4e1a\u77e5\u8bc6\uff0c\u6211\u60f3\uff0c\u6b63\u5728\u770b\u8fd9\u672c\u4e66\u7684\u5927\u591a\u6570\u672c\u79d1\u751f\u4e5f\u662f\u5982\u6b64\uff0c\u8c01\u60f3\u4ed8\u51fa\u65f6\u95f4\u4f46\u5374\u6536\u6548\u751a\u5fae\u5462\uff1f\u53c8\u662f\u8c01\u8feb\u4f7f\u5927\u5bb6\u5e26\u7740\u75db\u82e6\u53bb\u5e94\u4ed8\u5462\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u5199\u8fd9\u672c\u4e66\u7edd\u4e0d\u662f\u4e3a\u4e86\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\uff0c\u8bd5\u95ee\u8c01\u4e0d\u60f3\u5728\u8bfe\u5802\u4e0a\u548c\u90a3\u4e48\u591a\u4f18\u79c0\u7684\u540c\u5b66\u6d4e\u6d4e\u4e00\u5802\uff0c\u70ed\u70c8\u8ba8\u8bba\u5462\uff1f\u8c01\u4e0d\u60f3\u9047\u5230\u95ee\u9898\u76f4\u63a5\u627e\u8001\u5e08\u7b54\u7591\u89e3\u60d1\u5462\uff1f\u8c01\u4e0d\u60f3\u8f9b\u82e6\u5b66\u4e60\u7684\u6210\u679c\u53ef\u4ee5\u76f4\u63a5\u5316\u4f5c\u5b66\u6821\u627f\u8ba4\u7684\u5b66\u5206\u7ee9\u70b9\u5462\uff1f\u53ef\u5982\u679c\u4e00\u4e2a\u5162\u5162\u4e1a\u4e1a\u3001\u6309\u65f6\u5230\u5802\u7684\u5b66\u751f\u6536\u83b7\u7684\u5374\u662f\u75db\u82e6\uff0c\u800c\u90a3\u4e2a\u4e00\u5b66\u671f\u53ea\u6709\u8003\u8bd5\u4f1a\u51fa\u5e2d\u7684\u5b66\u751f\u5374\u5b66\u5f97\u81ea\u5f97\u5176\u4e50\uff0c\u8fd9\u516c\u5e73\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e0d\u7518\uff0c\u4e0d\u7518\u5fc3\u8fd9\u4e9b\u901a\u8fc7\u9ad8\u8003\u6218\u80dc\u65e0\u6570\u4eba\u8fdb\u5165\u9ad8\u6821\u7684\u5b66\u5b50\u672c\u53ef\u4ee5\u6536\u83b7\u4e00\u4e2a\u66f4\u5feb\u4e50\u7684\u672c\u79d1\u751f\u6daf\uff0c\u4f46\u73b0\u5b9e\u5374\u7559\u7ed9\u4e86\u4ed6\u4eec\u9057\u61be\u3002\u6211\u53cd\u95ee\u81ea\u5df1\uff0c\u672c\u79d1\u6559\u80b2\u7a76\u7adf\u5e94\u8be5\u5e26\u7ed9\u6211\u4eec\u4ec0\u4e48\u5462\uff1f\u662f\u5b66\u5b8c\u6240\u6709\u8fd9\u4e9b\u8bfe\u7a0b\u5417\uff1f\u5012\u4e5f\u672a\u5fc5\uff0c\u5b83\u4e5f\u8bb8\u53ea\u9002\u5408\u6211\u8fd9\u79cdnerd\u3002\u4f46\u6211\u89c9\u5f97\uff0c\u672c\u79d1\u6559\u80b2\u81f3\u5c11\u5f97\u5c55\u73b0\u5b83\u5e94\u6709\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u5206\u4eab\u77e5\u8bc6\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u4ee5\u4eba\u4e3a\u672c\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u6ce8\u91cd\u5b66\u751f\u4f53\u9a8c\u7684\u8bda\u610f\u3002\u5b83\u81f3\u5c11\u4e0d\u5e94\u8be5\u662f\u4e00\u79cd\u6076\u610f\uff0c\u4e00\u79cd\u62fc\u6bd4\u77e5\u8bc6\u7684\u6076\u610f\uff0c\u4e00\u79cd\u80dc\u8005\u4e3a\u738b\u7684\u6076\u610f\uff0c\u4e00\u79cd\u8ba9\u4eba\u5b66\u65e0\u6240\u5f97\u7684\u6076\u610f\u3002\u4f46\u8fd9\u4e00\u5207\u80fd\u6539\u53d8\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u77e5\u9053\u6211\u505a\u4e86\u5e94\u8be5\u505a\u7684\u4e8b\u60c5\uff0c\u5b66\u751f\u4eec\u4f1a\u7528\u811a\u6295\u7968\uff0c\u6811\u6d1e\u7684\u5173\u6ce8\u91cf\u548c\u56de\u5e16\u6570\u8bc1\u660e\u4e86\u8fd9\u6837\u4e00\u4efd\u8d44\u6599\u662f\u6709\u4ef7\u503c\u7684\uff0c\u4e5f\u9053\u51fa\u4e86\u56fd\u5185CS\u672c\u79d1\u6559\u80b2\u548c\u56fd\u5916\u7684\u5dee\u8ddd\u3002\u4e5f\u8bb8\u8fd9\u6837\u7684\u6539\u53d8\u662f\u5fae\u4e4e\u5176\u5fae\u7684\uff0c\u4f46\u522b\u5fd8\u4e86\u6211\u53ea\u662f\u4e00\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\uff0c\u662f\u5317\u5927\u4fe1\u79d1\u4e00\u5343\u591a\u540d\u672c\u79d1\u751f\u4e2d\u7684\u666e\u901a\u4e00\u5458\uff0c\u662f\u4e2d\u56fd\u51e0\u767e\u4e07\u5728\u8bfb\u672c\u79d1\u751f\u4e2d\u7684\u4e00\u5206\u5b50\uff0c\u5982\u679c\u6709\u66f4\u591a\u7684\u4eba\u7ad9\u51fa\u6765\uff0c\u6bcf\u4e2a\u4eba\u505a\u4e00\u70b9\u70b9\uff0c\u4e5f\u8bb8\u662f\u5206\u4eab\u4e00\u4e2a\u5e16\u5b50\uff0c\u4e5f\u8bb8\u662f\u5f53\u4e00\u95e8\u8bfe\u7684\u52a9\u6559\uff0c\u4e5f\u8bb8\u662f\u7cbe\u5fc3\u8bbe\u8ba1\u4e00\u95e8\u8bfe\u7684lab\uff0c\u66f4\u6216\u8bb8\u662f\u5c06\u6765\u83b7\u5f97\u6559\u804c\u4e4b\u540e\u5f00\u8bbe\u4e00\u95e8\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\uff0c\u51fa\u7248\u4e00\u672c\u7ecf\u5178\u7684\u6559\u6750\u3002\u672c\u79d1\u6559\u80b2\u771f\u7684\u6709\u4ec0\u4e48\u6280\u672f\u58c1\u5792\u5417\uff1f\u6211\u770b\u672a\u5fc5\uff0c\u6559\u80b2\u9760\u7684\u662f\u8bda\u610f\uff0c\u9760\u7684\u662f\u80b2\u4eba\u4e4b\u5fc3\u3002 \u4eca\u5929\u662f2021\u5e7412\u670812\u65e5\uff0c\u6211\u671f\u5f85\u5728\u4e0d\u4e45\u7684\u5c06\u6765\u8fd9\u4e2a\u5e16\u5b50\u4f1a\u88ab\u9057\u5fd8\uff0c\u5927\u5bb6\u53ef\u4ee5\u6ee1\u5fc3\u6b22\u559c\u5730\u9009\u7740\u81ea\u5df1\u57f9\u517b\u65b9\u6848\u4e0a\u7684\u8bfe\u7a0b\uff0c\u505a\u7740\u5b66\u6821\u81ea\u884c\u8bbe\u8ba1\u7684\u5404\u7c7b\u7f16\u7a0b\u5b9e\u9a8c\uff0c\u8bfe\u5802\u6ca1\u6709\u7b7e\u5230\u4e5f\u80fd\u6d4e\u6d4e\u4e00\u5802\uff0c\u5b66\u751f\u8e0a\u8dc3\u5730\u53d1\u8a00\u4e92\u52a8\uff0c\u5927\u5bb6\u7684\u6536\u83b7\u53ef\u4ee5\u548c\u52aa\u529b\u6210\u6b63\u6bd4\uff0c\u90a3\u4e9b\u66fe\u7ecf\u7684\u9057\u61be\u548c\u75db\u82e6\u53ef\u4ee5\u6c38\u8fdc\u6210\u4e3a\u5386\u53f2\u3002\u6211\u771f\u7684\u5f88\u671f\u5f85\u90a3\u4e00\u5929\uff0c\u771f\u7684\u771f\u7684\u771f\u7684\u5f88\u671f\u5f85\u3002 PKUFlyingPig 2021\u5e7412\u670812\u65e5\u5199\u4e8e\u71d5\u56ed","title":"\u540e\u8bb0"},{"location":"%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88Pro/","text":"under construction.","title":"\u57f9\u517b\u65b9\u6848Pro"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/","text":"\u597d\u4e66\u63a8\u8350 \u7531\u4e8e\u7248\u6743\u539f\u56e0\uff0c\u4e0b\u9762\u5217\u4e3e\u7684\u56fe\u4e66\u4e2d\u9664\u4e86\u5f00\u6e90\u4e66\u7c4d\u63d0\u4f9b\u4e86\u94fe\u63a5\uff0c\u5176\u4ed6\u7684\u8d44\u6e90\u8bf7\u5927\u5bb6\u81ea\u884c\u901a\u8fc7 libgen \u67e5\u627e\u3002 \u53e6\u5916\u518d\u5b89\u5229\u4e00\u4e2aGithub\u9876\u6d41\u70ed\u95e8\u9879\u76ee free-programming-books \uff0c\u6536\u96c6\u4e86\u975e\u5e38\u591a\u7684\u514d\u8d39\u5f00\u6e90\u7f16\u7a0b\u4e66\u7c4d\u3002 \u7cfb\u7edf\u5165\u95e8 Principles of Computer System Design: An Introduction Computer Systems: A Programmer's Perspective \u64cd\u4f5c\u7cfb\u7edf Operating Systems: Three Easy Pieces Operating Systems: Principles and Practice (2nd Edition) \u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf: \u539f\u7406\u4e0e\u5b9e\u73b0 (\u94f6\u674f\u4e66) \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networks: A Systems Approach Computer Networking: A Top-Down Approach \u7f16\u8bd1\u539f\u7406 My First Language Frontend with LLVM Tutorial Compilers: Principles, Techniques, and Tools (Dragon Book) \u8ba1\u7b97\u673a\u8bed\u8a00\uff08PL\uff09 Essentials of Programming Languages (EOPL) Types and Programming Languages (TAPL) ( \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ) Practical Foundations for Programming Languages (PFPL) Software Foundations (SF) ( \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ) \u4f53\u7cfb\u7ed3\u6784 Computer Architecture: A Quantitative Approach 5th Edition \u5206\u5e03\u5f0f\u7cfb\u7edf Patterns of Distributed System Distributed Systems for fun and profit \u6570\u636e\u5bc6\u96c6\u578b\u7cfb\u7edf\u8bbe\u8ba1 Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems ( \u5f00\u6e90\u4e2d\u6587\u7ffb\u8bd1 ) \u5bc6\u7801\u5b66 Cryptography Engineering: Design Principles and Practical Applications Introduction to modern cryptography (second edition) By Jonathon Katz & Yehuda Lindell \u4ece\u5bc6\u7801\u5b66\u7684\u6700\u57fa\u7840\u5f00\u59cb\u8bb2\u8d77\uff0c\u5bf9\u4f20\u7edf\u5bc6\u7801\u5b66\u7684\u5404\u65b9\u9762\u90fd\u6709\u6d89\u53ca\uff0c\u8bfe\u7a0b\u5185\u5bb9\u5168\u9762\uff0c\u662f\u5bc6\u7801\u5b66\u5165\u95e8\u5f88\u597d\u7684\u4e00\u672c\u4e66 \u6570\u636e\u5e93\u7cfb\u7edf Database System Concepts Architecture of a Database System \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66 Fundamentals of Computer Graphics \u6df1\u5ea6\u5b66\u4e60 \u52a8\u624b\u5b66\u6df1\u5ea6\u5b66\u4e60","title":"\u597d\u4e66\u63a8\u8350"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_1","text":"\u7531\u4e8e\u7248\u6743\u539f\u56e0\uff0c\u4e0b\u9762\u5217\u4e3e\u7684\u56fe\u4e66\u4e2d\u9664\u4e86\u5f00\u6e90\u4e66\u7c4d\u63d0\u4f9b\u4e86\u94fe\u63a5\uff0c\u5176\u4ed6\u7684\u8d44\u6e90\u8bf7\u5927\u5bb6\u81ea\u884c\u901a\u8fc7 libgen \u67e5\u627e\u3002 \u53e6\u5916\u518d\u5b89\u5229\u4e00\u4e2aGithub\u9876\u6d41\u70ed\u95e8\u9879\u76ee free-programming-books \uff0c\u6536\u96c6\u4e86\u975e\u5e38\u591a\u7684\u514d\u8d39\u5f00\u6e90\u7f16\u7a0b\u4e66\u7c4d\u3002","title":"\u597d\u4e66\u63a8\u8350"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_2","text":"Principles of Computer System Design: An Introduction Computer Systems: A Programmer's Perspective","title":"\u7cfb\u7edf\u5165\u95e8"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_3","text":"Operating Systems: Three Easy Pieces Operating Systems: Principles and Practice (2nd Edition) \u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf: \u539f\u7406\u4e0e\u5b9e\u73b0 (\u94f6\u674f\u4e66)","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_4","text":"Computer Networks: A Systems Approach Computer Networking: A Top-Down Approach","title":"\u8ba1\u7b97\u673a\u7f51\u7edc"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_5","text":"My First Language Frontend with LLVM Tutorial Compilers: Principles, Techniques, and Tools (Dragon Book)","title":"\u7f16\u8bd1\u539f\u7406"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#pl","text":"Essentials of Programming Languages (EOPL) Types and Programming Languages (TAPL) ( \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ) Practical Foundations for Programming Languages (PFPL) Software Foundations (SF) ( \u5317\u5927\u76f8\u5173\u8bfe\u7a0b )","title":"\u8ba1\u7b97\u673a\u8bed\u8a00\uff08PL\uff09"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_6","text":"Computer Architecture: A Quantitative Approach 5th Edition","title":"\u4f53\u7cfb\u7ed3\u6784"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_7","text":"Patterns of Distributed System Distributed Systems for fun and profit","title":"\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_8","text":"Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems ( \u5f00\u6e90\u4e2d\u6587\u7ffb\u8bd1 )","title":"\u6570\u636e\u5bc6\u96c6\u578b\u7cfb\u7edf\u8bbe\u8ba1"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_9","text":"Cryptography Engineering: Design Principles and Practical Applications Introduction to modern cryptography (second edition) By Jonathon Katz & Yehuda Lindell \u4ece\u5bc6\u7801\u5b66\u7684\u6700\u57fa\u7840\u5f00\u59cb\u8bb2\u8d77\uff0c\u5bf9\u4f20\u7edf\u5bc6\u7801\u5b66\u7684\u5404\u65b9\u9762\u90fd\u6709\u6d89\u53ca\uff0c\u8bfe\u7a0b\u5185\u5bb9\u5168\u9762\uff0c\u662f\u5bc6\u7801\u5b66\u5165\u95e8\u5f88\u597d\u7684\u4e00\u672c\u4e66","title":"\u5bc6\u7801\u5b66"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_10","text":"Database System Concepts Architecture of a Database System","title":"\u6570\u636e\u5e93\u7cfb\u7edf"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_11","text":"Fundamentals of Computer Graphics","title":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_12","text":"\u52a8\u624b\u5b66\u6df1\u5ea6\u5b66\u4e60","title":"\u6df1\u5ea6\u5b66\u4e60"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/","text":"Stanford CS142: Web Applications \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u65af\u5766\u798f\u7684Web\u5e94\u7528\u5f00\u53d1\u8bfe\u7a0b\uff0c\u5185\u5bb9\u8986\u76d6\u4e86HTML\u3001CSS\u3001JavaScript\u3001ReactJs\u3001NodeJS\u3001ExpressJS\u3001Web\u5b89\u5168\u7b49\u7b49\u30028\u4e2aProject\u4f1a\u8ba9\u4f60\u5728\u5b9e\u6218\u4e2d\u953b\u70bc\u81ea\u5df1\u7684Web\u5f00\u53d1\u6280\u5de7\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a","title":"Stanford CS142: Web Applications"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/#stanford-cs142-web-applications","text":"","title":"Stanford CS142: Web Applications"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u65af\u5766\u798f\u7684Web\u5e94\u7528\u5f00\u53d1\u8bfe\u7a0b\uff0c\u5185\u5bb9\u8986\u76d6\u4e86HTML\u3001CSS\u3001JavaScript\u3001ReactJs\u3001NodeJS\u3001ExpressJS\u3001Web\u5b89\u5168\u7b49\u7b49\u30028\u4e2aProject\u4f1a\u8ba9\u4f60\u5728\u5b9e\u6218\u4e2d\u953b\u70bc\u81ea\u5df1\u7684Web\u5f00\u53d1\u6280\u5de7\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/","text":"MIT Web Development Crash Course \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS/NoSQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT\u5728\u6bcf\u5e741\u6708\u4efd\u4f1a\u6709\u4e00\u4e2a\u4e3a\u671f4\u5468\u7684 Independent Activities Period (IAP)\uff0c\u5728\u8fd9\u4e2a\u6708\u91cc\uff0cMIT\u7684\u5b66\u751f\u548c\u8001\u5e08\u53ef\u4ee5\u81ea\u7531\u5730\u5f00\u8bbe\u5f88\u591a\u6709\u8da3\u7684\u8bfe\u7a0b\uff0c\u800c\u8fd9\u95e8\u7f51\u7ad9\u5f00\u53d1\u8bfe\u7a0b\u5c31\u662f\u5176\u4e2d\u4e4b\u4e00\u3002 \u5728\u4e00\u4e2a\u6708\u7684\u65f6\u95f4\u91cc\uff0c\u4f60\u4f1a\u4ece\u96f6\u5f00\u59cb\u638c\u63e1\u4e00\u4e2a\u7f51\u7ad9\u7684\u8bbe\u8ba1\u3001\u642d\u5efa\u3001\u7f8e\u5316\u3001\u4ea4\u4e92\u7b49\u7b49\u6838\u5fc3\u5185\u5bb9\uff0c\u57fa\u672c\u8986\u76d6\u4e86Web\u5f00\u53d1\u7684\u524d\u540e\u7aef\u5927\u90e8\u5206\u6280\u672f\u6808\u3002\u5982\u679c\u4f60\u4e0d\u9700\u8981\u7cfb\u7edf\u5730\u5b66\u4e60\u7f51\u7edc\u5f00\u53d1\uff0c\u800c\u53ea\u662f\u51fa\u4e8e\u5174\u8da3\u60f3\u628a\u5b83\u52a0\u5165\u81ea\u5df1\u7684\u6280\u80fd\u5305\u91cc\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u975e\u5e38\u9002\u5408\u4f60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0bschedule","title":"MIT web development course"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/#mit-web-development-crash-course","text":"","title":"MIT Web Development Crash Course"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS/NoSQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT\u5728\u6bcf\u5e741\u6708\u4efd\u4f1a\u6709\u4e00\u4e2a\u4e3a\u671f4\u5468\u7684 Independent Activities Period (IAP)\uff0c\u5728\u8fd9\u4e2a\u6708\u91cc\uff0cMIT\u7684\u5b66\u751f\u548c\u8001\u5e08\u53ef\u4ee5\u81ea\u7531\u5730\u5f00\u8bbe\u5f88\u591a\u6709\u8da3\u7684\u8bfe\u7a0b\uff0c\u800c\u8fd9\u95e8\u7f51\u7ad9\u5f00\u53d1\u8bfe\u7a0b\u5c31\u662f\u5176\u4e2d\u4e4b\u4e00\u3002 \u5728\u4e00\u4e2a\u6708\u7684\u65f6\u95f4\u91cc\uff0c\u4f60\u4f1a\u4ece\u96f6\u5f00\u59cb\u638c\u63e1\u4e00\u4e2a\u7f51\u7ad9\u7684\u8bbe\u8ba1\u3001\u642d\u5efa\u3001\u7f8e\u5316\u3001\u4ea4\u4e92\u7b49\u7b49\u6838\u5fc3\u5185\u5bb9\uff0c\u57fa\u672c\u8986\u76d6\u4e86Web\u5f00\u53d1\u7684\u524d\u540e\u7aef\u5927\u90e8\u5206\u6280\u672f\u6808\u3002\u5982\u679c\u4f60\u4e0d\u9700\u8981\u7cfb\u7edf\u5730\u5b66\u4e60\u7f51\u7edc\u5f00\u53d1\uff0c\u800c\u53ea\u662f\u51fa\u4e8e\u5174\u8da3\u60f3\u628a\u5b83\u52a0\u5165\u81ea\u5df1\u7684\u6280\u80fd\u5305\u91cc\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u975e\u5e38\u9002\u5408\u4f60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0bschedule","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/","text":"CS188: Introduction to Artificial Intelligence \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u4eba\u5de5\u667a\u80fd\u5165\u95e8\u8bfe\uff0c\u8bfe\u7a0bnotes\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u57fa\u672c\u4e0d\u9700\u8981\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u3002\u8bfe\u7a0b\u5185\u5bb9\u7684\u5b89\u6392\u57fa\u672c\u6309\u7167\u4eba\u5de5\u667a\u80fd\u7684\u7ecf\u5178\u6559\u6750 Artificial intelligence: A Modern Approach \u7684\u7ae0\u8282\u987a\u5e8f\uff0c\u8986\u76d6\u4e86\u641c\u7d22\u526a\u679d\u3001\u7ea6\u675f\u6ee1\u8db3\u95ee\u9898\u3001\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u8d1d\u53f6\u65af\u7f51\u7edc\u3001\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u4ee5\u53ca\u57fa\u7840\u7684\u673a\u5668\u5b66\u4e60\u548c\u795e\u7ecf\u7f51\u7edc\u7684\u76f8\u5173\u5185\u5bb9\u3002 2018\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u7248\u672c\u514d\u8d39\u5f00\u653e\u4e86gradescope\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u7ebf\u5b8c\u6210\u4e66\u9762\u4f5c\u4e1a\u5e76\u5b9e\u65f6\u5f97\u5230\u6d4b\u8bc4\u7ed3\u679c\u3002\u540c\u65f6\u8bfe\u7a0b\u76846\u4e2aProject\u4e5f\u662f\u8d28\u91cf\u7206\u70b8\uff0c\u590d\u73b0\u4e86\u7ecf\u5178\u7684Packman\uff08\u5403\u8c46\u4eba\uff09\u5c0f\u6e38\u620f\uff0c\u4f1a\u8ba9\u4f60\u5229\u7528\u5b66\u5230\u7684AI\u77e5\u8bc6\uff0c\u53bb\u5b9e\u73b0\u76f8\u5173\u7b97\u6cd5\uff0c\u8ba9\u4f60\u7684\u5403\u8c46\u4eba\u5728\u8ff7\u5bab\u91cc\u81ea\u7531\u7a7f\u68ad\uff0c\u8eb2\u907f\u9b3c\u602a\uff0c\u6536\u96c6\u8c46\u5b50\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aArtificial intelligence: A Modern Approach \u8bfe\u7a0b\u4f5c\u4e1a \uff1a14\u4e2a\u5728\u7ebf\u6d4b\u8bc4\u4e66\u9762\u4f5c\u4e1a\u548c6\u4e2aProject","title":"UCB CS188: Introduction to Artificial Intelligence"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#cs188-introduction-to-artificial-intelligence","text":"","title":"CS188: Introduction to Artificial Intelligence"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u4eba\u5de5\u667a\u80fd\u5165\u95e8\u8bfe\uff0c\u8bfe\u7a0bnotes\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u57fa\u672c\u4e0d\u9700\u8981\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u3002\u8bfe\u7a0b\u5185\u5bb9\u7684\u5b89\u6392\u57fa\u672c\u6309\u7167\u4eba\u5de5\u667a\u80fd\u7684\u7ecf\u5178\u6559\u6750 Artificial intelligence: A Modern Approach \u7684\u7ae0\u8282\u987a\u5e8f\uff0c\u8986\u76d6\u4e86\u641c\u7d22\u526a\u679d\u3001\u7ea6\u675f\u6ee1\u8db3\u95ee\u9898\u3001\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u8d1d\u53f6\u65af\u7f51\u7edc\u3001\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u4ee5\u53ca\u57fa\u7840\u7684\u673a\u5668\u5b66\u4e60\u548c\u795e\u7ecf\u7f51\u7edc\u7684\u76f8\u5173\u5185\u5bb9\u3002 2018\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u7248\u672c\u514d\u8d39\u5f00\u653e\u4e86gradescope\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u7ebf\u5b8c\u6210\u4e66\u9762\u4f5c\u4e1a\u5e76\u5b9e\u65f6\u5f97\u5230\u6d4b\u8bc4\u7ed3\u679c\u3002\u540c\u65f6\u8bfe\u7a0b\u76846\u4e2aProject\u4e5f\u662f\u8d28\u91cf\u7206\u70b8\uff0c\u590d\u73b0\u4e86\u7ecf\u5178\u7684Packman\uff08\u5403\u8c46\u4eba\uff09\u5c0f\u6e38\u620f\uff0c\u4f1a\u8ba9\u4f60\u5229\u7528\u5b66\u5230\u7684AI\u77e5\u8bc6\uff0c\u53bb\u5b9e\u73b0\u76f8\u5173\u7b97\u6cd5\uff0c\u8ba9\u4f60\u7684\u5403\u8c46\u4eba\u5728\u8ff7\u5bab\u91cc\u81ea\u7531\u7a7f\u68ad\uff0c\u8eb2\u907f\u9b3c\u602a\uff0c\u6536\u96c6\u8c46\u5b50\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aArtificial intelligence: A Modern Approach \u8bfe\u7a0b\u4f5c\u4e1a \uff1a14\u4e2a\u5728\u7ebf\u6d4b\u8bc4\u4e66\u9762\u4f5c\u4e1a\u548c6\u4e2aProject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/","text":"CS50\u2019s Introduction to AI with Python \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aHarvard \u5148\u4fee\u8981\u6c42\uff1a\u57fa\u672c\u6982\u7387\u8bba + Python\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u4e00\u95e8\u975e\u5e38\u57fa\u7840\u7684AI\u5165\u95e8\u8bfe\uff0c\u8ba9\u4eba\u773c\u524d\u4e00\u4eae\u7684\u662f12\u4e2a\u8bbe\u8ba1\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u90fd\u4f1a\u7528\u5b66\u5230\u7684AI\u77e5\u8bc6\u53bb\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684\u6e38\u620fAI\uff0c\u6bd4\u5982\u7528\u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3\u4e00\u4e2aNim\u6e38\u620f\u7684AI\uff0c\u7528alpha-beta\u526a\u679d\u53bb\u626b\u96f7\u7b49\u7b49\uff0c\u975e\u5e38\u9002\u5408\u65b0\u624b\u5165\u95e8\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a12\u4e2a\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Harvard CS50\u2019s Introduction to AI with Python"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#cs50s-introduction-to-ai-with-python","text":"","title":"CS50\u2019s Introduction to AI with Python"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aHarvard \u5148\u4fee\u8981\u6c42\uff1a\u57fa\u672c\u6982\u7387\u8bba + Python\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u4e00\u95e8\u975e\u5e38\u57fa\u7840\u7684AI\u5165\u95e8\u8bfe\uff0c\u8ba9\u4eba\u773c\u524d\u4e00\u4eae\u7684\u662f12\u4e2a\u8bbe\u8ba1\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u90fd\u4f1a\u7528\u5b66\u5230\u7684AI\u77e5\u8bc6\u53bb\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684\u6e38\u620fAI\uff0c\u6bd4\u5982\u7528\u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3\u4e00\u4e2aNim\u6e38\u620f\u7684AI\uff0c\u7528alpha-beta\u526a\u679d\u53bb\u626b\u96f7\u7b49\u7b49\uff0c\u975e\u5e38\u9002\u5408\u65b0\u624b\u5165\u95e8\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a12\u4e2a\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CYJ/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u9662\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784\uff0c\u6df1\u5ea6\u5b66\u4e60 \u7f16\u7a0b\u8bed\u8a00\uff1aPython\uff0cC++\uff0cBCL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6+ \u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u662f\u667a\u80fd\u7684\u6838\u5fc3\u7269\u8d28\u8f7d\u4f53\uff0c\u6bcf\u5e74\u5168\u7403\u8981\u5236\u9020\u6570\u4ee5\u5341\u4ebf\u8ba1\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u5305\u62ec\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u670d\u52a1\u5668\u3001\u667a\u80fd\u53ef\u7a7f\u6234\u8bbe\u5907\u7b49\uff09\uff0c\u9700\u8981\u5927\u91cf\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8bbe\u8ba1\u8005\u548c\u5f00\u53d1\u8005\u3002\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u4eba\u624d\u7684\u57f9\u517b\u76f4\u63a5\u5173\u7cfb\u5230\u6211\u56fd\u667a\u80fd\u4ea7\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u56e0\u6b64\uff0c\u5bf9\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8ba4\u8bc6\u548c\u7406\u89e3\u662f\u667a\u80fd\u65f6\u4ee3\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u57f9\u517b\u65b9\u6848\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u91cd\u8981\u7ec4\u6210\u90e8\u5206\uff0c\u662f\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002 \u56fd\u5185\u7684\u9648\u4e91\u9701\u8001\u5e08\u5f00\u7684\u8bfe\uff0c\u5728\u5176\u4ed6\u82e5\u5e72\u4e2a\u5927\u5b66\u4e5f\u90fd\u6709\u5f00\u5bf9\u5e94\u7684\u8bfe\u7a0b\uff08\u6bd4\u5982\u6211\u4eec\u8fd9\u91cc\uff09\u3002\u8fd9\u95e8\u8bfe\u7528\u4e00\u4e2a\u4e2a\u5b9e\u9a8c\u5e26\u5927\u5bb6\u4ee5\u4e00\u4e2a\u5b8c\u6574\u7684\u89c6\u91ce\u7406\u89e3\u4eba\u5de5\u667a\u80fd\u7684\u6280\u672f\u6808\u3002\u4ece\u4e0a\u5c42\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5230\u7528\u5e95\u5c42\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\uff0c\u518d\u5230\u786c\u4ef6\u4e2dMLU\u7684\u8bbe\u8ba1\uff0c\u8ba9\u5927\u5bb6\u5f62\u6210\u7cfb\u7edf\u601d\u7ef4\uff0c\u4f53\u4f1a\u81ea\u4e0a\u800c\u4e0b\uff0c\u878d\u4f1a\u8d2f\u901a\u7684\u4e50\u8da3\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a \u5b98\u7f51 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1a\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u9648\u4e91\u9701\uff09 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6\u4e2a\u5b9e\u9a8c(\u5305\u62ec\u7f16\u5199\u5377\u79ef\u7b97\u5b50\uff0c\u4e3atensorflow\u6dfb\u52a0\u7b97\u5b50\uff0c\u7528BCL\u7f16\u5199\u7b97\u5b50\u5e76\u96c6\u6210\u5230tensorflow\u4e2d\u7b49)(\u5177\u4f53\u5185\u5bb9\u5728\u5b98\u7f51\u53ef\u4ee5\u627e\u5230) \u5b9e\u9a8c\u624b\u518c \uff1a\u5b9e\u9a8c2.0\u6307\u5bfc\u624b\u518c \u5b66\u4e60\u7b14\u8bb0 \uff1a\u53c2\u8003\u5b9e\u9a8c\u624b\u518c\u603b\u7ed3\u7684\u7b14\u8bb0 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002 \u6211\u505a\u4e86\u5176\u4e2d\u76842,3,4,5\u8fd9\u51e0\u4e2a\u5b9e\u9a8c\uff0c\u5176\u4e2d\u7efc\u5408\u5b9e\u9a8c\u548c\u786c\u4ef6\u5b9e\u9a8c\u6ca1\u6709\u505a\uff0c\u5982\u679c\u6709\u505a\u4e86\u7684\u540c\u5b66\u6b22\u8fce\u5927\u5bb6\u8865\u4e0a\u4f60\u7684\u94fe\u63a5 \u4e2a\u4eba\u4f53\u4f1a\u662f\u7b2c\u4e09\u7ae0\u5b9e\u73b0\u7b97\u5b50\u7684\u5b9e\u9a8c\u8ba9\u6211\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u7684\u4e86\u89e3\u52a0\u6df1\u4e86\u5f88\u591a\u3002\u7b2c\u4e94\u7ae0\u7684\u5b9e\u9a8cBCL\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\u5982\u679c\u4e86\u89e3CUDA\u7684\u8bdd\u4f1a\u611f\u89c9\u5f88\u719f\u6089\u3002 \u63a8\u8350\u53bb\u4e70\u4e00\u672c\u6559\u6750\u770b\u4e00\u770b\uff0c\u4f1a\u8ba9\u6211\u4eec\u7406\u89e3\u6574\u4f53\u7684\u6280\u672f\u6808\u3002\u719f\u6089\u6df1\u5ea6\u5b66\u4e60\u7684\u540c\u5b66\u53ef\u4ee5\u76f4\u63a5\u4ece\u7b2c\u4e94\u7ae0\u5f00\u59cb\u770b\uff0c\u770b\u770b\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u5e95\u5c42\u5230\u5e95\u662f\u4ec0\u4e48\u6837\u7684\u3002 \u6211\u56e0\u4e3a\u8fd9\u95e8\u8bfe\u7684\u542f\u53d1\uff0c\u53c2\u8003\u4e00\u672c\u4e66\uff08\u4e66\u540d\u5728\u4ed3\u5e93\u4e2d\uff09\u5199\u4e86\u4e00\u4e2a\u7b80\u6613\u7684 \u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 \u3002\u5728\u8fd9\u4e2a\u6846\u67b6\u91cc\u53ef\u4ee5\u770b\u5230\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u5b9e\u9a8c\u4e2d\u7684\u4e00\u4e9b\u5f71\u5b50\u3002\u540c\u65f6\u53d7\u5230build-your-own-x\u7cfb\u5217\u7684\u542f\u53d1\uff0c\u6211\u4e5f\u6253\u7b97\u5199\u4e00\u4e0b\u6559\u7a0b\uff0c\u6559\u5927\u5bb6\u5199\u4e00\u4e2a\u81ea\u5df1\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u3002\u4ee3\u7801\u7528python\u5199\u7684\uff0c\u4ee3\u7801\u91cf\u8f83\u5c11\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u57fa\u7840\u7684\u540c\u5b66\u9605\u8bfb\u3002\u4e4b\u540e\u6253\u7b97\u6dfb\u52a0\u66f4\u591a\u7684\u7b97\u5b50\uff0c\u6709\u671b\u5b9e\u73b0\u4e00\u4e2a\u8f83\u4e3a\u5168\u9762\u7684\u6846\u67b6\uff0c\u5e76\u5e0c\u671b\u79fb\u690d\u5230C++\u4e2d\uff0c\u4ee5\u517c\u987e\u6027\u80fd\u4e0e\u5f00\u53d1\u6548\u7387\u3002","title":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CYJ/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u9662\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784\uff0c\u6df1\u5ea6\u5b66\u4e60 \u7f16\u7a0b\u8bed\u8a00\uff1aPython\uff0cC++\uff0cBCL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6+ \u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u662f\u667a\u80fd\u7684\u6838\u5fc3\u7269\u8d28\u8f7d\u4f53\uff0c\u6bcf\u5e74\u5168\u7403\u8981\u5236\u9020\u6570\u4ee5\u5341\u4ebf\u8ba1\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u5305\u62ec\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u670d\u52a1\u5668\u3001\u667a\u80fd\u53ef\u7a7f\u6234\u8bbe\u5907\u7b49\uff09\uff0c\u9700\u8981\u5927\u91cf\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8bbe\u8ba1\u8005\u548c\u5f00\u53d1\u8005\u3002\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u4eba\u624d\u7684\u57f9\u517b\u76f4\u63a5\u5173\u7cfb\u5230\u6211\u56fd\u667a\u80fd\u4ea7\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u56e0\u6b64\uff0c\u5bf9\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8ba4\u8bc6\u548c\u7406\u89e3\u662f\u667a\u80fd\u65f6\u4ee3\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u57f9\u517b\u65b9\u6848\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u91cd\u8981\u7ec4\u6210\u90e8\u5206\uff0c\u662f\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002 \u56fd\u5185\u7684\u9648\u4e91\u9701\u8001\u5e08\u5f00\u7684\u8bfe\uff0c\u5728\u5176\u4ed6\u82e5\u5e72\u4e2a\u5927\u5b66\u4e5f\u90fd\u6709\u5f00\u5bf9\u5e94\u7684\u8bfe\u7a0b\uff08\u6bd4\u5982\u6211\u4eec\u8fd9\u91cc\uff09\u3002\u8fd9\u95e8\u8bfe\u7528\u4e00\u4e2a\u4e2a\u5b9e\u9a8c\u5e26\u5927\u5bb6\u4ee5\u4e00\u4e2a\u5b8c\u6574\u7684\u89c6\u91ce\u7406\u89e3\u4eba\u5de5\u667a\u80fd\u7684\u6280\u672f\u6808\u3002\u4ece\u4e0a\u5c42\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5230\u7528\u5e95\u5c42\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\uff0c\u518d\u5230\u786c\u4ef6\u4e2dMLU\u7684\u8bbe\u8ba1\uff0c\u8ba9\u5927\u5bb6\u5f62\u6210\u7cfb\u7edf\u601d\u7ef4\uff0c\u4f53\u4f1a\u81ea\u4e0a\u800c\u4e0b\uff0c\u878d\u4f1a\u8d2f\u901a\u7684\u4e50\u8da3\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CYJ/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a \u5b98\u7f51 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1a\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u9648\u4e91\u9701\uff09 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6\u4e2a\u5b9e\u9a8c(\u5305\u62ec\u7f16\u5199\u5377\u79ef\u7b97\u5b50\uff0c\u4e3atensorflow\u6dfb\u52a0\u7b97\u5b50\uff0c\u7528BCL\u7f16\u5199\u7b97\u5b50\u5e76\u96c6\u6210\u5230tensorflow\u4e2d\u7b49)(\u5177\u4f53\u5185\u5bb9\u5728\u5b98\u7f51\u53ef\u4ee5\u627e\u5230) \u5b9e\u9a8c\u624b\u518c \uff1a\u5b9e\u9a8c2.0\u6307\u5bfc\u624b\u518c \u5b66\u4e60\u7b14\u8bb0 \uff1a\u53c2\u8003\u5b9e\u9a8c\u624b\u518c\u603b\u7ed3\u7684\u7b14\u8bb0","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CYJ/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002 \u6211\u505a\u4e86\u5176\u4e2d\u76842,3,4,5\u8fd9\u51e0\u4e2a\u5b9e\u9a8c\uff0c\u5176\u4e2d\u7efc\u5408\u5b9e\u9a8c\u548c\u786c\u4ef6\u5b9e\u9a8c\u6ca1\u6709\u505a\uff0c\u5982\u679c\u6709\u505a\u4e86\u7684\u540c\u5b66\u6b22\u8fce\u5927\u5bb6\u8865\u4e0a\u4f60\u7684\u94fe\u63a5 \u4e2a\u4eba\u4f53\u4f1a\u662f\u7b2c\u4e09\u7ae0\u5b9e\u73b0\u7b97\u5b50\u7684\u5b9e\u9a8c\u8ba9\u6211\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u7684\u4e86\u89e3\u52a0\u6df1\u4e86\u5f88\u591a\u3002\u7b2c\u4e94\u7ae0\u7684\u5b9e\u9a8cBCL\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\u5982\u679c\u4e86\u89e3CUDA\u7684\u8bdd\u4f1a\u611f\u89c9\u5f88\u719f\u6089\u3002 \u63a8\u8350\u53bb\u4e70\u4e00\u672c\u6559\u6750\u770b\u4e00\u770b\uff0c\u4f1a\u8ba9\u6211\u4eec\u7406\u89e3\u6574\u4f53\u7684\u6280\u672f\u6808\u3002\u719f\u6089\u6df1\u5ea6\u5b66\u4e60\u7684\u540c\u5b66\u53ef\u4ee5\u76f4\u63a5\u4ece\u7b2c\u4e94\u7ae0\u5f00\u59cb\u770b\uff0c\u770b\u770b\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u5e95\u5c42\u5230\u5e95\u662f\u4ec0\u4e48\u6837\u7684\u3002 \u6211\u56e0\u4e3a\u8fd9\u95e8\u8bfe\u7684\u542f\u53d1\uff0c\u53c2\u8003\u4e00\u672c\u4e66\uff08\u4e66\u540d\u5728\u4ed3\u5e93\u4e2d\uff09\u5199\u4e86\u4e00\u4e2a\u7b80\u6613\u7684 \u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 \u3002\u5728\u8fd9\u4e2a\u6846\u67b6\u91cc\u53ef\u4ee5\u770b\u5230\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u5b9e\u9a8c\u4e2d\u7684\u4e00\u4e9b\u5f71\u5b50\u3002\u540c\u65f6\u53d7\u5230build-your-own-x\u7cfb\u5217\u7684\u542f\u53d1\uff0c\u6211\u4e5f\u6253\u7b97\u5199\u4e00\u4e0b\u6559\u7a0b\uff0c\u6559\u5927\u5bb6\u5199\u4e00\u4e2a\u81ea\u5df1\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u3002\u4ee3\u7801\u7528python\u5199\u7684\uff0c\u4ee3\u7801\u91cf\u8f83\u5c11\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u57fa\u7840\u7684\u540c\u5b66\u9605\u8bfb\u3002\u4e4b\u540e\u6253\u7b97\u6dfb\u52a0\u66f4\u591a\u7684\u7b97\u5b50\uff0c\u6709\u671b\u5b9e\u73b0\u4e00\u4e2a\u8f83\u4e3a\u5168\u9762\u7684\u6846\u67b6\uff0c\u5e76\u5e0c\u671b\u79fb\u690d\u5230C++\u4e2d\uff0c\u4ee5\u517c\u987e\u6027\u80fd\u4e0e\u5f00\u53d1\u6548\u7387\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/","text":"CS61C: Great Ideas in Computer Architecture \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f2f\u514b\u5229CS61\u7cfb\u5217\u7684\u6700\u540e\u4e00\u95e8\u8bfe\u7a0b\uff0c\u6df1\u5165\u8ba1\u7b97\u673a\u7684\u786c\u4ef6\u7ec6\u8282\uff0c\u5e26\u9886\u5b66\u751f\u9010\u6b65\u7406\u89e3C\u8bed\u8a00\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u5316\u4e3aRISC-V\u6c47\u7f16\u5e76\u5728CPU\u4e0a\u6267\u884c\u7684\u3002\u548c \bNand2Tetris \u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe \u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4f1a\u5927\u5f88\u591a\uff0c\u5177\u4f53\u4f1a\u6d89\u53ca\u5230\u6d41\u6c34\u7ebf\u3001Cache\u3001\u865a\u5b58\u4ee5\u53ca\u5e76\u53d1\u76f8\u5173\u7684\u5185\u5bb9\u3002 \u8fd9\u95e8\u8bfe\u7684Project\u4e5f\u975e\u5e38\u65b0\u9896\u6709\u8da3\u3002Project1\u4f1a\u8ba9\u4f60\u7528C\u8bed\u8a00\u5199\u4e00\u4e2a\u5c0f\u7a0b\u5e8f\uff0c20\u5e74\u79cb\u5b63\u5b66\u671f\u662f\u8457\u540d\u7684\u6e38\u620f Game of Life \u3002Project2\u4f1a\u8ba9\u4f60\u7528RISC-V\u6c47\u7f16\u7f16\u5199\u4e00\u4e2a\u795e\u7ecf\u7f51\u7edc\uff0c\u7528\u6765 \u8bc6\u522bMNIST\u624b\u5199\u6570\u5b57\uff0c\u975e\u5e38\u953b\u70bc\u4f60\u5bf9\u6c47\u7f16\u4ee3\u7801\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002Project3\u4e2d\u4f60\u4f1a\u7528Logism\u8fd9\u4e2a\u6570\u5b57\u7535\u8def\u6a21\u62df\u8f6f\u4ef6\u642d\u5efa\u51fa\u4e00\u4e2a\u4e8c\u7ea7\u6d41\u6c34\u7ebf\u7684CPU\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884cRISC-V\u6c47\u7f16\u4ee3\u7801\u3002Project4 \u4f1a\u8ba9\u4f60\u4f7f\u7528OpenMP\uff0cSIMD\u7b49\u65b9\u6cd5\u5e76\u884c\u4f18\u5316\u77e9\u9635\u8fd0\u7b97\uff0c\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684Numpy\u3002 \u603b\u800c\u8a00\u4e4b\uff0c\u8fd9\u662f\u4e2a\u4eba\u4e0a\u8fc7\u7684\u6700\u597d\u7684\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u8bfe\u7a0b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a B\u7ad9 , Youtube \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11\u4e2alab\uff0c4\u4e2aproject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS61C: Great Ideas in Computer Architecture"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#cs61c-great-ideas-in-computer-architecture","text":"","title":"CS61C: Great Ideas in Computer Architecture"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f2f\u514b\u5229CS61\u7cfb\u5217\u7684\u6700\u540e\u4e00\u95e8\u8bfe\u7a0b\uff0c\u6df1\u5165\u8ba1\u7b97\u673a\u7684\u786c\u4ef6\u7ec6\u8282\uff0c\u5e26\u9886\u5b66\u751f\u9010\u6b65\u7406\u89e3C\u8bed\u8a00\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u5316\u4e3aRISC-V\u6c47\u7f16\u5e76\u5728CPU\u4e0a\u6267\u884c\u7684\u3002\u548c \bNand2Tetris \u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe \u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4f1a\u5927\u5f88\u591a\uff0c\u5177\u4f53\u4f1a\u6d89\u53ca\u5230\u6d41\u6c34\u7ebf\u3001Cache\u3001\u865a\u5b58\u4ee5\u53ca\u5e76\u53d1\u76f8\u5173\u7684\u5185\u5bb9\u3002 \u8fd9\u95e8\u8bfe\u7684Project\u4e5f\u975e\u5e38\u65b0\u9896\u6709\u8da3\u3002Project1\u4f1a\u8ba9\u4f60\u7528C\u8bed\u8a00\u5199\u4e00\u4e2a\u5c0f\u7a0b\u5e8f\uff0c20\u5e74\u79cb\u5b63\u5b66\u671f\u662f\u8457\u540d\u7684\u6e38\u620f Game of Life \u3002Project2\u4f1a\u8ba9\u4f60\u7528RISC-V\u6c47\u7f16\u7f16\u5199\u4e00\u4e2a\u795e\u7ecf\u7f51\u7edc\uff0c\u7528\u6765 \u8bc6\u522bMNIST\u624b\u5199\u6570\u5b57\uff0c\u975e\u5e38\u953b\u70bc\u4f60\u5bf9\u6c47\u7f16\u4ee3\u7801\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002Project3\u4e2d\u4f60\u4f1a\u7528Logism\u8fd9\u4e2a\u6570\u5b57\u7535\u8def\u6a21\u62df\u8f6f\u4ef6\u642d\u5efa\u51fa\u4e00\u4e2a\u4e8c\u7ea7\u6d41\u6c34\u7ebf\u7684CPU\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884cRISC-V\u6c47\u7f16\u4ee3\u7801\u3002Project4 \u4f1a\u8ba9\u4f60\u4f7f\u7528OpenMP\uff0cSIMD\u7b49\u65b9\u6cd5\u5e76\u884c\u4f18\u5316\u77e9\u9635\u8fd0\u7b97\uff0c\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684Numpy\u3002 \u603b\u800c\u8a00\u4e4b\uff0c\u8fd9\u662f\u4e2a\u4eba\u4e0a\u8fc7\u7684\u6700\u597d\u7684\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u8bfe\u7a0b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a B\u7ad9 , Youtube \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11\u4e2alab\uff0c4\u4e2aproject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/","text":"CMU CS15213: CSAPP \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 CMU\u5927\u540d\u9f0e\u9f0e\u7684\u9547\u7cfb\u795e\u8bfe\uff0c\u4ee5\u5176\u5185\u5bb9\u5e9e\u6742\uff0cproject\u5de8\u96be\u800c\u95fb\u540d\u9050\u8fe9\u3002\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6c47\u7f16\u8bed\u8a00\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f16\u8bd1\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\uff0c\u4f5c\u4e3a\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u5982\u679c\u81ea\u5b66\u786e\u5b9e\u9700\u8981\u76f8\u5f53\u7684\u6bc5\u529b\u548c\u4ee3\u7801\u529f\u5e95\u3002 \u8fd9\u95e8\u8bfe\u914d\u5408\u7684\u6559\u6750\u7531CMU\u8ba1\u7b97\u673a\u7cfb\u4e3b\u4efbBryant\u6559\u6388\u6267\u7b14\uff0c\u4e5f\u5373\u6240\u8c13\u7684CSAPP\u3002\u8fd9\u4e5f\u662f\u6211\u7b2c\u4e00\u672c\u8ba4\u8ba4\u771f\u771f\u4e00\u9875\u4e00\u9875\u8bfb\u8fc7\u53bb\u7684\u8ba1\u7b97\u673a\u6559\u6750\uff0c\u867d\u7136\u5f88\u96be\u5543\uff0c\u4f46\u7740\u5b9e\u6536\u83b7\u826f\u591a\u3002 \u5317\u5927\u8d2d\u4e70\u4e86\u8fd9\u95e8\u8bfe\u7684\u7248\u6743\u5e76\u5f00\u8bbe\u4e86Introduction to Computer System\u8fd9\u95e8\u8bfe\uff0c\u4f46\u5176\u5b9eCSAPP\u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u548c\u5b9e\u9a8c\u4ee3\u7801\u90fd\u80fd\u5728\u5b83\u7684\u5b98\u65b9\u4e3b\u9875\u4e0a\u8bbf\u95ee\u5230\uff08\u5177\u4f53\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\u3002 \u8fd9\u95e8\u8bfe\u7531\u4e8e\u8fc7\u4e8e\u51fa\u540d\uff0c\u5168\u4e16\u754c\u7684\u7801\u519c\u4e89\u76f8\u5b66\u4e60\uff0c\u5bfc\u81f4\u5176Project\u7684\u7b54\u6848\u5728\u7f51\u4e0a\u51e0\u4e4e\u553e\u624b\u53ef\u5f97\u3002\u4f46\u5982\u679c\u4f60\u771f\u7684\u60f3\u953b\u70bc\u81ea\u5df1\u7684\u4ee3\u7801\u80fd\u529b\uff0c\u5e0c\u671b\u4f60\u4e0d\u8981\u501f\u9274\u4efb\u4f55\u7b2c\u4e09\u65b9\u4ee3\u7801\u3002 \u8ba4\u771f\u5b66\u5b8c\u8fd9\u4e00\u95e8\u8bfe\uff0c\u4f60\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u7406\u89e3\u7edd\u5bf9\u4f1a\u4e0a\u5347\u4e00\u4e2a\u53f0\u9636\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aComputer Systems: A Programmer's Perspective, 3/E \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11\u4e2aProject\uff0c \u4ee3\u7801\u6846\u67b6\u5168\u90e8\u5f00\u6e90 \u8865\u5145\uff1a\u76f8\u4fe1\u5927\u5bb6\u5728\u770b\u5b8cCSAPP\u8fd9\u672c\u4e66\u4ee5\u540e\uff0c\u53ef\u80fd\u4f1a\u5bf9\u4e66\u4e2d\u7684\u7b2c\u4e03\u7ae0\u94fe\u63a5\u6709\u4e00\u5b9a\u7684\u7591\u95ee\u3002\u8fd9\u91cc\u63a8\u8350\u4e00\u672c\u4e66\u300a\u7a0b\u5e8f\u5458\u7684\u81ea\u6211\u4fee\u517b\u300b\uff0c\u4e66\u7684\u526f\u6807\u9898\u662f\u94fe\u63a5\uff0c\u88c5\u8f7d\u4e0e\u5e93\u3002\u8fd9\u672c\u4e66\u80fd\u591f\u5e2e\u52a9\u6211\u4eec\u5b8c\u5584\u5bf9\u7a0b\u5e8f\u94fe\u63a5\u7684\u7406\u89e3\uff0c\u4ee5\u53ca\u5bf9CSAPP\u7b2c\u4e03\u7ae0\u90e8\u5206\u77e5\u8bc6\u70b9\u7684\u4e00\u4e2a\u8be6\u7ec6\u7684\u9610\u8ff0\u3002\u76f8\u4fe1\u4f60\u5728\u770b\u5b8c\u8fd9\u672c\u4e66\u4ee5\u540e\u53ef\u4ee5\u5bf9\u7a0b\u5e8f\u7684\u94fe\u63a5\uff0cELF\u6587\u4ef6\uff0c\u52a8\u6001\u5e93\u6709\u4e00\u4e2a\u66f4\u52a0\u6df1\u5165\u7684\u7406\u89e3\u3002\u5341\u5206\u63a8\u8350\u5728\u8bfb\u5b8cCSAPP\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\u4ee5\u540e\u4f5c\u4e3a\u8865\u5145\u8d44\u6599\u6765\u9605\u8bfb\u3002","title":"CMU 15-213: CSAPP"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#cmu-cs15213-csapp","text":"","title":"CMU CS15213: CSAPP"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 CMU\u5927\u540d\u9f0e\u9f0e\u7684\u9547\u7cfb\u795e\u8bfe\uff0c\u4ee5\u5176\u5185\u5bb9\u5e9e\u6742\uff0cproject\u5de8\u96be\u800c\u95fb\u540d\u9050\u8fe9\u3002\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6c47\u7f16\u8bed\u8a00\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f16\u8bd1\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\uff0c\u4f5c\u4e3a\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u5982\u679c\u81ea\u5b66\u786e\u5b9e\u9700\u8981\u76f8\u5f53\u7684\u6bc5\u529b\u548c\u4ee3\u7801\u529f\u5e95\u3002 \u8fd9\u95e8\u8bfe\u914d\u5408\u7684\u6559\u6750\u7531CMU\u8ba1\u7b97\u673a\u7cfb\u4e3b\u4efbBryant\u6559\u6388\u6267\u7b14\uff0c\u4e5f\u5373\u6240\u8c13\u7684CSAPP\u3002\u8fd9\u4e5f\u662f\u6211\u7b2c\u4e00\u672c\u8ba4\u8ba4\u771f\u771f\u4e00\u9875\u4e00\u9875\u8bfb\u8fc7\u53bb\u7684\u8ba1\u7b97\u673a\u6559\u6750\uff0c\u867d\u7136\u5f88\u96be\u5543\uff0c\u4f46\u7740\u5b9e\u6536\u83b7\u826f\u591a\u3002 \u5317\u5927\u8d2d\u4e70\u4e86\u8fd9\u95e8\u8bfe\u7684\u7248\u6743\u5e76\u5f00\u8bbe\u4e86Introduction to Computer System\u8fd9\u95e8\u8bfe\uff0c\u4f46\u5176\u5b9eCSAPP\u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u548c\u5b9e\u9a8c\u4ee3\u7801\u90fd\u80fd\u5728\u5b83\u7684\u5b98\u65b9\u4e3b\u9875\u4e0a\u8bbf\u95ee\u5230\uff08\u5177\u4f53\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\u3002 \u8fd9\u95e8\u8bfe\u7531\u4e8e\u8fc7\u4e8e\u51fa\u540d\uff0c\u5168\u4e16\u754c\u7684\u7801\u519c\u4e89\u76f8\u5b66\u4e60\uff0c\u5bfc\u81f4\u5176Project\u7684\u7b54\u6848\u5728\u7f51\u4e0a\u51e0\u4e4e\u553e\u624b\u53ef\u5f97\u3002\u4f46\u5982\u679c\u4f60\u771f\u7684\u60f3\u953b\u70bc\u81ea\u5df1\u7684\u4ee3\u7801\u80fd\u529b\uff0c\u5e0c\u671b\u4f60\u4e0d\u8981\u501f\u9274\u4efb\u4f55\u7b2c\u4e09\u65b9\u4ee3\u7801\u3002 \u8ba4\u771f\u5b66\u5b8c\u8fd9\u4e00\u95e8\u8bfe\uff0c\u4f60\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u7406\u89e3\u7edd\u5bf9\u4f1a\u4e0a\u5347\u4e00\u4e2a\u53f0\u9636\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aComputer Systems: A Programmer's Perspective, 3/E \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11\u4e2aProject\uff0c \u4ee3\u7801\u6846\u67b6\u5168\u90e8\u5f00\u6e90 \u8865\u5145\uff1a\u76f8\u4fe1\u5927\u5bb6\u5728\u770b\u5b8cCSAPP\u8fd9\u672c\u4e66\u4ee5\u540e\uff0c\u53ef\u80fd\u4f1a\u5bf9\u4e66\u4e2d\u7684\u7b2c\u4e03\u7ae0\u94fe\u63a5\u6709\u4e00\u5b9a\u7684\u7591\u95ee\u3002\u8fd9\u91cc\u63a8\u8350\u4e00\u672c\u4e66\u300a\u7a0b\u5e8f\u5458\u7684\u81ea\u6211\u4fee\u517b\u300b\uff0c\u4e66\u7684\u526f\u6807\u9898\u662f\u94fe\u63a5\uff0c\u88c5\u8f7d\u4e0e\u5e93\u3002\u8fd9\u672c\u4e66\u80fd\u591f\u5e2e\u52a9\u6211\u4eec\u5b8c\u5584\u5bf9\u7a0b\u5e8f\u94fe\u63a5\u7684\u7406\u89e3\uff0c\u4ee5\u53ca\u5bf9CSAPP\u7b2c\u4e03\u7ae0\u90e8\u5206\u77e5\u8bc6\u70b9\u7684\u4e00\u4e2a\u8be6\u7ec6\u7684\u9610\u8ff0\u3002\u76f8\u4fe1\u4f60\u5728\u770b\u5b8c\u8fd9\u672c\u4e66\u4ee5\u540e\u53ef\u4ee5\u5bf9\u7a0b\u5e8f\u7684\u94fe\u63a5\uff0cELF\u6587\u4ef6\uff0c\u52a8\u6001\u5e93\u6709\u4e00\u4e2a\u66f4\u52a0\u6df1\u5165\u7684\u7406\u89e3\u3002\u5341\u5206\u63a8\u8350\u5728\u8bfb\u5b8cCSAPP\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\u4ee5\u540e\u4f5c\u4e3a\u8865\u5145\u8d44\u6599\u6765\u9605\u8bfb\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/","text":"Coursera: Nand2Tetris \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u5e0c\u4f2f\u6765\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u4efb\u9009\u4e00\u4e2a\u7f16\u7a0b\u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40\u5c0f\u65f6 Coursera \u4e0a\u88ab\u6570\u4e07\u4eba\u8bc4\u4e3a\u6ee1\u5206\uff0c\u5728\u5168\u7403\u56db\u767e\u591a\u6240\u9ad8\u6821\u3001\u9ad8\u4e2d\u88ab\u91c7\u7528\uff0c\u8ba9\u4e00\u4e2a\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\u4ece\u4e0e\u975e\u95e8\u5f00\u59cb \u9020\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002 \u542c\u8d77\u6765\u5c31\u5f88\u9177\u5bf9\u4e0d\u5bf9\uff1f\u5b9e\u73b0\u8d77\u6765\u66f4\u9177\uff01\u8fd9\u95e8\u8bfe\u5206\u4e3a\u786c\u4ef6\u548c\u8f6f\u4ef6\u4e24\u4e2a\u90e8\u5206\u3002\u5728\u786c\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u8fdb\u516501\u7684\u4e16\u754c\uff0c\u7528\u4e0e\u975e\u95e8\u6784\u9020\u51fa\u903b\u8f91\u7535\u8def\uff0c\u5e76\u9010\u6b65\u642d\u5efa\u51fa\u4e00\u4e2aCPU \u6765\u8fd0\u884c\u4e00\u5957\u8bfe\u7a0b\u4f5c\u8005\u5b9a\u4e49\u7684\u7b80\u6613\u6c47\u7f16\u4ee3\u7801\u3002\u5728\u8f6f\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u7f16\u5199\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06\u4f5c\u8005\u5f00\u53d1\u7684\u4e00\u4e2a\u540d\u4e3aJack\u7684\u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3a\u53ef\u4ee5\u8fd0\u884c\u5728\u865a\u62df\u673a\u4e0a\u7684\u5b57\u8282\u7801\uff0c\u7136\u540e\u8fdb\u4e00\u6b65\u7ffb\u8bd1 \u4e3a\u6c47\u7f16\u4ee3\u7801\u3002\u4f60\u8fd8\u5c06\u5f00\u53d1\u4e00\u4e2a\u7b80\u6613\u7684OS\uff0c\u8ba9\u4f60\u7684\u8ba1\u7b97\u673a\u652f\u6301\u8f93\u5165\u8f93\u51fa\u56fe\u5f62\u754c\u9762\u3002\u81f3\u6b64\uff0c\u4f60\u53ef\u4ee5\u7528Jack\u5f00\u53d1\u4e00\u4e2a\u4fc4\u7f57\u65af\u65b9\u5757\u7684\u5c0f\u6e38\u620f\uff0c\u5c06\u5b83 \u7f16\u8bd1\u4e3a\u6c47\u7f16\u4ee3\u7801\uff0c\u8fd0\u884c\u5728\u4f60\u7528\u4e0e\u975e\u95e8\u642d\u5efa\u51fa\u7684CPU\u4e0a\uff0c\u901a\u8fc7\u4f60\u5f00\u53d1\u7684OS\u8fdb\u884c\u4ea4\u4e92\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u7a0b\uff0c\u4f60\u5c06\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u7684\u4f53\u7cfb\u7ed3\u6784\u6709\u4e00\u4e2a\u5168\u5c40 \u4e14\u6df1\u523b\u7684\u7406\u89e3\uff0c\u5bf9\u4e8e\u4f60\u540e\u7eed\u8bfe\u7a0b\u7684\u5b66\u4e60\u6709\u7740\u83ab\u5927\u7684\u5e2e\u52a9\u3002 \u4f60\u4e5f\u8bb8\u4f1a\u62c5\u5fc3\u8bfe\u7a0b\u4f1a\u4e0d\u4f1a\u5f88\u96be\uff0c\u4f46\u8fd9\u95e8\u8bfe\u9762\u5411\u7684\u4eba\u7fa4\u662f\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\uff0c\u8bfe\u7a0b\u4f5c\u8005\u7684\u76ee\u6807\u662f\u8ba9\u9ad8\u4e2d\u751f\u90fd\u80fd\u7406\u89e3\u3002\u56e0\u6b64\uff0c\u53ea\u8981\u4f60\u6309\u90e8\u5c31\u73ed\u8ddf\u7740 \u8bfe\u7a0b\u89c4\u5212\u8d70\uff0c\u4e00\u4e2a\u6708\u5185\u5b66\u5b8c\u5e94\u8be5\u7ef0\u7ef0\u6709\u4f59\u3002\u9ebb\u96c0\u867d\u5c0f\u4f46\u662f\u4e94\u810f\u4ff1\u5168\uff0c\u8fd9\u95e8\u8bfe\u5f88\u597d\u5730\u63d0\u53d6\u51fa\u4e86\u8ba1\u7b97\u673a\u7684\u672c\u8d28\uff0c\u800c\u4e0d\u8fc7\u591a\u5730\u9677\u4e8e\u73b0\u4ee3\u8ba1\u7b97\u673a\u4e3a\u4e86\u6027\u80fd\u800c \u8bbe\u8ba1\u51fa\u7684\u4f17\u591a\u590d\u6742\u7ec6\u8282\u3002\u8ba9\u5b66\u4e60\u8005\u80fd\u5728\u8f7b\u677e\u6109\u5feb\u7684\u5b66\u4e60\u4f53\u9a8c\u4e2d\u611f\u53d7\u8ba1\u7b97\u673a\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Nand2Tetris I , Nand2Tetris II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aproject\u5e26\u4f60\u9020\u53f0\u8ba1\u7b97\u673a\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Coursera: Nand2Tetris"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#coursera-nand2tetris","text":"","title":"Coursera: Nand2Tetris"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u5e0c\u4f2f\u6765\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u4efb\u9009\u4e00\u4e2a\u7f16\u7a0b\u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40\u5c0f\u65f6 Coursera \u4e0a\u88ab\u6570\u4e07\u4eba\u8bc4\u4e3a\u6ee1\u5206\uff0c\u5728\u5168\u7403\u56db\u767e\u591a\u6240\u9ad8\u6821\u3001\u9ad8\u4e2d\u88ab\u91c7\u7528\uff0c\u8ba9\u4e00\u4e2a\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\u4ece\u4e0e\u975e\u95e8\u5f00\u59cb \u9020\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002 \u542c\u8d77\u6765\u5c31\u5f88\u9177\u5bf9\u4e0d\u5bf9\uff1f\u5b9e\u73b0\u8d77\u6765\u66f4\u9177\uff01\u8fd9\u95e8\u8bfe\u5206\u4e3a\u786c\u4ef6\u548c\u8f6f\u4ef6\u4e24\u4e2a\u90e8\u5206\u3002\u5728\u786c\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u8fdb\u516501\u7684\u4e16\u754c\uff0c\u7528\u4e0e\u975e\u95e8\u6784\u9020\u51fa\u903b\u8f91\u7535\u8def\uff0c\u5e76\u9010\u6b65\u642d\u5efa\u51fa\u4e00\u4e2aCPU \u6765\u8fd0\u884c\u4e00\u5957\u8bfe\u7a0b\u4f5c\u8005\u5b9a\u4e49\u7684\u7b80\u6613\u6c47\u7f16\u4ee3\u7801\u3002\u5728\u8f6f\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u7f16\u5199\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06\u4f5c\u8005\u5f00\u53d1\u7684\u4e00\u4e2a\u540d\u4e3aJack\u7684\u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3a\u53ef\u4ee5\u8fd0\u884c\u5728\u865a\u62df\u673a\u4e0a\u7684\u5b57\u8282\u7801\uff0c\u7136\u540e\u8fdb\u4e00\u6b65\u7ffb\u8bd1 \u4e3a\u6c47\u7f16\u4ee3\u7801\u3002\u4f60\u8fd8\u5c06\u5f00\u53d1\u4e00\u4e2a\u7b80\u6613\u7684OS\uff0c\u8ba9\u4f60\u7684\u8ba1\u7b97\u673a\u652f\u6301\u8f93\u5165\u8f93\u51fa\u56fe\u5f62\u754c\u9762\u3002\u81f3\u6b64\uff0c\u4f60\u53ef\u4ee5\u7528Jack\u5f00\u53d1\u4e00\u4e2a\u4fc4\u7f57\u65af\u65b9\u5757\u7684\u5c0f\u6e38\u620f\uff0c\u5c06\u5b83 \u7f16\u8bd1\u4e3a\u6c47\u7f16\u4ee3\u7801\uff0c\u8fd0\u884c\u5728\u4f60\u7528\u4e0e\u975e\u95e8\u642d\u5efa\u51fa\u7684CPU\u4e0a\uff0c\u901a\u8fc7\u4f60\u5f00\u53d1\u7684OS\u8fdb\u884c\u4ea4\u4e92\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u7a0b\uff0c\u4f60\u5c06\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u7684\u4f53\u7cfb\u7ed3\u6784\u6709\u4e00\u4e2a\u5168\u5c40 \u4e14\u6df1\u523b\u7684\u7406\u89e3\uff0c\u5bf9\u4e8e\u4f60\u540e\u7eed\u8bfe\u7a0b\u7684\u5b66\u4e60\u6709\u7740\u83ab\u5927\u7684\u5e2e\u52a9\u3002 \u4f60\u4e5f\u8bb8\u4f1a\u62c5\u5fc3\u8bfe\u7a0b\u4f1a\u4e0d\u4f1a\u5f88\u96be\uff0c\u4f46\u8fd9\u95e8\u8bfe\u9762\u5411\u7684\u4eba\u7fa4\u662f\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\uff0c\u8bfe\u7a0b\u4f5c\u8005\u7684\u76ee\u6807\u662f\u8ba9\u9ad8\u4e2d\u751f\u90fd\u80fd\u7406\u89e3\u3002\u56e0\u6b64\uff0c\u53ea\u8981\u4f60\u6309\u90e8\u5c31\u73ed\u8ddf\u7740 \u8bfe\u7a0b\u89c4\u5212\u8d70\uff0c\u4e00\u4e2a\u6708\u5185\u5b66\u5b8c\u5e94\u8be5\u7ef0\u7ef0\u6709\u4f59\u3002\u9ebb\u96c0\u867d\u5c0f\u4f46\u662f\u4e94\u810f\u4ff1\u5168\uff0c\u8fd9\u95e8\u8bfe\u5f88\u597d\u5730\u63d0\u53d6\u51fa\u4e86\u8ba1\u7b97\u673a\u7684\u672c\u8d28\uff0c\u800c\u4e0d\u8fc7\u591a\u5730\u9677\u4e8e\u73b0\u4ee3\u8ba1\u7b97\u673a\u4e3a\u4e86\u6027\u80fd\u800c \u8bbe\u8ba1\u51fa\u7684\u4f17\u591a\u590d\u6742\u7ec6\u8282\u3002\u8ba9\u5b66\u4e60\u8005\u80fd\u5728\u8f7b\u677e\u6109\u5feb\u7684\u5b66\u4e60\u4f53\u9a8c\u4e2d\u611f\u53d7\u8ba1\u7b97\u673a\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Nand2Tetris I , Nand2Tetris II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aproject\u5e26\u4f60\u9020\u53f0\u8ba1\u7b97\u673a\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u548c Stanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u719f\u6089C++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 Kayvon Fatahalian \u6559\u6388\u6b64\u524d\u5728CMU\u5f00\u4e8615-418\u8fd9\u95e8\u8bfe\uff0c\u540e\u6765\u4ed6\u6210\u4e3aStanford\u7684\u52a9\u7406\u6559\u6388\u540e\u53c8\u5f00\u4e86\u7c7b\u4f3c\u7684\u8bfe\u7a0bCS149\u3002\u4f46\u603b\u4f53\u6765\u8bf4\uff0c15-418\u5305\u542b\u7684\u8bfe\u7a0b\u5185\u5bb9\u66f4\u4e30\u5bcc\uff0c\u5e76\u4e14\u6709\u8bfe\u7a0b\u56de\u653e\uff0c\u4f46CS149\u7684\u7f16\u7a0b\u4f5c\u4e1a\u66f4fashion\u4e00\u4e9b\u3002\u6211\u4e2a\u4eba\u662f\u89c2\u770b\u768415-418\u7684\u8bfe\u7a0b\u5f55\u5f71\u4f46\u5b8c\u6210\u7684CS149\u7684\u4f5c\u4e1a\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u73b0\u4ee3\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u8bbe\u8ba1\u539f\u5219\u4e0e\u5fc5\u8981\u6743\u8861\uff0c\u5e76\u5b66\u4f1a\u5982\u4f55\u5145\u5206\u5229\u7528\u786c\u4ef6\u8d44\u6e90\u4ee5\u53ca\u8f6f\u4ef6\u7f16\u7a0b\u6846\u67b6\uff08\u4f8b\u5982CUDA\uff0cMPI\uff0cOpenMP\u7b49\uff09\u7f16\u5199\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u7a0b\u5e8f\u3002\u7531\u4e8e\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u590d\u6742\u6027\uff0c\u8fd9\u95e8\u8bfe\u4f1a\u6d89\u53ca\u8bf8\u591a\u9ad8\u7ea7\u4f53\u7cfb\u7ed3\u6784\u4e0e\u7f51\u7edc\u901a\u4fe1\u7684\u5185\u5bb9\uff0c\u77e5\u8bc6\u70b9\u76f8\u5f53\u5e95\u5c42\u4e14\u786c\u6838\u3002\u4e0e\u6b64\u540c\u65f6\uff0c5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5219\u662f\u4ece\u8f6f\u4ef6\u7684\u5c42\u9762\u57f9\u517b\u5b66\u751f\u5bf9\u4e0a\u5c42\u62bd\u8c61\u7684\u7406\u89e3\u4e0e\u8fd0\u7528\uff0c\u5177\u4f53\u4f1a\u8ba9\u4f60\u5206\u6790\u5e76\u884c\u7a0b\u5e8f\u7684\u74f6\u9888\u3001\u7f16\u5199\u591a\u7ebf\u7a0b\u540c\u6b65\u4ee3\u7801\u3001\u5b66\u4e60CUDA\u7f16\u7a0b\u3001OpenMP\u7f16\u7a0b\u4ee5\u53ca\u524d\u6bb5\u65f6\u95f4\u5927\u70ed\u7684Spark\u6846\u67b6\u7b49\u7b49\u3002\u771f\u6b63\u610f\u4e49\u4e0a\u5c06\u7406\u8bba\u4e0e\u5b9e\u8df5\u5b8c\u7f8e\u5730\u7ed3\u5408\u5728\u4e86\u4e00\u8d77\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a CMU15418 \uff0c CS149 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"CMU 15-418/Stanford CS149: Parallel Computing"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u548c Stanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u719f\u6089C++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 Kayvon Fatahalian \u6559\u6388\u6b64\u524d\u5728CMU\u5f00\u4e8615-418\u8fd9\u95e8\u8bfe\uff0c\u540e\u6765\u4ed6\u6210\u4e3aStanford\u7684\u52a9\u7406\u6559\u6388\u540e\u53c8\u5f00\u4e86\u7c7b\u4f3c\u7684\u8bfe\u7a0bCS149\u3002\u4f46\u603b\u4f53\u6765\u8bf4\uff0c15-418\u5305\u542b\u7684\u8bfe\u7a0b\u5185\u5bb9\u66f4\u4e30\u5bcc\uff0c\u5e76\u4e14\u6709\u8bfe\u7a0b\u56de\u653e\uff0c\u4f46CS149\u7684\u7f16\u7a0b\u4f5c\u4e1a\u66f4fashion\u4e00\u4e9b\u3002\u6211\u4e2a\u4eba\u662f\u89c2\u770b\u768415-418\u7684\u8bfe\u7a0b\u5f55\u5f71\u4f46\u5b8c\u6210\u7684CS149\u7684\u4f5c\u4e1a\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u73b0\u4ee3\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u8bbe\u8ba1\u539f\u5219\u4e0e\u5fc5\u8981\u6743\u8861\uff0c\u5e76\u5b66\u4f1a\u5982\u4f55\u5145\u5206\u5229\u7528\u786c\u4ef6\u8d44\u6e90\u4ee5\u53ca\u8f6f\u4ef6\u7f16\u7a0b\u6846\u67b6\uff08\u4f8b\u5982CUDA\uff0cMPI\uff0cOpenMP\u7b49\uff09\u7f16\u5199\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u7a0b\u5e8f\u3002\u7531\u4e8e\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u590d\u6742\u6027\uff0c\u8fd9\u95e8\u8bfe\u4f1a\u6d89\u53ca\u8bf8\u591a\u9ad8\u7ea7\u4f53\u7cfb\u7ed3\u6784\u4e0e\u7f51\u7edc\u901a\u4fe1\u7684\u5185\u5bb9\uff0c\u77e5\u8bc6\u70b9\u76f8\u5f53\u5e95\u5c42\u4e14\u786c\u6838\u3002\u4e0e\u6b64\u540c\u65f6\uff0c5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5219\u662f\u4ece\u8f6f\u4ef6\u7684\u5c42\u9762\u57f9\u517b\u5b66\u751f\u5bf9\u4e0a\u5c42\u62bd\u8c61\u7684\u7406\u89e3\u4e0e\u8fd0\u7528\uff0c\u5177\u4f53\u4f1a\u8ba9\u4f60\u5206\u6790\u5e76\u884c\u7a0b\u5e8f\u7684\u74f6\u9888\u3001\u7f16\u5199\u591a\u7ebf\u7a0b\u540c\u6b65\u4ee3\u7801\u3001\u5b66\u4e60CUDA\u7f16\u7a0b\u3001OpenMP\u7f16\u7a0b\u4ee5\u53ca\u524d\u6bb5\u65f6\u95f4\u5927\u70ed\u7684Spark\u6846\u67b6\u7b49\u7b49\u3002\u771f\u6b63\u610f\u4e49\u4e0a\u5c06\u7406\u8bba\u4e0e\u5b9e\u8df5\u5b8c\u7f8e\u5730\u7ed3\u5408\u5728\u4e86\u4e00\u8d77\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a CMU15418 \uff0c CS149 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/","text":"MIT6.824: Distributed System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5e76\u884c\u7f16\u7a0b \u7f16\u7a0b\u8bed\u8a00\uff1aGo \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u548cMIT6.S081\u4e00\u6837\uff0c\u51fa\u54c1\u81eaMIT\u5927\u540d\u9f0e\u9f0e\u7684PDOS\u5b9e\u9a8c\u5ba4\uff0c\u6388\u8bfe\u8001\u5e08Robert Morris\u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2Morris\u75c5\u6bd2\u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u6bcf\u8282\u8bfe\u90fd\u4f1a\u7cbe\u8bfb\u4e00\u7bc7\u5206\u5e03\u5f0f\u7cfb\u7edf\u9886\u57df\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u5e76\u7531\u6b64\u4f20\u6388\u5206\u5e03\u5f0f\u7cfb\u7edf\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u7684\u91cd\u8981\u539f\u5219\u548c\u5173\u952e\u6280\u672f\u3002\u540c\u65f6\u5176\u8bfe\u7a0bProject\u4e5f\u662f\u4ee5\u5176\u96be\u5ea6\u4e4b\u5927\u800c\u95fb\u540d\u9050\u8fe9\uff0c4\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5faa\u5e8f\u6e10\u8fdb\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u57fa\u4e8eRaft\u5171\u8bc6\u7b97\u6cd5\u7684KV-store\u6846\u67b6\uff0c\u8ba9\u4f60\u5728\u75db\u82e6\u7684debug\u4e2d\u4f53\u4f1a\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u5e26\u6765\u7684\u968f\u673a\u6027\u548c\u590d\u6742\u6027\u3002 \u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u7b54\u6848\u65e0\u6570\uff0c\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u53c2\u8003\uff0c\u800c\u662f\u529b\u56fe\u81ea\u4e3b\u5b9e\u73b0\u6574\u4e2aProject\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u4ee5\u9605\u8bfb\u8bba\u6587\u4e3a\u4e3b \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2a\u975e\u5e38\u8650\u7684Project\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002\u6b64\u5916\u4e5f\u53ef\u4ee5\u53c2\u8003 OneSizeFitsQuorum \u7684 lab \u6587\u6863 \uff0c\u5176\u8f83\u4e3a\u6e05\u6670\u5730\u4ecb\u7ecd\u4e86\u5b9e\u73b0 lab1-4 \u548c challenge1-2 \u9700\u8981\u8003\u8651\u7684\u8bb8\u591a\u7ec6\u8282\uff0c\u5728\u9047\u5230\u74f6\u9888\u671f\u65f6\u53ef\u4ee5\u9605\u8bfb\u4e00\u4e0b~","title":"MIT 6.824: Distributed System"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#mit6824-distributed-system","text":"","title":"MIT6.824: Distributed System"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5e76\u884c\u7f16\u7a0b \u7f16\u7a0b\u8bed\u8a00\uff1aGo \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u548cMIT6.S081\u4e00\u6837\uff0c\u51fa\u54c1\u81eaMIT\u5927\u540d\u9f0e\u9f0e\u7684PDOS\u5b9e\u9a8c\u5ba4\uff0c\u6388\u8bfe\u8001\u5e08Robert Morris\u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2Morris\u75c5\u6bd2\u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u6bcf\u8282\u8bfe\u90fd\u4f1a\u7cbe\u8bfb\u4e00\u7bc7\u5206\u5e03\u5f0f\u7cfb\u7edf\u9886\u57df\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u5e76\u7531\u6b64\u4f20\u6388\u5206\u5e03\u5f0f\u7cfb\u7edf\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u7684\u91cd\u8981\u539f\u5219\u548c\u5173\u952e\u6280\u672f\u3002\u540c\u65f6\u5176\u8bfe\u7a0bProject\u4e5f\u662f\u4ee5\u5176\u96be\u5ea6\u4e4b\u5927\u800c\u95fb\u540d\u9050\u8fe9\uff0c4\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5faa\u5e8f\u6e10\u8fdb\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u57fa\u4e8eRaft\u5171\u8bc6\u7b97\u6cd5\u7684KV-store\u6846\u67b6\uff0c\u8ba9\u4f60\u5728\u75db\u82e6\u7684debug\u4e2d\u4f53\u4f1a\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u5e26\u6765\u7684\u968f\u673a\u6027\u548c\u590d\u6742\u6027\u3002 \u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u7b54\u6848\u65e0\u6570\uff0c\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u53c2\u8003\uff0c\u800c\u662f\u529b\u56fe\u81ea\u4e3b\u5b9e\u73b0\u6574\u4e2aProject\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u4ee5\u9605\u8bfb\u8bba\u6587\u4e3a\u4e3b \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2a\u975e\u5e38\u8650\u7684Project\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002\u6b64\u5916\u4e5f\u53ef\u4ee5\u53c2\u8003 OneSizeFitsQuorum \u7684 lab \u6587\u6863 \uff0c\u5176\u8f83\u4e3a\u6e05\u6670\u5730\u4ecb\u7ecd\u4e86\u5b9e\u73b0 lab1-4 \u548c challenge1-2 \u9700\u8981\u8003\u8651\u7684\u8bb8\u591a\u7ec6\u8282\uff0c\u5728\u9047\u5230\u74f6\u9888\u671f\u65f6\u53ef\u4ee5\u9605\u8bfb\u4e00\u4e0b~","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/","text":"\u4e3a\u4ec0\u4e48\u5b66\u4e60CMake CMake \u662f\u7c7b\u4f3c\u4e8e GNU make \u7684\u8de8\u5e73\u53f0\u81ea\u52a8\u8f6f\u4ef6\u6784\u4ef6\u5de5\u5177\uff0c\u4f7f\u7528 CMakeLists.txt \u5b9a\u4e49\u6784\u5efa\u89c4\u5219\uff0c\u76f8\u6bd4\u4e8e make \u5b83\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u529f\u80fd\uff0c\u5728\u5404\u79cd\u8f6f\u4ef6\u6784\u5efa\u4e0a\u5e7f\u6cdb\u4f7f\u7528\u3002 \u5f3a\u70c8\u5efa\u8bae\u5b66\u4e60\u4f7f\u7528 make \u548c\u719f\u6089 Makefile \u540e\u518d\u5b66\u4e60CMake \u3002 \u5982\u4f55\u5b66\u4e60CMake CMakeLists.txt \u6bd4 Makefile \u66f4\u4e3a\u62bd\u8c61\uff0c\u7406\u89e3\u548c\u4f7f\u7528\u96be\u5ea6\u4e5f\u66f4\u5927\u3002\u73b0\u9636\u6bb5\u5f88\u591a IDE (\u5982 Visual Studio, CLion)\u63d0\u4f9b\u4e86\u81ea\u52a8\u751f\u6210 CMakeLists.txt \u7684\u529f\u80fd\uff0c\u4f46\u638c\u63e1 CMakeLists.txt \u7684\u57fa\u672c\u7528\u6cd5\u4ecd\u7136\u5f88\u6709\u5fc5\u8981\u3002\u9664\u4e86 CMake \u5b98\u65b9 Tutorial \u5916\uff0c\u4e0a\u6d77\u4ea4\u901a\u5927\u5b66 IPADS \u7ec4\u65b0\u4eba\u57f9\u8bad\u4e5f\u63d0\u4f9b\u4e86 \u5927\u7ea6\u4e00\u5c0f\u65f6\u7684\u89c6\u9891\u6559\u7a0b","title":"CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#cmake","text":"CMake \u662f\u7c7b\u4f3c\u4e8e GNU make \u7684\u8de8\u5e73\u53f0\u81ea\u52a8\u8f6f\u4ef6\u6784\u4ef6\u5de5\u5177\uff0c\u4f7f\u7528 CMakeLists.txt \u5b9a\u4e49\u6784\u5efa\u89c4\u5219\uff0c\u76f8\u6bd4\u4e8e make \u5b83\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u529f\u80fd\uff0c\u5728\u5404\u79cd\u8f6f\u4ef6\u6784\u5efa\u4e0a\u5e7f\u6cdb\u4f7f\u7528\u3002 \u5f3a\u70c8\u5efa\u8bae\u5b66\u4e60\u4f7f\u7528 make \u548c\u719f\u6089 Makefile \u540e\u518d\u5b66\u4e60CMake \u3002","title":"\u4e3a\u4ec0\u4e48\u5b66\u4e60CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#cmake_1","text":"CMakeLists.txt \u6bd4 Makefile \u66f4\u4e3a\u62bd\u8c61\uff0c\u7406\u89e3\u548c\u4f7f\u7528\u96be\u5ea6\u4e5f\u66f4\u5927\u3002\u73b0\u9636\u6bb5\u5f88\u591a IDE (\u5982 Visual Studio, CLion)\u63d0\u4f9b\u4e86\u81ea\u52a8\u751f\u6210 CMakeLists.txt \u7684\u529f\u80fd\uff0c\u4f46\u638c\u63e1 CMakeLists.txt \u7684\u57fa\u672c\u7528\u6cd5\u4ecd\u7136\u5f88\u6709\u5fc5\u8981\u3002\u9664\u4e86 CMake \u5b98\u65b9 Tutorial \u5916\uff0c\u4e0a\u6d77\u4ea4\u901a\u5927\u5b66 IPADS \u7ec4\u65b0\u4eba\u57f9\u8bad\u4e5f\u63d0\u4f9b\u4e86 \u5927\u7ea6\u4e00\u5c0f\u65f6\u7684\u89c6\u9891\u6559\u7a0b","title":"\u5982\u4f55\u5b66\u4e60CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/","text":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Docker \u4f7f\u7528\u522b\u4eba\u5199\u597d\u7684\u8f6f\u4ef6/\u5de5\u5177\u6700\u5927\u7684\u969c\u788d\u662f\u4ec0\u4e48\u2014\u2014\u5fc5\u7136\u662f\u914d\u73af\u5883\u3002\u914d\u73af\u5883\u5e26\u6765\u7684\u6298\u78e8\u4f1a\u6781\u5927\u5730\u6d88\u89e3\u4f60\u5bf9\u8f6f\u4ef6\u3001\u7f16\u7a0b\u672c\u8eab\u7684\u5174\u8da3\u3002\u865a\u62df\u673a\u53ef\u4ee5\u89e3\u51b3\u914d\u73af\u5883\u7684\u4e00\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u5b83\u5e9e\u5927\u7b28\u91cd\uff0c\u4e14\u4e3a\u4e86\u67d0\u4e2a\u5e94\u7528\u7684\u73af\u5883\u914d\u7f6e\u597d\u50cf\u4e5f\u4e0d\u503c\u5f97\u6a21\u62df\u4e00\u4e2a\u5168\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002 Docker \u7684\u51fa\u73b0\u8ba9\u73af\u5883\u914d\u7f6e\u53d8\u5f97\uff08\u6216\u8bb8\uff09\u4e0d\u518d\u6298\u78e8\u3002\u7b80\u5355\u6765\u8bf4Docker\u4f7f\u7528\u8f7b\u91cf\u7ea7\u7684\u201c\u5bb9\u5668\u201d\uff08container\uff09\u800c\u4e0d\u662f\u6574\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u53bb\u652f\u6301\u4e00\u4e2a\u5e94\u7528\u7684\u914d\u7f6e\u3002\u5e94\u7528\u81ea\u8eab\u8fde\u540c\u5b83\u7684\u73af\u5883\u914d\u7f6e\u88ab\u6253\u5305\u4e3a\u4e00\u4e2a\u4e2aimage\u53ef\u4ee5\u81ea\u7531\u8fd0\u884c\u5728\u4e0d\u540c\u5e73\u53f0\u7684\u4e00\u4e2a\u4e2acontainer\u4e2d\uff0c\u8fd9\u6781\u5927\u5730\u8282\u7701\u4e86\u6240\u6709\u4eba\u7684\u65f6\u95f4\u6210\u672c\u3002 \u5982\u4f55\u5b66\u4e60Docker Docker \u5b98\u65b9\u6587\u6863 \u5f53\u7136\u662f\u6700\u597d\u7684\u521d\u5b66\u6559\u6750\uff0c\u4f46\u6700\u597d\u7684\u5bfc\u5e08\u4e00\u5b9a\u662f\u4f60\u81ea\u5df1\u2014\u2014\u5c1d\u8bd5\u53bb\u4f7f\u7528Docker\u624d\u80fd\u4eab\u53d7\u5b83\u5e26\u6765\u7684\u4fbf\u5229\u3002Docker\u5728\u5de5\u4e1a\u754c\u53d1\u5c55\u8fc5\u731b\u5e76\u5df2\u7ecf\u975e\u5e38\u6210\u719f\uff0c\u4f60\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u7684\u684c\u9762\u7aef\u5e76\u4f7f\u7528\u56fe\u5f62\u754c\u9762\u3002 \u5f53\u7136\uff0c\u5982\u679c\u4f60\u50cf\u6211\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u75af\u72c2\u7684\u9020\u8f6e\u5b50\u7231\u597d\u8005\uff0c\u90a3\u4e0d\u59a8\u81ea\u5df1\u4eb2\u624b\u5199\u4e00\u4e2a \u8ff7\u4f60Docker \u6765\u52a0\u6df1\u7406\u89e3\u3002 KodeKloud Docker for the Absolute Beginner \u5168\u9762\u7684\u4ecb\u7ecd\u4e86Docker\u7684\u57fa\u7840\u529f\u80fd\uff0c\u5e76\u4e14\u6709\u5927\u91cf\u7684\u914d\u5957\u7ec3\u4e60\uff0c\u540c\u65f6\u63d0\u4f9b\u514d\u8d39\u7684\u4e91\u73af\u5883\u6765\u5b8c\u6210\u7ec3\u4e60\u3002\u5176\u4f59\u7684\u4e91\u76f8\u5173\u7684\u8bfe\u7a0b\u5982Kubernetes\u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u4e2a\u4eba\u5f3a\u70c8\u63a8\u8350\uff1a\u8bb2\u89e3\u975e\u5e38\u4ed4\u7ec6\uff0c\u9002\u5408\u4ece0\u5f00\u59cb\u7684\u65b0\u624b\uff1b\u6709\u914d\u5957\u7684Kubernetes\u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u4e0d\u7528\u88ab\u642d\u5efa\u73af\u5883\u529d\u9000\u3002","title":"Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker","text":"\u4f7f\u7528\u522b\u4eba\u5199\u597d\u7684\u8f6f\u4ef6/\u5de5\u5177\u6700\u5927\u7684\u969c\u788d\u662f\u4ec0\u4e48\u2014\u2014\u5fc5\u7136\u662f\u914d\u73af\u5883\u3002\u914d\u73af\u5883\u5e26\u6765\u7684\u6298\u78e8\u4f1a\u6781\u5927\u5730\u6d88\u89e3\u4f60\u5bf9\u8f6f\u4ef6\u3001\u7f16\u7a0b\u672c\u8eab\u7684\u5174\u8da3\u3002\u865a\u62df\u673a\u53ef\u4ee5\u89e3\u51b3\u914d\u73af\u5883\u7684\u4e00\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u5b83\u5e9e\u5927\u7b28\u91cd\uff0c\u4e14\u4e3a\u4e86\u67d0\u4e2a\u5e94\u7528\u7684\u73af\u5883\u914d\u7f6e\u597d\u50cf\u4e5f\u4e0d\u503c\u5f97\u6a21\u62df\u4e00\u4e2a\u5168\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002 Docker \u7684\u51fa\u73b0\u8ba9\u73af\u5883\u914d\u7f6e\u53d8\u5f97\uff08\u6216\u8bb8\uff09\u4e0d\u518d\u6298\u78e8\u3002\u7b80\u5355\u6765\u8bf4Docker\u4f7f\u7528\u8f7b\u91cf\u7ea7\u7684\u201c\u5bb9\u5668\u201d\uff08container\uff09\u800c\u4e0d\u662f\u6574\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u53bb\u652f\u6301\u4e00\u4e2a\u5e94\u7528\u7684\u914d\u7f6e\u3002\u5e94\u7528\u81ea\u8eab\u8fde\u540c\u5b83\u7684\u73af\u5883\u914d\u7f6e\u88ab\u6253\u5305\u4e3a\u4e00\u4e2a\u4e2aimage\u53ef\u4ee5\u81ea\u7531\u8fd0\u884c\u5728\u4e0d\u540c\u5e73\u53f0\u7684\u4e00\u4e2a\u4e2acontainer\u4e2d\uff0c\u8fd9\u6781\u5927\u5730\u8282\u7701\u4e86\u6240\u6709\u4eba\u7684\u65f6\u95f4\u6210\u672c\u3002","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker_1","text":"Docker \u5b98\u65b9\u6587\u6863 \u5f53\u7136\u662f\u6700\u597d\u7684\u521d\u5b66\u6559\u6750\uff0c\u4f46\u6700\u597d\u7684\u5bfc\u5e08\u4e00\u5b9a\u662f\u4f60\u81ea\u5df1\u2014\u2014\u5c1d\u8bd5\u53bb\u4f7f\u7528Docker\u624d\u80fd\u4eab\u53d7\u5b83\u5e26\u6765\u7684\u4fbf\u5229\u3002Docker\u5728\u5de5\u4e1a\u754c\u53d1\u5c55\u8fc5\u731b\u5e76\u5df2\u7ecf\u975e\u5e38\u6210\u719f\uff0c\u4f60\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u7684\u684c\u9762\u7aef\u5e76\u4f7f\u7528\u56fe\u5f62\u754c\u9762\u3002 \u5f53\u7136\uff0c\u5982\u679c\u4f60\u50cf\u6211\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u75af\u72c2\u7684\u9020\u8f6e\u5b50\u7231\u597d\u8005\uff0c\u90a3\u4e0d\u59a8\u81ea\u5df1\u4eb2\u624b\u5199\u4e00\u4e2a \u8ff7\u4f60Docker \u6765\u52a0\u6df1\u7406\u89e3\u3002 KodeKloud Docker for the Absolute Beginner \u5168\u9762\u7684\u4ecb\u7ecd\u4e86Docker\u7684\u57fa\u7840\u529f\u80fd\uff0c\u5e76\u4e14\u6709\u5927\u91cf\u7684\u914d\u5957\u7ec3\u4e60\uff0c\u540c\u65f6\u63d0\u4f9b\u514d\u8d39\u7684\u4e91\u73af\u5883\u6765\u5b8c\u6210\u7ec3\u4e60\u3002\u5176\u4f59\u7684\u4e91\u76f8\u5173\u7684\u8bfe\u7a0b\u5982Kubernetes\u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u4e2a\u4eba\u5f3a\u70c8\u63a8\u8350\uff1a\u8bb2\u89e3\u975e\u5e38\u4ed4\u7ec6\uff0c\u9002\u5408\u4ece0\u5f00\u59cb\u7684\u65b0\u624b\uff1b\u6709\u914d\u5957\u7684Kubernetes\u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u4e0d\u7528\u88ab\u642d\u5efa\u73af\u5883\u529d\u9000\u3002","title":"\u5982\u4f55\u5b66\u4e60Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/","text":"\u4e3a\u4ec0\u4e48\u4f7f\u7528Git Git\u662f\u4e00\u6b3e\u5206\u5e03\u5f0f\u7684\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\uff0cLinux\u4e4b\u7236Linus\u5acc\u5f03\u5f53\u65f6\u4e3b\u6d41\u7684\u4e2d\u5fc3\u5f0f\u7684\u7248\u672c\u63a7\u5236\u5de5\u5177\u592a\u96be\u7528\u8fd8\u8981\u82b1\u94b1\uff0c\u5c31\u81ea\u5df1\u5f00\u53d1\u51fa\u4e86Git\u7528\u6765\u7ef4\u62a4Linux\u7684\u7248\u672c\uff08\u7ed9\u5927\u4f6c\u8dea\u4e86\uff09\u3002 Git\u7684\u8bbe\u8ba1\u975e\u5e38\u4f18\u96c5\uff0c\u4f46\u521d\u5b66\u8005\u901a\u5e38\u56e0\u4e3a\u5f88\u96be\u7406\u89e3\u5176\u5185\u90e8\u903b\u8f91\u56e0\u6b64\u4f1a\u89c9\u5f97\u975e\u5e38\u96be\u7528\u3002\u5bf9Git\u4e0d\u719f\u6089\u7684\u521d\u5b66\u8005\u5f88\u5bb9\u6613\u51fa\u73b0\u56e0\u4e3a\u8bef\u7528\u547d\u4ee4\u5c06\u4ee3\u7801\u7ed9\u63a7\u5236\u7248\u672c\u63a7\u5236\u6ca1\u4e86\u7684\u72b6\u51b5\uff08\u597d\u5427\u662f\u6211\uff09\u3002 \u4f46\u76f8\u4fe1\u6211\uff0c\u548cVim\u4e00\u6837\uff0cGit\u662f\u4e00\u6b3e\u4f60\u6700\u7ec8\u638c\u63e1\u4e4b\u540e\u4f1a\u611f\u53f9\u201c\u5b83\u503c\u5f97\uff01\u201d\u7684\u795e\u5668\u3002 \u5982\u4f55\u5b66\u4e60Git \u548cVim\u4e0d\u540c\uff0c\u6211\u4e0d\u5efa\u8bae\u521d\u5b66\u8005\u5728\u4e00\u77e5\u534a\u89e3\u7684\u60c5\u51b5\u4e0b\u8d38\u7136\u4f7f\u7528Git\uff0c\u56e0\u4e3a\u5b83\u7684\u5185\u90e8\u903b\u8f91\u5e76\u4e0d\u80fd\u719f\u80fd\u751f\u5de7\uff0c\u800c\u662f\u9700\u8981\u82b1\u65f6\u95f4\u53bb\u7406\u89e3\u3002\u6211\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u9605\u8bfb\u8fd9\u7bc7 Git tutorial \u3002 \u9605\u8bfb\u8fd9\u672c\u5f00\u6e90\u4e66\u7c4d Pro Git \u7684Chapter1 - Chapter5\uff0c\u662f\u7684\u6ca1\u9519\uff0c\u5b66Git\u9700\u8981\u8bfb\u4e00\u672c\u4e66\uff08\u6342\u8138\uff09\u3002 \u6b64\u65f6\u4f60\u5df2\u7ecf\u638c\u63e1\u4e86Git\u7684\u539f\u7406\u548c\u7edd\u5927\u90e8\u5206\u7528\u6cd5\uff0c\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u5728\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56faGit\u7684\u547d\u4ee4\u4e86\u3002\u4f46\u7528\u597d\u5b83\u540c\u6837\u662f\u4e00\u95e8\u54f2\u5b66\uff0c\u6211\u4e2a\u4eba\u89c9\u5f97\u8fd9\u7bc7 \u5982\u4f55\u5199\u597d Commit Message \u7684\u535a\u5ba2\u975e\u5e38\u503c\u5f97\u4e00\u8bfb\u3002 \u597d\u7684\u6b64\u65f6\u4f60\u5df2\u7ecf\u7231\u4e0a\u4e86Git\uff0c\u4f60\u5df2\u7ecf\u4e0d\u6ee1\u8db3\u4e8e\u5b66\u4f1a\u5b83\u4e86\uff0c\u4f60\u60f3\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2aGit\uff01\u5de7\u4e86\uff0c\u6211\u5f53\u5e74\u4e5f\u6709\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c \u8fd9\u7bc7tutorial \u53ef\u4ee5\u6ee1\u8db3\u4f60\uff01 \u4ec0\u4e48\uff1f\u5149\u5b9e\u73b0\u4e00\u4e2aGit\u65e0\u6cd5\u6ee1\u8db3\u4f60\uff1f\u5c0f\u4f19\u5b50/\u5c0f\u4ed9\u5973\u6709\u524d\u9014\uff0c\u5de7\u7684\u662f\u6211\u4e5f\u559c\u6b22\u9020\u8f6e\u5b50\uff0c\u8fd9\u4e24\u4e2aGithub\u9879\u76ee build-your-own-x \u548c project-based-learning \u6536\u5f55\u4e86\u4f60\u80fd\u60f3\u5230\u7684\u5404\u79cd\u9020\u8f6e\u5b50\u6559\u7a0b\uff0c\u6bd4\u5982\uff1a\u81ea\u5df1\u9020\u4e2a\u7f16\u8f91\u5668\u3001\u81ea\u5df1\u5199\u4e2a\u865a\u62df\u673a\u3001\u81ea\u5df1\u5199\u4e2adocker\u3001\u81ea\u5df1\u5199\u4e2aTCP\u7b49\u7b49\u7b49\u7b49\u3002","title":"Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#git","text":"Git\u662f\u4e00\u6b3e\u5206\u5e03\u5f0f\u7684\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\uff0cLinux\u4e4b\u7236Linus\u5acc\u5f03\u5f53\u65f6\u4e3b\u6d41\u7684\u4e2d\u5fc3\u5f0f\u7684\u7248\u672c\u63a7\u5236\u5de5\u5177\u592a\u96be\u7528\u8fd8\u8981\u82b1\u94b1\uff0c\u5c31\u81ea\u5df1\u5f00\u53d1\u51fa\u4e86Git\u7528\u6765\u7ef4\u62a4Linux\u7684\u7248\u672c\uff08\u7ed9\u5927\u4f6c\u8dea\u4e86\uff09\u3002 Git\u7684\u8bbe\u8ba1\u975e\u5e38\u4f18\u96c5\uff0c\u4f46\u521d\u5b66\u8005\u901a\u5e38\u56e0\u4e3a\u5f88\u96be\u7406\u89e3\u5176\u5185\u90e8\u903b\u8f91\u56e0\u6b64\u4f1a\u89c9\u5f97\u975e\u5e38\u96be\u7528\u3002\u5bf9Git\u4e0d\u719f\u6089\u7684\u521d\u5b66\u8005\u5f88\u5bb9\u6613\u51fa\u73b0\u56e0\u4e3a\u8bef\u7528\u547d\u4ee4\u5c06\u4ee3\u7801\u7ed9\u63a7\u5236\u7248\u672c\u63a7\u5236\u6ca1\u4e86\u7684\u72b6\u51b5\uff08\u597d\u5427\u662f\u6211\uff09\u3002 \u4f46\u76f8\u4fe1\u6211\uff0c\u548cVim\u4e00\u6837\uff0cGit\u662f\u4e00\u6b3e\u4f60\u6700\u7ec8\u638c\u63e1\u4e4b\u540e\u4f1a\u611f\u53f9\u201c\u5b83\u503c\u5f97\uff01\u201d\u7684\u795e\u5668\u3002","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#git_1","text":"\u548cVim\u4e0d\u540c\uff0c\u6211\u4e0d\u5efa\u8bae\u521d\u5b66\u8005\u5728\u4e00\u77e5\u534a\u89e3\u7684\u60c5\u51b5\u4e0b\u8d38\u7136\u4f7f\u7528Git\uff0c\u56e0\u4e3a\u5b83\u7684\u5185\u90e8\u903b\u8f91\u5e76\u4e0d\u80fd\u719f\u80fd\u751f\u5de7\uff0c\u800c\u662f\u9700\u8981\u82b1\u65f6\u95f4\u53bb\u7406\u89e3\u3002\u6211\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u9605\u8bfb\u8fd9\u7bc7 Git tutorial \u3002 \u9605\u8bfb\u8fd9\u672c\u5f00\u6e90\u4e66\u7c4d Pro Git \u7684Chapter1 - Chapter5\uff0c\u662f\u7684\u6ca1\u9519\uff0c\u5b66Git\u9700\u8981\u8bfb\u4e00\u672c\u4e66\uff08\u6342\u8138\uff09\u3002 \u6b64\u65f6\u4f60\u5df2\u7ecf\u638c\u63e1\u4e86Git\u7684\u539f\u7406\u548c\u7edd\u5927\u90e8\u5206\u7528\u6cd5\uff0c\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u5728\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56faGit\u7684\u547d\u4ee4\u4e86\u3002\u4f46\u7528\u597d\u5b83\u540c\u6837\u662f\u4e00\u95e8\u54f2\u5b66\uff0c\u6211\u4e2a\u4eba\u89c9\u5f97\u8fd9\u7bc7 \u5982\u4f55\u5199\u597d Commit Message \u7684\u535a\u5ba2\u975e\u5e38\u503c\u5f97\u4e00\u8bfb\u3002 \u597d\u7684\u6b64\u65f6\u4f60\u5df2\u7ecf\u7231\u4e0a\u4e86Git\uff0c\u4f60\u5df2\u7ecf\u4e0d\u6ee1\u8db3\u4e8e\u5b66\u4f1a\u5b83\u4e86\uff0c\u4f60\u60f3\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2aGit\uff01\u5de7\u4e86\uff0c\u6211\u5f53\u5e74\u4e5f\u6709\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c \u8fd9\u7bc7tutorial \u53ef\u4ee5\u6ee1\u8db3\u4f60\uff01 \u4ec0\u4e48\uff1f\u5149\u5b9e\u73b0\u4e00\u4e2aGit\u65e0\u6cd5\u6ee1\u8db3\u4f60\uff1f\u5c0f\u4f19\u5b50/\u5c0f\u4ed9\u5973\u6709\u524d\u9014\uff0c\u5de7\u7684\u662f\u6211\u4e5f\u559c\u6b22\u9020\u8f6e\u5b50\uff0c\u8fd9\u4e24\u4e2aGithub\u9879\u76ee build-your-own-x \u548c project-based-learning \u6536\u5f55\u4e86\u4f60\u80fd\u60f3\u5230\u7684\u5404\u79cd\u9020\u8f6e\u5b50\u6559\u7a0b\uff0c\u6bd4\u5982\uff1a\u81ea\u5df1\u9020\u4e2a\u7f16\u8f91\u5668\u3001\u81ea\u5df1\u5199\u4e2a\u865a\u62df\u673a\u3001\u81ea\u5df1\u5199\u4e2adocker\u3001\u81ea\u5df1\u5199\u4e2aTCP\u7b49\u7b49\u7b49\u7b49\u3002","title":"\u5982\u4f55\u5b66\u4e60Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Github/","text":"Github\u662f\u4ec0\u4e48 \u4ece\u529f\u80fd\u4e0a\u6765\u8bf4\uff0cGithub\u662f\u4e00\u4e2a\u5728\u7ebf\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u4f60\u53ef\u4ee5\u5c06\u4f60\u7684\u672c\u5730Git\u4ed3\u5e93\u6258\u7ba1\u5230Github\u4e0a\uff0c\u4f9b\u591a\u4eba\u540c\u65f6\u5f00\u53d1\u6d4f\u89c8\u3002\u4f46\u73b0\u5982\u4ecaGithub\u7684\u610f\u4e49\u5df2\u8fdc\u4e0d\u6b62\u5982\u6b64\uff0c\u5b83\u5df2\u7ecf\u6f14\u53d8\u4e3a\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u4e14\u8d44\u6e90\u6781\u4e3a\u4e30\u5bcc\u7684\u5f00\u6e90\u4ea4\u6d41\u793e\u533a\u3002\u5168\u4e16\u754c\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u5728Github\u4e0a\u5206\u4eab\u5404\u5f0f\u5404\u6837\u79cd\u7c7b\u7e41\u591a\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u5927\u5230\u5de5\u4e1a\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6pytorch\u3001tensorflow\uff0c\u5c0f\u5230\u51e0\u5341\u884c\u7684\u5b9e\u7528\u811a\u672c\uff0c\u65e2\u6709\u786c\u6838\u7684\u77e5\u8bc6\u5206\u4eab\uff0c\u4e5f\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\u6307\u5bfc\uff0c\u751a\u81f3\u5f88\u591a\u6280\u672f\u4e66\u7c4d\u4e5f\u5728github\u4e0a\u5f00\u6e90\uff08\u4f8b\u5982\u8bf8\u4f4d\u6b63\u5728\u770b\u7684\u8fd9\u672c\u2014\u2014\u5982\u679c\u6211\u539a\u7740\u8138\u76ae\u52c9\u5f3a\u79f0\u4e4b\u4e3a\u4e66\u7684\u8bdd\uff09\u3002\u95f2\u6765\u65e0\u4e8b\u901b\u901bGithub\u5df2\u7ecf\u6210\u4e3a\u4e86\u6211\u65e5\u5e38\u751f\u6d3b\u7684\u4e00\u90e8\u5206\u3002 \u5728Github\u91cc\uff0c\u661f\u661f\u662f\u5bf9\u4e00\u4e2a\u9879\u76ee\u81f3\u9ad8\u65e0\u4e0a\u7684\u80af\u5b9a\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u672c\u4e66\u5bf9\u4f60\u6709\u7528\u7684\u8bdd\uff0c\u6b22\u8fce\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u94fe\u63a5\u8fdb\u5165\u4ed3\u5e93\u4e3b\u9875\u732e\u51fa\u4f60\u5b9d\u8d35\u7684\u661f\u661f\u2728\u3002 \u5982\u4f55\u4f7f\u7528Github \u5982\u679c\u4f60\u8fd8\u4ece\u672a\u5728Github\u4e0a\u5efa\u7acb\u8fc7\u81ea\u5df1\u7684\u8fdc\u7a0b\u4ed3\u5e93\uff0c\u4e5f\u6ca1\u6709\u514b\u9686\u8fc7\u522b\u4eba\u7684\u4ee3\u7801\uff0c\u90a3\u4e48\u6211\u5efa\u8bae\u4f60\u4ece Github\u7684\u5b98\u65b9\u6559\u7a0b \u5f00\u59cb\u81ea\u5df1\u7684\u5f00\u6e90\u4e4b\u65c5\u3002 \u5982\u679c\u4f60\u60f3\u65f6\u523b\u5173\u6ce8Github\u4e0a\u4e00\u4e9b\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u90a3\u4e48\u6211\u5411\u4f60\u91cd\u78c5\u63a8\u8350 HelloGithub \u8fd9\u4e2a\u7f51\u7ad9\u4ee5\u53ca\u5b83\u7684\u540c\u540d\u5fae\u4fe1\u516c\u4f17\u53f7\u3002\u5b83\u4f1a\u5b9a\u671f\u6536\u5f55Github\u4e0a\u8fd1\u671f\u5f00\u59cb\u6d41\u884c\u7684\u6216\u8005\u975e\u5e38\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u7b2c\u4e00\u65f6\u95f4\u63a5\u89e6\u5404\u7c7b\u4f18\u8d28\u8d44\u6e90\u3002 Github\u4e4b\u6240\u4ee5\u6210\u529f\uff0c\u6211\u60f3\u662f\u5f97\u76ca\u4e8e\u201c\u6211\u4e3a\u4eba\u4eba\uff0c\u4eba\u4eba\u4e3a\u6211\u201d\u7684\u5f00\u6e90\u7cbe\u795e\uff0c\u5f97\u76ca\u4e8e\u77e5\u8bc6\u5206\u4eab\u7684\u5feb\u4e50\u3002\u5982\u679c\u4f60\u4e5f\u60f3\u6210\u4e3a\u4e0b\u4e00\u4e2a\u4e07\u4eba\u656c\u4ef0\u7684\u5f00\u6e90\u5927\u4f6c\uff0c\u6216\u8005\u4e0b\u4e00\u4e2astar\u7834\u4e07\u7684\u9879\u76ee\u4f5c\u8005\u3002\u90a3\u5c31\u628a\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7075\u611f\u4e00\u73b0\u7684idea\u5316\u4f5c\u4ee3\u7801\uff0c\u5c55\u793a\u5728Github\u4e0a\u5427\uff5e \u4e0d\u8fc7\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u5f00\u6e90\u793e\u533a\u4e0d\u662f\u6cd5\u5916\u4e4b\u5730\uff0c\u5f88\u591a\u5f00\u6e90\u8f6f\u4ef6\u5e76\u4e0d\u662f\u53ef\u4ee5\u968f\u610f\u590d\u5236\u5206\u53d1\u751a\u81f3\u8d29\u5356\u7684\uff0c\u4e86\u89e3\u5404\u7c7b \u5f00\u6e90\u534f\u8bae \u5e76\u9075\u5b88\uff0c\u4e0d\u4ec5\u662f\u6cd5\u5f8b\u7684\u8981\u6c42\uff0c\u66f4\u662f\u6bcf\u4e2a\u5f00\u6e90\u793e\u533a\u6210\u5458\u7684\u8d23\u4efb\u3002","title":"Github"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Github/#github","text":"\u4ece\u529f\u80fd\u4e0a\u6765\u8bf4\uff0cGithub\u662f\u4e00\u4e2a\u5728\u7ebf\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u4f60\u53ef\u4ee5\u5c06\u4f60\u7684\u672c\u5730Git\u4ed3\u5e93\u6258\u7ba1\u5230Github\u4e0a\uff0c\u4f9b\u591a\u4eba\u540c\u65f6\u5f00\u53d1\u6d4f\u89c8\u3002\u4f46\u73b0\u5982\u4ecaGithub\u7684\u610f\u4e49\u5df2\u8fdc\u4e0d\u6b62\u5982\u6b64\uff0c\u5b83\u5df2\u7ecf\u6f14\u53d8\u4e3a\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u4e14\u8d44\u6e90\u6781\u4e3a\u4e30\u5bcc\u7684\u5f00\u6e90\u4ea4\u6d41\u793e\u533a\u3002\u5168\u4e16\u754c\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u5728Github\u4e0a\u5206\u4eab\u5404\u5f0f\u5404\u6837\u79cd\u7c7b\u7e41\u591a\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u5927\u5230\u5de5\u4e1a\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6pytorch\u3001tensorflow\uff0c\u5c0f\u5230\u51e0\u5341\u884c\u7684\u5b9e\u7528\u811a\u672c\uff0c\u65e2\u6709\u786c\u6838\u7684\u77e5\u8bc6\u5206\u4eab\uff0c\u4e5f\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\u6307\u5bfc\uff0c\u751a\u81f3\u5f88\u591a\u6280\u672f\u4e66\u7c4d\u4e5f\u5728github\u4e0a\u5f00\u6e90\uff08\u4f8b\u5982\u8bf8\u4f4d\u6b63\u5728\u770b\u7684\u8fd9\u672c\u2014\u2014\u5982\u679c\u6211\u539a\u7740\u8138\u76ae\u52c9\u5f3a\u79f0\u4e4b\u4e3a\u4e66\u7684\u8bdd\uff09\u3002\u95f2\u6765\u65e0\u4e8b\u901b\u901bGithub\u5df2\u7ecf\u6210\u4e3a\u4e86\u6211\u65e5\u5e38\u751f\u6d3b\u7684\u4e00\u90e8\u5206\u3002 \u5728Github\u91cc\uff0c\u661f\u661f\u662f\u5bf9\u4e00\u4e2a\u9879\u76ee\u81f3\u9ad8\u65e0\u4e0a\u7684\u80af\u5b9a\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u672c\u4e66\u5bf9\u4f60\u6709\u7528\u7684\u8bdd\uff0c\u6b22\u8fce\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u94fe\u63a5\u8fdb\u5165\u4ed3\u5e93\u4e3b\u9875\u732e\u51fa\u4f60\u5b9d\u8d35\u7684\u661f\u661f\u2728\u3002","title":"Github\u662f\u4ec0\u4e48"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Github/#github_1","text":"\u5982\u679c\u4f60\u8fd8\u4ece\u672a\u5728Github\u4e0a\u5efa\u7acb\u8fc7\u81ea\u5df1\u7684\u8fdc\u7a0b\u4ed3\u5e93\uff0c\u4e5f\u6ca1\u6709\u514b\u9686\u8fc7\u522b\u4eba\u7684\u4ee3\u7801\uff0c\u90a3\u4e48\u6211\u5efa\u8bae\u4f60\u4ece Github\u7684\u5b98\u65b9\u6559\u7a0b \u5f00\u59cb\u81ea\u5df1\u7684\u5f00\u6e90\u4e4b\u65c5\u3002 \u5982\u679c\u4f60\u60f3\u65f6\u523b\u5173\u6ce8Github\u4e0a\u4e00\u4e9b\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u90a3\u4e48\u6211\u5411\u4f60\u91cd\u78c5\u63a8\u8350 HelloGithub \u8fd9\u4e2a\u7f51\u7ad9\u4ee5\u53ca\u5b83\u7684\u540c\u540d\u5fae\u4fe1\u516c\u4f17\u53f7\u3002\u5b83\u4f1a\u5b9a\u671f\u6536\u5f55Github\u4e0a\u8fd1\u671f\u5f00\u59cb\u6d41\u884c\u7684\u6216\u8005\u975e\u5e38\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u7b2c\u4e00\u65f6\u95f4\u63a5\u89e6\u5404\u7c7b\u4f18\u8d28\u8d44\u6e90\u3002 Github\u4e4b\u6240\u4ee5\u6210\u529f\uff0c\u6211\u60f3\u662f\u5f97\u76ca\u4e8e\u201c\u6211\u4e3a\u4eba\u4eba\uff0c\u4eba\u4eba\u4e3a\u6211\u201d\u7684\u5f00\u6e90\u7cbe\u795e\uff0c\u5f97\u76ca\u4e8e\u77e5\u8bc6\u5206\u4eab\u7684\u5feb\u4e50\u3002\u5982\u679c\u4f60\u4e5f\u60f3\u6210\u4e3a\u4e0b\u4e00\u4e2a\u4e07\u4eba\u656c\u4ef0\u7684\u5f00\u6e90\u5927\u4f6c\uff0c\u6216\u8005\u4e0b\u4e00\u4e2astar\u7834\u4e07\u7684\u9879\u76ee\u4f5c\u8005\u3002\u90a3\u5c31\u628a\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7075\u611f\u4e00\u73b0\u7684idea\u5316\u4f5c\u4ee3\u7801\uff0c\u5c55\u793a\u5728Github\u4e0a\u5427\uff5e \u4e0d\u8fc7\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u5f00\u6e90\u793e\u533a\u4e0d\u662f\u6cd5\u5916\u4e4b\u5730\uff0c\u5f88\u591a\u5f00\u6e90\u8f6f\u4ef6\u5e76\u4e0d\u662f\u53ef\u4ee5\u968f\u610f\u590d\u5236\u5206\u53d1\u751a\u81f3\u8d29\u5356\u7684\uff0c\u4e86\u89e3\u5404\u7c7b \u5f00\u6e90\u534f\u8bae \u5e76\u9075\u5b88\uff0c\u4e0d\u4ec5\u662f\u6cd5\u5f8b\u7684\u8981\u6c42\uff0c\u66f4\u662f\u6bcf\u4e2a\u5f00\u6e90\u793e\u533a\u6210\u5458\u7684\u8d23\u4efb\u3002","title":"\u5982\u4f55\u4f7f\u7528Github"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Latex/","text":"\u4e3a\u4ec0\u4e48\u5b66Latex \u5982\u679c\u4f60\u9700\u8981\u5199\u8bba\u6587\uff0c\u90a3\u4e48\u8bf7\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u8282\uff0c\u56e0\u4e3a\u4f60\u4e0d\u5b66\u4e5f\u5f97\u5b66\u3002 LaTex\u662f\u4e00\u79cd\u57fa\u4e8eTex\u7684\u6392\u7248\u7cfb\u7edf\uff0c\u7531\u56fe\u7075\u5956\u5f97\u4e3bLamport\u5f00\u53d1\uff0c\u800cTex\u5219\u662f\u7531Knuth\u6700\u521d\u5f00\u53d1\uff0c\u8fd9\u4e24\u4f4d\u90fd\u662f\u8ba1\u7b97\u673a\u754c\u7684\u5de8\u64d8\u3002\u5f53\u7136\u5f00\u53d1\u8005\u5f3a\u5e76\u4e0d\u662f\u6211\u4eec\u5b66\u4e60LaTex\u7684\u7406\u7531\uff0cLaTex\u548c\u5e38\u89c1\u7684\u6240\u89c1\u5373\u6240\u5f97\u7684Word\u6587\u6863\u6700\u5927\u7684\u533a\u522b\u5c31\u662f\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5199\u4f5c\u7684\u5185\u5bb9\uff0c\u800c\u6392\u7248\u5219\u5b8c\u5168\u4ea4\u7ed9\u8f6f\u4ef6\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u8ba9\u6ca1\u6709\u4efb\u4f55\u6392\u7248\u7ecf\u9a8c\u7684\u666e\u901a\u4eba\u5f97\u4ee5\u5199\u51fa\u6392\u7248\u975e\u5e38\u4e13\u4e1a\u7684\u8bba\u6587\u6216\u6587\u7ae0\u3002 Berkeley\u8ba1\u7b97\u673a\u7cfb\u6559\u6388Christos Papadimitriou\u66fe\u8bf4\u8fc7\u4e00\u53e5\u534a\u5f00\u73a9\u7b11\u7684\u8bdd\uff1a Every time I read a LaTeX document, I think, wow, this must be correct! \u5982\u4f55\u5b66\u4e60LaTex \u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a LaTex\u7684\u73af\u5883\u914d\u7f6e\u662f\u4e2a\u6bd4\u8f83\u5934\u75bc\u7684\u95ee\u9898\u3002\u5982\u679c\u4f60\u672c\u5730\u914d\u7f6eLaTex\u73af\u5883\u51fa\u73b0\u4e86\u95ee\u9898\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 Overleaf \u8fd9\u4e2a\u5728\u7ebfLaTex\u7f16\u8f91\u7f51\u7ad9\u3002\u7ad9\u5185\u4e0d\u4ec5\u6709\u5404\u79cd\u5404\u6837\u7684LaTex\u6a21\u7248\u4f9b\u4f60\u9009\u62e9\u8fd8\u514d\u53bb\u4e86\u73af\u5883\u914d\u7f6e\u7684\u96be\u9898\u3002 \u9605\u8bfb\u4e0b\u9762\u4e09\u7bc7Tutorial: Part-1 , Part-2 , Part-3 . \u5b66\u4e60LaTex\u6700\u597d\u7684\u65b9\u5f0f\u5f53\u7136\u662f\u5199\u8bba\u6587\uff0c\u4e0d\u8fc7\u4ece\u4e00\u95e8\u6570\u5b66\u8bfe\u5165\u624b\u7528LaTex\u5199\u4f5c\u4e1a\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002","title":"Latex"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Latex/#latex","text":"\u5982\u679c\u4f60\u9700\u8981\u5199\u8bba\u6587\uff0c\u90a3\u4e48\u8bf7\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u8282\uff0c\u56e0\u4e3a\u4f60\u4e0d\u5b66\u4e5f\u5f97\u5b66\u3002 LaTex\u662f\u4e00\u79cd\u57fa\u4e8eTex\u7684\u6392\u7248\u7cfb\u7edf\uff0c\u7531\u56fe\u7075\u5956\u5f97\u4e3bLamport\u5f00\u53d1\uff0c\u800cTex\u5219\u662f\u7531Knuth\u6700\u521d\u5f00\u53d1\uff0c\u8fd9\u4e24\u4f4d\u90fd\u662f\u8ba1\u7b97\u673a\u754c\u7684\u5de8\u64d8\u3002\u5f53\u7136\u5f00\u53d1\u8005\u5f3a\u5e76\u4e0d\u662f\u6211\u4eec\u5b66\u4e60LaTex\u7684\u7406\u7531\uff0cLaTex\u548c\u5e38\u89c1\u7684\u6240\u89c1\u5373\u6240\u5f97\u7684Word\u6587\u6863\u6700\u5927\u7684\u533a\u522b\u5c31\u662f\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5199\u4f5c\u7684\u5185\u5bb9\uff0c\u800c\u6392\u7248\u5219\u5b8c\u5168\u4ea4\u7ed9\u8f6f\u4ef6\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u8ba9\u6ca1\u6709\u4efb\u4f55\u6392\u7248\u7ecf\u9a8c\u7684\u666e\u901a\u4eba\u5f97\u4ee5\u5199\u51fa\u6392\u7248\u975e\u5e38\u4e13\u4e1a\u7684\u8bba\u6587\u6216\u6587\u7ae0\u3002 Berkeley\u8ba1\u7b97\u673a\u7cfb\u6559\u6388Christos Papadimitriou\u66fe\u8bf4\u8fc7\u4e00\u53e5\u534a\u5f00\u73a9\u7b11\u7684\u8bdd\uff1a Every time I read a LaTeX document, I think, wow, this must be correct!","title":"\u4e3a\u4ec0\u4e48\u5b66Latex"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Latex/#latex_1","text":"\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a LaTex\u7684\u73af\u5883\u914d\u7f6e\u662f\u4e2a\u6bd4\u8f83\u5934\u75bc\u7684\u95ee\u9898\u3002\u5982\u679c\u4f60\u672c\u5730\u914d\u7f6eLaTex\u73af\u5883\u51fa\u73b0\u4e86\u95ee\u9898\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 Overleaf \u8fd9\u4e2a\u5728\u7ebfLaTex\u7f16\u8f91\u7f51\u7ad9\u3002\u7ad9\u5185\u4e0d\u4ec5\u6709\u5404\u79cd\u5404\u6837\u7684LaTex\u6a21\u7248\u4f9b\u4f60\u9009\u62e9\u8fd8\u514d\u53bb\u4e86\u73af\u5883\u914d\u7f6e\u7684\u96be\u9898\u3002 \u9605\u8bfb\u4e0b\u9762\u4e09\u7bc7Tutorial: Part-1 , Part-2 , Part-3 . \u5b66\u4e60LaTex\u6700\u597d\u7684\u65b9\u5f0f\u5f53\u7136\u662f\u5199\u8bba\u6587\uff0c\u4e0d\u8fc7\u4ece\u4e00\u95e8\u6570\u5b66\u8bfe\u5165\u624b\u7528LaTex\u5199\u4f5c\u4e1a\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002","title":"\u5982\u4f55\u5b66\u4e60LaTex"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Makefile/","text":"\u4e3a\u4ec0\u4e48\u5b66Makefile \u5927\u5bb6\u7b2c\u4e00\u6b21\u5199hello world\u7a0b\u5e8f\u7684\u65f6\u5019\u4e00\u5b9a\u90fd\u8bb0\u5f97\uff0c\u5728\u7f16\u8f91\u5b8c helloworld.c \u4e4b\u540e\uff0c\u9700\u8981\u7528 gcc \u7f16\u8bd1\u751f\u6210\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u7136\u540e\u518d\u6267\u884c\uff08\u5982\u679c\u4f60\u4e0d\u7406\u89e3\u524d\u9762\u8fd9\u6bb5\u8bdd\uff0c\u8bf7\u5148\u81ea\u884c\u8c37\u6b4c gcc \u7f16\u8bd1 \u5e76\u7406\u89e3\u76f8\u5173\u5185\u5bb9\uff09\u3002\u4f46\u5982\u679c\u4f60\u7684\u9879\u76ee\u7531\u6210\u767e\u4e0a\u5343\u4e2aC\u6e90\u6587\u4ef6\u7ec4\u6210\uff0c\u5e76\u4e14\u661f\u7f57\u68cb\u5e03\u5728\u5404\u4e2a\u5b50\u76ee\u5f55\u4e0b\uff0c\u4f60\u8be5\u5982\u4f55\u5c06\u5b83\u4eec\u7f16\u8bd1\u94fe\u63a5\u5230\u4e00\u8d77\u5462\uff1f\u5047\u5982\u4f60\u7684\u9879\u76ee\u7f16\u8bd1\u4e00\u6b21\u9700\u8981\u534a\u4e2a\u5c0f\u65f6\uff08\u5927\u578b\u9879\u76ee\u76f8\u5f53\u5e38\u89c1\uff09\uff0c\u800c\u4f60\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u5206\u53f7\uff0c\u662f\u4e0d\u662f\u8fd8\u9700\u8981\u518d\u7b49\u534a\u4e2a\u5c0f\u65f6\u5462\uff1f \u8fd9\u65f6\u5019Makefile\u5c31\u95ea\u4eae\u767b\u573a\u4e86\uff0c\u5b83\u80fd\u8ba9\u4f60\u5728\u4e00\u4e2a\u811a\u672c\u91cc\uff08\u5373\u6240\u8c13\u7684Makefile\uff09\u5b9a\u4e49\u6574\u4e2a\u7f16\u8bd1\u6d41\u7a0b\u4ee5\u53ca\u5404\u4e2a\u76ee\u6807\u6587\u4ef6\u4e0e\u6e90\u6587\u4ef6\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u4e14\u53ea\u91cd\u65b0\u7f16\u8bd1\u4f60\u7684\u4fee\u6539\u4f1a\u5f71\u54cd\u5230\u7684\u90e8\u5206\uff0c\u4ece\u800c\u964d\u4f4e\u7f16\u8bd1\u7684\u65f6\u95f4\u3002 \u5982\u4f55\u5b66\u4e60Makefile \u8fd9\u91cc\u6709\u4e00\u7bc7\u5199\u5f97\u6df1\u5165\u6d45\u51fa\u7684 \u6587\u6863 \u4f9b\u5927\u5bb6\u53c2\u8003\u3002 Makefile\u638c\u63e1\u8d77\u6765\u76f8\u5bf9\u5bb9\u6613\uff0c\u4f46\u7528\u597d\u5b83\u9700\u8981\u4e0d\u65ad\u7684\u7ec3\u4e60\u3002\u5c06\u5b83\u878d\u5165\u5230\u81ea\u5df1\u7684\u65e5\u5e38\u5f00\u53d1\u4e2d\uff0c\u52e4\u4e8e\u5b66\u4e60\u548c\u6a21\u4eff\u5176\u4ed6\u4f18\u79c0\u5f00\u6e90\u9879\u76ee\u91cc\u7684Makefile\u7684\u5199\u6cd5\uff0c\u603b\u7ed3\u51fa\u9002\u5408\u81ea\u5df1\u7684template\uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u4f60\u5bf9Makefile\u7684\u4f7f\u7528\u4f1a\u6108\u52a0\u7eaf\u719f\u3002","title":"Makefile"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Makefile/#makefile","text":"\u5927\u5bb6\u7b2c\u4e00\u6b21\u5199hello world\u7a0b\u5e8f\u7684\u65f6\u5019\u4e00\u5b9a\u90fd\u8bb0\u5f97\uff0c\u5728\u7f16\u8f91\u5b8c helloworld.c \u4e4b\u540e\uff0c\u9700\u8981\u7528 gcc \u7f16\u8bd1\u751f\u6210\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u7136\u540e\u518d\u6267\u884c\uff08\u5982\u679c\u4f60\u4e0d\u7406\u89e3\u524d\u9762\u8fd9\u6bb5\u8bdd\uff0c\u8bf7\u5148\u81ea\u884c\u8c37\u6b4c gcc \u7f16\u8bd1 \u5e76\u7406\u89e3\u76f8\u5173\u5185\u5bb9\uff09\u3002\u4f46\u5982\u679c\u4f60\u7684\u9879\u76ee\u7531\u6210\u767e\u4e0a\u5343\u4e2aC\u6e90\u6587\u4ef6\u7ec4\u6210\uff0c\u5e76\u4e14\u661f\u7f57\u68cb\u5e03\u5728\u5404\u4e2a\u5b50\u76ee\u5f55\u4e0b\uff0c\u4f60\u8be5\u5982\u4f55\u5c06\u5b83\u4eec\u7f16\u8bd1\u94fe\u63a5\u5230\u4e00\u8d77\u5462\uff1f\u5047\u5982\u4f60\u7684\u9879\u76ee\u7f16\u8bd1\u4e00\u6b21\u9700\u8981\u534a\u4e2a\u5c0f\u65f6\uff08\u5927\u578b\u9879\u76ee\u76f8\u5f53\u5e38\u89c1\uff09\uff0c\u800c\u4f60\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u5206\u53f7\uff0c\u662f\u4e0d\u662f\u8fd8\u9700\u8981\u518d\u7b49\u534a\u4e2a\u5c0f\u65f6\u5462\uff1f \u8fd9\u65f6\u5019Makefile\u5c31\u95ea\u4eae\u767b\u573a\u4e86\uff0c\u5b83\u80fd\u8ba9\u4f60\u5728\u4e00\u4e2a\u811a\u672c\u91cc\uff08\u5373\u6240\u8c13\u7684Makefile\uff09\u5b9a\u4e49\u6574\u4e2a\u7f16\u8bd1\u6d41\u7a0b\u4ee5\u53ca\u5404\u4e2a\u76ee\u6807\u6587\u4ef6\u4e0e\u6e90\u6587\u4ef6\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u4e14\u53ea\u91cd\u65b0\u7f16\u8bd1\u4f60\u7684\u4fee\u6539\u4f1a\u5f71\u54cd\u5230\u7684\u90e8\u5206\uff0c\u4ece\u800c\u964d\u4f4e\u7f16\u8bd1\u7684\u65f6\u95f4\u3002","title":"\u4e3a\u4ec0\u4e48\u5b66Makefile"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Makefile/#makefile_1","text":"\u8fd9\u91cc\u6709\u4e00\u7bc7\u5199\u5f97\u6df1\u5165\u6d45\u51fa\u7684 \u6587\u6863 \u4f9b\u5927\u5bb6\u53c2\u8003\u3002 Makefile\u638c\u63e1\u8d77\u6765\u76f8\u5bf9\u5bb9\u6613\uff0c\u4f46\u7528\u597d\u5b83\u9700\u8981\u4e0d\u65ad\u7684\u7ec3\u4e60\u3002\u5c06\u5b83\u878d\u5165\u5230\u81ea\u5df1\u7684\u65e5\u5e38\u5f00\u53d1\u4e2d\uff0c\u52e4\u4e8e\u5b66\u4e60\u548c\u6a21\u4eff\u5176\u4ed6\u4f18\u79c0\u5f00\u6e90\u9879\u76ee\u91cc\u7684Makefile\u7684\u5199\u6cd5\uff0c\u603b\u7ed3\u51fa\u9002\u5408\u81ea\u5df1\u7684template\uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u4f60\u5bf9Makefile\u7684\u4f7f\u7528\u4f1a\u6108\u52a0\u7eaf\u719f\u3002","title":"\u5982\u4f55\u5b66\u4e60Makefile"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/","text":"\u4e3a\u4ec0\u4e48\u5b66\u4e60Vim \u5728\u6211\u770b\u6765Vim\u7f16\u8f91\u5668\u6709\u5982\u4e0b\u7684\u597d\u5904\uff1a \u8ba9\u4f60\u7684\u6574\u4e2a\u5f00\u53d1\u8fc7\u7a0b\u624b\u6307\u4e0d\u9700\u8981\u79bb\u5f00\u952e\u76d8\uff0c\u800c\u4e14\u5149\u6807\u7684\u79fb\u52a8\u4e0d\u9700\u8981\u65b9\u5411\u952e\u4f7f\u5f97\u4f60\u7684\u624b\u6307\u4e00\u76f4\u5904\u5728\u6253\u5b57\u7684\u6700\u4f73\u4f4d\u7f6e\u3002 \u65b9\u4fbf\u7684\u6587\u4ef6\u5207\u6362\u4ee5\u53ca\u9762\u677f\u63a7\u5236\u53ef\u4ee5\u8ba9\u4f60\u540c\u65f6\u5f00\u53d1\u591a\u4efd\u6587\u4ef6\u751a\u81f3\u540c\u4e00\u4e2a\u6587\u4ef6\u7684\u4e0d\u540c\u4f4d\u7f6e\u3002 Vim\u7684\u5b8f\u64cd\u4f5c\u53ef\u4ee5\u6279\u91cf\u5316\u5904\u7406\u91cd\u590d\u64cd\u4f5c\uff08\u4f8b\u5982\u591a\u884ctab\uff0c\u6279\u91cf\u52a0\u53cc\u5f15\u53f7\u7b49\u7b49\uff09 Vim\u662f\u5f88\u591a\u670d\u52a1\u5668\u81ea\u5e26\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\uff0c\u5f53\u4f60\u901a\u8fc7ssh\u8fde\u63a5\u8fdc\u7a0b\u670d\u52a1\u5668\u4e4b\u540e\uff0c\u7531\u4e8e\u6ca1\u6709\u56fe\u5f62\u754c\u9762\uff0c\u53ea\u80fd\u5728\u547d\u4ee4\u884c\u91cc\u8fdb\u884c\u5f00\u53d1\uff08\u5f53\u7136\u73b0\u5728\u5f88\u591aIDE\u5982vscode\u63d0\u4f9b\u4e86ssh\u63d2\u4ef6\u53ef\u4ee5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff09\u3002 \u5f02\u5e38\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u8ba9\u4f60\u62e5\u6709\u4e16\u754c\u4e0a\u6700\u82b1\u91cc\u80e1\u54e8\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\u3002 \u5982\u4f55\u5b66\u4e60Vim \u4e0d\u5e78\u7684\u662fVim\u7684\u5b66\u4e60\u66f2\u7ebf\u786e\u5b9e\u76f8\u5f53\u9661\u5ced\uff0c\u6211\u82b1\u4e86\u597d\u51e0\u4e2a\u661f\u671f\u624d\u6162\u6162\u9002\u5e94\u4e86\u7528Vim\u8fdb\u884c\u5f00\u53d1\u7684\u8fc7\u7a0b\u3002\u6700\u5f00\u59cb\u4f60\u4f1a\u89c9\u5f97\u975e\u5e38\u4e0d\u9002\u5e94\uff0c\u4f46\u4e00\u65e6\u71ac\u8fc7\u4e86\u521d\u59cb\u9636\u6bb5\uff0c\u76f8\u4fe1\u6211\uff0c\u4f60\u4f1a\u7231\u4e0aVim\u3002 Vim\u7684\u5b66\u4e60\u8d44\u6599\u6d69\u5982\u70df\u6d77\uff0c\u4f46\u638c\u63e1\u5b83\u6700\u597d\u7684\u65b9\u5f0f\u8fd8\u662f\u5c06\u5b83\u7528\u5728\u65e5\u5e38\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u800c\u4e0d\u662f\u4e00\u4e0a\u6765\u5c31\u53bb\u5b66\u5404\u79cd\u82b1\u91cc\u80e1\u54e8\u7684\u9ad8\u7ea7Vim\u6280\u5de7\u3002\u4e2a\u4eba\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u5148\u9605\u8bfb \u8fd9\u7bc7tutorial \uff0c\u638c\u63e1\u57fa\u672c\u7684Vim\u6982\u5ff5\u548c\u4f7f\u7528\u65b9\u5f0f\u3002 \u7528Vim\u81ea\u5e26\u7684vimtutor\u8fdb\u884c\u7ec3\u4e60\uff0c\u5b89\u88c5\u5b8cVim\u4e4b\u540e\u76f4\u63a5\u5728\u547d\u4ee4\u884c\u91cc\u8f93\u5165vimtutor\u5373\u53ef\u8fdb\u5165\u7ec3\u4e60\u7a0b\u5e8f\u3002 \u6700\u540e\u5c31\u662f\u5f3a\u8feb\u81ea\u5df1\u4f7f\u7528Vim\u8fdb\u884c\u5f00\u53d1\uff0cIDE\u91cc\u53ef\u4ee5\u5b89\u88c5Vim\u63d2\u4ef6\u3002 \u7b49\u4f60\u5b8c\u5168\u9002\u5e94Vim\u4e4b\u540e\u65b0\u7684\u4e16\u754c\u4fbf\u5411\u4f60\u655e\u5f00\u4e86\u5927\u95e8\uff0c\u4f60\u53ef\u4ee5\u6309\u9700\u914d\u7f6e\u81ea\u5df1\u7684Vim\uff08\u4fee\u6539.vimrc\u6587\u4ef6\uff09\uff0c\u7f51\u4e0a\u6709\u6570\u4e0d\u80dc\u6570\u7684\u8d44\u6e90\u53ef\u4ee5\u501f\u9274\u3002 \u63a8\u8350\u53c2\u8003\u8d44\u6599 Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.","title":"Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#vim","text":"\u5728\u6211\u770b\u6765Vim\u7f16\u8f91\u5668\u6709\u5982\u4e0b\u7684\u597d\u5904\uff1a \u8ba9\u4f60\u7684\u6574\u4e2a\u5f00\u53d1\u8fc7\u7a0b\u624b\u6307\u4e0d\u9700\u8981\u79bb\u5f00\u952e\u76d8\uff0c\u800c\u4e14\u5149\u6807\u7684\u79fb\u52a8\u4e0d\u9700\u8981\u65b9\u5411\u952e\u4f7f\u5f97\u4f60\u7684\u624b\u6307\u4e00\u76f4\u5904\u5728\u6253\u5b57\u7684\u6700\u4f73\u4f4d\u7f6e\u3002 \u65b9\u4fbf\u7684\u6587\u4ef6\u5207\u6362\u4ee5\u53ca\u9762\u677f\u63a7\u5236\u53ef\u4ee5\u8ba9\u4f60\u540c\u65f6\u5f00\u53d1\u591a\u4efd\u6587\u4ef6\u751a\u81f3\u540c\u4e00\u4e2a\u6587\u4ef6\u7684\u4e0d\u540c\u4f4d\u7f6e\u3002 Vim\u7684\u5b8f\u64cd\u4f5c\u53ef\u4ee5\u6279\u91cf\u5316\u5904\u7406\u91cd\u590d\u64cd\u4f5c\uff08\u4f8b\u5982\u591a\u884ctab\uff0c\u6279\u91cf\u52a0\u53cc\u5f15\u53f7\u7b49\u7b49\uff09 Vim\u662f\u5f88\u591a\u670d\u52a1\u5668\u81ea\u5e26\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\uff0c\u5f53\u4f60\u901a\u8fc7ssh\u8fde\u63a5\u8fdc\u7a0b\u670d\u52a1\u5668\u4e4b\u540e\uff0c\u7531\u4e8e\u6ca1\u6709\u56fe\u5f62\u754c\u9762\uff0c\u53ea\u80fd\u5728\u547d\u4ee4\u884c\u91cc\u8fdb\u884c\u5f00\u53d1\uff08\u5f53\u7136\u73b0\u5728\u5f88\u591aIDE\u5982vscode\u63d0\u4f9b\u4e86ssh\u63d2\u4ef6\u53ef\u4ee5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff09\u3002 \u5f02\u5e38\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u8ba9\u4f60\u62e5\u6709\u4e16\u754c\u4e0a\u6700\u82b1\u91cc\u80e1\u54e8\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\u3002","title":"\u4e3a\u4ec0\u4e48\u5b66\u4e60Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#vim_1","text":"\u4e0d\u5e78\u7684\u662fVim\u7684\u5b66\u4e60\u66f2\u7ebf\u786e\u5b9e\u76f8\u5f53\u9661\u5ced\uff0c\u6211\u82b1\u4e86\u597d\u51e0\u4e2a\u661f\u671f\u624d\u6162\u6162\u9002\u5e94\u4e86\u7528Vim\u8fdb\u884c\u5f00\u53d1\u7684\u8fc7\u7a0b\u3002\u6700\u5f00\u59cb\u4f60\u4f1a\u89c9\u5f97\u975e\u5e38\u4e0d\u9002\u5e94\uff0c\u4f46\u4e00\u65e6\u71ac\u8fc7\u4e86\u521d\u59cb\u9636\u6bb5\uff0c\u76f8\u4fe1\u6211\uff0c\u4f60\u4f1a\u7231\u4e0aVim\u3002 Vim\u7684\u5b66\u4e60\u8d44\u6599\u6d69\u5982\u70df\u6d77\uff0c\u4f46\u638c\u63e1\u5b83\u6700\u597d\u7684\u65b9\u5f0f\u8fd8\u662f\u5c06\u5b83\u7528\u5728\u65e5\u5e38\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u800c\u4e0d\u662f\u4e00\u4e0a\u6765\u5c31\u53bb\u5b66\u5404\u79cd\u82b1\u91cc\u80e1\u54e8\u7684\u9ad8\u7ea7Vim\u6280\u5de7\u3002\u4e2a\u4eba\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u5148\u9605\u8bfb \u8fd9\u7bc7tutorial \uff0c\u638c\u63e1\u57fa\u672c\u7684Vim\u6982\u5ff5\u548c\u4f7f\u7528\u65b9\u5f0f\u3002 \u7528Vim\u81ea\u5e26\u7684vimtutor\u8fdb\u884c\u7ec3\u4e60\uff0c\u5b89\u88c5\u5b8cVim\u4e4b\u540e\u76f4\u63a5\u5728\u547d\u4ee4\u884c\u91cc\u8f93\u5165vimtutor\u5373\u53ef\u8fdb\u5165\u7ec3\u4e60\u7a0b\u5e8f\u3002 \u6700\u540e\u5c31\u662f\u5f3a\u8feb\u81ea\u5df1\u4f7f\u7528Vim\u8fdb\u884c\u5f00\u53d1\uff0cIDE\u91cc\u53ef\u4ee5\u5b89\u88c5Vim\u63d2\u4ef6\u3002 \u7b49\u4f60\u5b8c\u5168\u9002\u5e94Vim\u4e4b\u540e\u65b0\u7684\u4e16\u754c\u4fbf\u5411\u4f60\u655e\u5f00\u4e86\u5927\u95e8\uff0c\u4f60\u53ef\u4ee5\u6309\u9700\u914d\u7f6e\u81ea\u5df1\u7684Vim\uff08\u4fee\u6539.vimrc\u6587\u4ef6\uff09\uff0c\u7f51\u4e0a\u6709\u6570\u4e0d\u80dc\u6570\u7684\u8d44\u6e90\u53ef\u4ee5\u501f\u9274\u3002","title":"\u5982\u4f55\u5b66\u4e60Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#_1","text":"Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.","title":"\u63a8\u8350\u53c2\u8003\u8d44\u6599"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/","text":"\u4e0b\u8f7d\u5de5\u5177 MacWk \uff1aMac\u8f6f\u4ef6\u7834\u89e3\u7248\u4e0b\u8f7d\u7f51\u7ad9\u3002 Libgen \uff1aPDF\u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 z-epub \uff1aePub\u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 bitdownloader \uff1a\u6cb9\u7ba1\u89c6\u9891\u4e0b\u8f7d\u5668\u3002 zlibrary \uff1a\u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9(\u53ef\u80fd\u9700\u8981\u7ffb\u5899)\u3002 \u8bbe\u8ba1\u5de5\u5177 excalidraw \uff1a\u4e00\u6b3e\u624b\u7ed8\u98ce\u683c\u7684\u7ed8\u56fe\u5de5\u5177\uff0c\u975e\u5e38\u9002\u5408\u7ed8\u5236\u8bfe\u7a0b\u62a5\u544a\u6216\u8005PPT\u5185\u7684\u793a\u610f\u56fe\u3002 origamiway \uff1a\u624b\u628a\u624b\u6559\u4f60\u600e\u4e48\u6298\u7eb8\u3002 thingiverse \uff1a\u56ca\u62ec\u5404\u7c7b2D/3D\u8bbe\u8ba1\u8d44\u6e90\uff0c\u5176STL\u6587\u4ef6\u4e0b\u8f7d\u53ef\u76f4\u63a53D\u6253\u5370\u3002 \u5b66\u4e60\u7f51\u7ad9 HFS \uff1a\u5404\u7c7b\u8f6f\u4ef6\u6559\u7a0b\u3002 os-wiki \uff1a\b\u64cd\u4f5c\u7cfb\u7edf\u6280\u672f\u8d44\u6e90\u767e\u79d1\u5168\u4e66\u3002","title":"\u5b9e\u7528\u5de5\u5177\u7bb1"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_1","text":"MacWk \uff1aMac\u8f6f\u4ef6\u7834\u89e3\u7248\u4e0b\u8f7d\u7f51\u7ad9\u3002 Libgen \uff1aPDF\u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 z-epub \uff1aePub\u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 bitdownloader \uff1a\u6cb9\u7ba1\u89c6\u9891\u4e0b\u8f7d\u5668\u3002 zlibrary \uff1a\u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9(\u53ef\u80fd\u9700\u8981\u7ffb\u5899)\u3002","title":"\u4e0b\u8f7d\u5de5\u5177"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_2","text":"excalidraw \uff1a\u4e00\u6b3e\u624b\u7ed8\u98ce\u683c\u7684\u7ed8\u56fe\u5de5\u5177\uff0c\u975e\u5e38\u9002\u5408\u7ed8\u5236\u8bfe\u7a0b\u62a5\u544a\u6216\u8005PPT\u5185\u7684\u793a\u610f\u56fe\u3002 origamiway \uff1a\u624b\u628a\u624b\u6559\u4f60\u600e\u4e48\u6298\u7eb8\u3002 thingiverse \uff1a\u56ca\u62ec\u5404\u7c7b2D/3D\u8bbe\u8ba1\u8d44\u6e90\uff0c\u5176STL\u6587\u4ef6\u4e0b\u8f7d\u53ef\u76f4\u63a53D\u6253\u5370\u3002","title":"\u8bbe\u8ba1\u5de5\u5177"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_3","text":"HFS \uff1a\u5404\u7c7b\u8f6f\u4ef6\u6559\u7a0b\u3002 os-wiki \uff1a\b\u64cd\u4f5c\u7cfb\u7edf\u6280\u672f\u8d44\u6e90\u767e\u79d1\u5168\u4e66\u3002","title":"\u5b66\u4e60\u7f51\u7ad9"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/","text":"\u7ffb\u5899 \u6b64\u94fe\u63a5 \u51fa\u73b0\u5728\u8fd9\u91cc\u7eaf\u5c5e\u4e8c\u8fdb\u5236bit\u7684\u968f\u610f\u7ec4\u5408\uff0c\u4e0e\u672c\u4eba\u6beb\u65e0\u5173\u7cfb\u3002","title":"\u7ffb\u5899"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/#_1","text":"\u6b64\u94fe\u63a5 \u51fa\u73b0\u5728\u8fd9\u91cc\u7eaf\u5c5e\u4e8c\u8fdb\u5236bit\u7684\u968f\u610f\u7ec4\u5408\uff0c\u4e0e\u672c\u4eba\u6beb\u65e0\u5173\u7cfb\u3002","title":"\u7ffb\u5899"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/","text":"CS162: Operating System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1a\bC\uff0cX86\u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200\u5c0f\u65f6+\uff0c\u4e0a\u4e0d\u5c01\u9876 \u8fd9\u95e8\u8bfe\u8ba9\u6211\u8bb0\u5fc6\u72b9\u65b0\u7684\u6709\u4e24\u4e2a\u90e8\u5206\uff1a \u9996\u5148\u662f\u6559\u6750\uff0c\u8fd9\u672c\u4e66\u7528\u7684\u6559\u6750 Operating Systems: Principles and Practice (2nd Edition) \u4e00\u5171\u56db\u5377\uff0c\u5199\u5f97 \u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u5f88\u597d\u5730\u5f25\u8865\u4e86MIT6.S081\u5728\u7406\u8bba\u77e5\u8bc6\u4e0a\u4e9b\u8bb8\u7a7a\u767d\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u9605\u8bfb\u3002\u76f8\u5173\u8d44\u6e90\u4f1a\u5206\u4eab\u5728\u672c\u4e66\u7684\u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\u6a21\u5757\u3002 \u5176\u6b21\u662f\u8fd9\u95e8\u8bfe\u7684Project \u2014\u2014 Pintos\u3002Pintos\u662f\u7531Ben Pfaff\u7b49\u4eba\u57fa\u4e8eX86\u7f16\u5199\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf\uff0cBen Pfaff\u751a\u81f3\u4e13\u95e8\u53d1\u4e86\u7bc7 paper \u6765\u9610\u8ff0Pintos\u7684\u8bbe\u8ba1\u601d\u60f3\u3002\u548cMIT\u7684xv6\u5c0f\u800c\u7cbe\u7684lab\u8bbe\u8ba1\u7406\u5ff5\u4e0d\u540c\uff0c Pintos\u66f4\u6ce8\u91cd\u7cfb\u7edf\u7684Design and Implementation\u3002Pintos\u672c\u8eab\u4ec5\u4e00\u4e07\u884c\u5de6\u53f3\uff0c\u53ea\u63d0\u4f9b\u4e86\u64cd\u4f5c\u7cfb\u7edf\u6700\u57fa\u672c\u7684\u529f\u80fd\u3002\u800c4\u4e2aProject\uff0c\u5c31\u662f\u8ba9\u4f60\u5728\u8fd9\u4e2a\u6781\u4e3a\u7cbe\u7b80\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e0a\uff0c\u5206\u522b\u4e3a\u5176\u589e\u52a0\u7ebf\u7a0b\u8c03\u5ea6\u673a\u5236\uff08Project1\uff09\uff0c\u7cfb\u7edf\u8c03\u7528\uff08Project2\uff09\uff0c\u865a\u62df\u5185\u5b58\uff08Project3\uff09\u4ee5\u53ca\u6587\u4ef6\u7cfb\u7edf\uff08Project4\uff09\u3002\u6240\u6709\u7684Project\u90fd\u7ed9\u5b66\u751f\u7559\u6709\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\uff0c\u603b\u4ee3\u7801\u91cf\u57285000\u884c\u4ee5\u4e0a\u3002\u6839\u636eStanford\u5b66\u751f \u81ea\u5df1\u7684\u53cd\u9988 \uff0c\u57283-4\u4eba\u7ec4\u961f\u7684\u60c5\u51b5\u4e0b\uff0c\u540e\u4e24\u4e2aProject\u7684\u4eba\u5747\u8017\u65f6\u4e5f\u572840\u4e2a\u5c0f\u65f6\u4ee5\u4e0a\u3002 \u867d\u7136\u5176\u96be\u5ea6\u5f88\u5927\uff0c\u4f46Stanford\uff0cBerkeley\uff0cJHU\u7b49\u591a\u6240\u7f8e\u56fd\u9876\u5c16\u540d\u6821\u7684\u64cd\u7edf\u8bfe\u7a0b\u5747\u91c7\u7528\u4e86Pintos\u3002\u56e0\u4e3a\u5982\u679c\u4f60\u771f\u7684\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u5f88\u611f\u5174\u8da3\uff0cPintos\u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7f16\u5199\u548cdebug\u5e95\u5c42\u7cfb\u7edf\u4ee3\u7801\u7684\u80fd\u529b\u3002\u5728\u672c\u79d1\u9636\u6bb5\uff0c\u80fd\u81ea\u5df1\u8bbe\u8ba1\u3001\u5b9e\u73b0\u5e76debug\u4e00\u4e2a\u5927\u578b\u7cfb\u7edf\uff0c\u662f\u4e00\u6bb5\u975e\u5e38\u73cd\u8d35\u7684\u7ecf\u5386\u3002 \u5317\u59272022\u5e74\u6625\u5b63\u5b66\u671f\u7684\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u4e5f\u5c06\u4f1a\u9996\u6b21\u5f15\u5165Pintos\u4f5c\u4e3a\u8bfe\u7a0bproject\uff0c\u6211\u4f5c\u4e3a\u8fd9\u95e8\u8bfe\u7684TA\uff0c\u9876\u7740\u88ab\u53e3\u6c34\u6df9\u6ca1\u7684\u98ce\u9669\uff0c\u4f9d\u65e7\u5e0c\u671b\u80fd\u7528\u8fd9\u6837\u7684\u5c1d\u8bd5\uff0c\u8ba9\u66f4\u591a\u4eba\u7231\u4e0a\u7cfb\u7edf\u9886\u57df\uff0c\u4e3a\u56fd\u5185\u7684\u7cfb\u7edf\u7814\u7a76\u6dfb\u7816\u52a0\u74e6\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a Operating Systems: Principles and Practice (2nd Edition) \u8bfe\u7a0b\u4f5c\u4e1a \uff1a6\u4e2ahomework\uff0c3\u4e2aproject\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u7531\u4e8e\u5317\u5927\u7684\u64cd\u7edf\u5b9e\u9a8c\u73ed\u91c7\u7528\u4e86\u8be5\u8bfe\u7a0b\u7684project\uff0c\u4e3a\u4e86\u9632\u6b62\u4ee3\u7801\u6284\u88ad\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"UCB CS162: Operating System"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#cs162-operating-system","text":"","title":"CS162: Operating System"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1a\bC\uff0cX86\u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200\u5c0f\u65f6+\uff0c\u4e0a\u4e0d\u5c01\u9876 \u8fd9\u95e8\u8bfe\u8ba9\u6211\u8bb0\u5fc6\u72b9\u65b0\u7684\u6709\u4e24\u4e2a\u90e8\u5206\uff1a \u9996\u5148\u662f\u6559\u6750\uff0c\u8fd9\u672c\u4e66\u7528\u7684\u6559\u6750 Operating Systems: Principles and Practice (2nd Edition) \u4e00\u5171\u56db\u5377\uff0c\u5199\u5f97 \u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u5f88\u597d\u5730\u5f25\u8865\u4e86MIT6.S081\u5728\u7406\u8bba\u77e5\u8bc6\u4e0a\u4e9b\u8bb8\u7a7a\u767d\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u9605\u8bfb\u3002\u76f8\u5173\u8d44\u6e90\u4f1a\u5206\u4eab\u5728\u672c\u4e66\u7684\u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\u6a21\u5757\u3002 \u5176\u6b21\u662f\u8fd9\u95e8\u8bfe\u7684Project \u2014\u2014 Pintos\u3002Pintos\u662f\u7531Ben Pfaff\u7b49\u4eba\u57fa\u4e8eX86\u7f16\u5199\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf\uff0cBen Pfaff\u751a\u81f3\u4e13\u95e8\u53d1\u4e86\u7bc7 paper \u6765\u9610\u8ff0Pintos\u7684\u8bbe\u8ba1\u601d\u60f3\u3002\u548cMIT\u7684xv6\u5c0f\u800c\u7cbe\u7684lab\u8bbe\u8ba1\u7406\u5ff5\u4e0d\u540c\uff0c Pintos\u66f4\u6ce8\u91cd\u7cfb\u7edf\u7684Design and Implementation\u3002Pintos\u672c\u8eab\u4ec5\u4e00\u4e07\u884c\u5de6\u53f3\uff0c\u53ea\u63d0\u4f9b\u4e86\u64cd\u4f5c\u7cfb\u7edf\u6700\u57fa\u672c\u7684\u529f\u80fd\u3002\u800c4\u4e2aProject\uff0c\u5c31\u662f\u8ba9\u4f60\u5728\u8fd9\u4e2a\u6781\u4e3a\u7cbe\u7b80\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e0a\uff0c\u5206\u522b\u4e3a\u5176\u589e\u52a0\u7ebf\u7a0b\u8c03\u5ea6\u673a\u5236\uff08Project1\uff09\uff0c\u7cfb\u7edf\u8c03\u7528\uff08Project2\uff09\uff0c\u865a\u62df\u5185\u5b58\uff08Project3\uff09\u4ee5\u53ca\u6587\u4ef6\u7cfb\u7edf\uff08Project4\uff09\u3002\u6240\u6709\u7684Project\u90fd\u7ed9\u5b66\u751f\u7559\u6709\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\uff0c\u603b\u4ee3\u7801\u91cf\u57285000\u884c\u4ee5\u4e0a\u3002\u6839\u636eStanford\u5b66\u751f \u81ea\u5df1\u7684\u53cd\u9988 \uff0c\u57283-4\u4eba\u7ec4\u961f\u7684\u60c5\u51b5\u4e0b\uff0c\u540e\u4e24\u4e2aProject\u7684\u4eba\u5747\u8017\u65f6\u4e5f\u572840\u4e2a\u5c0f\u65f6\u4ee5\u4e0a\u3002 \u867d\u7136\u5176\u96be\u5ea6\u5f88\u5927\uff0c\u4f46Stanford\uff0cBerkeley\uff0cJHU\u7b49\u591a\u6240\u7f8e\u56fd\u9876\u5c16\u540d\u6821\u7684\u64cd\u7edf\u8bfe\u7a0b\u5747\u91c7\u7528\u4e86Pintos\u3002\u56e0\u4e3a\u5982\u679c\u4f60\u771f\u7684\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u5f88\u611f\u5174\u8da3\uff0cPintos\u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7f16\u5199\u548cdebug\u5e95\u5c42\u7cfb\u7edf\u4ee3\u7801\u7684\u80fd\u529b\u3002\u5728\u672c\u79d1\u9636\u6bb5\uff0c\u80fd\u81ea\u5df1\u8bbe\u8ba1\u3001\u5b9e\u73b0\u5e76debug\u4e00\u4e2a\u5927\u578b\u7cfb\u7edf\uff0c\u662f\u4e00\u6bb5\u975e\u5e38\u73cd\u8d35\u7684\u7ecf\u5386\u3002 \u5317\u59272022\u5e74\u6625\u5b63\u5b66\u671f\u7684\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u4e5f\u5c06\u4f1a\u9996\u6b21\u5f15\u5165Pintos\u4f5c\u4e3a\u8bfe\u7a0bproject\uff0c\u6211\u4f5c\u4e3a\u8fd9\u95e8\u8bfe\u7684TA\uff0c\u9876\u7740\u88ab\u53e3\u6c34\u6df9\u6ca1\u7684\u98ce\u9669\uff0c\u4f9d\u65e7\u5e0c\u671b\u80fd\u7528\u8fd9\u6837\u7684\u5c1d\u8bd5\uff0c\u8ba9\u66f4\u591a\u4eba\u7231\u4e0a\u7cfb\u7edf\u9886\u57df\uff0c\u4e3a\u56fd\u5185\u7684\u7cfb\u7edf\u7814\u7a76\u6dfb\u7816\u52a0\u74e6\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a Operating Systems: Principles and Practice (2nd Edition) \u8bfe\u7a0b\u4f5c\u4e1a \uff1a6\u4e2ahomework\uff0c3\u4e2aproject\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#_3","text":"\u7531\u4e8e\u5317\u5927\u7684\u64cd\u7edf\u5b9e\u9a8c\u73ed\u91c7\u7528\u4e86\u8be5\u8bfe\u7a0b\u7684project\uff0c\u4e3a\u4e86\u9632\u6b62\u4ee3\u7801\u6284\u88ad\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/","text":"MIT 6.S081: Operating System Engineering \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u9ebb\u7701\u7406\u5de5\u5b66\u9662 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684C\u8bed\u8a00\u529f\u5e95 + RISC-V\u6c47\u7f16\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC\uff0cRISC-V \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u5927\u540d\u9f0e\u9f0e\u7684PDOS\u5b9e\u9a8c\u5ba4\u5f00\u8bbe\u7684\u9762\u5411MIT\u672c\u79d1\u751f\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u5f00\u8bbe\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u4e4b\u4e00 \u2014\u2014 Robert Morris\u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2Morris\u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u7684\u524d\u8eab\u662fMIT\u8457\u540d\u7684\u8bfe\u7a0b6.828\uff0cMIT\u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u8fd9\u95e8\u8bfe\u66fe\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u57fa\u4e8eX86\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edfJOS\uff0c\u88ab\u4f17\u591a\u540d\u6821\u4f5c\u4e3a\u81ea\u5df1\u7684\u64cd\u7edf\u8bfe\u7a0b\u5b9e\u9a8c\u3002\u4f46\u968f\u7740RISC-V\u7684\u6a2a\u7a7a\u51fa\u4e16\uff0c\u8fd9\u51e0\u4f4d\u6559\u6388\u53c8\u57fa\u4e8eRISC-V\u5f00\u53d1\u4e86\u4e00\u4e2a\u65b0\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edfxv6\uff0c\u5e76\u5f00\u8bbe\u4e86MIT6.S081\u8fd9\u95e8\u8bfe\u3002\u7531\u4e8eRISC-V\u8f7b\u4fbf\u6613\u5b66\u7684\u7279\u70b9\uff0c\u5b66\u751f\u4e0d\u9700\u8981\u50cf\u6b64\u524dJOS\u4e00\u6837\u7ea0\u7ed3\u4e8e\u4f17\u591aX86\u201c\u7279\u6709\u7684\u201d\u4e3a\u4e86\u517c\u5bb9\u800c\u9057\u7559\u4e0b\u6765\u7684\u590d\u6742\u673a\u5236\uff0c\u800c \u53ef\u4ee5\u4e13\u6ce8\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u5c42\u9762\u7684\u5f00\u53d1\u3002 \u8fd9\u51e0\u4f4d\u6559\u6388\u8fd8\u4e13\u95e8\u5199\u4e86\u4e00\u672c \u6559\u7a0b \uff0c\u8be6\u7ec6\u8bb2\u89e3\u4e86xv6\u7684\u8bbe\u8ba1\u601d\u60f3\u548c\u5b9e\u73b0\u7ec6\u8282\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u4e5f\u5f88\u6709\u610f\u601d\uff0c\u8001\u5e08\u4f1a\u5e26\u7740\u5b66\u751f\u4f9d\u7167xv6\u7684\u6e90\u4ee3\u7801\u53bb\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f17\u591a\u673a\u5236\u548c\u8bbe\u8ba1\u7ec6\u8282\uff0c\u800c\u4e0d\u662f\u505c\u7559\u4e8e\u7406\u8bba\u77e5\u8bc6\u3002\u6bcf\u5468\u90fd\u4f1a\u6709\u4e00\u4e2alab\uff0c\u8ba9\u4f60\u5728xv6\u4e0a\u589e\u52a0\u4e00\u4e9b\u65b0\u7684\u673a\u5236\u548c\u7279\u6027\uff0c\u975e\u5e38\u6ce8\u91cd\u5b66\u751f\u52a8\u624b\u80fd\u529b\u7684\u57f9\u517b\u3002\u6574\u4e2a\u5b66\u671f\u4e00\u5171\u670911\u4e2alab\uff0c\u8ba9\u4f60\u5168\u65b9\u4f4d\u5730\u6df1\u523b\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u6bcf\u4e2a\u90e8\u5206\uff0c\u975e\u5e38\u6709\u6210\u5c31\u611f\u3002\u800c\u4e14\u6240\u6709\u7684lab\u90fd\u6709\u7740\u975e\u5e38\u5b8c\u5584\u7684\u6d4b\u8bd5\u6846\u67b6\uff0c\u6709\u7684\u6d4b\u8bd5\u4ee3\u7801\u751a\u81f3\u4e0a\u5343\u884c\uff0c\u8ba9\u4eba\u4e0d\u5f97\u4e0d\u4f69\u670dMIT\u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u6559\u597d\u8fd9\u95e8\u8bfe\u6240\u4ed8\u51fa\u7684\u5fc3\u8840\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u7a0b\u4f1a\u8bb2\u6388\u64cd\u4f5c\u7cfb\u7edf\u9886\u57df\u7684\u591a\u7bc7\u7ecf\u5178\u8bba\u6587\uff0c\u6d89\u53ca\u6587\u4ef6\u7cfb\u7edf\u3001\u7cfb\u7edf\u5b89\u5168\u3001\u7f51\u7edc\u3001\u865a\u62df\u5316\u7b49\u7b49\u591a\u4e2a\u4e3b\u9898\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u5230\u5b66\u754c \u6700\u524d\u6cbf\u7684\u7814\u7a76\u65b9\u5411\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a11\u4e2alab\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"MIT 6.S081: Operating System Engineering"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#mit-6s081-operating-system-engineering","text":"","title":"MIT 6.S081: Operating System Engineering"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u9ebb\u7701\u7406\u5de5\u5b66\u9662 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684C\u8bed\u8a00\u529f\u5e95 + RISC-V\u6c47\u7f16\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC\uff0cRISC-V \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u5927\u540d\u9f0e\u9f0e\u7684PDOS\u5b9e\u9a8c\u5ba4\u5f00\u8bbe\u7684\u9762\u5411MIT\u672c\u79d1\u751f\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u5f00\u8bbe\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u4e4b\u4e00 \u2014\u2014 Robert Morris\u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2Morris\u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u7684\u524d\u8eab\u662fMIT\u8457\u540d\u7684\u8bfe\u7a0b6.828\uff0cMIT\u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u8fd9\u95e8\u8bfe\u66fe\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u57fa\u4e8eX86\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edfJOS\uff0c\u88ab\u4f17\u591a\u540d\u6821\u4f5c\u4e3a\u81ea\u5df1\u7684\u64cd\u7edf\u8bfe\u7a0b\u5b9e\u9a8c\u3002\u4f46\u968f\u7740RISC-V\u7684\u6a2a\u7a7a\u51fa\u4e16\uff0c\u8fd9\u51e0\u4f4d\u6559\u6388\u53c8\u57fa\u4e8eRISC-V\u5f00\u53d1\u4e86\u4e00\u4e2a\u65b0\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edfxv6\uff0c\u5e76\u5f00\u8bbe\u4e86MIT6.S081\u8fd9\u95e8\u8bfe\u3002\u7531\u4e8eRISC-V\u8f7b\u4fbf\u6613\u5b66\u7684\u7279\u70b9\uff0c\u5b66\u751f\u4e0d\u9700\u8981\u50cf\u6b64\u524dJOS\u4e00\u6837\u7ea0\u7ed3\u4e8e\u4f17\u591aX86\u201c\u7279\u6709\u7684\u201d\u4e3a\u4e86\u517c\u5bb9\u800c\u9057\u7559\u4e0b\u6765\u7684\u590d\u6742\u673a\u5236\uff0c\u800c \u53ef\u4ee5\u4e13\u6ce8\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u5c42\u9762\u7684\u5f00\u53d1\u3002 \u8fd9\u51e0\u4f4d\u6559\u6388\u8fd8\u4e13\u95e8\u5199\u4e86\u4e00\u672c \u6559\u7a0b \uff0c\u8be6\u7ec6\u8bb2\u89e3\u4e86xv6\u7684\u8bbe\u8ba1\u601d\u60f3\u548c\u5b9e\u73b0\u7ec6\u8282\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u4e5f\u5f88\u6709\u610f\u601d\uff0c\u8001\u5e08\u4f1a\u5e26\u7740\u5b66\u751f\u4f9d\u7167xv6\u7684\u6e90\u4ee3\u7801\u53bb\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f17\u591a\u673a\u5236\u548c\u8bbe\u8ba1\u7ec6\u8282\uff0c\u800c\u4e0d\u662f\u505c\u7559\u4e8e\u7406\u8bba\u77e5\u8bc6\u3002\u6bcf\u5468\u90fd\u4f1a\u6709\u4e00\u4e2alab\uff0c\u8ba9\u4f60\u5728xv6\u4e0a\u589e\u52a0\u4e00\u4e9b\u65b0\u7684\u673a\u5236\u548c\u7279\u6027\uff0c\u975e\u5e38\u6ce8\u91cd\u5b66\u751f\u52a8\u624b\u80fd\u529b\u7684\u57f9\u517b\u3002\u6574\u4e2a\u5b66\u671f\u4e00\u5171\u670911\u4e2alab\uff0c\u8ba9\u4f60\u5168\u65b9\u4f4d\u5730\u6df1\u523b\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u6bcf\u4e2a\u90e8\u5206\uff0c\u975e\u5e38\u6709\u6210\u5c31\u611f\u3002\u800c\u4e14\u6240\u6709\u7684lab\u90fd\u6709\u7740\u975e\u5e38\u5b8c\u5584\u7684\u6d4b\u8bd5\u6846\u67b6\uff0c\u6709\u7684\u6d4b\u8bd5\u4ee3\u7801\u751a\u81f3\u4e0a\u5343\u884c\uff0c\u8ba9\u4eba\u4e0d\u5f97\u4e0d\u4f69\u670dMIT\u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u6559\u597d\u8fd9\u95e8\u8bfe\u6240\u4ed8\u51fa\u7684\u5fc3\u8840\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u7a0b\u4f1a\u8bb2\u6388\u64cd\u4f5c\u7cfb\u7edf\u9886\u57df\u7684\u591a\u7bc7\u7ecf\u5178\u8bba\u6587\uff0c\u6d89\u53ca\u6587\u4ef6\u7cfb\u7edf\u3001\u7cfb\u7edf\u5b89\u5168\u3001\u7f51\u7edc\u3001\u865a\u62df\u5316\u7b49\u7b49\u591a\u4e2a\u4e3b\u9898\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u5230\u5b66\u754c \u6700\u524d\u6cbf\u7684\u7814\u7a76\u65b9\u5411\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a11\u4e2alab\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/","text":"MIT18.06: Linear Algebra \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u6587 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u6570\u5b66\u5927\u725b Gilbert Strang \u8001\u5148\u751f\u5e74\u903e\u53e4\u7a00\u4ecd\u575a\u6301\u6388\u8bfe\uff0c\u5176\u7ecf\u5178\u6559\u6750 Introduction to Linear Algebra \u5df2\u88ab\u6e05\u534e\u91c7\u7528\u4e3a\u5b98\u65b9\u6559\u6750\u3002\u6211\u5f53\u65f6\u770b\u5b8c\u76d7\u7248PDF\u4e4b\u540e\u6df1\u611f\u6127\u759a\uff0c\u542b\u6cea\u82b1\u4e86\u4e24\u767e\u591a\u4e70\u4e86\u4e00\u672c\u82f1\u6587\u6b63\u7248\u6536\u85cf\u3002\u4e0b\u9762\u9644\u4e0a\u6b64\u4e66\u5c01\u9762\uff0c\u5982\u679c\u4f60\u80fd\u5b8c\u5168\u7406\u89e3\u5c01\u9762\u56fe\u7684\u6570\u5b66\u542b\u4e49\uff0c\u90a3\u4f60\u5bf9\u7ebf\u6027\u4ee3\u6570\u7684\u7406\u89e3\u4e00\u5b9a\u4f1a\u8fbe\u5230\u65b0\u7684\u9ad8\u5ea6\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u7ebf\u6027\u4ee3\u6570\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Linear Algebra. Gilbert Strang \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"MIT18.06: Linear Algebra"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#mit1806-linear-algebra","text":"","title":"MIT18.06: Linear Algebra"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u6587 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u6570\u5b66\u5927\u725b Gilbert Strang \u8001\u5148\u751f\u5e74\u903e\u53e4\u7a00\u4ecd\u575a\u6301\u6388\u8bfe\uff0c\u5176\u7ecf\u5178\u6559\u6750 Introduction to Linear Algebra \u5df2\u88ab\u6e05\u534e\u91c7\u7528\u4e3a\u5b98\u65b9\u6559\u6750\u3002\u6211\u5f53\u65f6\u770b\u5b8c\u76d7\u7248PDF\u4e4b\u540e\u6df1\u611f\u6127\u759a\uff0c\u542b\u6cea\u82b1\u4e86\u4e24\u767e\u591a\u4e70\u4e86\u4e00\u672c\u82f1\u6587\u6b63\u7248\u6536\u85cf\u3002\u4e0b\u9762\u9644\u4e0a\u6b64\u4e66\u5c01\u9762\uff0c\u5982\u679c\u4f60\u80fd\u5b8c\u5168\u7406\u89e3\u5c01\u9762\u56fe\u7684\u6570\u5b66\u542b\u4e49\uff0c\u90a3\u4f60\u5bf9\u7ebf\u6027\u4ee3\u6570\u7684\u7406\u89e3\u4e00\u5b9a\u4f1a\u8fbe\u5230\u65b0\u7684\u9ad8\u5ea6\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u7ebf\u6027\u4ee3\u6570\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Linear Algebra. Gilbert Strang \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/","text":"MIT Calculus Course \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u8bed \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT\u7684\u5fae\u79ef\u5206\u8bfe\u7531 MIT18.01: Single variable calculus \u548c MIT18.02: Multi variable calculus \u4e24\u95e8\u8bfe\u7ec4\u6210\u3002\u5bf9\u81ea\u5df1\u6570\u5b66\u57fa\u7840\u6bd4\u8f83\u81ea\u4fe1\u7684\u540c\u5b66\u53ef\u4ee5\u53ea\u770b\u8bfe\u7a0bnotes\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u751f\u52a8\u5e76\u4e14\u6293\u4f4f\u672c\u8d28\uff0c\u8ba9\u4f60\u4e0d\u518d\u75b2\u4e8e\u505a\u9898\u800c\u662f\u80fd\u591f\u771f\u6b63\u7aa5\u89c1\u5fae\u79ef\u5206\u7684\u672c\u8d28\u9b45\u529b\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u5fae\u79ef\u5206\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a 18.01 \uff0c 18.02 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e66\u9762\u4f5c\u4e1a\u53ca\u7b54\u6848\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"MIT18.01/18.02: Calculus"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#mit-calculus-course","text":"","title":"MIT Calculus Course"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u8bed \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT\u7684\u5fae\u79ef\u5206\u8bfe\u7531 MIT18.01: Single variable calculus \u548c MIT18.02: Multi variable calculus \u4e24\u95e8\u8bfe\u7ec4\u6210\u3002\u5bf9\u81ea\u5df1\u6570\u5b66\u57fa\u7840\u6bd4\u8f83\u81ea\u4fe1\u7684\u540c\u5b66\u53ef\u4ee5\u53ea\u770b\u8bfe\u7a0bnotes\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u751f\u52a8\u5e76\u4e14\u6293\u4f4f\u672c\u8d28\uff0c\u8ba9\u4f60\u4e0d\u518d\u75b2\u4e8e\u505a\u9898\u800c\u662f\u80fd\u591f\u771f\u6b63\u7aa5\u89c1\u5fae\u79ef\u5206\u7684\u672c\u8d28\u9b45\u529b\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u5fae\u79ef\u5206\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a 18.01 \uff0c 18.02 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e66\u9762\u4f5c\u4e1a\u53ca\u7b54\u6848\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/","text":"MIT6.050J: Information theory and Entropy \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 MIT\u9762\u5411\u5927\u4e00\u65b0\u751f\u7684\u4fe1\u606f\u8bba\u5165\u95e8\u8bfe\u7a0b\uff0cPenfield\u6559\u6388\u4e13\u95e8\u4e3a\u8fd9\u95e8\u8bfe\u5199\u4e86\u4e00\u672c \u6559\u6750 \u4f5c\u4e3a\u8bfe\u7a0bnotes\uff0c\u5185\u5bb9\u6df1\u5165\u6d45\u51fa\uff0c\u751f\u52a8\u6709\u8da3\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5305\u542b\u4e66\u9762\u4f5c\u4e1a\u4e0ematlab\u7f16\u7a0b\u4f5c\u4e1a\u3002","title":"MIT6.050J: Information theory and Entropy"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#mit6050j-information-theory-and-entropy","text":"","title":"MIT6.050J: Information theory and Entropy"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 MIT\u9762\u5411\u5927\u4e00\u65b0\u751f\u7684\u4fe1\u606f\u8bba\u5165\u95e8\u8bfe\u7a0b\uff0cPenfield\u6559\u6388\u4e13\u95e8\u4e3a\u8fd9\u95e8\u8bfe\u5199\u4e86\u4e00\u672c \u6559\u6750 \u4f5c\u4e3a\u8bfe\u7a0bnotes\uff0c\u5185\u5bb9\u6df1\u5165\u6d45\u51fa\uff0c\u751f\u52a8\u6709\u8da3\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5305\u542b\u4e66\u9762\u4f5c\u4e1a\u4e0ematlab\u7f16\u7a0b\u4f5c\u4e1a\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aPython preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 MIT \u7684\u79bb\u6563\u6570\u5b66\u4ee5\u53ca\u6982\u7387\u7efc\u5408\u8bfe\u7a0b\uff0c\u5bfc\u5e08\u662f\u5927\u540d\u9f0e\u9f0e\u7684 Tom Leighton ( Akamai \u7684\u8054\u5408\u521b\u59cb\u4eba\u4e4b\u4e00)\u3002\u5b66\u5b8c\u4e4b\u540e\u5bf9\u4e8e\u540e\u7eed\u7684\u7b97\u6cd5\u5b66\u4e60\u5927\u6709\u88e8\u76ca\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u4f5c\u4e1a","title":"MIT 6.042J: Mathematics for Computer Science"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aPython preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 MIT \u7684\u79bb\u6563\u6570\u5b66\u4ee5\u53ca\u6982\u7387\u7efc\u5408\u8bfe\u7a0b\uff0c\u5bfc\u5e08\u662f\u5927\u540d\u9f0e\u9f0e\u7684 Tom Leighton ( Akamai \u7684\u8054\u5408\u521b\u59cb\u4eba\u4e4b\u4e00)\u3002\u5b66\u5b8c\u4e4b\u540e\u5bf9\u4e8e\u540e\u7eed\u7684\u7b97\u6cd5\u5b66\u4e60\u5927\u6709\u88e8\u76ca\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/","text":"UCB CS126 : Probability theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70\u3001\u5fae\u79ef\u5206\u3001\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6982\u7387\u8bba\u8fdb\u9636\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5230\u7edf\u8ba1\u5b66\u3001\u968f\u673a\u8fc7\u7a0b\u7b49\u7406\u8bba\u76f8\u5bf9\u6df1\u5165\u7684\u5185\u5bb9\uff0c\u9700\u8981\u76f8\u5f53\u7684\u6570\u5b66\u57fa\u7840\uff0c\u6211\u5728\u4e0a\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\u4e5f\u611f\u5230\u6709\u4e9b\u5403\u529b\uff0c\u4e0d\u8fc7\u575a\u6301\u4e0b\u6765\u4e00\u5b9a\u4f1a\u8ba9\u4f60\u5bf9\u6982\u7387\u8bba\u7684\u638c\u63e1\u8fbe\u5230\u4e00\u4e2a\u65b0\u7684\u9ad8\u5ea6\u3002 \u540c\u65f6\u8fd9\u95e8\u8bfe\u975e\u5e38\u5f3a\u8c03\u7406\u8bba\u4e0e\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005Jean Walrand\u6559\u6388\u4e13\u95e8\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u6559\u6750 Probability in Electrical Engineering and Computer Science \uff0c\u4e66\u4e2d\u6bcf\u4e2a\u7ae0\u8282\u90fd\u4f1a\u4ee5\u4e00\u4e2a\u5177\u4f53\u7684\u7b97\u6cd5\u5b9e\u8df5\u4f5c\u4e3a\u4f8b\u5b50\u6765\u5c55\u793a\u7406\u8bba\u5728\u5b9e\u9645\u5f53\u4e2d\u7684\u8fd0\u7528\uff0c\u4f8b\u5982PageRank\uff0cRoute Planing\uff0cSpeech Recognition\u7b49\u7b49\uff0c\u5e76\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u514d\u8d39\u4e0b\u8f7dPDF\u6216\u8005Epub\u7248\u3002 \u8fd9\u8fd8\u4e0d\u7b97\u5b8c\uff0cJean Walrand\u8fd8\u4e3a\u6574\u672c\u4e66\u91cc\u7684\u4f8b\u5b50\u8bbe\u8ba1\u4e86\u914d\u5957\u7684Python\u5b9e\u73b0\uff0c\u4ee5 Jupyter Notebook \u7684\u5f62\u5f0f\u5728\u7ebf\u53d1\u5e03\uff0c\u8bfb\u8005\u53ef\u4ee5\u5728\u7ebf\u4fee\u6539\u3001\u8c03\u8bd5\u548c\u8fd0\u884c\u3002 \u4e0e\u6b64\u540c\u65f6\uff0c\u8fd9\u95e8\u8bfe\u9664\u4e86\u7406\u8bba\u4f5c\u4e1a\u4e4b\u5916\uff0c\u8fd8\u67099\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u4f1a\u8ba9\u4f60\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a PDF , Epub , Jupyter Notebook \u8bfe\u7a0b\u4f5c\u4e1a\uff1a14\u4e2a\u4e66\u9762\u4f5c\u4e1a + 9\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS126: probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#ucb-cs126-probability-theory","text":"","title":"UCB CS126 : Probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70\u3001\u5fae\u79ef\u5206\u3001\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6982\u7387\u8bba\u8fdb\u9636\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5230\u7edf\u8ba1\u5b66\u3001\u968f\u673a\u8fc7\u7a0b\u7b49\u7406\u8bba\u76f8\u5bf9\u6df1\u5165\u7684\u5185\u5bb9\uff0c\u9700\u8981\u76f8\u5f53\u7684\u6570\u5b66\u57fa\u7840\uff0c\u6211\u5728\u4e0a\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\u4e5f\u611f\u5230\u6709\u4e9b\u5403\u529b\uff0c\u4e0d\u8fc7\u575a\u6301\u4e0b\u6765\u4e00\u5b9a\u4f1a\u8ba9\u4f60\u5bf9\u6982\u7387\u8bba\u7684\u638c\u63e1\u8fbe\u5230\u4e00\u4e2a\u65b0\u7684\u9ad8\u5ea6\u3002 \u540c\u65f6\u8fd9\u95e8\u8bfe\u975e\u5e38\u5f3a\u8c03\u7406\u8bba\u4e0e\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005Jean Walrand\u6559\u6388\u4e13\u95e8\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u6559\u6750 Probability in Electrical Engineering and Computer Science \uff0c\u4e66\u4e2d\u6bcf\u4e2a\u7ae0\u8282\u90fd\u4f1a\u4ee5\u4e00\u4e2a\u5177\u4f53\u7684\u7b97\u6cd5\u5b9e\u8df5\u4f5c\u4e3a\u4f8b\u5b50\u6765\u5c55\u793a\u7406\u8bba\u5728\u5b9e\u9645\u5f53\u4e2d\u7684\u8fd0\u7528\uff0c\u4f8b\u5982PageRank\uff0cRoute Planing\uff0cSpeech Recognition\u7b49\u7b49\uff0c\u5e76\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u514d\u8d39\u4e0b\u8f7dPDF\u6216\u8005Epub\u7248\u3002 \u8fd9\u8fd8\u4e0d\u7b97\u5b8c\uff0cJean Walrand\u8fd8\u4e3a\u6574\u672c\u4e66\u91cc\u7684\u4f8b\u5b50\u8bbe\u8ba1\u4e86\u914d\u5957\u7684Python\u5b9e\u73b0\uff0c\u4ee5 Jupyter Notebook \u7684\u5f62\u5f0f\u5728\u7ebf\u53d1\u5e03\uff0c\u8bfb\u8005\u53ef\u4ee5\u5728\u7ebf\u4fee\u6539\u3001\u8c03\u8bd5\u548c\u8fd0\u884c\u3002 \u4e0e\u6b64\u540c\u65f6\uff0c\u8fd9\u95e8\u8bfe\u9664\u4e86\u7406\u8bba\u4f5c\u4e1a\u4e4b\u5916\uff0c\u8fd8\u67099\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u4f1a\u8ba9\u4f60\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a PDF , Epub , Jupyter Notebook \u8bfe\u7a0b\u4f5c\u4e1a\uff1a14\u4e2a\u4e66\u9762\u4f5c\u4e1a + 9\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/","text":"UCB CS70 : discrete Math and probability theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u79bb\u6563\u6570\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u4e2a\u4eba\u89c9\u5f97\u8fd9\u95e8\u8bfe\u6700\u5927\u7684\u4eae\u70b9\u5728\u4e8e\u5e76\u4e0d\u662f\u5355\u7eaf\u7684\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u800c\u662f\u5728\u6bcf\u4e2a\u6a21\u5757\u90fd\u4f1a\u4ecb\u7ecd\u7406\u8bba\u77e5\u8bc6\u5728\u5b9e\u9645\u7b97\u6cd5\u4e2d\u7684\u8fd0\u7528\uff0c\u8ba9\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\u5728\u592f\u5b9e\u7406\u8bba\u57fa\u7840\u7684\u540c\u65f6\uff0c\u8df3\u8131\u51fa\u51b0\u51b7\u5f62\u5f0f\u5316\u7684\u6570\u5b66\u7b26\u53f7\uff0c\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u611f\u53d7\u548c\u4f53\u4f1a\u7406\u8bba\u7684\u672c\u8d28\u3002 \u5177\u4f53\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u7684\u5bf9\u5e94\u5173\u7cfb\u5217\u4e3e\u5982\u4e0b\uff1a \u903b\u8f91\u8bc1\u660e\uff1a\u7a33\u5b9a\u5339\u914d\u7b97\u6cd5 \u56fe\u8bba\uff1a\u7f51\u7edc\u62d3\u6251\u8bbe\u8ba1 \u57fa\u7840\u6570\u8bba\uff1aRSA\u7b97\u6cd5 \u591a\u9879\u5f0f\u73af\uff1a\u7ea0\u9519\u7801\u8bbe\u8ba1 \u6982\u7387\u8bba\uff1a\u54c8\u5e0c\u8868\u8bbe\u8ba1\u3001\u8d1f\u8f7d\u5747\u8861\u7b49\u7b49 \u8bfe\u7a0bnotes\u4e5f\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u516c\u5f0f\u63a8\u5bfc\u4e0e\u5b9e\u9645\u4f8b\u5b50\u661f\u7f57\u68cb\u5e03\uff0c\u9605\u8bfb\u4f53\u9a8c\u5f88\u597d\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0bschedule \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS70: discrete Math and probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#ucb-cs70-discrete-math-and-probability-theory","text":"","title":"UCB CS70 : discrete Math and probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u79bb\u6563\u6570\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u4e2a\u4eba\u89c9\u5f97\u8fd9\u95e8\u8bfe\u6700\u5927\u7684\u4eae\u70b9\u5728\u4e8e\u5e76\u4e0d\u662f\u5355\u7eaf\u7684\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u800c\u662f\u5728\u6bcf\u4e2a\u6a21\u5757\u90fd\u4f1a\u4ecb\u7ecd\u7406\u8bba\u77e5\u8bc6\u5728\u5b9e\u9645\u7b97\u6cd5\u4e2d\u7684\u8fd0\u7528\uff0c\u8ba9\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\u5728\u592f\u5b9e\u7406\u8bba\u57fa\u7840\u7684\u540c\u65f6\uff0c\u8df3\u8131\u51fa\u51b0\u51b7\u5f62\u5f0f\u5316\u7684\u6570\u5b66\u7b26\u53f7\uff0c\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u611f\u53d7\u548c\u4f53\u4f1a\u7406\u8bba\u7684\u672c\u8d28\u3002 \u5177\u4f53\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u7684\u5bf9\u5e94\u5173\u7cfb\u5217\u4e3e\u5982\u4e0b\uff1a \u903b\u8f91\u8bc1\u660e\uff1a\u7a33\u5b9a\u5339\u914d\u7b97\u6cd5 \u56fe\u8bba\uff1a\u7f51\u7edc\u62d3\u6251\u8bbe\u8ba1 \u57fa\u7840\u6570\u8bba\uff1aRSA\u7b97\u6cd5 \u591a\u9879\u5f0f\u73af\uff1a\u7ea0\u9519\u7801\u8bbe\u8ba1 \u6982\u7387\u8bba\uff1a\u54c8\u5e0c\u8868\u8bbe\u8ba1\u3001\u8d1f\u8f7d\u5747\u8861\u7b49\u7b49 \u8bfe\u7a0bnotes\u4e5f\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u516c\u5f0f\u63a8\u5bfc\u4e0e\u5b9e\u9645\u4f8b\u5b50\u661f\u7f57\u68cb\u5e03\uff0c\u9605\u8bfb\u4f53\u9a8c\u5f88\u597d\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0bschedule","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The%20Information%20Theory%2C%20Pattern%20Recognition%2C%20and%20Neural%20Networks/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCambridge \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra, Probabilities and Statistics \u7f16\u7a0b\u8bed\u8a00\uff1aAnything would be OK, Python preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30-50 \u5c0f\u65f6 \u5251\u6865\u5927\u5b66 Sir David MacKay \u6559\u6388\u7684\u4fe1\u606f\u8bba\u8bfe\u7a0b\u3002\u6559\u6388\u662f\u4e00\u4f4d\u5341\u5206\u7cbe\u901a\u4fe1\u606f\u8bba\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u5b66\u8005\uff0c\u8bfe\u7a0b\u5bf9\u5e94\u6559\u6750\u4e5f\u662f\u4fe1\u606f\u8bba\u9886\u57df\u7684\u4e00\u90e8\u7ecf\u5178\u8457\u4f5c\u3002\u53ef\u60dc\u5929\u5992\u82f1\u624d... \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aInformation Theory, Inference, and Learning Algorithms \u5728\u8bfe\u7a0b\u7f51\u7ad9\u53ef\u4ee5\u4e0b\u8f7d\u5230\u514d\u8d39\u7684\u7535\u5b50\u7248 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u6bcf\u4e00\u8282\u8bfe\u89c6\u9891\u7684\u6700\u540e\u4f1a\u7559\u6559\u6750\u4e0a\u7684\u8bfe\u540e\u4e60\u9898 R.I.P Prof. David MacKay","title":"The Information Theory, Patter Recognition, and Neural Networks"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The%20Information%20Theory%2C%20Pattern%20Recognition%2C%20and%20Neural%20Networks/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCambridge \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra, Probabilities and Statistics \u7f16\u7a0b\u8bed\u8a00\uff1aAnything would be OK, Python preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30-50 \u5c0f\u65f6 \u5251\u6865\u5927\u5b66 Sir David MacKay \u6559\u6388\u7684\u4fe1\u606f\u8bba\u8bfe\u7a0b\u3002\u6559\u6388\u662f\u4e00\u4f4d\u5341\u5206\u7cbe\u901a\u4fe1\u606f\u8bba\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u5b66\u8005\uff0c\u8bfe\u7a0b\u5bf9\u5e94\u6559\u6750\u4e5f\u662f\u4fe1\u606f\u8bba\u9886\u57df\u7684\u4e00\u90e8\u7ecf\u5178\u8457\u4f5c\u3002\u53ef\u60dc\u5929\u5992\u82f1\u624d...","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The%20Information%20Theory%2C%20Pattern%20Recognition%2C%20and%20Neural%20Networks/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aInformation Theory, Inference, and Learning Algorithms \u5728\u8bfe\u7a0b\u7f51\u7ad9\u53ef\u4ee5\u4e0b\u8f7d\u5230\u514d\u8d39\u7684\u7535\u5b50\u7248 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u6bcf\u4e00\u8282\u8bfe\u89c6\u9891\u7684\u6700\u540e\u4f1a\u7559\u6559\u6750\u4e0a\u7684\u8bfe\u540e\u4e60\u9898","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The%20Information%20Theory%2C%20Pattern%20Recognition%2C%20and%20Neural%20Networks/#rip-prof-david-mackay","text":"","title":"R.I.P Prof. David MacKay"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/","text":"Standford EE364A: Convex Optimization \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aPython\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba\uff0c\u6570\u503c\u5206\u6790 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 Stephen Boyd \u6559\u6388\u662f\u51f8\u4f18\u5316\u9886\u57df\u7684\u5927\u725b\uff0c\u5176\u7f16\u5199\u7684 Convex Optimization \u8fd9\u672c\u6559\u6750\u88ab\u4f17\u591a\u540d\u6821\u91c7\u7528\u3002\u53e6\u5916\u5176\u7814\u7a76\u56e2\u961f\u8fd8\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u7528\u4e8e\u6c42\u89e3\u5e38\u89c1\u51f8\u4f18\u5316\u95ee\u9898\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u652f\u6301Python\uff0cJulia\u7b49\u4e3b\u6d41\u7f16\u7a0b\u8bed\u8a00\uff0c\u5176\u8bfe\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u91c7\u7528\u8fd9\u4e2a\u7f16\u7a0b\u6846\u67b6\u53bb\u89e3\u51b3\u5b9e\u9645\u751f\u6d3b\u5f53\u4e2d\u7684\u51f8\u4f18\u5316\u95ee\u9898\u3002 \u5728\u5b9e\u9645\u8fd0\u7528\u5f53\u4e2d\uff0c\u4f60\u4f1a\u6df1\u523b\u4f53\u4f1a\u5230\u5bf9\u4e8e\u540c\u4e00\u4e2a\u95ee\u9898\uff0c\u5efa\u6a21\u8fc7\u7a0b\u4e2d\u4e00\u4e2a\u7ec6\u5c0f\u7684\u6539\u53d8\uff0c\u5176\u65b9\u7a0b\u7684\u6c42\u89e3\u96be\u5ea6\u4f1a\u6709\u5929\u58e4\u4e4b\u522b\uff0c\u5982\u4f55\u8ba9\u4f60\u5efa\u6a21\u7684\u65b9\u7a0b\u662f\u201c\u51f8\u201d\u7684\uff0c\u662f\u4e00\u95e8\u827a\u672f\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a Convex Optimization \u8bfe\u7a0b\u4f5c\u4e1a\uff1a9\u4e2aPython\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Standford EE364A: Convex Optimization"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#standford-ee364a-convex-optimization","text":"","title":"Standford EE364A: Convex Optimization"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aPython\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba\uff0c\u6570\u503c\u5206\u6790 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 Stephen Boyd \u6559\u6388\u662f\u51f8\u4f18\u5316\u9886\u57df\u7684\u5927\u725b\uff0c\u5176\u7f16\u5199\u7684 Convex Optimization \u8fd9\u672c\u6559\u6750\u88ab\u4f17\u591a\u540d\u6821\u91c7\u7528\u3002\u53e6\u5916\u5176\u7814\u7a76\u56e2\u961f\u8fd8\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u7528\u4e8e\u6c42\u89e3\u5e38\u89c1\u51f8\u4f18\u5316\u95ee\u9898\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u652f\u6301Python\uff0cJulia\u7b49\u4e3b\u6d41\u7f16\u7a0b\u8bed\u8a00\uff0c\u5176\u8bfe\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u91c7\u7528\u8fd9\u4e2a\u7f16\u7a0b\u6846\u67b6\u53bb\u89e3\u51b3\u5b9e\u9645\u751f\u6d3b\u5f53\u4e2d\u7684\u51f8\u4f18\u5316\u95ee\u9898\u3002 \u5728\u5b9e\u9645\u8fd0\u7528\u5f53\u4e2d\uff0c\u4f60\u4f1a\u6df1\u523b\u4f53\u4f1a\u5230\u5bf9\u4e8e\u540c\u4e00\u4e2a\u95ee\u9898\uff0c\u5efa\u6a21\u8fc7\u7a0b\u4e2d\u4e00\u4e2a\u7ec6\u5c0f\u7684\u6539\u53d8\uff0c\u5176\u65b9\u7a0b\u7684\u6c42\u89e3\u96be\u5ea6\u4f1a\u6709\u5929\u58e4\u4e4b\u522b\uff0c\u5982\u4f55\u8ba9\u4f60\u5efa\u6a21\u7684\u65b9\u7a0b\u662f\u201c\u51f8\u201d\u7684\uff0c\u662f\u4e00\u95e8\u827a\u672f\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a Convex Optimization \u8bfe\u7a0b\u4f5c\u4e1a\uff1a9\u4e2aPython\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/","text":"MIT18.330 : Introduction to numerical analysis \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba \u7f16\u7a0b\u8bed\u8a00\uff1aJulia \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u8ba1\u7b97\u673a\u5f3a\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u5e2e\u52a9\u4eba\u4eec\u5728\u79d1\u5b66\u9886\u57df\u4e0d\u65ad\u7a81\u7834\u8fb9\u754c\uff0c\u4e0d\u8fc7\u8ba1\u7b97\u673a\u7684\u79bb\u6563\u672c\u8d28\u548c\u8fd9\u4e2a\u8fde\u7eed\u7684\u4e16\u754c\u6709\u7740\u5929\u7136\u9e3f\u6c9f\uff0c\u800c\u5982\u4f55\u7528\u79bb\u6563\u7684\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u90a3\u4e9b\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\uff0c\u5219\u662f\u6570\u503c\u5206\u6790\u7684\u91cd\u8981\u4e3b\u9898\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5728\u6d6e\u70b9\u8868\u793a\u3001\u65b9\u7a0b\u6c42\u89e3\u3001\u7ebf\u6027\u4ee3\u6570\u3001\u5fae\u79ef\u5206\u3001\u7ebf\u6027\u4ee3\u6570\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u9886\u57df\u63a2\u8ba8\u5404\u7c7b\u6570\u503c\u5206\u6790\u65b9\u6cd5\uff0c\u8ba9\u4f60\u5728Julia\u7684\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u53cd\u590d\u4f53\u609f\uff081\uff09\u5982\u4f55\u5efa\u7acb\u4f30\u8ba1\uff082\uff09\u5982\u4f55\u4f30\u8ba1\u8bef\u5dee\uff083\uff09\u5982\u4f55\u7528\u7b97\u6cd5\u5b9e\u73b0\u4f30\u8ba1 \u8fd9\u4e00\u7cfb\u5217\u6b65\u9aa4\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u8fd8\u7f16\u5199\u4e86\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750\uff08\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\uff0c\u91cc\u9762\u6709\u4e30\u5bcc\u7684Julia\u5b9e\u4f8b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aJulia\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"MIT18.330: Introduction to numerical analysis"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#mit18330-introduction-to-numerical-analysis","text":"","title":"MIT18.330 : Introduction to numerical analysis"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba \u7f16\u7a0b\u8bed\u8a00\uff1aJulia \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u8ba1\u7b97\u673a\u5f3a\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u5e2e\u52a9\u4eba\u4eec\u5728\u79d1\u5b66\u9886\u57df\u4e0d\u65ad\u7a81\u7834\u8fb9\u754c\uff0c\u4e0d\u8fc7\u8ba1\u7b97\u673a\u7684\u79bb\u6563\u672c\u8d28\u548c\u8fd9\u4e2a\u8fde\u7eed\u7684\u4e16\u754c\u6709\u7740\u5929\u7136\u9e3f\u6c9f\uff0c\u800c\u5982\u4f55\u7528\u79bb\u6563\u7684\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u90a3\u4e9b\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\uff0c\u5219\u662f\u6570\u503c\u5206\u6790\u7684\u91cd\u8981\u4e3b\u9898\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5728\u6d6e\u70b9\u8868\u793a\u3001\u65b9\u7a0b\u6c42\u89e3\u3001\u7ebf\u6027\u4ee3\u6570\u3001\u5fae\u79ef\u5206\u3001\u7ebf\u6027\u4ee3\u6570\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u9886\u57df\u63a2\u8ba8\u5404\u7c7b\u6570\u503c\u5206\u6790\u65b9\u6cd5\uff0c\u8ba9\u4f60\u5728Julia\u7684\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u53cd\u590d\u4f53\u609f\uff081\uff09\u5982\u4f55\u5efa\u7acb\u4f30\u8ba1\uff082\uff09\u5982\u4f55\u4f30\u8ba1\u8bef\u5dee\uff083\uff09\u5982\u4f55\u7528\u7b97\u6cd5\u5b9e\u73b0\u4f30\u8ba1 \u8fd9\u4e00\u7cfb\u5217\u6b65\u9aa4\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u8fd8\u7f16\u5199\u4e86\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750\uff08\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\uff0c\u91cc\u9762\u6709\u4e30\u5bcc\u7684Julia\u5b9e\u4f8b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aJulia\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/","text":"CMU 15-445: Database Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aC++\uff0c\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f5c\u4e3aCMU\u6570\u636e\u5e93\u7684\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u7531\u6570\u636e\u5e93\u9886\u57df\u7684\u5927\u725b Andy Pavlo\u8bb2\u6388\uff08\u201c\u8fd9\u4e2a\u4e16\u754c\u4e0a\u6211\u53ea\u5728\u4e4e\u4e24\u4ef6\u4e8b\uff0c\u4e00\u662f\u6211\u7684\u8001\u5a46\uff0c\u4e8c\u5c31\u662f\u6570\u636e\u5e93\u201d\uff09\u300215-445\u4f1a\u81ea\u5e95\u5411\u4e0a\u5730\u6559\u4f60\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u7ec4\u6210\u90e8\u5206\uff1a\u5b58\u50a8\u3001\u7d22\u5f15\u3001\u67e5\u8be2\uff0c\u4ee5\u53ca\u5e76\u53d1\u4e8b\u52a1\u63a7\u5236\u3002 \u8fd9\u95e8\u8bfe\u7684\u4eae\u70b9\u5728\u4e8eCMU db\u4e13\u95e8\u4e3a\u6b64\u8bfe\u5f00\u53d1\u4e86\u4e00\u4e2a\u6559\u5b66\u7528\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \uff0c\u5e76\u8981\u6c42\u4f60\u5bf9\u8fd9\u4e2a\u6570\u636e\u5e93\u7684\u7ec4\u6210\u90e8\u5206\u8fdb\u884c\u4fee\u6539\uff0c\u5b9e\u73b0\u4e0a\u8ff0\u90e8\u4ef6\u7684\u529f\u80fd\u3002\u6b64\u5916 bustub\u4f5c\u4e3a\u4e00\u4e2aC++\u7f16\u5199\u7684\u4e2d\u5c0f\u578b\u9879\u76ee\u6db5\u76d6\u4e86\u7a0b\u5e8f\u6784\u5efa\u3001\u4ee3\u7801\u89c4\u8303\u3001\u5355\u5143\u6d4b\u8bd5\u7b49\u4f17\u591a\u8981\u6c42\uff0c\u53ef\u4ee5\u4f5c\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u5f00\u6e90\u9879\u76ee\u5b66\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9(Fall2019) , \u8bfe\u7a0b\u7f51\u7ad9(Fall2020) \u8bfe\u7a0b\u89c6\u9891\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u514d\u8d39\u89c2\u770b \u8bfe\u7a0b\u6559\u6750\uff1aDatabase System Concepts \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2aProject \u5728Fall2019\u4e2d\uff0c\u7b2c\u4e8c\u4e2aproject\u662f\u505a\u54c8\u5e0c\u7d22\u5f15\uff0c\u7b2c\u56db\u4e2aproject\u662f\u505a\u65e5\u5fd7\u4e0e\u6062\u590d \u5728Fall2020\u4e2d\uff0c\u7b2c\u4e8c\u4e2aproject\u662f\u505aB\u6811\uff0c\u7b2c\u56db\u4e2aproject\u662f\u505a\u5e76\u53d1\u63a7\u5236 \u5982\u679c\u5927\u5bb6\u6709\u7cbe\u529b\u7684\u8bdd\u53ef\u4ee5\u90fd\u53bb\u5c1d\u8bd5\u4e00\u4e0b\uff0c\u6216\u8005\u5728\u5bf9\u4e66\u4e2d\u5185\u5bb9\u7406\u89e3\u4e0d\u662f\u5f88\u900f\u5f7b\u7684\u65f6\u5019\uff0c\u5c1d\u8bd5\u7528\u4ee3\u7801\u5199\u4e00\u4e2a\u4f1a\u52a0\u6df1\u4f60\u7684\u7406\u89e3\u3002 \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002 \u7531\u4e8eAndy\u7684\u8981\u6c42\uff0c\u4ed3\u5e93\u4e2d\u6ca1\u6709project\u7684\u5b9e\u73b0\uff0c\u53ea\u6709homework\u7684solution\u3002\u7279\u522b\u7684\uff0c\u5bf9\u4e8ehomework1\uff0c\u6211\u8fd8\u5199\u4e86\u4e00\u4e2ashell\u811a\u672c\u6765\u5e2e\u5927\u5bb6\u6267\u884c\u81ea\u52a8\u5224\u5206 \u53e6\u5916\u5728\u8bfe\u7a0b\u7ed3\u675f\u540e\uff0c\u6211\u5341\u5206\u63a8\u8350\u9605\u8bfb\u4e00\u7bc7\u8bba\u6587 Architecture Of a Database System \uff0c\u5bf9\u5e94\u7684\u4e2d\u6587\u7248\u6211\u4e0a\u4f20\u5230\u4e86\u94fe\u63a5\u4e2d\u7684\u4ed3\u5e93\u3002\u8bba\u6587\u91cc\u7efc\u8ff0\u4e86\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u6574\u4f53\u67b6\u6784\uff0c\u8ba9\u5927\u5bb6\u53ef\u4ee5\u5bf9\u6570\u636e\u5e93\u6709\u4e00\u4e2a\u66f4\u52a0\u5168\u9762\u7684\u89c6\u91ce\u3002 \u540e\u7eed\u8bfe\u7a0b CMU15-721 \u4e3b\u8981\u8bb2\u4e3b\u5b58\u6570\u636e\u5e93\u6709\u5173\u7684\u5185\u5bb9\uff0c\u6bcf\u8282\u8bfe\u90fd\u6709\u5bf9\u5e94\u7684paper\u8981\u8bfb\uff0c\u63a8\u8350\u7ed9\u5e0c\u671b\u8fdb\u9636\u6570\u636e\u5e93\u7684\u5c0f\u4f19\u4f34 \u6211\u76ee\u524d\u4e5f\u5728\u8ddf\u8fdb\u8fd9\u95e8\u8bfe\uff0c\u5b8c\u6210\u540e\u4f1a\u5728\u8fd9\u91cc\u63d0PR\u4ee5\u63d0\u4f9b\u8fdb\u9636\u7684\u6307\u5bfc","title":"CMU 15-445: Database Systems"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#cmu-15-445-database-systems","text":"","title":"CMU 15-445: Database Systems"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aC++\uff0c\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f5c\u4e3aCMU\u6570\u636e\u5e93\u7684\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u7531\u6570\u636e\u5e93\u9886\u57df\u7684\u5927\u725b Andy Pavlo\u8bb2\u6388\uff08\u201c\u8fd9\u4e2a\u4e16\u754c\u4e0a\u6211\u53ea\u5728\u4e4e\u4e24\u4ef6\u4e8b\uff0c\u4e00\u662f\u6211\u7684\u8001\u5a46\uff0c\u4e8c\u5c31\u662f\u6570\u636e\u5e93\u201d\uff09\u300215-445\u4f1a\u81ea\u5e95\u5411\u4e0a\u5730\u6559\u4f60\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u7ec4\u6210\u90e8\u5206\uff1a\u5b58\u50a8\u3001\u7d22\u5f15\u3001\u67e5\u8be2\uff0c\u4ee5\u53ca\u5e76\u53d1\u4e8b\u52a1\u63a7\u5236\u3002 \u8fd9\u95e8\u8bfe\u7684\u4eae\u70b9\u5728\u4e8eCMU db\u4e13\u95e8\u4e3a\u6b64\u8bfe\u5f00\u53d1\u4e86\u4e00\u4e2a\u6559\u5b66\u7528\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \uff0c\u5e76\u8981\u6c42\u4f60\u5bf9\u8fd9\u4e2a\u6570\u636e\u5e93\u7684\u7ec4\u6210\u90e8\u5206\u8fdb\u884c\u4fee\u6539\uff0c\u5b9e\u73b0\u4e0a\u8ff0\u90e8\u4ef6\u7684\u529f\u80fd\u3002\u6b64\u5916 bustub\u4f5c\u4e3a\u4e00\u4e2aC++\u7f16\u5199\u7684\u4e2d\u5c0f\u578b\u9879\u76ee\u6db5\u76d6\u4e86\u7a0b\u5e8f\u6784\u5efa\u3001\u4ee3\u7801\u89c4\u8303\u3001\u5355\u5143\u6d4b\u8bd5\u7b49\u4f17\u591a\u8981\u6c42\uff0c\u53ef\u4ee5\u4f5c\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u5f00\u6e90\u9879\u76ee\u5b66\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9(Fall2019) , \u8bfe\u7a0b\u7f51\u7ad9(Fall2020) \u8bfe\u7a0b\u89c6\u9891\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u514d\u8d39\u89c2\u770b \u8bfe\u7a0b\u6559\u6750\uff1aDatabase System Concepts \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2aProject \u5728Fall2019\u4e2d\uff0c\u7b2c\u4e8c\u4e2aproject\u662f\u505a\u54c8\u5e0c\u7d22\u5f15\uff0c\u7b2c\u56db\u4e2aproject\u662f\u505a\u65e5\u5fd7\u4e0e\u6062\u590d \u5728Fall2020\u4e2d\uff0c\u7b2c\u4e8c\u4e2aproject\u662f\u505aB\u6811\uff0c\u7b2c\u56db\u4e2aproject\u662f\u505a\u5e76\u53d1\u63a7\u5236 \u5982\u679c\u5927\u5bb6\u6709\u7cbe\u529b\u7684\u8bdd\u53ef\u4ee5\u90fd\u53bb\u5c1d\u8bd5\u4e00\u4e0b\uff0c\u6216\u8005\u5728\u5bf9\u4e66\u4e2d\u5185\u5bb9\u7406\u89e3\u4e0d\u662f\u5f88\u900f\u5f7b\u7684\u65f6\u5019\uff0c\u5c1d\u8bd5\u7528\u4ee3\u7801\u5199\u4e00\u4e2a\u4f1a\u52a0\u6df1\u4f60\u7684\u7406\u89e3\u3002 \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002 \u7531\u4e8eAndy\u7684\u8981\u6c42\uff0c\u4ed3\u5e93\u4e2d\u6ca1\u6709project\u7684\u5b9e\u73b0\uff0c\u53ea\u6709homework\u7684solution\u3002\u7279\u522b\u7684\uff0c\u5bf9\u4e8ehomework1\uff0c\u6211\u8fd8\u5199\u4e86\u4e00\u4e2ashell\u811a\u672c\u6765\u5e2e\u5927\u5bb6\u6267\u884c\u81ea\u52a8\u5224\u5206 \u53e6\u5916\u5728\u8bfe\u7a0b\u7ed3\u675f\u540e\uff0c\u6211\u5341\u5206\u63a8\u8350\u9605\u8bfb\u4e00\u7bc7\u8bba\u6587 Architecture Of a Database System \uff0c\u5bf9\u5e94\u7684\u4e2d\u6587\u7248\u6211\u4e0a\u4f20\u5230\u4e86\u94fe\u63a5\u4e2d\u7684\u4ed3\u5e93\u3002\u8bba\u6587\u91cc\u7efc\u8ff0\u4e86\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u6574\u4f53\u67b6\u6784\uff0c\u8ba9\u5927\u5bb6\u53ef\u4ee5\u5bf9\u6570\u636e\u5e93\u6709\u4e00\u4e2a\u66f4\u52a0\u5168\u9762\u7684\u89c6\u91ce\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_3","text":"CMU15-721 \u4e3b\u8981\u8bb2\u4e3b\u5b58\u6570\u636e\u5e93\u6709\u5173\u7684\u5185\u5bb9\uff0c\u6bcf\u8282\u8bfe\u90fd\u6709\u5bf9\u5e94\u7684paper\u8981\u8bfb\uff0c\u63a8\u8350\u7ed9\u5e0c\u671b\u8fdb\u9636\u6570\u636e\u5e93\u7684\u5c0f\u4f19\u4f34 \u6211\u76ee\u524d\u4e5f\u5728\u8ddf\u8fdb\u8fd9\u95e8\u8bfe\uff0c\u5b8c\u6210\u540e\u4f1a\u5728\u8fd9\u91cc\u63d0PR\u4ee5\u63d0\u4f9b\u8fdb\u9636\u7684\u6307\u5bfc","title":"\u540e\u7eed\u8bfe\u7a0b"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/","text":"UCB CS186: Introduction to Database System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u5982\u4f55\u7f16\u5199SQL\u67e5\u8be2\uff1fSQL\u547d\u4ee4\u662f\u5982\u4f55\u88ab\u4e00\u6b65\u6b65\u62c6\u89e3\u3001\u4f18\u5316\u3001\u8f6c\u53d8\u4e3a\u4e00\u4e2a\u4e2a\u78c1\u76d8\u67e5\u8be2\u6307\u4ee4\u7684\uff1f\u5982\u4f55\u5b9e\u73b0\u9ad8\u5e76\u53d1\u7684\u6570\u636e\u5e93\uff1f\u5982\u4f55\u5b9e\u73b0\u6570\u636e\u5e93\u7684\u6545\u969c\u6062\u590d\uff1f\u4ec0\u4e48\u53c8\u662f\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff1f\u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u5185\u90e8\u7ec6\u8282\uff0c\u5e76\u5728\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u52a8\u624b\u7528Java\u5b9e\u73b0\u4e00\u4e2a\u652f\u6301SQL\u5e76\u53d1\u67e5\u8be2\u3001B+\u6811Index\u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 \u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u5728\u7f16\u7a0b\u4f5c\u4e1a\u4e2d\u953b\u70bc\u4f60\u7f16\u5199SQL\u67e5\u8be2\u4ee5\u53caNoSQL\u67e5\u8be2\u7684\u80fd\u529b\uff0c\u5bf9\u4e8e\u6784\u5efa\u4e00\u4e9b\u5168\u6808\u7684\u5de5\u7a0b\u9879\u76ee\u5f88\u6709\u5e2e\u52a9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6\u4e2aProject \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS186: Introduction to Database System"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#ucb-cs186-introduction-to-database-system","text":"","title":"UCB CS186: Introduction to Database System"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u5982\u4f55\u7f16\u5199SQL\u67e5\u8be2\uff1fSQL\u547d\u4ee4\u662f\u5982\u4f55\u88ab\u4e00\u6b65\u6b65\u62c6\u89e3\u3001\u4f18\u5316\u3001\u8f6c\u53d8\u4e3a\u4e00\u4e2a\u4e2a\u78c1\u76d8\u67e5\u8be2\u6307\u4ee4\u7684\uff1f\u5982\u4f55\u5b9e\u73b0\u9ad8\u5e76\u53d1\u7684\u6570\u636e\u5e93\uff1f\u5982\u4f55\u5b9e\u73b0\u6570\u636e\u5e93\u7684\u6545\u969c\u6062\u590d\uff1f\u4ec0\u4e48\u53c8\u662f\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff1f\u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u5185\u90e8\u7ec6\u8282\uff0c\u5e76\u5728\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u52a8\u624b\u7528Java\u5b9e\u73b0\u4e00\u4e2a\u652f\u6301SQL\u5e76\u53d1\u67e5\u8be2\u3001B+\u6811Index\u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 \u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u5728\u7f16\u7a0b\u4f5c\u4e1a\u4e2d\u953b\u70bc\u4f60\u7f16\u5199SQL\u67e5\u8be2\u4ee5\u53caNoSQL\u67e5\u8be2\u7684\u80fd\u529b\uff0c\u5bf9\u4e8e\u6784\u5efa\u4e00\u4e9b\u5168\u6808\u7684\u5de5\u7a0b\u9879\u76ee\u5f88\u6709\u5e2e\u52a9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6\u4e2aProject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6570\u636e\u79d1\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\uff0c\u8986\u76d6\u4e86\u6570\u636e\u6e05\u6d17\u3001\u7279\u5f81\u63d0\u53d6\u3001\u6570\u636e\u53ef\u89c6\u5316\u4ee5\u53ca\u673a\u5668\u5b66\u4e60\u548c\u63a8\u7406\u7684\u57fa\u7840\u5185\u5bb9\uff0c\u4e5f\u4f1a\u8bb2\u6388Pandas\uff0cNumpy\uff0cMatplotlib\u7b49\u6570\u636e\u79d1\u5b66\u5e38\u7528\u5de5\u5177\u3002\u5176\u4e30\u5bcc\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4eae\u70b9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"UCB Data100: Principles and Techniques of Data Science"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6570\u636e\u79d1\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\uff0c\u8986\u76d6\u4e86\u6570\u636e\u6e05\u6d17\u3001\u7279\u5f81\u63d0\u53d6\u3001\u6570\u636e\u53ef\u89c6\u5316\u4ee5\u53ca\u673a\u5668\u5b66\u4e60\u548c\u63a8\u7406\u7684\u57fa\u7840\u5185\u5bb9\uff0c\u4e5f\u4f1a\u8bb2\u6388Pandas\uff0cNumpy\uff0cMatplotlib\u7b49\u6570\u636e\u79d1\u5b66\u5e38\u7528\u5de5\u5177\u3002\u5176\u4e30\u5bcc\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4eae\u70b9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/","text":"Coursera: Algorithms I & II \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aPrinceton \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u8fd9\u662f Coursera \u4e0a\u8bc4\u5206\u6700\u9ad8\u7684\u7b97\u6cd5\u8bfe\u7a0b\u3002Robert Sedgewick\u6559\u6388\u6709\u4e00\u79cd\u9b54\u529b\uff0c\u53ef\u4ee5\u5c06\u65e0\u8bba\u591a\u4e48\u590d\u6742\u7684\u7b97\u6cd5\u8bb2\u5f97\u6781\u4e3a\u751f\u52a8\u6d45\u663e\u3002\u5b9e\u4e0d\u76f8\u7792\uff0c\u56f0\u6270\u6211 \u591a\u5e74\u7684KMP\u4ee5\u53ca\u7f51\u7edc\u6d41\u7b97\u6cd5\u90fd\u662f\u5728\u8fd9\u95e8\u8bfe\u4e0a\u8ba9\u6211\u8305\u585e\u987f\u5f00\u7684\uff0c\u65f6\u9694\u4e24\u5e74\u6211\u751a\u81f3\u8fd8\u80fd\u5199\u51fa\u8fd9\u4e24\u4e2a\u7b97\u6cd5\u7684\u63a8\u5bfc\u4e0e\u8bc1\u660e\u3002 \u4f60\u662f\u5426\u89c9\u5f97\u7b97\u6cd5\u5b66\u4e86\u5c31\u5fd8\u5462\uff1f\u6211\u89c9\u5f97\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u4e00\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u5728\u4e8e\u7406\u89e3\u4e09\u70b9\uff1a \u4e3a\u4ec0\u4e48\u8fd9\u4e48\u505a\uff1f\uff08\u6b63\u786e\u6027\u63a8\u5bfc\uff0c\u6291\u6216\u662f\u6574\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u672c\u8d28\uff09 \u5982\u4f55\u5b9e\u73b0\u5b83\uff1f\uff08\u5149\u5b66\u4e0d\u7528\u5047\u628a\u5f0f\uff09 \u7528\u5b83\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff08\u5b66\u4ee5\u81f4\u7528\u624d\u662f\u771f\u672c\u4e8b\uff09 \u8fd9\u95e8\u8bfe\u7684\u6784\u6210\u5c31\u975e\u5e38\u597d\u5730\u5951\u5408\u4e86\u4e0a\u8ff0\u4e09\u4e2a\u6b65\u9aa4\u3002\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u5e76\u4e14\u9605\u8bfb\u6559\u6388\u7684 \u5f00\u6e90\u8bfe\u672c \u6709\u52a9\u4e8e\u4f60\u7406\u89e3\u7b97\u6cd5\u7684\u672c\u8d28\uff0c\u8ba9\u4f60\u4e5f\u53ef\u4ee5\u7528\u975e\u5e38 \u751f\u52a8\u6d45\u663e\u7684\u8bdd\u8bed\u5411\u522b\u4eba\u8bb2\u8ff0\u4e3a\u4ec0\u4e48\u8fd9\u4e2a\u7b97\u6cd5\u5f97\u957f\u8fd9\u4e2a\u6837\u5b50\u3002 \u5728\u7406\u89e3\u7b97\u6cd5\u4e4b\u540e\uff0c\u4f60\u53ef\u4ee5\u9605\u8bfb\u6559\u6388\u5bf9\u4e8e\u8bfe\u7a0b\u4e2d\u8bb2\u6388\u7684\u6240\u6709\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684 \u4ee3\u7801\u5b9e\u73b0 \u3002 \u6ce8\u610f\uff0c\u8fd9\u4e9b\u5b9e\u73b0\u53ef\u4e0d\u662fdemo\u6027\u8d28\u7684\uff0c\u800c\u662f\u5de5\u4e1a\u7ea7\u7684\u9ad8\u6548\u5b9e\u73b0\uff0c\u4ece\u6ce8\u91ca\u5230\u53d8\u91cf\u547d\u540d\u90fd\u975e\u5e38\u4e25\u8c28\uff0c\u6a21\u5757\u5316\u4e5f\u505a\u5f97\u76f8\u5f53\u597d\uff0c\u662f\u8d28\u91cf\u5f88\u9ad8\u7684\u4ee3\u7801\u3002\u6211\u4ece\u8fd9\u4e9b\u4ee3\u7801\u4e2d\u6536\u83b7\u826f\u591a\u3002 \u6700\u540e\uff0c\u5c31\u662f\u8fd9\u95e8\u8bfe\u6700\u6fc0\u52a8\u4eba\u5fc3\u7684\u90e8\u5206\u4e86\uff0c10\u4e2a\u9ad8\u8d28\u91cf\u7684Project\uff0c\u5e76\u4e14\u5168\u90fd\u6709\u5b9e\u9645\u95ee\u9898\u7684\u80cc\u666f\u63cf\u8ff0\uff0c\u4e30\u5bcc\u7684\u6d4b\u8bd5\u6837\u4f8b\uff0c\u81ea\u52a8\u7684\u8bc4\u5206\u7cfb\u7edf\uff08\u4ee3\u7801\u98ce\u683c\u4e5f\u662f\u8bc4\u5206\u7684\u4e00\u73af\uff09\u3002\u8ba9\u4f60\u5728\u5b9e\u9645\u751f\u6d3b\u4e2d \u9886\u7565\u7b97\u6cd5\u7684\u9b45\u529b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Algorithm I , Algorithm II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aProject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Coursera: Algorithms I & II"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#coursera-algorithms-i-ii","text":"","title":"Coursera: Algorithms I & II"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aPrinceton \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u8fd9\u662f Coursera \u4e0a\u8bc4\u5206\u6700\u9ad8\u7684\u7b97\u6cd5\u8bfe\u7a0b\u3002Robert Sedgewick\u6559\u6388\u6709\u4e00\u79cd\u9b54\u529b\uff0c\u53ef\u4ee5\u5c06\u65e0\u8bba\u591a\u4e48\u590d\u6742\u7684\u7b97\u6cd5\u8bb2\u5f97\u6781\u4e3a\u751f\u52a8\u6d45\u663e\u3002\u5b9e\u4e0d\u76f8\u7792\uff0c\u56f0\u6270\u6211 \u591a\u5e74\u7684KMP\u4ee5\u53ca\u7f51\u7edc\u6d41\u7b97\u6cd5\u90fd\u662f\u5728\u8fd9\u95e8\u8bfe\u4e0a\u8ba9\u6211\u8305\u585e\u987f\u5f00\u7684\uff0c\u65f6\u9694\u4e24\u5e74\u6211\u751a\u81f3\u8fd8\u80fd\u5199\u51fa\u8fd9\u4e24\u4e2a\u7b97\u6cd5\u7684\u63a8\u5bfc\u4e0e\u8bc1\u660e\u3002 \u4f60\u662f\u5426\u89c9\u5f97\u7b97\u6cd5\u5b66\u4e86\u5c31\u5fd8\u5462\uff1f\u6211\u89c9\u5f97\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u4e00\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u5728\u4e8e\u7406\u89e3\u4e09\u70b9\uff1a \u4e3a\u4ec0\u4e48\u8fd9\u4e48\u505a\uff1f\uff08\u6b63\u786e\u6027\u63a8\u5bfc\uff0c\u6291\u6216\u662f\u6574\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u672c\u8d28\uff09 \u5982\u4f55\u5b9e\u73b0\u5b83\uff1f\uff08\u5149\u5b66\u4e0d\u7528\u5047\u628a\u5f0f\uff09 \u7528\u5b83\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff08\u5b66\u4ee5\u81f4\u7528\u624d\u662f\u771f\u672c\u4e8b\uff09 \u8fd9\u95e8\u8bfe\u7684\u6784\u6210\u5c31\u975e\u5e38\u597d\u5730\u5951\u5408\u4e86\u4e0a\u8ff0\u4e09\u4e2a\u6b65\u9aa4\u3002\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u5e76\u4e14\u9605\u8bfb\u6559\u6388\u7684 \u5f00\u6e90\u8bfe\u672c \u6709\u52a9\u4e8e\u4f60\u7406\u89e3\u7b97\u6cd5\u7684\u672c\u8d28\uff0c\u8ba9\u4f60\u4e5f\u53ef\u4ee5\u7528\u975e\u5e38 \u751f\u52a8\u6d45\u663e\u7684\u8bdd\u8bed\u5411\u522b\u4eba\u8bb2\u8ff0\u4e3a\u4ec0\u4e48\u8fd9\u4e2a\u7b97\u6cd5\u5f97\u957f\u8fd9\u4e2a\u6837\u5b50\u3002 \u5728\u7406\u89e3\u7b97\u6cd5\u4e4b\u540e\uff0c\u4f60\u53ef\u4ee5\u9605\u8bfb\u6559\u6388\u5bf9\u4e8e\u8bfe\u7a0b\u4e2d\u8bb2\u6388\u7684\u6240\u6709\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684 \u4ee3\u7801\u5b9e\u73b0 \u3002 \u6ce8\u610f\uff0c\u8fd9\u4e9b\u5b9e\u73b0\u53ef\u4e0d\u662fdemo\u6027\u8d28\u7684\uff0c\u800c\u662f\u5de5\u4e1a\u7ea7\u7684\u9ad8\u6548\u5b9e\u73b0\uff0c\u4ece\u6ce8\u91ca\u5230\u53d8\u91cf\u547d\u540d\u90fd\u975e\u5e38\u4e25\u8c28\uff0c\u6a21\u5757\u5316\u4e5f\u505a\u5f97\u76f8\u5f53\u597d\uff0c\u662f\u8d28\u91cf\u5f88\u9ad8\u7684\u4ee3\u7801\u3002\u6211\u4ece\u8fd9\u4e9b\u4ee3\u7801\u4e2d\u6536\u83b7\u826f\u591a\u3002 \u6700\u540e\uff0c\u5c31\u662f\u8fd9\u95e8\u8bfe\u6700\u6fc0\u52a8\u4eba\u5fc3\u7684\u90e8\u5206\u4e86\uff0c10\u4e2a\u9ad8\u8d28\u91cf\u7684Project\uff0c\u5e76\u4e14\u5168\u90fd\u6709\u5b9e\u9645\u95ee\u9898\u7684\u80cc\u666f\u63cf\u8ff0\uff0c\u4e30\u5bcc\u7684\u6d4b\u8bd5\u6837\u4f8b\uff0c\u81ea\u52a8\u7684\u8bc4\u5206\u7cfb\u7edf\uff08\u4ee3\u7801\u98ce\u683c\u4e5f\u662f\u8bc4\u5206\u7684\u4e00\u73af\uff09\u3002\u8ba9\u4f60\u5728\u5b9e\u9645\u751f\u6d3b\u4e2d \u9886\u7565\u7b97\u6cd5\u7684\u9b45\u529b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Algorithm I , Algorithm II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aProject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS106B_CS106X/","text":"Stanford CS106B/X: Programming Abstractions in C++ \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u57fa\u7840(CS50/CS106A/CS61A or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 Stanford\u7684\u8fdb\u9636\u7f16\u7a0b\u8bfe\uff0cCS106X\u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u4f1a\u6bd4CS106B\u6709\u6240\u63d0\u9ad8\uff0c\u4f46\u4e3b\u4f53\u5185\u5bb9\u7c7b\u4f3c\u3002\u4e3b\u8981\u901a\u8fc7C++\u8bed\u8a00\u8ba9\u5b66\u751f\u5728\u5b9e\u9645\u7684\u7f16\u7a0b\u4f5c\u4e1a\u91cc\u57f9\u517b\u901a\u8fc7\u7f16\u7a0b\u62bd\u8c61\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u7684\u80fd\u529b\uff0c\u540c\u65f6\u4e5f\u4f1a\u6d89\u53ca\u4e00\u4e9b\u7b80\u5355\u7684\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u7684\u77e5\u8bc6\uff0c\u4f46\u603b\u4f53\u6765\u8bf4\u6ca1\u6709\u4e00\u95e8\u4e13\u95e8\u7684\u6570\u636e\u7ed3\u6784\u8bfe\u90a3\u4e48\u7cfb\u7edf\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a CS106B , CS106X \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u89c6\u9891","title":"Stanford CS106B/X"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS106B_CS106X/#stanford-cs106bx-programming-abstractions-in-c","text":"","title":"Stanford CS106B/X: Programming Abstractions in C++"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS106B_CS106X/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u57fa\u7840(CS50/CS106A/CS61A or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 Stanford\u7684\u8fdb\u9636\u7f16\u7a0b\u8bfe\uff0cCS106X\u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u4f1a\u6bd4CS106B\u6709\u6240\u63d0\u9ad8\uff0c\u4f46\u4e3b\u4f53\u5185\u5bb9\u7c7b\u4f3c\u3002\u4e3b\u8981\u901a\u8fc7C++\u8bed\u8a00\u8ba9\u5b66\u751f\u5728\u5b9e\u9645\u7684\u7f16\u7a0b\u4f5c\u4e1a\u91cc\u57f9\u517b\u901a\u8fc7\u7f16\u7a0b\u62bd\u8c61\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u7684\u80fd\u529b\uff0c\u540c\u65f6\u4e5f\u4f1a\u6d89\u53ca\u4e00\u4e9b\u7b80\u5355\u7684\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u7684\u77e5\u8bc6\uff0c\u4f46\u603b\u4f53\u6765\u8bf4\u6ca1\u6709\u4e00\u95e8\u4e13\u95e8\u7684\u6570\u636e\u7ed3\u6784\u8bfe\u90a3\u4e48\u7cfb\u7edf\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS106B_CS106X/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a CS106B , CS106X \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u89c6\u9891","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/","text":"CS170: Efficient Algorithms and Intractable Problems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61B, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aLatex \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u8bfe\uff0c\u66f4\u6ce8\u91cd\u7b97\u6cd5\u7684\u7406\u8bba\u57fa\u7840\u4e0e\u590d\u6742\u5ea6\u5206\u6790\u3002\u8bfe\u7a0b\u5185\u5bb9\u6db5\u76d6\u4e86\u5206\u6cbb\u3001\u56fe\u7b97\u6cd5\u3001\u6700\u77ed\u8def\u3001\u751f\u6210\u6811\u3001\u8d2a\u5fc3\u3001\u52a8\u89c4\u3001\u5e76\u67e5\u96c6\u3001\u7ebf\u6027\u89c4\u5212\u3001\u7f51\u7edc\u6d41\u3001 NP\u95ee\u9898\u3001\u968f\u673a\u7b97\u6cd5\u3001\u54c8\u5e0c\u7b97\u6cd5\u7b49\u7b49\u3002 \u8fd9\u95e8\u8bfe\u7684\u6559\u6750\u5199\u7684\u5f88\u597d\uff0c\u8bc1\u660e\u6d45\u663e\u6613\u61c2\uff0c\u975e\u5e38\u9002\u5408\u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u53e6\u5916\uff0c\u8fd9\u95e8\u8bfe\u53ea\u6709\u4e66\u9762\u4f5c\u4e1a\uff0c\u5e76\u4e14\u63a8\u8350\u7528Latex\u7f16\u5199\uff0c\u5927\u5bb6\u53ef\u4ee5\u501f\u6b64\u673a\u4f1a\u953b\u70bc\u81ea\u5df1\u7684 Latex\u6280\u5de7\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a13\u6b21\u4e66\u9762\u4f5c\u4e1a\uff0c\u7528Latex\u7f16\u5199 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS170: Efficient Algorithms and Intractable Problems"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#cs170-efficient-algorithms-and-intractable-problems","text":"","title":"CS170: Efficient Algorithms and Intractable Problems"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61B, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aLatex \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u8bfe\uff0c\u66f4\u6ce8\u91cd\u7b97\u6cd5\u7684\u7406\u8bba\u57fa\u7840\u4e0e\u590d\u6742\u5ea6\u5206\u6790\u3002\u8bfe\u7a0b\u5185\u5bb9\u6db5\u76d6\u4e86\u5206\u6cbb\u3001\u56fe\u7b97\u6cd5\u3001\u6700\u77ed\u8def\u3001\u751f\u6210\u6811\u3001\u8d2a\u5fc3\u3001\u52a8\u89c4\u3001\u5e76\u67e5\u96c6\u3001\u7ebf\u6027\u89c4\u5212\u3001\u7f51\u7edc\u6d41\u3001 NP\u95ee\u9898\u3001\u968f\u673a\u7b97\u6cd5\u3001\u54c8\u5e0c\u7b97\u6cd5\u7b49\u7b49\u3002 \u8fd9\u95e8\u8bfe\u7684\u6559\u6750\u5199\u7684\u5f88\u597d\uff0c\u8bc1\u660e\u6d45\u663e\u6613\u61c2\uff0c\u975e\u5e38\u9002\u5408\u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u53e6\u5916\uff0c\u8fd9\u95e8\u8bfe\u53ea\u6709\u4e66\u9762\u4f5c\u4e1a\uff0c\u5e76\u4e14\u63a8\u8350\u7528Latex\u7f16\u5199\uff0c\u5927\u5bb6\u53ef\u4ee5\u501f\u6b64\u673a\u4f1a\u953b\u70bc\u81ea\u5df1\u7684 Latex\u6280\u5de7\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a13\u6b21\u4e66\u9762\u4f5c\u4e1a\uff0c\u7528Latex\u7f16\u5199","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/","text":"CS61B: Data Structures and Algorithms \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u4f2f\u514b\u5229CS61\u7cfb\u5217\u7684\u7b2c\u4e8c\u95e8\u8bfe\u7a0b\uff0c\u6ce8\u91cd\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u8bbe\u8ba1\uff0c\u540c\u65f6\u8ba9\u5b66\u751f\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u901a\u8fc7Java\u521d\u6b65\u9886\u4f1a\u8f6f\u4ef6\u5de5\u7a0b\u7684\u601d\u60f3\u3002 \u6211\u4e0a\u7684\u662f2018\u5e74\u6625\u5b63\u5b66\u671f\u7684\u7248\u672c\uff0c\u8be5\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08Josh Hug\u6559\u6388\u6177\u6168\u5730\u5c06autograder\u5f00\u6e90\u4e86\uff0c\u5927\u5bb6\u53ef\u4ee5\u901a\u8fc7\u7f51\u7ad9\u516c\u5f00\u7684\u9080\u8bf7\u7801\u5728 gradescope \u514d\u8d39\u52a0\u5165\u8bfe\u7a0b\uff0c\u4ece\u800c\u65b9\u4fbf\u5730\u6d4b\u8bc4\u81ea\u5df1\u7684\u4ee3\u7801\u3002 \u8fd9\u95e8\u8bfe\u6240\u6709\u7684\u7f16\u7a0b\u4f5c\u4e1a\u90fd\u662f\u4f7f\u7528Java\u5b8c\u6210\u7684\u3002\u6ca1\u6709Java\u57fa\u7840\u7684\u540c\u5b66\u4e5f\u4e0d\u7528\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u4f1a\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\uff0c\u4eceIDEA\uff08\u4e00\u6b3e\u4e3b\u6d41\u7684Java\u7f16\u7a0b\u73af\u5883\uff09 \u7684\u914d\u7f6e\u8bb2\u8d77\uff0c\u628aJava\u7684\u6838\u5fc3\u8bed\u6cd5\u4e0e\u7279\u6027\u4e8b\u65e0\u5de8\u7ec6\u5730\u8bb2\u6388\uff0c\u5927\u5bb6\u5b8c\u5168\u4e0d\u7528\u62c5\u5fc3\u8ddf\u4e0d\u4e0a\u7684\u95ee\u9898\u3002 \u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u8d28\u91cf\u4e5f\u662f\u7edd\u7edd\u5b50\u300214\u4e2alab\u4f1a\u8ba9\u4f60\u81ea\u5df1\u5b9e\u73b0\u8bfe\u4e0a\u6240\u8bb2\u7684\u7edd\u5927\u90e8\u5206\u6570\u636e\u7ed3\u6784\uff0c10\u4e2ahomework\u4f1a\u8ba9\u4f60\u8fd0\u7528\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c \u53e6\u5916\u8fd8\u67093\u4e2aProject\u66f4\u662f\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u5728\u5b9e\u6218\u4e2d\u78e8\u7ec3\u81ea\u5df1\u7684Java\u80fd\u529b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u6bcf\u5e74\u7565\u6709\u4e0d\u540c\uff0c18\u5e74\u6625\u5b63\u5b66\u671f\u670914\u4e2alab\uff0c10\u4e2ahomework\u4ee5\u53ca3\u4e2aproject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS61B: Data Structures and Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#cs61b-data-structures-and-algorithms","text":"","title":"CS61B: Data Structures and Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u4f2f\u514b\u5229CS61\u7cfb\u5217\u7684\u7b2c\u4e8c\u95e8\u8bfe\u7a0b\uff0c\u6ce8\u91cd\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u8bbe\u8ba1\uff0c\u540c\u65f6\u8ba9\u5b66\u751f\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u901a\u8fc7Java\u521d\u6b65\u9886\u4f1a\u8f6f\u4ef6\u5de5\u7a0b\u7684\u601d\u60f3\u3002 \u6211\u4e0a\u7684\u662f2018\u5e74\u6625\u5b63\u5b66\u671f\u7684\u7248\u672c\uff0c\u8be5\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08Josh Hug\u6559\u6388\u6177\u6168\u5730\u5c06autograder\u5f00\u6e90\u4e86\uff0c\u5927\u5bb6\u53ef\u4ee5\u901a\u8fc7\u7f51\u7ad9\u516c\u5f00\u7684\u9080\u8bf7\u7801\u5728 gradescope \u514d\u8d39\u52a0\u5165\u8bfe\u7a0b\uff0c\u4ece\u800c\u65b9\u4fbf\u5730\u6d4b\u8bc4\u81ea\u5df1\u7684\u4ee3\u7801\u3002 \u8fd9\u95e8\u8bfe\u6240\u6709\u7684\u7f16\u7a0b\u4f5c\u4e1a\u90fd\u662f\u4f7f\u7528Java\u5b8c\u6210\u7684\u3002\u6ca1\u6709Java\u57fa\u7840\u7684\u540c\u5b66\u4e5f\u4e0d\u7528\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u4f1a\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\uff0c\u4eceIDEA\uff08\u4e00\u6b3e\u4e3b\u6d41\u7684Java\u7f16\u7a0b\u73af\u5883\uff09 \u7684\u914d\u7f6e\u8bb2\u8d77\uff0c\u628aJava\u7684\u6838\u5fc3\u8bed\u6cd5\u4e0e\u7279\u6027\u4e8b\u65e0\u5de8\u7ec6\u5730\u8bb2\u6388\uff0c\u5927\u5bb6\u5b8c\u5168\u4e0d\u7528\u62c5\u5fc3\u8ddf\u4e0d\u4e0a\u7684\u95ee\u9898\u3002 \u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u8d28\u91cf\u4e5f\u662f\u7edd\u7edd\u5b50\u300214\u4e2alab\u4f1a\u8ba9\u4f60\u81ea\u5df1\u5b9e\u73b0\u8bfe\u4e0a\u6240\u8bb2\u7684\u7edd\u5927\u90e8\u5206\u6570\u636e\u7ed3\u6784\uff0c10\u4e2ahomework\u4f1a\u8ba9\u4f60\u8fd0\u7528\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c \u53e6\u5916\u8fd8\u67093\u4e2aProject\u66f4\u662f\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u5728\u5b9e\u6218\u4e2d\u78e8\u7ec3\u81ea\u5df1\u7684Java\u80fd\u529b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u6bcf\u5e74\u7565\u6709\u4e0d\u540c\uff0c18\u5e74\u6625\u5b63\u5b66\u671f\u670914\u4e2alab\uff0c10\u4e2ahomework\u4ee5\u53ca3\u4e2aproject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/","text":"CS189: Introduction to Machine Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u7cfb\u7edf\u4e0a\u8fc7\uff0c\u53ea\u662f\u628a\u5b83\u7684\u8bfe\u7a0bnotes\u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u4e0d\u8fc7\u4ece\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u6765\u770b\uff0c\u5b83\u6bd4CS229\u597d\u7684\u662f\u5f00\u6e90\u4e86\u6240\u6709homeword\u7684\u4ee3\u7801\u4ee5\u53cagradescope\u7684autograder\u3002\u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u8bb2\u5f97\u76f8\u5f53\u7406\u8bba\u4e14\u6df1\u5165\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a","title":"UCB CS189: Introduction to Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#cs189-introduction-to-machine-learning","text":"","title":"CS189: Introduction to Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u7cfb\u7edf\u4e0a\u8fc7\uff0c\u53ea\u662f\u628a\u5b83\u7684\u8bfe\u7a0bnotes\u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u4e0d\u8fc7\u4ece\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u6765\u770b\uff0c\u5b83\u6bd4CS229\u597d\u7684\u662f\u5f00\u6e90\u4e86\u6240\u6709homeword\u7684\u4ee3\u7801\u4ee5\u53cagradescope\u7684autograder\u3002\u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u8bb2\u5f97\u76f8\u5f53\u7406\u8bba\u4e14\u6df1\u5165\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/","text":"CS229: Machine Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u9ad8\u6570\uff0c\u6982\u7387\u8bba\uff0cPython\uff0c\u9700\u8981\u8f83\u6df1\u539a\u7684\u6570\u5b66\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u540c\u6837\u662f\u5434\u6069\u8fbe\u8bb2\u6388\uff0c\u4f46\u662f\u8fd9\u662f\u4e00\u95e8\u7814\u7a76\u751f\u8bfe\u7a0b\uff0c\u6240\u4ee5\u66f4\u504f\u91cd\u6570\u5b66\u7406\u8bba\uff0c\u4e0d\u6ee1\u8db3\u4e8e\u8c03\u5305\u800c\u60f3\u6df1\u5165\u7406\u89e3\u7b97\u6cd5\u672c\u8d28\uff0c\u6216\u8005\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u8fd9\u95e8\u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u63d0\u4f9b\u4e86\u6240\u6709\u7684\u8bfe\u7a0bnotes\uff0c\u5199\u5f97\u975e\u5e38\u4e13\u4e1a\u4e14\u7406\u8bba\uff0c\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u529f\u5e95\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u8bfe\u7a0bnotes\u5199\u5f97\u975e\u5e38\u597d \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e0d\u5bf9\u516c\u4f17\u5f00\u653e \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Stanford CS229: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#cs229-machine-learning","text":"","title":"CS229: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u9ad8\u6570\uff0c\u6982\u7387\u8bba\uff0cPython\uff0c\u9700\u8981\u8f83\u6df1\u539a\u7684\u6570\u5b66\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u540c\u6837\u662f\u5434\u6069\u8fbe\u8bb2\u6388\uff0c\u4f46\u662f\u8fd9\u662f\u4e00\u95e8\u7814\u7a76\u751f\u8bfe\u7a0b\uff0c\u6240\u4ee5\u66f4\u504f\u91cd\u6570\u5b66\u7406\u8bba\uff0c\u4e0d\u6ee1\u8db3\u4e8e\u8c03\u5305\u800c\u60f3\u6df1\u5165\u7406\u89e3\u7b97\u6cd5\u672c\u8d28\uff0c\u6216\u8005\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u8fd9\u95e8\u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u63d0\u4f9b\u4e86\u6240\u6709\u7684\u8bfe\u7a0bnotes\uff0c\u5199\u5f97\u975e\u5e38\u4e13\u4e1a\u4e14\u7406\u8bba\uff0c\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u529f\u5e95\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u8bfe\u7a0bnotes\u5199\u5f97\u975e\u5e38\u597d \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e0d\u5bf9\u516c\u4f17\u5f00\u653e","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/","text":"Coursera: Machine Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aAI\u5165\u95e8 + \u719f\u7ec3\u4f7f\u7528Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8bf4\u8d77\u5434\u6069\u8fbe\uff0c\u5728AI\u5c4a\u5e94\u8be5\u65e0\u4eba\u4e0d\u6653\u3002\u4ed6\u662f\u8457\u540d\u5728\u7ebf\u6559\u80b2\u5e73\u53f0 Coursera \u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff0c\u540c\u65f6\u4e5f\u662fStanford\u7684\u7f51\u7ea2\u6559\u6388\u3002\u8fd9\u95e8\u673a\u5668\u5b66\u4e60\u5165\u95e8\u8bfe\u5e94\u8be5\u7b97\u5f97\u4e0a\u662f\u4ed6\u7684\u6210\u540d\u4f5c\u4e4b\u4e00\uff08\u53e6\u4e00\u4e2a\u662f\u6df1\u5ea6\u5b66\u4e60\u8bfe\u7a0b\uff09\uff0c\u5728Coursera\u4e0a\u62e5\u6709\u6570\u5341\u4e07\u7684\u5b66\u4e60\u8005\uff08\u6ce8\u610f\u8fd9\u662f\u82b1\u94b1\u4e70\u4e86\u8bc1\u4e66\u7684\u4eba\uff0c\u4e00\u4e2a\u8bc1\u4e66\u51e0\u767e\u5200\uff09\uff0c\u767d\u5ad6\u5b66\u4e60\u8005\u6570\u91cf\u5e94\u8be5\u662f\u53e6\u4e00\u4e2a\u6570\u91cf\u7ea7\u4e86\u3002 \u8fd9\u95e8\u8bfe\u5bf9\u65b0\u624b\u6781\u5176\u53cb\u597d\uff0c\u5434\u6069\u8fbe\u62e5\u6709\u628a\u673a\u5668\u5b66\u4e60\u8bb2\u62101+1=2\u4e00\u6837\u76f4\u767d\u7684\u80fd\u529b\u3002\u4f60\u5c06\u4f1a\u5b66\u4e60\u5230\u7ebf\u6027\u56de\u5f52\u3001\u903b\u8f91\u56de\u5f52\u3001\u652f\u6301\u5411\u91cf\u673a\u3001\u65e0\u76d1\u7763\u5b66\u4e60\u3001\u964d\u7ef4\u3001\u5f02\u5e38\u68c0\u6d4b\u548c\u63a8\u8350\u7cfb\u7edf\u7b49\u7b49\u77e5\u8bc6\uff0c\u5e76\u4e14\u5728\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u592f\u5b9e\u81ea\u5df1\u7684\u7406\u89e3\u3002\u4f5c\u4e1a\u8d28\u91cf\u81ea\u7136\u4e0d\u5fc5\u591a\u8a00\uff0c\u4fdd\u59c6\u7ea7\u4ee3\u7801\u6846\u67b6\uff0c\u4f5c\u4e1a\u80cc\u666f\u4e5f\u591a\u53d6\u81ea\u751f\u6d3b\uff0c\u8ba9\u4eba\u5b66\u4ee5\u81f4\u7528\u3002 \u5f53\u7136\uff0c\u8fd9\u95e8\u8bfe\u4f5c\u4e3a\u4e00\u4e2a\u516c\u5f00\u6155\u8bfe\uff0c\u96be\u5ea6\u4e0a\u523b\u610f\u653e\u4f4e\u4e86\u4e9b\uff0c\u5f88\u591a\u6570\u5b66\u63a8\u5bfc\u5927\u591a\u4e00\u5e26\u800c\u8fc7\uff0c\u5982\u679c\u4f60\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\uff0c\u60f3\u8981\u6df1\u7a76\u8fd9\u4e9b\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u7406\u8bba\uff0c\u53ef\u4ee5\u53c2\u8003 CS229 \u548c CS189 \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u5f53\u65f6\u91cd\u88c5\u7cfb\u7edf\u8bef\u5220\u4e86\u6587\u4ef6\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6d88\u5931\u5728\u4e86\u78c1\u76d8\u768401\u4e32\u4e2d\u3002\u4e0d\u8fc7\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u60f3\u641c\u4e0d\u5230\u7b54\u6848\u90fd\u96be\uff0c\u76f8\u5173\u8bfe\u7a0b\u8d44\u6599Coursera\u4e0a\u4e5f\u4e00\u5e94\u4ff1\u5168\u3002","title":"Coursera: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#coursera-machine-learning","text":"","title":"Coursera: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aAI\u5165\u95e8 + \u719f\u7ec3\u4f7f\u7528Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8bf4\u8d77\u5434\u6069\u8fbe\uff0c\u5728AI\u5c4a\u5e94\u8be5\u65e0\u4eba\u4e0d\u6653\u3002\u4ed6\u662f\u8457\u540d\u5728\u7ebf\u6559\u80b2\u5e73\u53f0 Coursera \u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff0c\u540c\u65f6\u4e5f\u662fStanford\u7684\u7f51\u7ea2\u6559\u6388\u3002\u8fd9\u95e8\u673a\u5668\u5b66\u4e60\u5165\u95e8\u8bfe\u5e94\u8be5\u7b97\u5f97\u4e0a\u662f\u4ed6\u7684\u6210\u540d\u4f5c\u4e4b\u4e00\uff08\u53e6\u4e00\u4e2a\u662f\u6df1\u5ea6\u5b66\u4e60\u8bfe\u7a0b\uff09\uff0c\u5728Coursera\u4e0a\u62e5\u6709\u6570\u5341\u4e07\u7684\u5b66\u4e60\u8005\uff08\u6ce8\u610f\u8fd9\u662f\u82b1\u94b1\u4e70\u4e86\u8bc1\u4e66\u7684\u4eba\uff0c\u4e00\u4e2a\u8bc1\u4e66\u51e0\u767e\u5200\uff09\uff0c\u767d\u5ad6\u5b66\u4e60\u8005\u6570\u91cf\u5e94\u8be5\u662f\u53e6\u4e00\u4e2a\u6570\u91cf\u7ea7\u4e86\u3002 \u8fd9\u95e8\u8bfe\u5bf9\u65b0\u624b\u6781\u5176\u53cb\u597d\uff0c\u5434\u6069\u8fbe\u62e5\u6709\u628a\u673a\u5668\u5b66\u4e60\u8bb2\u62101+1=2\u4e00\u6837\u76f4\u767d\u7684\u80fd\u529b\u3002\u4f60\u5c06\u4f1a\u5b66\u4e60\u5230\u7ebf\u6027\u56de\u5f52\u3001\u903b\u8f91\u56de\u5f52\u3001\u652f\u6301\u5411\u91cf\u673a\u3001\u65e0\u76d1\u7763\u5b66\u4e60\u3001\u964d\u7ef4\u3001\u5f02\u5e38\u68c0\u6d4b\u548c\u63a8\u8350\u7cfb\u7edf\u7b49\u7b49\u77e5\u8bc6\uff0c\u5e76\u4e14\u5728\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u592f\u5b9e\u81ea\u5df1\u7684\u7406\u89e3\u3002\u4f5c\u4e1a\u8d28\u91cf\u81ea\u7136\u4e0d\u5fc5\u591a\u8a00\uff0c\u4fdd\u59c6\u7ea7\u4ee3\u7801\u6846\u67b6\uff0c\u4f5c\u4e1a\u80cc\u666f\u4e5f\u591a\u53d6\u81ea\u751f\u6d3b\uff0c\u8ba9\u4eba\u5b66\u4ee5\u81f4\u7528\u3002 \u5f53\u7136\uff0c\u8fd9\u95e8\u8bfe\u4f5c\u4e3a\u4e00\u4e2a\u516c\u5f00\u6155\u8bfe\uff0c\u96be\u5ea6\u4e0a\u523b\u610f\u653e\u4f4e\u4e86\u4e9b\uff0c\u5f88\u591a\u6570\u5b66\u63a8\u5bfc\u5927\u591a\u4e00\u5e26\u800c\u8fc7\uff0c\u5982\u679c\u4f60\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\uff0c\u60f3\u8981\u6df1\u7a76\u8fd9\u4e9b\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u7406\u8bba\uff0c\u53ef\u4ee5\u53c2\u8003 CS229 \u548c CS189 \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#_3","text":"\u5f53\u65f6\u91cd\u88c5\u7cfb\u7edf\u8bef\u5220\u4e86\u6587\u4ef6\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6d88\u5931\u5728\u4e86\u78c1\u76d8\u768401\u4e32\u4e2d\u3002\u4e0d\u8fc7\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u60f3\u641c\u4e0d\u5230\u7b54\u6848\u90fd\u96be\uff0c\u76f8\u5173\u8bfe\u7a0b\u8d44\u6599Coursera\u4e0a\u4e5f\u4e00\u5e94\u4ff1\u5168\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/","text":"CMU 10-708: Probabilistic Graphical Models \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttps://sailinglab.github.io/pgm-spring-2019/ \u8fd9\u4e2a\u7f51\u7ad9\u5305\u542b\u4e86\u6240\u6709\u7684\u8d44\u6e90\uff1aslides, nots, video, homework, project \u8fd9\u95e8\u8bfe\u7a0b\u662f CMU \u7684\u56fe\u6a21\u578b\u57fa\u7840 + \u8fdb\u9636\u8bfe\uff0c\u6388\u8bfe\u8001\u5e08\u4e3a Eric P. Xing\uff0c\u6db5\u76d6\u4e86\u56fe\u6a21\u578b\u57fa\u7840\uff0c\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u5728\u5f3a\u5316\u5b66\u4e60\u4e2d\u7684\u5e94\u7528\uff0c\u4ee5\u53ca\u975e\u53c2\u6570\u65b9\u6cd5\u3002\u76f8\u5f53\u786c\u6838","title":"CMU 10-708: Probabilistic Graphical Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/#cmu-10-708-probabilistic-graphical-models","text":"","title":"CMU 10-708: Probabilistic Graphical Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttps://sailinglab.github.io/pgm-spring-2019/ \u8fd9\u4e2a\u7f51\u7ad9\u5305\u542b\u4e86\u6240\u6709\u7684\u8d44\u6e90\uff1aslides, nots, video, homework, project \u8fd9\u95e8\u8bfe\u7a0b\u662f CMU \u7684\u56fe\u6a21\u578b\u57fa\u7840 + \u8fdb\u9636\u8bfe\uff0c\u6388\u8bfe\u8001\u5e08\u4e3a Eric P. Xing\uff0c\u6db5\u76d6\u4e86\u56fe\u6a21\u578b\u57fa\u7840\uff0c\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u5728\u5f3a\u5316\u5b66\u4e60\u4e2d\u7684\u5e94\u7528\uff0c\u4ee5\u53ca\u975e\u53c2\u6570\u65b9\u6cd5\u3002\u76f8\u5f53\u786c\u6838","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/","text":"STATS214 / CS229M: Machine Learning Theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Statistics \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttp://web.stanford.edu/class/stats214/ \u7ecf\u5178\u5b66\u4e60\u7406\u8bba + \u6700\u65b0\u6df1\u5ea6\u5b66\u4e60\u7406\u8bba\uff0c\u975e\u5e38\u786c\u6838\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u524d\u662f Percy Liang\uff0c\u73b0\u5728\u662f Tengyu Ma","title":"Stanford STATS214 / CS229M: Machine Learning Theory"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/#stats214-cs229m-machine-learning-theory","text":"","title":"STATS214 / CS229M: Machine Learning Theory"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Statistics \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttp://web.stanford.edu/class/stats214/ \u7ecf\u5178\u5b66\u4e60\u7406\u8bba + \u6700\u65b0\u6df1\u5ea6\u5b66\u4e60\u7406\u8bba\uff0c\u975e\u5e38\u786c\u6838\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u524d\u662f Percy Liang\uff0c\u73b0\u5728\u662f Tengyu Ma","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/","text":"STA 4273 Winter 2021: Minimizing Expectations \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aU Toronto \u5148\u4fee\u8981\u6c42\uff1aBayesian Inference, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttps://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/ \u8fd9\u662f\u4e00\u95e8\u8f83\u4e3a\u8fdb\u9636\u7684 Ph.D. \u7814\u7a76\u8bfe\u7a0b\uff0c\u6838\u5fc3\u5185\u5bb9\u662f inference \u548c control \u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6388\u8bfe\u8001\u5e08\u4e3a Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)","title":"U Toronto STA 4273 Winter 2021: Minimizing Expectations"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/#sta-4273-winter-2021-minimizing-expectations","text":"","title":"STA 4273 Winter 2021: Minimizing Expectations"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aU Toronto \u5148\u4fee\u8981\u6c42\uff1aBayesian Inference, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttps://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/ \u8fd9\u662f\u4e00\u95e8\u8f83\u4e3a\u8fdb\u9636\u7684 Ph.D. \u7814\u7a76\u8bfe\u7a0b\uff0c\u6838\u5fc3\u5185\u5bb9\u662f inference \u548c control \u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6388\u8bfe\u8001\u5e08\u4e3a Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/","text":"Columbia STAT 8201: Deep Generative Models \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aColumbia University \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Graphical Models \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttp://stat.columbia.edu/~cunningham/teaching/GR8201/ \u8fd9\u95e8\u8bfe\u662f\u4e00\u95e8 PhD \u8ba8\u8bba\u73ed\uff0c\u6bcf\u5468\u7684\u5185\u5bb9\u662f\u5c55\u793a + \u8ba8\u8bba\u8bba\u6587\uff0c\u6388\u8bfe\u8001\u5e08\u662f John Cunningham\u3002Deep Generative Models \uff08\u6df1\u5ea6\u751f\u6210\u6a21\u578b\uff09 \u662f\u56fe\u6a21\u578b\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u4e5f\u662f\u73b0\u4ee3\u673a\u5668\u5b66\u4e60\u6700\u91cd\u8981\u7684\u65b9\u5411\u4e4b\u4e00","title":"Columbia STAT 8201: Deep Generative Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/#columbia-stat-8201-deep-generative-models","text":"","title":"Columbia STAT 8201: Deep Generative Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aColumbia University \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Graphical Models \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttp://stat.columbia.edu/~cunningham/teaching/GR8201/ \u8fd9\u95e8\u8bfe\u662f\u4e00\u95e8 PhD \u8ba8\u8bba\u73ed\uff0c\u6bcf\u5468\u7684\u5185\u5bb9\u662f\u5c55\u793a + \u8ba8\u8bba\u8bba\u6587\uff0c\u6388\u8bfe\u8001\u5e08\u662f John Cunningham\u3002Deep Generative Models \uff08\u6df1\u5ea6\u751f\u6210\u6a21\u578b\uff09 \u662f\u56fe\u6a21\u578b\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u4e5f\u662f\u73b0\u4ee3\u673a\u5668\u5b66\u4e60\u6700\u91cd\u8981\u7684\u65b9\u5411\u4e4b\u4e00","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/","text":"\u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u6b64\u8def\u7ebf\u56fe\u9002\u7528\u4e8e\u5df2\u7ecf\u5b66\u8fc7\u4e86\u57fa\u7840\u673a\u5668\u5b66\u4e60 (ML, NLP, CV, RL) \u7684\u540c\u5b66 (\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u6216\u4f4e\u5e74\u7ea7\u7814\u7a76\u751f)\uff0c\u5df2\u7ecf\u53d1\u8868\u8fc7\u81f3\u5c11\u4e00\u7bc7\u9876\u4f1a\u8bba\u6587 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) \u60f3\u8981\u8d70\u673a\u5668\u5b66\u4e60\u79d1\u7814\u8def\u7ebf\u7684\u9009\u624b\u3002 \u6b64\u8def\u7ebf\u7684\u76ee\u6807\u662f\u4e3a\u8bfb\u61c2\u4e0e\u53d1\u8868\u673a\u5668\u5b66\u4e60\u9876\u4f1a\u8bba\u6587\u6253\u4e0b\u7406\u8bba\u57fa\u7840\uff0c\u7279\u522b\u662f Probabilistic Methods \u8fd9\u4e2a track \u4e0b\u7684\u6587\u7ae0 \u673a\u5668\u5b66\u4e60\u8fdb\u9636\u53ef\u80fd\u5b58\u5728\u591a\u79cd\u4e0d\u540c\u7684\u5b66\u4e60\u8def\u7ebf\uff0c\u6b64\u8def\u7ebf\u53ea\u80fd\u4ee3\u8868\u4f5c\u8005 Yao Fu \u6240\u7406\u89e3\u7684\u6700\u4f73\u8def\u5f84\uff0c\u4fa7\u91cd\u4e8e\u8d1d\u53f6\u65af\u5b66\u6d3e\u4e0b\u7684\u6982\u7387\u5efa\u6a21\u65b9\u6cd5\uff0c\u4e5f\u4f1a\u6d89\u53ca\u5230\u5404\u9879\u76f8\u5173\u5b66\u79d1\u7684\u4ea4\u53c9\u77e5\u8bc6\u3002 \u5fc5\u8bfb\u6559\u6750 PRML: Pattern Recognition and Machine Learning. Christopher Bishop \u7ecf\u5178\u8d1d\u53f6\u65af\u5b66\u6d3e\u6559\u6750 AoS: All of Statistics. Larry Wasserman \u7ecf\u5178\u9891\u7387\u5b66\u6d3e\u6559\u6750 \u6240\u4ee5\u8fd9\u4e24\u672c\u4e66\u521a\u597d\u76f8\u8f85\u76f8\u6210 \u5b57\u5178 MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy Convex Optimization. Stephen Boyd and Lieven Vandenberghe \u8fdb\u9636\u4e66\u7c4d W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan Theory of Point Estimation. E. L. Lehmann and George Casella \u5982\u4f55\u9605\u8bfb Guidelines \u5fc5\u8bfb\u6559\u6750\u5c31\u662f\u4e00\u5b9a\u8981\u8bfb\u7684\u6559\u6750 \u5b57\u5178\u7684\u610f\u601d\u662f\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u7ba1\u5b83\uff0c\u4f46\u5f53\u9047\u5230\u4e86\u4e0d\u61c2\u7684\u6982\u5ff5\u7684\u65f6\u5019\uff0c\u5c31\u53bb\u5b57\u5178\u91cc\u9762\u67e5\uff08\u800c\u4e0d\u662f\u7ef4\u57fa\u767e\u79d1\uff09 \u8fdb\u9636\u4e66\u7c4d\u5148\u4e0d\u8bfb\uff0c\u5148\u8bfb\u5b8c\u5fc5\u8bfb\u4e66\u7c4d\u3002\u5fc5\u8bfb\u4e66\u7c4d\u4e00\u822c\u90fd\u662f\u8981\u524d\u524d\u540e\u540e\u53cd\u590d\u770b\u8fc7 N \u904d\u624d\u7b97\u8bfb\u5b8c \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u8bfb\u6cd5\u5c31\u662f\u5bf9\u6bd4\u9605\u8bfb (contrastive-comparative reading)\uff1a\u540c\u65f6\u6253\u5f00\u4e24\u672c\u4e66\u8bb2\u540c\u4e00\u4e3b\u9898\u7684\u7ae0\u8282\uff0c\u7136\u540e\u5bf9\u6bd4\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c3d\u91cf\u53bb\u56de\u60f3\u4e4b\u524d\u8bfb\u8fc7\u7684\u8bba\u6587\uff0c\u6bd4\u8f83\u8bba\u6587\u548c\u6559\u6750\u7684\u76f8\u540c\u70b9\u4e0e\u4e0d\u540c\u70b9 \u57fa\u7840\u8def\u5f84 \u5148\u8bfb AoS \u7b2c\u516d\u7ae0: Models, Statistical Inference and Learning\uff0c\u8fd9\u4e00\u90e8\u5206\u662f\u6700\u57fa\u7840\u7684\u79d1\u666e \u7136\u540e\u8bfb PRML \u7b2c 10, 11 \u7ae0 \u7b2c 10 \u7ae0\u7684\u5185\u5bb9\u662f Variational Inference, \u7b2c 11 \u7ae0\u7684\u5185\u5bb9\u662f MCMC, \u8fd9\u4e24\u79cd\u65b9\u6cd5\u662f\u8d1d\u53f6\u65af\u63a8\u65ad\u7684\u4e24\u6761\u6700\u4e3b\u8981\u8def\u7ebf \u5982\u679c\u5728\u8bfb PRML \u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u6709\u4efb\u4f55\u4e0d\u61c2\u7684\u540d\u8bcd\uff0c\u5c31\u53bb\u7ffb\u524d\u9762\u7684\u7ae0\u8282\u3002\u5f88\u5927\u6982\u7387\u80fd\u591f\u5728\u7b2c 3\uff0c4 \u7ae0\u627e\u5230\u76f8\u5bf9\u5e94\u7684\u5b9a\u4e49\uff1b\u5982\u679c\u627e\u4e0d\u5230\u6216\u8005\u4e0d\u591f\u8be6\u7ec6\uff0c\u5c31\u53bb\u67e5 MLAPP AoS \u7b2c 8 \u7ae0 (Parametric Inference) \u548c\u7b2c 11 \u7ae0 (Bayesian Inference) \u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\u6700\u597d\u7684\u65b9\u6cd5\u662f\u591a\u672c\u4e66\u5bf9\u6bd4\u9605\u8bfb\uff0c\u6d41\u7a0b\u5982\u4e0b \u5047\u8bbe\u6211\u5728\u8bfb PRML \u7b2c 10 \u7ae0\u7684\u65f6\u5019\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e0d\u61c2\u7684\u8bcd\uff1aposterior inference \u4e8e\u662f\u6211\u5f80\u524d\u7ffb\uff0c\u7ffb\u5230\u4e86\u7b2c 3 \u7ae0 (Linear Model for Regression)\uff0c\u770b\u5230\u4e86\u6700\u7b80\u5355\u7684 posterior \u7136\u540e\u6211\u63a5\u7740\u7ffb AoS\uff0c\u7ffb\u5230\u4e86\u7b2c 11 \u7ae0\uff0c\u4e5f\u6709\u5bf9 posterior \u7684\u63cf\u8ff0 \u7136\u540e\u6211\u5bf9\u6bd4 PRML \u7b2c 10 \u7ae0\uff0c\u7b2c 3 \u7ae0\uff0cAoS \u7b2c 11 \u7ae0\uff0c\u4e09\u5904\u4e0d\u540c\u5730\u65b9\u5bf9 posterior \u7684\u89e3\u8bfb\uff0c\u6bd4\u8f83\u5176\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u5b8c PRML \u7b2c 10 \u548c 11 \u7ae0\u4e4b\u540e\uff0c\u63a5\u7740\u8bfb AoS \u7b2c 24 \u7ae0 (Simulation Methods)\uff0c\u7136\u540e\u628a\u5b83\u548c PRML \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb -- \u8fd9\u4fe9\u90fd\u662f\u8bb2 MCMC \u5982\u679c\u5230\u6b64\u5904\u53d1\u73b0\u8fd8\u6709\u57fa\u7840\u6982\u5ff5\u8bfb\u4e0d\u61c2\uff0c\u5c31\u56de\u5230 PRML \u7b2c 3 \u7ae0\uff0c\u628a\u5b83\u548c AoS \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb Again\uff0c\u5bf9\u6bd4\u9605\u8bfb\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u628a\u4e0d\u540c\u672c\u4e66\u7684\u7c7b\u4f3c\u5185\u5bb9\u540c\u65f6\u6446\u5728\u9762\u524d\u76f8\u4e92\u5bf9\u6bd4\uff0c\u8fd9\u6837\u53ef\u4ee5\u663e\u8457\u589e\u5f3a\u8bb0\u5fc6 \u7136\u540e\u8bfb PRML \u7b2c 13 \u7ae0\uff08\u8df3\u8fc7\u7b2c 12 \u7ae0\uff09\uff0c\u8fd9\u4e00\u7ae0\u53ef\u4ee5\u548c MLAPP \u7684\u7b2c 17, 18 \u7ae0\u5bf9\u6bd4\u9605\u8bfb MLAPP \u7b2c 17 \u7ae0\u662f PRML \u7b2c 13.2 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 HMM MLAPP \u7b2c 18 \u7ae0\u662f PRML \u7b2c 13.3 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 LDS \u8bfb\u5b8c PRML \u7b2c 13 \u7ae0\u4e4b\u540e\uff0c\u518d\u53bb\u8bfb PRML \u7b2c 8 \u7ae0 (Graphical Models) -- \u6b64\u65f6\u8fd9\u90e8\u5206\u5e94\u8be5\u4f1a\u8bfb\u5f97\u5f88\u8f7b\u677e \u4ee5\u4e0a\u7684\u5185\u5bb9\u53ef\u4ee5\u8fdb\u4e00\u6b65\u5bf9\u7167 CMU 10-708 PGM \u8bfe\u7a0b\u6750\u6599 \u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u5e94\u8be5\u80fd\u591f\u638c\u63e1 - \u6982\u7387\u6a21\u578b\u7684\u57fa\u7840\u5b9a\u4e49 - \u7cbe\u51c6\u63a8\u65ad - Sum-Product - \u8fd1\u4f3c\u63a8\u65ad - MCMC - \u8fd1\u4f3c\u63a8\u65ad - VI \u7136\u540e\u5c31\u53ef\u4ee5\u53bb\u505a\u66f4\u8fdb\u9636\u7684\u5185\u5bb9","title":"\u8fdb\u9636\u8def\u7ebf\u56fe"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_1","text":"\u6b64\u8def\u7ebf\u56fe\u9002\u7528\u4e8e\u5df2\u7ecf\u5b66\u8fc7\u4e86\u57fa\u7840\u673a\u5668\u5b66\u4e60 (ML, NLP, CV, RL) \u7684\u540c\u5b66 (\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u6216\u4f4e\u5e74\u7ea7\u7814\u7a76\u751f)\uff0c\u5df2\u7ecf\u53d1\u8868\u8fc7\u81f3\u5c11\u4e00\u7bc7\u9876\u4f1a\u8bba\u6587 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) \u60f3\u8981\u8d70\u673a\u5668\u5b66\u4e60\u79d1\u7814\u8def\u7ebf\u7684\u9009\u624b\u3002 \u6b64\u8def\u7ebf\u7684\u76ee\u6807\u662f\u4e3a\u8bfb\u61c2\u4e0e\u53d1\u8868\u673a\u5668\u5b66\u4e60\u9876\u4f1a\u8bba\u6587\u6253\u4e0b\u7406\u8bba\u57fa\u7840\uff0c\u7279\u522b\u662f Probabilistic Methods \u8fd9\u4e2a track \u4e0b\u7684\u6587\u7ae0 \u673a\u5668\u5b66\u4e60\u8fdb\u9636\u53ef\u80fd\u5b58\u5728\u591a\u79cd\u4e0d\u540c\u7684\u5b66\u4e60\u8def\u7ebf\uff0c\u6b64\u8def\u7ebf\u53ea\u80fd\u4ee3\u8868\u4f5c\u8005 Yao Fu \u6240\u7406\u89e3\u7684\u6700\u4f73\u8def\u5f84\uff0c\u4fa7\u91cd\u4e8e\u8d1d\u53f6\u65af\u5b66\u6d3e\u4e0b\u7684\u6982\u7387\u5efa\u6a21\u65b9\u6cd5\uff0c\u4e5f\u4f1a\u6d89\u53ca\u5230\u5404\u9879\u76f8\u5173\u5b66\u79d1\u7684\u4ea4\u53c9\u77e5\u8bc6\u3002","title":"\u673a\u5668\u5b66\u4e60\u8fdb\u9636"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_2","text":"PRML: Pattern Recognition and Machine Learning. Christopher Bishop \u7ecf\u5178\u8d1d\u53f6\u65af\u5b66\u6d3e\u6559\u6750 AoS: All of Statistics. Larry Wasserman \u7ecf\u5178\u9891\u7387\u5b66\u6d3e\u6559\u6750 \u6240\u4ee5\u8fd9\u4e24\u672c\u4e66\u521a\u597d\u76f8\u8f85\u76f8\u6210","title":"\u5fc5\u8bfb\u6559\u6750"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_3","text":"MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy Convex Optimization. Stephen Boyd and Lieven Vandenberghe","title":"\u5b57\u5178"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_4","text":"W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan Theory of Point Estimation. E. L. Lehmann and George Casella","title":"\u8fdb\u9636\u4e66\u7c4d"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_5","text":"","title":"\u5982\u4f55\u9605\u8bfb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#guidelines","text":"\u5fc5\u8bfb\u6559\u6750\u5c31\u662f\u4e00\u5b9a\u8981\u8bfb\u7684\u6559\u6750 \u5b57\u5178\u7684\u610f\u601d\u662f\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u7ba1\u5b83\uff0c\u4f46\u5f53\u9047\u5230\u4e86\u4e0d\u61c2\u7684\u6982\u5ff5\u7684\u65f6\u5019\uff0c\u5c31\u53bb\u5b57\u5178\u91cc\u9762\u67e5\uff08\u800c\u4e0d\u662f\u7ef4\u57fa\u767e\u79d1\uff09 \u8fdb\u9636\u4e66\u7c4d\u5148\u4e0d\u8bfb\uff0c\u5148\u8bfb\u5b8c\u5fc5\u8bfb\u4e66\u7c4d\u3002\u5fc5\u8bfb\u4e66\u7c4d\u4e00\u822c\u90fd\u662f\u8981\u524d\u524d\u540e\u540e\u53cd\u590d\u770b\u8fc7 N \u904d\u624d\u7b97\u8bfb\u5b8c \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u8bfb\u6cd5\u5c31\u662f\u5bf9\u6bd4\u9605\u8bfb (contrastive-comparative reading)\uff1a\u540c\u65f6\u6253\u5f00\u4e24\u672c\u4e66\u8bb2\u540c\u4e00\u4e3b\u9898\u7684\u7ae0\u8282\uff0c\u7136\u540e\u5bf9\u6bd4\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c3d\u91cf\u53bb\u56de\u60f3\u4e4b\u524d\u8bfb\u8fc7\u7684\u8bba\u6587\uff0c\u6bd4\u8f83\u8bba\u6587\u548c\u6559\u6750\u7684\u76f8\u540c\u70b9\u4e0e\u4e0d\u540c\u70b9","title":"Guidelines"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_6","text":"\u5148\u8bfb AoS \u7b2c\u516d\u7ae0: Models, Statistical Inference and Learning\uff0c\u8fd9\u4e00\u90e8\u5206\u662f\u6700\u57fa\u7840\u7684\u79d1\u666e \u7136\u540e\u8bfb PRML \u7b2c 10, 11 \u7ae0 \u7b2c 10 \u7ae0\u7684\u5185\u5bb9\u662f Variational Inference, \u7b2c 11 \u7ae0\u7684\u5185\u5bb9\u662f MCMC, \u8fd9\u4e24\u79cd\u65b9\u6cd5\u662f\u8d1d\u53f6\u65af\u63a8\u65ad\u7684\u4e24\u6761\u6700\u4e3b\u8981\u8def\u7ebf \u5982\u679c\u5728\u8bfb PRML \u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u6709\u4efb\u4f55\u4e0d\u61c2\u7684\u540d\u8bcd\uff0c\u5c31\u53bb\u7ffb\u524d\u9762\u7684\u7ae0\u8282\u3002\u5f88\u5927\u6982\u7387\u80fd\u591f\u5728\u7b2c 3\uff0c4 \u7ae0\u627e\u5230\u76f8\u5bf9\u5e94\u7684\u5b9a\u4e49\uff1b\u5982\u679c\u627e\u4e0d\u5230\u6216\u8005\u4e0d\u591f\u8be6\u7ec6\uff0c\u5c31\u53bb\u67e5 MLAPP AoS \u7b2c 8 \u7ae0 (Parametric Inference) \u548c\u7b2c 11 \u7ae0 (Bayesian Inference) \u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\u6700\u597d\u7684\u65b9\u6cd5\u662f\u591a\u672c\u4e66\u5bf9\u6bd4\u9605\u8bfb\uff0c\u6d41\u7a0b\u5982\u4e0b \u5047\u8bbe\u6211\u5728\u8bfb PRML \u7b2c 10 \u7ae0\u7684\u65f6\u5019\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e0d\u61c2\u7684\u8bcd\uff1aposterior inference \u4e8e\u662f\u6211\u5f80\u524d\u7ffb\uff0c\u7ffb\u5230\u4e86\u7b2c 3 \u7ae0 (Linear Model for Regression)\uff0c\u770b\u5230\u4e86\u6700\u7b80\u5355\u7684 posterior \u7136\u540e\u6211\u63a5\u7740\u7ffb AoS\uff0c\u7ffb\u5230\u4e86\u7b2c 11 \u7ae0\uff0c\u4e5f\u6709\u5bf9 posterior \u7684\u63cf\u8ff0 \u7136\u540e\u6211\u5bf9\u6bd4 PRML \u7b2c 10 \u7ae0\uff0c\u7b2c 3 \u7ae0\uff0cAoS \u7b2c 11 \u7ae0\uff0c\u4e09\u5904\u4e0d\u540c\u5730\u65b9\u5bf9 posterior \u7684\u89e3\u8bfb\uff0c\u6bd4\u8f83\u5176\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u5b8c PRML \u7b2c 10 \u548c 11 \u7ae0\u4e4b\u540e\uff0c\u63a5\u7740\u8bfb AoS \u7b2c 24 \u7ae0 (Simulation Methods)\uff0c\u7136\u540e\u628a\u5b83\u548c PRML \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb -- \u8fd9\u4fe9\u90fd\u662f\u8bb2 MCMC \u5982\u679c\u5230\u6b64\u5904\u53d1\u73b0\u8fd8\u6709\u57fa\u7840\u6982\u5ff5\u8bfb\u4e0d\u61c2\uff0c\u5c31\u56de\u5230 PRML \u7b2c 3 \u7ae0\uff0c\u628a\u5b83\u548c AoS \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb Again\uff0c\u5bf9\u6bd4\u9605\u8bfb\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u628a\u4e0d\u540c\u672c\u4e66\u7684\u7c7b\u4f3c\u5185\u5bb9\u540c\u65f6\u6446\u5728\u9762\u524d\u76f8\u4e92\u5bf9\u6bd4\uff0c\u8fd9\u6837\u53ef\u4ee5\u663e\u8457\u589e\u5f3a\u8bb0\u5fc6 \u7136\u540e\u8bfb PRML \u7b2c 13 \u7ae0\uff08\u8df3\u8fc7\u7b2c 12 \u7ae0\uff09\uff0c\u8fd9\u4e00\u7ae0\u53ef\u4ee5\u548c MLAPP \u7684\u7b2c 17, 18 \u7ae0\u5bf9\u6bd4\u9605\u8bfb MLAPP \u7b2c 17 \u7ae0\u662f PRML \u7b2c 13.2 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 HMM MLAPP \u7b2c 18 \u7ae0\u662f PRML \u7b2c 13.3 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 LDS \u8bfb\u5b8c PRML \u7b2c 13 \u7ae0\u4e4b\u540e\uff0c\u518d\u53bb\u8bfb PRML \u7b2c 8 \u7ae0 (Graphical Models) -- \u6b64\u65f6\u8fd9\u90e8\u5206\u5e94\u8be5\u4f1a\u8bfb\u5f97\u5f88\u8f7b\u677e \u4ee5\u4e0a\u7684\u5185\u5bb9\u53ef\u4ee5\u8fdb\u4e00\u6b65\u5bf9\u7167 CMU 10-708 PGM \u8bfe\u7a0b\u6750\u6599 \u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u5e94\u8be5\u80fd\u591f\u638c\u63e1 - \u6982\u7387\u6a21\u578b\u7684\u57fa\u7840\u5b9a\u4e49 - \u7cbe\u51c6\u63a8\u65ad - Sum-Product - \u8fd1\u4f3c\u63a8\u65ad - MCMC - \u8fd1\u4f3c\u63a8\u65ad - VI \u7136\u540e\u5c31\u53ef\u4ee5\u53bb\u505a\u66f4\u8fdb\u9636\u7684\u5185\u5bb9","title":"\u57fa\u7840\u8def\u5f84"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/","text":"CS224n: Natural Language Processing \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 Stanford\u7684NLP\u5165\u95e8\u8bfe\u7a0b\uff0c\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u9886\u57df\u7684\u5de8\u4f6cChris Manning\u9886\u8854\u6559\u6388\uff08word2vec\u7b97\u6cd5\u7684\u5f00\u521b\u8005\uff09\u3002\u5185\u5bb9\u8986\u76d6\u4e86\u8bcd\u5411\u91cf\u3001RNN\u3001LSTM\u3001Seq2Seq\u6a21\u578b\u3001\u673a\u5668\u7ffb\u8bd1\u3001\u6ce8\u610f\u529b\u673a\u5236\u3001Transformer\u7b49\u7b49NLP\u9886\u57df\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\u3002 5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5206\u522b\u662f\u8bcd\u5411\u91cf\u3001word2vec\u7b97\u6cd5\u3001Dependency parsing\u3001\u673a\u5668\u7ffb\u8bd1\u4ee5\u53caTransformer\u7684fine-tune\u3002 \u6700\u7ec8\u7684\u5927\u4f5c\u4e1a\u662f\u5728Stanford\u8457\u540d\u7684SQuAD\u6570\u636e\u96c6\u4e0a\u8bad\u7ec3QA\u6a21\u578b\uff0c\u6709\u5b66\u751f\u7684\u5927\u4f5c\u4e1a\u751a\u81f3\u76f4\u63a5\u53d1\u8868\u4e86\u9876\u4f1a\u8bba\u6587\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1aB\u7ad9\u641c\u7d22CS224n \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1\u4e2aFinal Project \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Stanford CS224n: Natural Language Processing"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#cs224n-natural-language-processing","text":"","title":"CS224n: Natural Language Processing"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 Stanford\u7684NLP\u5165\u95e8\u8bfe\u7a0b\uff0c\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u9886\u57df\u7684\u5de8\u4f6cChris Manning\u9886\u8854\u6559\u6388\uff08word2vec\u7b97\u6cd5\u7684\u5f00\u521b\u8005\uff09\u3002\u5185\u5bb9\u8986\u76d6\u4e86\u8bcd\u5411\u91cf\u3001RNN\u3001LSTM\u3001Seq2Seq\u6a21\u578b\u3001\u673a\u5668\u7ffb\u8bd1\u3001\u6ce8\u610f\u529b\u673a\u5236\u3001Transformer\u7b49\u7b49NLP\u9886\u57df\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\u3002 5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5206\u522b\u662f\u8bcd\u5411\u91cf\u3001word2vec\u7b97\u6cd5\u3001Dependency parsing\u3001\u673a\u5668\u7ffb\u8bd1\u4ee5\u53caTransformer\u7684fine-tune\u3002 \u6700\u7ec8\u7684\u5927\u4f5c\u4e1a\u662f\u5728Stanford\u8457\u540d\u7684SQuAD\u6570\u636e\u96c6\u4e0a\u8bad\u7ec3QA\u6a21\u578b\uff0c\u6709\u5b66\u751f\u7684\u5927\u4f5c\u4e1a\u751a\u81f3\u76f4\u63a5\u53d1\u8868\u4e86\u9876\u4f1a\u8bba\u6587\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1aB\u7ad9\u641c\u7d22CS224n \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1\u4e2aFinal Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/","text":"CS224w: Machine Learning with Graphs \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython, Latex \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 Stanford\u7684\u56fe\u795e\u7ecf\u7f51\u7edc\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u4e0a\u8fc7\uff0c\u4f46\u4f17\u591a\u505aGNN\u7684\u670b\u53cb\u90fd\u5411\u6211\u529b\u8350\u8fc7\u8fd9\u95e8\u8bfe\uff0c\u60f3\u5fc5Stanford\u7684\u8bfe\u8d28\u91cf\u8fd8\u662f\u4e00\u5982\u65e2\u5f80\u5730\u6709\u4fdd\u8bc1\u7684\u3002\u53e6\u5916\u5c31\u662f\u8fd9\u95e8\u8bfe\u7684\u6388\u8bfe\u8001\u5e08\u975e\u5e38\u5e74\u8f7b\u5e05\u6c14:) \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a6\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c3\u4e2aLatex\u4e66\u9762\u4f5c\u4e1a","title":"Stanford CS224w: Machine Learning with Graphs"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#cs224w-machine-learning-with-graphs","text":"","title":"CS224w: Machine Learning with Graphs"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython, Latex \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 Stanford\u7684\u56fe\u795e\u7ecf\u7f51\u7edc\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u4e0a\u8fc7\uff0c\u4f46\u4f17\u591a\u505aGNN\u7684\u670b\u53cb\u90fd\u5411\u6211\u529b\u8350\u8fc7\u8fd9\u95e8\u8bfe\uff0c\u60f3\u5fc5Stanford\u7684\u8bfe\u8d28\u91cf\u8fd8\u662f\u4e00\u5982\u65e2\u5f80\u5730\u6709\u4fdd\u8bc1\u7684\u3002\u53e6\u5916\u5c31\u662f\u8fd9\u95e8\u8bfe\u7684\u6388\u8bfe\u8001\u5e08\u975e\u5e38\u5e74\u8f7b\u5e05\u6c14:)","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a6\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c3\u4e2aLatex\u4e66\u9762\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/","text":"Coursera: Deep Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u5434\u6069\u8fbe\u5728Coursera\u5f00\u8bbe\u7684\u53e6\u4e00\u95e8\u7f51\u7ea2\u8bfe\u7a0b\uff0c\u5b66\u4e60\u8005\u65e0\u6570\uff0c\u582a\u79f0\u5723\u7ecf\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u8bfe\u3002\u6df1\u5165\u6d45\u51fa\u7684\u8bb2\u89e3\uff0c\u773c\u82b1\u7f2d\u4e71\u7684Project\u3002\u4ece\u6700\u57fa\u7840\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5230CNN\uff0cRNN\uff0c\u518d\u5230\u6700\u8fd1\u5927\u70ed\u7684Transformer\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\uff0c\u4f60\u5c06\u521d\u6b65\u638c\u63e1\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u5fc5\u5907\u7684\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728 Kaggle \u4e2d\u53c2\u52a0\u81ea\u5df1\u611f\u5174\u8da3\u7684\u6bd4\u8d5b\uff0c\u5728\u5b9e\u8df5\u4e2d\u953b\u70bc\u81ea\u5df1\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1aB\u7ad9\u6709\u642c\u8fd0 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a","title":"Coursera: Deep Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#coursera-deep-learning","text":"","title":"Coursera: Deep Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u5434\u6069\u8fbe\u5728Coursera\u5f00\u8bbe\u7684\u53e6\u4e00\u95e8\u7f51\u7ea2\u8bfe\u7a0b\uff0c\u5b66\u4e60\u8005\u65e0\u6570\uff0c\u582a\u79f0\u5723\u7ecf\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u8bfe\u3002\u6df1\u5165\u6d45\u51fa\u7684\u8bb2\u89e3\uff0c\u773c\u82b1\u7f2d\u4e71\u7684Project\u3002\u4ece\u6700\u57fa\u7840\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5230CNN\uff0cRNN\uff0c\u518d\u5230\u6700\u8fd1\u5927\u70ed\u7684Transformer\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\uff0c\u4f60\u5c06\u521d\u6b65\u638c\u63e1\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u5fc5\u5907\u7684\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728 Kaggle \u4e2d\u53c2\u52a0\u81ea\u5df1\u611f\u5174\u8da3\u7684\u6bd4\u8d5b\uff0c\u5728\u5b9e\u8df5\u4e2d\u953b\u70bc\u81ea\u5df1\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1aB\u7ad9\u6709\u642c\u8fd0 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/","text":"CS231n: CNN for Visual Recognition \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 Stanford\u7684CV\u5165\u95e8\u8bfe\uff0c\u7531\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5de8\u4f6c\u674e\u98de\u98de\u9662\u58eb\u9886\u8854\u6559\u6388\uff08CV\u9886\u57df\u5212\u65f6\u4ee3\u7684\u8457\u540d\u6570\u636e\u96c6ImageNet\u7684\u7814\u7a76\u56e2\u961f\uff09\uff0c\u4f46\u5176\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\u4e14\u53cb\u597d\uff0c\u5982\u679c\u4e0a\u8fc7CS230\u7684\u8bdd\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624bProject\u4f5c\u4e3a\u7ec3\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a3\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"Stanford CS231n: CNN for Visual Recognition"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#cs231n-cnn-for-visual-recognition","text":"","title":"CS231n: CNN for Visual Recognition"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 Stanford\u7684CV\u5165\u95e8\u8bfe\uff0c\u7531\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5de8\u4f6c\u674e\u98de\u98de\u9662\u58eb\u9886\u8854\u6559\u6388\uff08CV\u9886\u57df\u5212\u65f6\u4ee3\u7684\u8457\u540d\u6570\u636e\u96c6ImageNet\u7684\u7814\u7a76\u56e2\u961f\uff09\uff0c\u4f46\u5176\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\u4e14\u53cb\u597d\uff0c\u5982\u679c\u4e0a\u8fc7CS230\u7684\u8bdd\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624bProject\u4f5c\u4e3a\u7ec3\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a3\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/","text":"CS285: Deep Reinforcement Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS189 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u5f3a\u5316\u5b66\u4e60\u7814\u7a76\u751f\u8bfe\u7a0b\uff0c\u6240\u6709\u8bfe\u7a0b\u5f55\u5f71\u3001slides\u3001\u4f5c\u4e1a\u4ee3\u7801\u5747\u5728\u7f51\u7ad9\u5f00\u6e90\u3002\u5728\u6211\u7684\u6536\u85cf\u5939\u91cc\u5403\u7070\u5f88\u4e45\u4e86\uff0c\u4e00\u76f4\u60f3\u627e\u673a\u4f1a\u5b66\u4e60\u4e00\u4e0b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"UCB CS285: Deep Reinforcement Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#cs285-deep-reinforcement-learning","text":"","title":"CS285: Deep Reinforcement Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS189 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u5f3a\u5316\u5b66\u4e60\u7814\u7a76\u751f\u8bfe\u7a0b\uff0c\u6240\u6709\u8bfe\u7a0b\u5f55\u5f71\u3001slides\u3001\u4f5c\u4e1a\u4ee3\u7801\u5747\u5728\u7f51\u7ad9\u5f00\u6e90\u3002\u5728\u6211\u7684\u6536\u85cf\u5939\u91cc\u5403\u7070\u5f88\u4e45\u4e86\uff0c\u4e00\u76f4\u60f3\u627e\u673a\u4f1a\u5b66\u4e60\u4e00\u4e0b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/","text":"\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u719f\u7ec3\u638c\u63e1Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u674e\u5b8f\u6bc5\u8001\u5e08\u662f\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\u7684\u6559\u6388\uff0c\u5176\u98ce\u8da3\u5e7d\u9ed8\u7684\u6388\u8bfe\u98ce\u683c\u6df1\u53d7\u5927\u5bb6\u559c\u7231\uff0c\u5e76\u4e14\u5c24\u5176\u559c\u6b22\u5728PPT\u4e2d\u63d2\u5165\u5b9d\u53ef\u68a6\u7b49\u52a8\u6f2b\u5143\u7d20\uff0c\u662f\u4e2a\u975e\u5e38\u53ef\u7231\u7684\u8001\u5e08\u3002 \u8fd9\u95e8\u8bfe\u6302\u7740\u673a\u5668\u5b66\u4e60\u7684\u724c\u5b50\uff0c\u4f46\u5176\u8bfe\u7a0b\u5185\u5bb9\u4e4b\u5e7f\u5b9e\u5728\u4ee4\u4eba\u548b\u820c\uff0c\u5176\u4f5c\u4e1a\u4e00\u5171\u5305\u542b15\u4e2alab\uff0c\u5206\u522b\u662fRegression\u3001Classification\u3001CNN\u3001Self-Attention\u3001Transformer\u3001GAN\u3001BERT\u3001Anomaly Detection\u3001Explainable AI\u3001Attack\u3001Adaptation\u3001 RL\u3001Compression\u3001Life-Long Learning\u4ee5\u53caMeta Learning\u3002\u53ef\u8c13\u662f\u5305\u7f57\u4e07\u8c61\uff0c\u80fd\u8ba9\u5b66\u751f\u5bf9\u4e8e\u6df1\u5ea6\u5b66\u4e60\u7684\u7edd\u5927\u591a\u6570\u9886\u57df\u90fd\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u4ece\u800c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u9009\u62e9\u60f3\u8981\u6df1\u5165\u7684\u65b9\u5411\u8fdb\u884c\u5b66\u4e60\u3002 \u5927\u5bb6\u4e5f\u5927\u53ef\u4e0d\u5fc5\u62c5\u5fc3\u4f5c\u4e1a\u7684\u96be\u5ea6\uff0c\u56e0\u4e3a\u6240\u6709\u4f5c\u4e1a\u90fd\u4f1a\u63d0\u4f9b\u52a9\u6559\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u4f60\u5b8c\u6210\u6570\u636e\u5904\u7406\u3001\u6a21\u578b\u642d\u5efa\u7b49\uff0c\u4f60\u53ea\u9700\u8981\u5728\u5176\u57fa\u7840\u4e0a\u8fdb\u884c\u9002\u91cf\u7684\u4fee\u6539\u5373\u53ef\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u5b66\u4e60\u522b\u4eba\u4f18\u8d28\u4ee3\u7801\u7684\u6781\u597d\u673a\u4f1a\uff0c\u5927\u5bb6\u9700\u8981\u6c34\u8bfe\u7a0b\u5927\u4f5c\u4e1a\u7684\u8bdd\uff0c\u8fd9\u91cc\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u8d44\u6599\u6765\u6e90\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a15\u4e2alab\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u4e3b\u6d41\u6df1\u5ea6\u5b66\u4e60\u7684\u6240\u6709\u9886\u57df","title":"\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_1","text":"","title":"\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_2","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u719f\u7ec3\u638c\u63e1Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u674e\u5b8f\u6bc5\u8001\u5e08\u662f\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\u7684\u6559\u6388\uff0c\u5176\u98ce\u8da3\u5e7d\u9ed8\u7684\u6388\u8bfe\u98ce\u683c\u6df1\u53d7\u5927\u5bb6\u559c\u7231\uff0c\u5e76\u4e14\u5c24\u5176\u559c\u6b22\u5728PPT\u4e2d\u63d2\u5165\u5b9d\u53ef\u68a6\u7b49\u52a8\u6f2b\u5143\u7d20\uff0c\u662f\u4e2a\u975e\u5e38\u53ef\u7231\u7684\u8001\u5e08\u3002 \u8fd9\u95e8\u8bfe\u6302\u7740\u673a\u5668\u5b66\u4e60\u7684\u724c\u5b50\uff0c\u4f46\u5176\u8bfe\u7a0b\u5185\u5bb9\u4e4b\u5e7f\u5b9e\u5728\u4ee4\u4eba\u548b\u820c\uff0c\u5176\u4f5c\u4e1a\u4e00\u5171\u5305\u542b15\u4e2alab\uff0c\u5206\u522b\u662fRegression\u3001Classification\u3001CNN\u3001Self-Attention\u3001Transformer\u3001GAN\u3001BERT\u3001Anomaly Detection\u3001Explainable AI\u3001Attack\u3001Adaptation\u3001 RL\u3001Compression\u3001Life-Long Learning\u4ee5\u53caMeta Learning\u3002\u53ef\u8c13\u662f\u5305\u7f57\u4e07\u8c61\uff0c\u80fd\u8ba9\u5b66\u751f\u5bf9\u4e8e\u6df1\u5ea6\u5b66\u4e60\u7684\u7edd\u5927\u591a\u6570\u9886\u57df\u90fd\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u4ece\u800c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u9009\u62e9\u60f3\u8981\u6df1\u5165\u7684\u65b9\u5411\u8fdb\u884c\u5b66\u4e60\u3002 \u5927\u5bb6\u4e5f\u5927\u53ef\u4e0d\u5fc5\u62c5\u5fc3\u4f5c\u4e1a\u7684\u96be\u5ea6\uff0c\u56e0\u4e3a\u6240\u6709\u4f5c\u4e1a\u90fd\u4f1a\u63d0\u4f9b\u52a9\u6559\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u4f60\u5b8c\u6210\u6570\u636e\u5904\u7406\u3001\u6a21\u578b\u642d\u5efa\u7b49\uff0c\u4f60\u53ea\u9700\u8981\u5728\u5176\u57fa\u7840\u4e0a\u8fdb\u884c\u9002\u91cf\u7684\u4fee\u6539\u5373\u53ef\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u5b66\u4e60\u522b\u4eba\u4f18\u8d28\u4ee3\u7801\u7684\u6781\u597d\u673a\u4f1a\uff0c\u5927\u5bb6\u9700\u8981\u6c34\u8bfe\u7a0b\u5927\u4f5c\u4e1a\u7684\u8bdd\uff0c\u8fd9\u91cc\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u8d44\u6599\u6765\u6e90\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_3","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a15\u4e2alab\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u4e3b\u6d41\u6df1\u5ea6\u5b66\u4e60\u7684\u6240\u6709\u9886\u57df","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/","text":"UCB EE16A&B: Designing Information Devices and Systems I&II \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 UC Berkeley\u7535\u5b50\u7cfb\u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u901a\u8fc7\u7535\u8def\u57fa\u7840\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u914d\u5408\u5404\u7c7b\u52a8\u624b\u5b9e\u64cd\u7684lab\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u901a\u8fc7\u7535\u8def\u4ece\u73af\u5883\u4e2d\u6536\u96c6\u4fe1\u606f\u5e76\u8fdb\u884c\u5206\u6790\uff0c\u4f5c\u51fa\u9884\u6d4b\u548c\u53cd\u9988\u3002\u7531\u4e8e\u75ab\u60c5\u7684\u7f18\u6545\uff0c\u6240\u6709lab\u90fd\u6709\u8fdc\u7a0b\u5728\u7ebf\u7248\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u5728\u5bb6\u81ea\u5b66\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a EE16A , EE16B \u8bfe\u7a0b\u89c6\u9891\uff1aB\u7ad9\u641c\u7d22 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u4e3b\u9875 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"EE16A&B: Designing Information Devices and Systems I&II"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#ucb-ee16ab-designing-information-devices-and-systems-iii","text":"","title":"UCB EE16A&B: Designing Information Devices and Systems I&II"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 UC Berkeley\u7535\u5b50\u7cfb\u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u901a\u8fc7\u7535\u8def\u57fa\u7840\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u914d\u5408\u5404\u7c7b\u52a8\u624b\u5b9e\u64cd\u7684lab\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u901a\u8fc7\u7535\u8def\u4ece\u73af\u5883\u4e2d\u6536\u96c6\u4fe1\u606f\u5e76\u8fdb\u884c\u5206\u6790\uff0c\u4f5c\u51fa\u9884\u6d4b\u548c\u53cd\u9988\u3002\u7531\u4e8e\u75ab\u60c5\u7684\u7f18\u6545\uff0c\u6240\u6709lab\u90fd\u6709\u8fdc\u7a0b\u5728\u7ebf\u7248\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u5728\u5bb6\u81ea\u5b66\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a EE16A , EE16B \u8bfe\u7a0b\u89c6\u9891\uff1aB\u7ad9\u641c\u7d22 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u4e3b\u9875","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals%20and%20Systems_AVO/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aMatlab Preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 \u770b\u5230\u8bfe\u7a0b\u8001\u5e08\u7684\u540d\u5b57\uff1aProf. Alan V. Oppenheim \u597d\u7684\uff0c\u4e0a\u8fd9\u95e8\u8bfe\u7684\u7406\u7531\u5df2\u7ecf\u8db3\u591f\u4e86\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aSignals and Systems, 2nd Edition \u8bfe\u7a0b\u4f5c\u4e1a","title":"MIT 6.007 Signals and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals%20and%20Systems_AVO/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aMatlab Preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 \u770b\u5230\u8bfe\u7a0b\u8001\u5e08\u7684\u540d\u5b57\uff1aProf. Alan V. Oppenheim \u597d\u7684\uff0c\u4e0a\u8fd9\u95e8\u8bfe\u7684\u7406\u7531\u5df2\u7ecf\u8db3\u591f\u4e86\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals%20and%20Systems_AVO/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aSignals and Systems, 2nd Edition \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/","text":"UCB EE120 : Signal and Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A\uff0cCS70\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6700\u7cbe\u534e\u7684\u90e8\u5206\u5c31\u662f6\u4e2a\u8d85\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7528Python\u901a\u8fc7\u5b66\u4e60\u5230\u7684\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u89e3\u51b3\u5404\u7c7b\u5b9e\u9645\u95ee\u9898\u3002\u4f8b\u5982lab3\u4f1a\u8ba9\u4f60\u5b9e\u73b0FFT\u7b97\u6cd5\uff0c\u5e76\u548cNumpy\u7684\u5b98\u65b9\u5b9e\u73b0\u8fdb\u884c\u6027\u80fd\u5bf9\u6bd4\uff1blab4\u4f1a\u901a\u8fc7\u5206\u6790\u624b\u6307\u5934\u7684\u5f71\u50cf\u6570\u636e\u63a8\u65ad\u5fc3\u7387\uff1blab5\u5c31\u66f4\u725b\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7ed9\u54c8\u52c3\u671b\u8fdc\u955c\u62cd\u5230\u7684\u7167\u7247\u8fdb\u884c\u964d\u566a\u5904\u7406\uff0c\u6062\u590d\u7eda\u70c2\u6e05\u6670\u7684\u661f\u7a7a\uff1blab6\u4f1a\u8ba9\u4f60\u6784\u9020\u4e00\u4e2a\u53cd\u9988\u7cfb\u7edf\uff0c\u5e73\u8861\u5c0f\u8f66\u4e0a\u7684\u7ec6\u6746\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5\u4e2a\u4e66\u9762\u4f5c\u4e1a + 6\u4e2a\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB EE120 : Signal and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#ucb-ee120-signal-and-systems","text":"","title":"UCB EE120 : Signal and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A\uff0cCS70\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6700\u7cbe\u534e\u7684\u90e8\u5206\u5c31\u662f6\u4e2a\u8d85\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7528Python\u901a\u8fc7\u5b66\u4e60\u5230\u7684\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u89e3\u51b3\u5404\u7c7b\u5b9e\u9645\u95ee\u9898\u3002\u4f8b\u5982lab3\u4f1a\u8ba9\u4f60\u5b9e\u73b0FFT\u7b97\u6cd5\uff0c\u5e76\u548cNumpy\u7684\u5b98\u65b9\u5b9e\u73b0\u8fdb\u884c\u6027\u80fd\u5bf9\u6bd4\uff1blab4\u4f1a\u901a\u8fc7\u5206\u6790\u624b\u6307\u5934\u7684\u5f71\u50cf\u6570\u636e\u63a8\u65ad\u5fc3\u7387\uff1blab5\u5c31\u66f4\u725b\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7ed9\u54c8\u52c3\u671b\u8fdc\u955c\u62cd\u5230\u7684\u7167\u7247\u8fdb\u884c\u964d\u566a\u5904\u7406\uff0c\u6062\u590d\u7eda\u70c2\u6e05\u6670\u7684\u661f\u7a7a\uff1blab6\u4f1a\u8ba9\u4f60\u6784\u9020\u4e00\u4e2a\u53cd\u9988\u7cfb\u7edf\uff0c\u5e73\u8861\u5c0f\u8f66\u4e0a\u7684\u7ec6\u6746\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5\u4e2a\u4e66\u9762\u4f5c\u4e1a + 6\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%A8%8B%E5%BA%8F%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1/CS242/","text":"","title":"CS242"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aC, Go \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u8bfe\u7a0b\u5185\u5bb9\u5206\u4e3a5\u4e2a\u90e8\u5206\uff1a Security principles : how to design a secure system Memory safety : buffer overflow attack Cryptography : symmetric encryption, asymmetric encryption, MAC, digital signature ......... Web : SQL-injection, XSS, XSRF ....... Networking : attacks for each layer \u8fd9\u95e8\u8bfe\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u90e8\u5206\u662fProject2\uff0c\u8ba9\u4f60\u7528Go\u8bed\u8a00\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7684\u6587\u4ef6\u5206\u4eab\u7cfb\u7edf\u3002\u6211\u82b1\u4e86\u6574\u6574\u4e09\u5929\u624d\u5b8c\u6210\u4e86\u8fd9\u4e2a\u975e\u5e38\u8650\u7684Project\uff0c\u603b\u4ee3\u7801\u91cf\u8d85\u8fc73k\u884c\u3002\u5728\u8fd9\u6837\u5bc6\u96c6\u578b\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u80fd\u6781\u5927\u5730\u953b\u70bc\u4f60\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7cfb\u7edf\u7684\u80fd\u529b\u3002 2020\u5e74\u590f\u5b63\u5b66\u671f\u7684\u7248\u672c\u5f00\u6e90\u4e86\u8bfe\u7a0b\u5f55\u5f71\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e0b\u9762\u7684\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5\u91cc\u627e\u5230\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7\u4e2a\u5728\u7ebfHW + 3\u4e2alab + 3\u4e2aProject \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS161: Computer Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aC, Go \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u8bfe\u7a0b\u5185\u5bb9\u5206\u4e3a5\u4e2a\u90e8\u5206\uff1a Security principles : how to design a secure system Memory safety : buffer overflow attack Cryptography : symmetric encryption, asymmetric encryption, MAC, digital signature ......... Web : SQL-injection, XSS, XSRF ....... Networking : attacks for each layer \u8fd9\u95e8\u8bfe\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u90e8\u5206\u662fProject2\uff0c\u8ba9\u4f60\u7528Go\u8bed\u8a00\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7684\u6587\u4ef6\u5206\u4eab\u7cfb\u7edf\u3002\u6211\u82b1\u4e86\u6574\u6574\u4e09\u5929\u624d\u5b8c\u6210\u4e86\u8fd9\u4e2a\u975e\u5e38\u8650\u7684Project\uff0c\u603b\u4ee3\u7801\u91cf\u8d85\u8fc73k\u884c\u3002\u5728\u8fd9\u6837\u5bc6\u96c6\u578b\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u80fd\u6781\u5927\u5730\u953b\u70bc\u4f60\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7cfb\u7edf\u7684\u80fd\u529b\u3002 2020\u5e74\u590f\u5b63\u5b66\u671f\u7684\u7248\u672c\u5f00\u6e90\u4e86\u8bfe\u7a0b\u5f55\u5f71\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e0b\u9762\u7684\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5\u91cc\u627e\u5230\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7\u4e2a\u5728\u7ebfHW + 3\u4e2alab + 3\u4e2aProject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u4e86\u89e3 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 MIT\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u5b9e\u9a8c\u73af\u5883\u662f\u4e00\u4e2aWeb Application Zoobar. \u5b66\u751f\u5b66\u4e60\u653b\u9632\u6280\u672f\u5e76\u5e94\u7528\u4e8e\u8be5Web Application. Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties. Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application. Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application. Lab 4: you will improve the zoobar application against browser attacks. \u8fd9\u4e2a\u8bfe\u6211\u4e3b\u8981\u662f\u505a\u4e86lab3\u3002lab3\u662f\u901a\u8fc7\u6df7\u5408\u7b26\u53f7\u6267\u884c\u6765\u904d\u5386\u7a0b\u5e8f\u7684\u6240\u6709\u5206\u652f\uff0c\u7406\u89e3\u4e86\u7b26\u53f7\u6267\u884c\u7684\u601d\u60f3\u540elab\u5e76\u4e0d\u96be\u505a\u3002\u8fd9\u4e2alab\u76f4\u89c2\u5c55\u793a\u7b26\u53f7\u6267\u884c\u8fd9\u79cd\u6280\u672f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002 \u8fd9\u4e2a\u8bfe\u7684Final Project\u662f\u5b9e\u73b0 SecFS \uff0c\u4e00\u4e2a\u8fdc\u7aef\u6587\u4ef6\u7cfb\u7edf\uff0c\u9762\u5bf9\u5b8c\u5168\u4e0d\u53ef\u4fe1\u7684\u670d\u52a1\u5668\uff0c\u63d0\u4f9b\u673a\u5bc6\u6027\u548c\u5b8c\u6574\u6027\u3002\u53c2\u8003\u8bba\u6587\u4e3a SUNDR \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2alab + Final Project / Lab5","title":"MIT 6.858: Computer System Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u4e86\u89e3 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 MIT\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u5b9e\u9a8c\u73af\u5883\u662f\u4e00\u4e2aWeb Application Zoobar. \u5b66\u751f\u5b66\u4e60\u653b\u9632\u6280\u672f\u5e76\u5e94\u7528\u4e8e\u8be5Web Application. Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties. Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application. Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application. Lab 4: you will improve the zoobar application against browser attacks. \u8fd9\u4e2a\u8bfe\u6211\u4e3b\u8981\u662f\u505a\u4e86lab3\u3002lab3\u662f\u901a\u8fc7\u6df7\u5408\u7b26\u53f7\u6267\u884c\u6765\u904d\u5386\u7a0b\u5e8f\u7684\u6240\u6709\u5206\u652f\uff0c\u7406\u89e3\u4e86\u7b26\u53f7\u6267\u884c\u7684\u601d\u60f3\u540elab\u5e76\u4e0d\u96be\u505a\u3002\u8fd9\u4e2alab\u76f4\u89c2\u5c55\u793a\u7b26\u53f7\u6267\u884c\u8fd9\u79cd\u6280\u672f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002 \u8fd9\u4e2a\u8bfe\u7684Final Project\u662f\u5b9e\u73b0 SecFS \uff0c\u4e00\u4e2a\u8fdc\u7aef\u6587\u4ef6\u7cfb\u7edf\uff0c\u9762\u5bf9\u5b8c\u5168\u4e0d\u53ef\u4fe1\u7684\u670d\u52a1\u5668\uff0c\u63d0\u4f9b\u673a\u5bc6\u6027\u548c\u5b8c\u6574\u6027\u3002\u53c2\u8003\u8bba\u6587\u4e3a SUNDR","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2alab + Final Project / Lab5","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/","text":"CS106L: Standard C++ Programming \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20\u5c0f\u65f6 \u6211\u4ece\u5927\u4e00\u5f00\u59cb\u4e00\u76f4\u90fd\u662f\u5199\u7684C++\u4ee3\u7801\uff0c\u76f4\u5230\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u6211\u624d\u610f\u8bc6\u5230\uff0c\u6211\u5199\u7684C++\u4ee3\u7801\u5927\u6982\u53ea\u662fC\u8bed\u8a00 + cin/cout\u800c\u5df2\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u6df1\u5165\u5230\u5f88\u591a\u6807\u51c6C++\u7684\u7279\u6027\u548c\u8bed\u6cd5\uff0c\u8ba9\u4f60\u7f16\u5199\u51fa\u9ad8\u8d28\u91cf\u7684C++\u4ee3\u7801\u3002\u4f8b\u5982auto binding\uff0cuniform initialization\uff0clambda function\uff0cmove semantics\uff0cRAII\u7b49\u6280\u5de7\u90fd\u5728\u6211\u6b64\u540e\u7684\u4ee3\u7801\u751f\u6daf\u4e2d\u88ab\u53cd\u590d\u7528\u5230\uff0c\u975e\u5e38\u5b9e\u7528\u3002 \u503c\u5f97\u4e00\u63d0\u7684\u662f\uff0c\u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u91cc\u4f60\u4f1a\u5b9e\u73b0\u4e00\u4e2aHashMap\uff08\u7c7b\u4f3c\u4e8eSTL\u4e2d\u7684unordered map), \u8fd9\u4e2a\u4f5c\u4e1a\u51e0\u4e4e\u628a\u6574\u4e2a\u8bfe\u7a0b\u4e32\u8054\u4e86\u8d77\u6765\uff0c\u975e\u5e38\u8003\u9a8c\u4ee3\u7801\u80fd\u529b\u3002\u7279\u522b\u662fiterator\u7684\u5b9e\u73b0\uff0c\u505a\u5b8c\u8fd9\u4e2a\u4f5c\u4e1a\u6211\u5f00\u59cb\u7406\u89e3\u4e3a\u4ec0\u4e48Linus\u5bf9C/C++\u55e4\u4e4b\u4ee5\u9f3b\u4e86\uff0c\u56e0\u4e3a\u771f\u7684\u5f88\u96be\u5199\u5bf9\u3002 \u603b\u7684\u6765\u8bb2\u8fd9\u95e8\u8bfe\u5e76\u4e0d\u96be\uff0c\u4f46\u662f\u4fe1\u606f\u91cf\u5f88\u5927\uff0c\u9700\u8981\u4f60\u5728\u4e4b\u540e\u7684\u5f00\u53d1\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56fa\u3002Stanford\u4e4b\u6240\u4ee5\u5355\u5f00\u4e00\u95e8C++\u7684\u7f16\u7a0b\u8bfe\uff0c\u662f\u56e0\u4e3a\u5b83\u540e\u7eed\u7684\u5f88\u591aCS\u8bfe\u7a0bProject\u90fd\u662f\u57fa\u4e8eC++\u7684\u3002\u4f8b\u5982CS144\u8ba1\u7b97\u673a\u7f51\u7edc\u548cCS143\u7f16\u8bd1\u5668\u3002\u8fd9\u4e24\u95e8\u8bfe\u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5177\u4f53\u5185\u5bb9\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u6211\u505a\u7684\u65f6\u5019\u4e00\u5171\u662f\u4e24\u4e2a\uff1a (1\uff09\u5b9e\u73b0\u4e00\u4e2aWikiRacer\u7684\u5c0f\u6e38\u620f (2\uff09\u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3cSTL\u5e93\u7684HashMap \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Stanford CS106L: Standard C++ Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#cs106l-standard-c-programming","text":"","title":"CS106L: Standard C++ Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20\u5c0f\u65f6 \u6211\u4ece\u5927\u4e00\u5f00\u59cb\u4e00\u76f4\u90fd\u662f\u5199\u7684C++\u4ee3\u7801\uff0c\u76f4\u5230\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u6211\u624d\u610f\u8bc6\u5230\uff0c\u6211\u5199\u7684C++\u4ee3\u7801\u5927\u6982\u53ea\u662fC\u8bed\u8a00 + cin/cout\u800c\u5df2\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u6df1\u5165\u5230\u5f88\u591a\u6807\u51c6C++\u7684\u7279\u6027\u548c\u8bed\u6cd5\uff0c\u8ba9\u4f60\u7f16\u5199\u51fa\u9ad8\u8d28\u91cf\u7684C++\u4ee3\u7801\u3002\u4f8b\u5982auto binding\uff0cuniform initialization\uff0clambda function\uff0cmove semantics\uff0cRAII\u7b49\u6280\u5de7\u90fd\u5728\u6211\u6b64\u540e\u7684\u4ee3\u7801\u751f\u6daf\u4e2d\u88ab\u53cd\u590d\u7528\u5230\uff0c\u975e\u5e38\u5b9e\u7528\u3002 \u503c\u5f97\u4e00\u63d0\u7684\u662f\uff0c\u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u91cc\u4f60\u4f1a\u5b9e\u73b0\u4e00\u4e2aHashMap\uff08\u7c7b\u4f3c\u4e8eSTL\u4e2d\u7684unordered map), \u8fd9\u4e2a\u4f5c\u4e1a\u51e0\u4e4e\u628a\u6574\u4e2a\u8bfe\u7a0b\u4e32\u8054\u4e86\u8d77\u6765\uff0c\u975e\u5e38\u8003\u9a8c\u4ee3\u7801\u80fd\u529b\u3002\u7279\u522b\u662fiterator\u7684\u5b9e\u73b0\uff0c\u505a\u5b8c\u8fd9\u4e2a\u4f5c\u4e1a\u6211\u5f00\u59cb\u7406\u89e3\u4e3a\u4ec0\u4e48Linus\u5bf9C/C++\u55e4\u4e4b\u4ee5\u9f3b\u4e86\uff0c\u56e0\u4e3a\u771f\u7684\u5f88\u96be\u5199\u5bf9\u3002 \u603b\u7684\u6765\u8bb2\u8fd9\u95e8\u8bfe\u5e76\u4e0d\u96be\uff0c\u4f46\u662f\u4fe1\u606f\u91cf\u5f88\u5927\uff0c\u9700\u8981\u4f60\u5728\u4e4b\u540e\u7684\u5f00\u53d1\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56fa\u3002Stanford\u4e4b\u6240\u4ee5\u5355\u5f00\u4e00\u95e8C++\u7684\u7f16\u7a0b\u8bfe\uff0c\u662f\u56e0\u4e3a\u5b83\u540e\u7eed\u7684\u5f88\u591aCS\u8bfe\u7a0bProject\u90fd\u662f\u57fa\u4e8eC++\u7684\u3002\u4f8b\u5982CS144\u8ba1\u7b97\u673a\u7f51\u7edc\u548cCS143\u7f16\u8bd1\u5668\u3002\u8fd9\u4e24\u95e8\u8bfe\u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5177\u4f53\u5185\u5bb9\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u6211\u505a\u7684\u65f6\u5019\u4e00\u5171\u662f\u4e24\u4e2a\uff1a (1\uff09\u5b9e\u73b0\u4e00\u4e2aWikiRacer\u7684\u5c0f\u6e38\u620f (2\uff09\u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3cSTL\u5e93\u7684HashMap","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/","text":"CS110L: Safety in Systems Programming \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u80cc\u666f\u5e76\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u7684\u8ba4\u8bc6\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aRust \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u5728\u8fd9\u95e8\u8bfe\u4e2d\u4f60\u5c06\u4f1a\u5b66\u4e60Rust\u8fd9\u95e8\u795e\u5947\u7684\u8bed\u8a00\u3002 \u5982\u679c\u4f60\u5b66\u8fc7C\u5e76\u63a5\u89e6\u8fc7\u4e00\u4e9b\u7cfb\u7edf\u7f16\u7a0b\u7684\u8bdd\uff0c\u5e94\u8be5\u5bf9C\u7684\u5185\u5b58\u6cc4\u6f0f\u4ee5\u53ca\u6307\u9488\u7684\u5371\u9669\u6709\u6240\u8033\u95fb\uff0c\u4f46C\u7684\u5e95\u5c42\u7279\u6027\u4ee5\u53ca\u9ad8\u6548\u4ecd\u7136\u8ba9\u5b83\u5728\u7cfb\u7edf\u7ea7\u7f16\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u4f8b\u5982Java\u7b49\u81ea\u5e26\u5783\u573e\u6536\u96c6\u673a\u5236\u7684\u9ad8\u7ea7\u8bed\u8a00\u6240\u66ff\u4ee3\u3002\u800cRust\u7684\u76ee\u6807\u5219\u662f\u5e0c\u671b\u5728C\u7684\u9ad8\u6548\u57fa\u7840\u4e0a\uff0c\u5f25\u8865\u5176\u5b89\u5168\u4e0d\u8db3\u7684\u7f3a\u70b9\u3002\u56e0\u6b64Rust\u5728\u8bbe\u8ba1\u4e4b\u521d\uff0c\u5c31\u6709\u5e26\u6709\u5f88\u591a\u7cfb\u7edf\u7f16\u7a0b\u7684\u89c2\u70b9\u3002\u5b66\u4e60Rust\uff0c\u4e5f\u80fd\u8ba9\u4f60\u4e4b\u540e\u80fd\u7528C\u8bed\u8a00\u7f16\u5199\u51fa\u66f4\u5b89\u5168\u66f4\u4f18\u96c5\u7684\u7cfb\u7edf\u7ea7\u4ee3\u7801\uff08\u4f8b\u5982\u64cd\u4f5c\u7cfb\u7edf\u7b49\uff09\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u90e8\u5206\u5173\u6ce8\u5728\u5e76\u53d1\uff08concurrency\uff09\u8fd9\u4e00\u4e3b\u9898\u4e0a\uff0c\u4f60\u5c06\u4f1a\u7cfb\u7edf\u5730\u638c\u63e1\u591a\u8fdb\u7a0b\u3001\u591a\u7ebf\u7a0b\u3001\u57fa\u4e8e\u4e8b\u4ef6\u9a71\u52a8\u7684\u5e76\u53d1\u7b49\u82e5\u5e72\u5e76\u53d1\u6280\u672f\uff0c\u5e76\u5728\u7b2c\u4e8c\u4e2aproject\u4e2d\u6bd4\u8f83\u5b83\u4eec\u5404\u81ea\u7684\u4f18\u52a3\u3002Rust\u4e2d\u201cfutures\u201d\u7684\u6982\u5ff5\u975e\u5e38\u6709\u8da3\u548c\u4f18\u96c5\uff0c\u8fd9\u4e9b\u57fa\u7840\u77e5\u8bc6\u5bf9\u4f60\u540e\u7eed\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u76f8\u5173\u8bfe\u7a0b\u7684\u5b66\u4e60\u5f88\u6709\u5e2e\u52a9\u3002\u53e6\u5916\uff0c\u6e05\u534e\u5927\u5b66\u7684\u64cd\u7edf\u5b9e\u9a8crCore\u5c31\u662f\u57fa\u4e8eRust\u7f16\u5199\u7684\uff0c\u5177\u4f53\u53c2\u89c1 \u6587\u6863 \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u51716\u4e2alab\u548c2\u4e2aproject\uff0c\u4f5c\u4e1a\u6587\u6863\u548c\u4ee3\u7801\u6846\u67b6\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002\u5176\u4e2d\u4e24\u4e2aproject\u975e\u5e38\u6709\u8da3\uff0c\u5206\u522b\u662f\uff1a \uff081\uff09\u7528Rust\u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3c\u4e8egdb\u7684debugger \uff082\uff09\u7528Rust\u5b9e\u73b0\u4e00\u4e2a\u8d1f\u8f7d\u5747\u8861\u5668 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Stanford CS110L: Safety in Systems Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#cs110l-safety-in-systems-programming","text":"","title":"CS110L: Safety in Systems Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u80cc\u666f\u5e76\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u7684\u8ba4\u8bc6\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aRust \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u5728\u8fd9\u95e8\u8bfe\u4e2d\u4f60\u5c06\u4f1a\u5b66\u4e60Rust\u8fd9\u95e8\u795e\u5947\u7684\u8bed\u8a00\u3002 \u5982\u679c\u4f60\u5b66\u8fc7C\u5e76\u63a5\u89e6\u8fc7\u4e00\u4e9b\u7cfb\u7edf\u7f16\u7a0b\u7684\u8bdd\uff0c\u5e94\u8be5\u5bf9C\u7684\u5185\u5b58\u6cc4\u6f0f\u4ee5\u53ca\u6307\u9488\u7684\u5371\u9669\u6709\u6240\u8033\u95fb\uff0c\u4f46C\u7684\u5e95\u5c42\u7279\u6027\u4ee5\u53ca\u9ad8\u6548\u4ecd\u7136\u8ba9\u5b83\u5728\u7cfb\u7edf\u7ea7\u7f16\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u4f8b\u5982Java\u7b49\u81ea\u5e26\u5783\u573e\u6536\u96c6\u673a\u5236\u7684\u9ad8\u7ea7\u8bed\u8a00\u6240\u66ff\u4ee3\u3002\u800cRust\u7684\u76ee\u6807\u5219\u662f\u5e0c\u671b\u5728C\u7684\u9ad8\u6548\u57fa\u7840\u4e0a\uff0c\u5f25\u8865\u5176\u5b89\u5168\u4e0d\u8db3\u7684\u7f3a\u70b9\u3002\u56e0\u6b64Rust\u5728\u8bbe\u8ba1\u4e4b\u521d\uff0c\u5c31\u6709\u5e26\u6709\u5f88\u591a\u7cfb\u7edf\u7f16\u7a0b\u7684\u89c2\u70b9\u3002\u5b66\u4e60Rust\uff0c\u4e5f\u80fd\u8ba9\u4f60\u4e4b\u540e\u80fd\u7528C\u8bed\u8a00\u7f16\u5199\u51fa\u66f4\u5b89\u5168\u66f4\u4f18\u96c5\u7684\u7cfb\u7edf\u7ea7\u4ee3\u7801\uff08\u4f8b\u5982\u64cd\u4f5c\u7cfb\u7edf\u7b49\uff09\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u90e8\u5206\u5173\u6ce8\u5728\u5e76\u53d1\uff08concurrency\uff09\u8fd9\u4e00\u4e3b\u9898\u4e0a\uff0c\u4f60\u5c06\u4f1a\u7cfb\u7edf\u5730\u638c\u63e1\u591a\u8fdb\u7a0b\u3001\u591a\u7ebf\u7a0b\u3001\u57fa\u4e8e\u4e8b\u4ef6\u9a71\u52a8\u7684\u5e76\u53d1\u7b49\u82e5\u5e72\u5e76\u53d1\u6280\u672f\uff0c\u5e76\u5728\u7b2c\u4e8c\u4e2aproject\u4e2d\u6bd4\u8f83\u5b83\u4eec\u5404\u81ea\u7684\u4f18\u52a3\u3002Rust\u4e2d\u201cfutures\u201d\u7684\u6982\u5ff5\u975e\u5e38\u6709\u8da3\u548c\u4f18\u96c5\uff0c\u8fd9\u4e9b\u57fa\u7840\u77e5\u8bc6\u5bf9\u4f60\u540e\u7eed\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u76f8\u5173\u8bfe\u7a0b\u7684\u5b66\u4e60\u5f88\u6709\u5e2e\u52a9\u3002\u53e6\u5916\uff0c\u6e05\u534e\u5927\u5b66\u7684\u64cd\u7edf\u5b9e\u9a8crCore\u5c31\u662f\u57fa\u4e8eRust\u7f16\u5199\u7684\uff0c\u5177\u4f53\u53c2\u89c1 \u6587\u6863 \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u51716\u4e2alab\u548c2\u4e2aproject\uff0c\u4f5c\u4e1a\u6587\u6863\u548c\u4ee3\u7801\u6846\u67b6\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002\u5176\u4e2d\u4e24\u4e2aproject\u975e\u5e38\u6709\u8da3\uff0c\u5206\u522b\u662f\uff1a \uff081\uff09\u7528Rust\u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3c\u4e8egdb\u7684debugger \uff082\uff09\u7528Rust\u5b9e\u73b0\u4e00\u4e2a\u8d1f\u8f7d\u5747\u8861\u5668","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/","text":"CS50: This is CS50x \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u54c8\u4f5b\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC\uff0cPython\uff0cSQL\uff0cHTML\uff0cCSS\uff0cJavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20\u5c0f\u65f6 \u8fde\u7eed\u591a\u5e74\u88ab\u54c8\u4f5b\u5927\u5b66\u5b66\u751f\u8bc4\u4e3a\u6700\u53d7\u6b22\u8fce\u7684\u516c\u9009\u8bfe\u7a0b\u3002Malan\u6559\u6388\u4e0a\u8bfe\u975e\u5e38\u6709\u6fc0\u60c5\uff0c\u6495\u9ec4\u9875\u8bb2\u4e8c\u5206\u6cd5\u7684\u573a\u9762\u8ba9\u4eba\u8bb0\u5fc6\u72b9\u65b0\uff08\u7b11\uff09\u3002\u4f46\u56e0\u4e3a\u5b83\u7684\u5165\u95e8\u4ee5\u53ca\u5168\u6821\u516c\u9009\u7684\u5c5e\u6027\uff0c\u8bfe\u7a0b\u5185\u5bb9\u96be\u5ea6\u6bd4\u8f83\u6e29\u548c\uff0c\u4f46\u662f\u8bfe\u7a0b\u4f5c\u4e1a\u8d28\u91cf\u975e\u5e38\u9ad8\u800c\u4e14\u5168\u90e8\u514d\u8d39\u5f00\u6e90\uff0c\u975e\u5e38\u9002\u5408\u5c0f\u767d\u5165\u95e8\uff0c\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a","title":"Harvard CS50: This is CS50x"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#cs50-this-is-cs50x","text":"","title":"CS50: This is CS50x"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u54c8\u4f5b\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC\uff0cPython\uff0cSQL\uff0cHTML\uff0cCSS\uff0cJavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20\u5c0f\u65f6 \u8fde\u7eed\u591a\u5e74\u88ab\u54c8\u4f5b\u5927\u5b66\u5b66\u751f\u8bc4\u4e3a\u6700\u53d7\u6b22\u8fce\u7684\u516c\u9009\u8bfe\u7a0b\u3002Malan\u6559\u6388\u4e0a\u8bfe\u975e\u5e38\u6709\u6fc0\u60c5\uff0c\u6495\u9ec4\u9875\u8bb2\u4e8c\u5206\u6cd5\u7684\u573a\u9762\u8ba9\u4eba\u8bb0\u5fc6\u72b9\u65b0\uff08\u7b11\uff09\u3002\u4f46\u56e0\u4e3a\u5b83\u7684\u5165\u95e8\u4ee5\u53ca\u5168\u6821\u516c\u9009\u7684\u5c5e\u6027\uff0c\u8bfe\u7a0b\u5185\u5bb9\u96be\u5ea6\u6bd4\u8f83\u6e29\u548c\uff0c\u4f46\u662f\u8bfe\u7a0b\u4f5c\u4e1a\u8d28\u91cf\u975e\u5e38\u9ad8\u800c\u4e14\u5168\u90e8\u514d\u8d39\u5f00\u6e90\uff0c\u975e\u5e38\u9002\u5408\u5c0f\u767d\u5165\u95e8\uff0c\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/","text":"CS61A: Structure and Interpretation of Computer Programs \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython\uff0cScheme\uff0cSQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50\u5c0f\u65f6 \u4f2f\u514b\u5229CS61\u7cfb\u5217\u7684\u7b2c\u4e00\u95e8\u8bfe\u7a0b\uff0c\u4e5f\u662f\u6211\u7684Python\u5165\u95e8\u8bfe\u3002 CS61\u7cfb\u5217\u662f\u4f2f\u514b\u5229CS\u4e13\u4e1a\u7684\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d\uff1a CS61A\uff1a\u5f3a\u8c03\u62bd\u8c61\uff0c\u8ba9\u5b66\u751f\u638c\u63e1\u7528\u7a0b\u5e8f\u6765\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c\u800c\u4e0d\u5173\u6ce8\u5e95\u5c42\u7684\u786c\u4ef6\u7ec6\u8282\u3002 CS61B\uff1a\u6ce8\u91cd\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u5927\u89c4\u6a21\u7a0b\u5e8f\u7684\u6784\u5efa\uff0c\u5b66\u751f\u4f1a\u7528Java\u8bed\u8a00\u7ed3\u5408\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u77e5\u8bc6\u6765\u6784\u5efa\u5343\u884c\u4ee3\u7801\u7ea7\u522b\u7684\u5927\u578b\u9879\u76ee\uff08\u4e00\u4e2a\u7b80\u6613\u7684\u8c37\u6b4c\u5730\u56fe\uff0c\u4e00\u4e2a\u4e8c\u7ef4\u7248\u7684Minecraft\uff09\u3002 CS61C\uff1a\u5173\u6ce8\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u8ba9\u5b66\u751f\u7406\u89e3\u9ad8\u7ea7\u8bed\u8a00\uff08\u4f8b\u5982C\uff09\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u6362\u4e3a\u673a\u5668\u53ef\u4ee5\u7406\u89e3\u768401\u4e32\u5e76\u5728CPU\u6267\u884c\u7684\uff0c\u5b66\u751f\u5c06\u4f1a\u5b66\u4e60RISC-V\u67b6\u6784\u5e76\u81ea\u5df1\u7528Logism\u5b9e\u73b0\u4e00\u4e2aCPU\u3002 CS61B\u548cCS61C\u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 \u56de\u5230CS61A\uff0c\u6ce8\u610f\u8fd9\u4e0d\u4ec5\u4ec5\u662f\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u8bfe\uff0c\u800c\u662f\u4f1a\u6df1\u5165\u5230\u7a0b\u5e8f\u6784\u9020\u4e0e\u8fd0\u884c\u7684\u539f\u7406\u3002\u6700\u540e\u4f60\u5c06\u5728\u7b2c4\u4e2aProject\u4e2d\u7528Python\u5b9e\u73b0\u4e00\u4e2aScheme\u7684\u89e3\u91ca\u5668\u3002\u6b64\u5916\uff0c\u62bd\u8c61\u5c06\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4e3b\u9898\uff0c\u4f60\u5c06\u5b66\u4e60\u5230\u51fd\u6570\u5f0f\u7f16\u7a0b\u3001\u6570\u636e\u62bd\u8c61\u3001\u9762\u5411\u5bf9\u8c61\u7b49\u7b49\u77e5\u8bc6\u6765\u8ba9\u4f60\u7684\u4ee3\u7801\u66f4\u6613\u8bfb\uff0c\u66f4\u6a21\u5757\u5316\u3002\u5f53\u7136\uff0c\u5b66\u4e60\u7f16\u7a0b\u8bed\u8a00\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u5185\u5bb9\uff0c\u4f60\u5c06\u4f1a\u638c\u63e1Python\u3001Scheme\u548cSQL\u8fd9\u4e09\u79cd\u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u5b83\u4eec\u7684\u5b66\u4e60\u548c\u6bd4\u8f83\u4e2d\uff0c\u76f8\u4fe1\u4f60\u4f1a\u62e5\u6709\u5feb\u901f\u638c\u63e1\u4e00\u95e8\u65b0\u7684\u7f16\u7a0b\u8bed\u8a00\u7684\u80fd\u529b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891: \u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u4f1a\u6709\u6bcf\u4e2a\u4f5c\u4e1a\u5bf9\u5e94\u7684\u6587\u6863\u94fe\u63a5\u4ee5\u53ca\u4ee3\u7801\u6846\u67b6\u7684\u4e0b\u8f7d\u94fe\u63a5\u3002 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS61A: Structure and Interpretation of Computer Programs"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#cs61a-structure-and-interpretation-of-computer-programs","text":"","title":"CS61A: Structure and Interpretation of Computer Programs"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython\uff0cScheme\uff0cSQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50\u5c0f\u65f6 \u4f2f\u514b\u5229CS61\u7cfb\u5217\u7684\u7b2c\u4e00\u95e8\u8bfe\u7a0b\uff0c\u4e5f\u662f\u6211\u7684Python\u5165\u95e8\u8bfe\u3002 CS61\u7cfb\u5217\u662f\u4f2f\u514b\u5229CS\u4e13\u4e1a\u7684\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d\uff1a CS61A\uff1a\u5f3a\u8c03\u62bd\u8c61\uff0c\u8ba9\u5b66\u751f\u638c\u63e1\u7528\u7a0b\u5e8f\u6765\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c\u800c\u4e0d\u5173\u6ce8\u5e95\u5c42\u7684\u786c\u4ef6\u7ec6\u8282\u3002 CS61B\uff1a\u6ce8\u91cd\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u5927\u89c4\u6a21\u7a0b\u5e8f\u7684\u6784\u5efa\uff0c\u5b66\u751f\u4f1a\u7528Java\u8bed\u8a00\u7ed3\u5408\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u77e5\u8bc6\u6765\u6784\u5efa\u5343\u884c\u4ee3\u7801\u7ea7\u522b\u7684\u5927\u578b\u9879\u76ee\uff08\u4e00\u4e2a\u7b80\u6613\u7684\u8c37\u6b4c\u5730\u56fe\uff0c\u4e00\u4e2a\u4e8c\u7ef4\u7248\u7684Minecraft\uff09\u3002 CS61C\uff1a\u5173\u6ce8\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u8ba9\u5b66\u751f\u7406\u89e3\u9ad8\u7ea7\u8bed\u8a00\uff08\u4f8b\u5982C\uff09\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u6362\u4e3a\u673a\u5668\u53ef\u4ee5\u7406\u89e3\u768401\u4e32\u5e76\u5728CPU\u6267\u884c\u7684\uff0c\u5b66\u751f\u5c06\u4f1a\u5b66\u4e60RISC-V\u67b6\u6784\u5e76\u81ea\u5df1\u7528Logism\u5b9e\u73b0\u4e00\u4e2aCPU\u3002 CS61B\u548cCS61C\u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 \u56de\u5230CS61A\uff0c\u6ce8\u610f\u8fd9\u4e0d\u4ec5\u4ec5\u662f\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u8bfe\uff0c\u800c\u662f\u4f1a\u6df1\u5165\u5230\u7a0b\u5e8f\u6784\u9020\u4e0e\u8fd0\u884c\u7684\u539f\u7406\u3002\u6700\u540e\u4f60\u5c06\u5728\u7b2c4\u4e2aProject\u4e2d\u7528Python\u5b9e\u73b0\u4e00\u4e2aScheme\u7684\u89e3\u91ca\u5668\u3002\u6b64\u5916\uff0c\u62bd\u8c61\u5c06\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4e3b\u9898\uff0c\u4f60\u5c06\u5b66\u4e60\u5230\u51fd\u6570\u5f0f\u7f16\u7a0b\u3001\u6570\u636e\u62bd\u8c61\u3001\u9762\u5411\u5bf9\u8c61\u7b49\u7b49\u77e5\u8bc6\u6765\u8ba9\u4f60\u7684\u4ee3\u7801\u66f4\u6613\u8bfb\uff0c\u66f4\u6a21\u5757\u5316\u3002\u5f53\u7136\uff0c\u5b66\u4e60\u7f16\u7a0b\u8bed\u8a00\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u5185\u5bb9\uff0c\u4f60\u5c06\u4f1a\u638c\u63e1Python\u3001Scheme\u548cSQL\u8fd9\u4e09\u79cd\u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u5b83\u4eec\u7684\u5b66\u4e60\u548c\u6bd4\u8f83\u4e2d\uff0c\u76f8\u4fe1\u4f60\u4f1a\u62e5\u6709\u5feb\u901f\u638c\u63e1\u4e00\u95e8\u65b0\u7684\u7f16\u7a0b\u8bed\u8a00\u7684\u80fd\u529b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891: \u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u4f1a\u6709\u6bcf\u4e2a\u4f5c\u4e1a\u5bf9\u5e94\u7684\u6587\u6863\u94fe\u63a5\u4ee5\u53ca\u4ee3\u7801\u6846\u67b6\u7684\u4e0b\u8f7d\u94fe\u63a5\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1ashell \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a10\u5c0f\u65f6 \u6b63\u5982\u8bfe\u7a0b\u540d\u5b57\u6240\u8a00\uff1a\u201c\u8ba1\u7b97\u673a\u6559\u5b66\u4e2d\u6d88\u5931\u7684\u4e00\u4e2a\u5b66\u671f\u201d\uff0c\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u6559\u4f1a\u4f60\u8bb8\u591a\u5927\u5b66\u7684\u8bfe\u5802\u4e0a\u4e0d\u4f1a\u6d89\u53ca\u4f46\u5374\u5bf9\u6bcf\u4e2aCSer\u65e0\u6bd4\u91cd\u8981\u7684\u5de5\u5177\u6216\u8005\u77e5\u8bc6\u70b9\u3002\u4f8b\u5982Shell\u7f16\u7a0b\u3001\u547d\u4ee4\u884c\u914d\u7f6e\u3001Git\u3001Vim\u3001tmux\u3001ssh\u7b49\u7b49\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u8ba1\u7b97\u673a\u5c0f\u767d\uff0c\u90a3\u4e48\u6211\u975e\u5e38\u5efa\u8bae\u4f60\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\uff0c\u56e0\u4e3a\u5b83\u57fa\u672c\u6d89\u53ca\u4e86\u672c\u4e66\u5fc5\u5b66\u5de5\u5177\u4e2d\u7684\u7edd\u5927\u90e8\u5206\u5185\u5bb9\u3002 \u9664\u4e86MIT\u5b98\u65b9\u7684\u5b66\u4e60\u8d44\u6599\u5916\uff0c\u5317\u4eac\u5927\u5b66\u56fe\u7075\u73ed\u5f00\u8bbe\u7684\u524d\u6cbf\u8ba1\u7b97\u5b9e\u8df5\u4e2d\u4e5f\u5f00\u8bbe\u4e86\u76f8\u5173\u8bfe\u7a0b\uff0c\u8d44\u6599\u4f4d\u4e8e \u8fd9\u4e2a\u7f51\u7ad9 \u4e0b\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e00\u4e9b\u968f\u5802\u5c0f\u7ec3\u4e60\uff0c\u5177\u4f53\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"MIT-Missing-Semester"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#_1","text":"\u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1ashell \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a10\u5c0f\u65f6 \u6b63\u5982\u8bfe\u7a0b\u540d\u5b57\u6240\u8a00\uff1a\u201c\u8ba1\u7b97\u673a\u6559\u5b66\u4e2d\u6d88\u5931\u7684\u4e00\u4e2a\u5b66\u671f\u201d\uff0c\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u6559\u4f1a\u4f60\u8bb8\u591a\u5927\u5b66\u7684\u8bfe\u5802\u4e0a\u4e0d\u4f1a\u6d89\u53ca\u4f46\u5374\u5bf9\u6bcf\u4e2aCSer\u65e0\u6bd4\u91cd\u8981\u7684\u5de5\u5177\u6216\u8005\u77e5\u8bc6\u70b9\u3002\u4f8b\u5982Shell\u7f16\u7a0b\u3001\u547d\u4ee4\u884c\u914d\u7f6e\u3001Git\u3001Vim\u3001tmux\u3001ssh\u7b49\u7b49\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u8ba1\u7b97\u673a\u5c0f\u767d\uff0c\u90a3\u4e48\u6211\u975e\u5e38\u5efa\u8bae\u4f60\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\uff0c\u56e0\u4e3a\u5b83\u57fa\u672c\u6d89\u53ca\u4e86\u672c\u4e66\u5fc5\u5b66\u5de5\u5177\u4e2d\u7684\u7edd\u5927\u90e8\u5206\u5185\u5bb9\u3002 \u9664\u4e86MIT\u5b98\u65b9\u7684\u5b66\u4e60\u8d44\u6599\u5916\uff0c\u5317\u4eac\u5927\u5b66\u56fe\u7075\u73ed\u5f00\u8bbe\u7684\u524d\u6cbf\u8ba1\u7b97\u5b9e\u8df5\u4e2d\u4e5f\u5f00\u8bbe\u4e86\u76f8\u5173\u8bfe\u7a0b\uff0c\u8d44\u6599\u4f4d\u4e8e \u8fd9\u4e2a\u7f51\u7ad9 \u4e0b\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e00\u4e9b\u968f\u5802\u5c0f\u7ec3\u4e60\uff0c\u5177\u4f53\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/6035/","text":"","title":"6035"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/","text":"Stanford CS143: Compilers \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784 \u7f16\u7a0b\u8bed\u8a00\uff1aJava\u6216C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u65af\u5766\u798f\u7684\u7f16\u8bd1\u539f\u7406\u8bfe\u7a0b\uff0c\u8bbe\u8ba1\u8005\u5f00\u53d1\u4e86\u4e00\u4e2aClass-Object-Oriented-Language\uff0c\u7b80\u79f0COOL\u8bed\u8a00\u3002\u8fd9\u95e8\u8bfe\u7684\u6838\u5fc3\u5c31\u662f\u901a\u8fc7\u7406\u8bba\u77e5\u8bc6\u7684\u5b66\u4e60\uff0c\u4e3aCOOL\u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06COOL\u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3aMIPS\u6c47\u7f16\u5e76\u5728Spim\u8fd9\u4e2aMIPS\u6a21\u62df\u5668\u4e0a\u6210\u529f\u6267\u884c\u3002 \u7406\u8bba\u90e8\u5206\u57fa\u672c\u6309\u7167\u9f99\u4e66\u7684\u987a\u5e8f\u8986\u76d6\u4e86\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u8fd0\u884c\u65f6\u73af\u5883\u3001\u5bc4\u5b58\u5668\u5206\u914d\u3001\u4ee3\u7801\u4f18\u5316\u4e0e\u751f\u6210\u7b49\u5185\u5bb9\uff0c\u5b9e\u8df5\u90e8\u5206\u5219\u76f8\u5e94\u5730\u5206\u4e3a\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u4ee3\u7801\u751f\u6210\u56db\u4e2a\u9636\u6bb5\uff0c\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5e76\u5728\u4f18\u5316\u90e8\u5206\u7ed9\u5b66\u751f\u7559\u4e0b\u4e86\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u9f99\u4e66 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5\u4e2a\u4e66\u9762\u4f5c\u4e1a + 5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Stanford CS143: Compilers"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#stanford-cs143-compilers","text":"","title":"Stanford CS143: Compilers"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784 \u7f16\u7a0b\u8bed\u8a00\uff1aJava\u6216C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u65af\u5766\u798f\u7684\u7f16\u8bd1\u539f\u7406\u8bfe\u7a0b\uff0c\u8bbe\u8ba1\u8005\u5f00\u53d1\u4e86\u4e00\u4e2aClass-Object-Oriented-Language\uff0c\u7b80\u79f0COOL\u8bed\u8a00\u3002\u8fd9\u95e8\u8bfe\u7684\u6838\u5fc3\u5c31\u662f\u901a\u8fc7\u7406\u8bba\u77e5\u8bc6\u7684\u5b66\u4e60\uff0c\u4e3aCOOL\u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06COOL\u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3aMIPS\u6c47\u7f16\u5e76\u5728Spim\u8fd9\u4e2aMIPS\u6a21\u62df\u5668\u4e0a\u6210\u529f\u6267\u884c\u3002 \u7406\u8bba\u90e8\u5206\u57fa\u672c\u6309\u7167\u9f99\u4e66\u7684\u987a\u5e8f\u8986\u76d6\u4e86\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u8fd0\u884c\u65f6\u73af\u5883\u3001\u5bc4\u5b58\u5668\u5206\u914d\u3001\u4ee3\u7801\u4f18\u5316\u4e0e\u751f\u6210\u7b49\u5185\u5bb9\uff0c\u5b9e\u8df5\u90e8\u5206\u5219\u76f8\u5e94\u5730\u5206\u4e3a\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u4ee3\u7801\u751f\u6210\u56db\u4e2a\u9636\u6bb5\uff0c\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5e76\u5728\u4f18\u5316\u90e8\u5206\u7ed9\u5b66\u751f\u7559\u4e0b\u4e86\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u9f99\u4e66 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5\u4e2a\u4e66\u9762\u4f5c\u4e1a + 5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS184/","text":"","title":"CS184"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u800c\u7cfb\u7edf\u5730\u4ecb\u7ecd\u73b0\u4ee3\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u56db\u5927\u7ec4\u6210\u90e8\u5206\uff1a\uff081\uff09\u5149\u6805\u5316\u6210\u50cf\uff0c\uff082\uff09\u51e0\u4f55\u8868\u793a\uff0c\uff083\uff09\u5149\u7684\u4f20\u64ad\u7406\u8bba\uff0c\u4ee5\u53ca\uff084\uff09\u52a8\u753b\u4e0e\u6a21\u62df\u3002\u6bcf\u4e2a\u65b9\u9762\u90fd\u4f1a\u4ece\u57fa\u7840\u539f\u7406\u51fa\u53d1\u8bb2\u89e3\u5230\u5b9e\u9645\u5e94\u7528\uff0c\u5e76\u4ecb\u7ecd\u524d\u6cbf\u7684\u7406\u8bba\u7814\u7a76\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\uff0c\u4f60\u53ef\u4ee5\u5b66\u4e60\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u80cc\u540e\u7684\u6570\u5b66\u548c\u7269\u7406\u77e5\u8bc6\uff0c\u5e76\u953b\u70bc\u5b9e\u9645\u7684\u7f16\u7a0b\u80fd\u529b\u3002 \u987e\u540d\u601d\u4e49\uff0c\u4f5c\u4e3a\u5165\u95e8\uff0c\u672c\u8bfe\u7a0b\u4f1a\u5c3d\u53ef\u80fd\u7684\u8986\u76d6\u56fe\u5f62\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff0c\u628a\u6bcf\u4e00\u90e8\u5206\u7684\u57fa\u672c\u6982\u5ff5\u90fd\u5c3d\u53ef\u80fd\u8bf4\u6e05\u695a\uff0c\u8ba9\u5927\u5bb6\u5bf9\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u6709\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u81ea\u4e0a\u800c\u4e0b\u7684\u5168\u5c40\u628a\u63e1\u3002\u5168\u5c40\u7684\u7406\u89e3\u5f88\u91cd\u8981\uff0c\u5b66\u5b8c\u672c\u8bfe\u7a0b\u540e\uff0c\u4f60\u4f1a\u4e86\u89e3\u5230\u56fe\u5f62\u5b66\u4e0d\u7b49\u4e8e OpenGL\uff0c\u4e0d\u7b49\u4e8e\u5149\u7ebf\u8ffd\u8e2a\uff0c\u800c\u662f\u4e00\u5957\u751f\u6210\u6574\u4e2a\u865a\u62df\u4e16\u754c\u7684\u65b9\u6cd5\u3002\u4ece\u672c\u8bfe\u7a0b\u7684\u6807\u9898\uff0c\u5927\u5bb6\u8fd8\u53ef\u4ee5\u770b\u5230\u201c\u73b0\u4ee3\u201d\u4e8c\u5b57\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u6240\u8981\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u7684\u90fd\u662f\u73b0\u4ee3\u5316\u7684\u77e5\u8bc6\uff0c\u4e5f\u90fd\u662f\u73b0\u4ee3\u56fe\u5f62\u5b66\u5de5\u4e1a\u754c\u9700\u8981\u7684\u56fe\u5f62\u5b66\u57fa\u7840\u3002 \u56fd\u5185\u76f8\u5f53\u6709\u540d\u7684\u56fe\u5f62\u5b66\u516c\u5f00\u8bfe\u3002\u548c\u5927\u5bb6\u5370\u8c61\u4e2d\u7684\u56fe\u5f62\u5b66\u91cc\u5168\u90fd\u662f\u6570\u5b66\u548c\u5947\u602a\u7684\u7b97\u6cd5\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4ee5\u5341\u5206\u751f\u52a8\u7684\u65b9\u5f0f\u5e26\u6211\u4eec\u8fdb\u5165\u4e86\u56fe\u5f62\u5b66\u8fd9\u4e2a\u9886\u57df\u7684\u5927\u95e8\u3002 \u6bcf\u4e2aproject\u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u5374\u90fd\u5341\u5206\u6709\u8da3\u3002\u5728\u505a\u8fd9\u4e9bproject\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4f1a\u5b9e\u73b0\u7b80\u5355\u7684\u5149\u6805\u5316\uff0c\u5e76\u6e32\u67d3\u4e00\u4e2a\u7b80\u6613\u7684\u6a21\u578b\uff0c\u6211\u4eec\u8fd8\u4f1a\u5b9e\u73b0\u5149\u7ebf\u8ffd\u8e2a\uff0c\u4ee5\u8ffd\u6c42\u6e32\u67d3\u66f4\u597d\u7684\u8d28\u91cf\u3002\u6bcf\u4e2aproject\u4e2d\u8fd8\u6709\u9009\u505a\u7b49\u62d3\u5c55\u4f5c\u4e1a\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u6e32\u67d3\u7684\u6a21\u578b\u5177\u6709\u66f4\u597d\u7684\u8d28\u91cf\uff0c\u66f4\u5feb\u7684\u6e32\u67d3\u901f\u5ea6\u3002 \u559c\u6b22\u73a9\u6e38\u620f\u7684\u540c\u5b66\u5e94\u8be5\u5bf9\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\uff0c\u8fd9\u95e8\u8bfe\u7684\u8001\u5e08\u95eb\u4ee4\u742a\u5c31\u5bf9\u8fd9\u4e00\u6280\u672f\u6709\u76f4\u63a5\u7684\u63a8\u52a8\u4f5c\u7528\u3002 \u8ddf\u7740\u8bfe\u7a0b\u7684\u89c6\u9891\uff0c\u505a\u5b8c\u6bcf\u4e00\u4e2aproject\uff0c\u76f8\u4fe1\u4f60\u4f1a\u548c\u6211\u4e00\u6837\u5bf9\u56fe\u5f62\u5b66\uff0c\u4ee5\u53ca\u73b0\u4ee3\u7684\u6e32\u67d3\u6280\u672f\u4ea7\u751f\u6d53\u539a\u7684\u5174\u8da3\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES101 \uff0c GAMES101 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \uff0c \u5b98\u7f51 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8\u4e2aproject \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"GAMES101"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u800c\u7cfb\u7edf\u5730\u4ecb\u7ecd\u73b0\u4ee3\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u56db\u5927\u7ec4\u6210\u90e8\u5206\uff1a\uff081\uff09\u5149\u6805\u5316\u6210\u50cf\uff0c\uff082\uff09\u51e0\u4f55\u8868\u793a\uff0c\uff083\uff09\u5149\u7684\u4f20\u64ad\u7406\u8bba\uff0c\u4ee5\u53ca\uff084\uff09\u52a8\u753b\u4e0e\u6a21\u62df\u3002\u6bcf\u4e2a\u65b9\u9762\u90fd\u4f1a\u4ece\u57fa\u7840\u539f\u7406\u51fa\u53d1\u8bb2\u89e3\u5230\u5b9e\u9645\u5e94\u7528\uff0c\u5e76\u4ecb\u7ecd\u524d\u6cbf\u7684\u7406\u8bba\u7814\u7a76\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\uff0c\u4f60\u53ef\u4ee5\u5b66\u4e60\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u80cc\u540e\u7684\u6570\u5b66\u548c\u7269\u7406\u77e5\u8bc6\uff0c\u5e76\u953b\u70bc\u5b9e\u9645\u7684\u7f16\u7a0b\u80fd\u529b\u3002 \u987e\u540d\u601d\u4e49\uff0c\u4f5c\u4e3a\u5165\u95e8\uff0c\u672c\u8bfe\u7a0b\u4f1a\u5c3d\u53ef\u80fd\u7684\u8986\u76d6\u56fe\u5f62\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff0c\u628a\u6bcf\u4e00\u90e8\u5206\u7684\u57fa\u672c\u6982\u5ff5\u90fd\u5c3d\u53ef\u80fd\u8bf4\u6e05\u695a\uff0c\u8ba9\u5927\u5bb6\u5bf9\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u6709\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u81ea\u4e0a\u800c\u4e0b\u7684\u5168\u5c40\u628a\u63e1\u3002\u5168\u5c40\u7684\u7406\u89e3\u5f88\u91cd\u8981\uff0c\u5b66\u5b8c\u672c\u8bfe\u7a0b\u540e\uff0c\u4f60\u4f1a\u4e86\u89e3\u5230\u56fe\u5f62\u5b66\u4e0d\u7b49\u4e8e OpenGL\uff0c\u4e0d\u7b49\u4e8e\u5149\u7ebf\u8ffd\u8e2a\uff0c\u800c\u662f\u4e00\u5957\u751f\u6210\u6574\u4e2a\u865a\u62df\u4e16\u754c\u7684\u65b9\u6cd5\u3002\u4ece\u672c\u8bfe\u7a0b\u7684\u6807\u9898\uff0c\u5927\u5bb6\u8fd8\u53ef\u4ee5\u770b\u5230\u201c\u73b0\u4ee3\u201d\u4e8c\u5b57\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u6240\u8981\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u7684\u90fd\u662f\u73b0\u4ee3\u5316\u7684\u77e5\u8bc6\uff0c\u4e5f\u90fd\u662f\u73b0\u4ee3\u56fe\u5f62\u5b66\u5de5\u4e1a\u754c\u9700\u8981\u7684\u56fe\u5f62\u5b66\u57fa\u7840\u3002 \u56fd\u5185\u76f8\u5f53\u6709\u540d\u7684\u56fe\u5f62\u5b66\u516c\u5f00\u8bfe\u3002\u548c\u5927\u5bb6\u5370\u8c61\u4e2d\u7684\u56fe\u5f62\u5b66\u91cc\u5168\u90fd\u662f\u6570\u5b66\u548c\u5947\u602a\u7684\u7b97\u6cd5\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4ee5\u5341\u5206\u751f\u52a8\u7684\u65b9\u5f0f\u5e26\u6211\u4eec\u8fdb\u5165\u4e86\u56fe\u5f62\u5b66\u8fd9\u4e2a\u9886\u57df\u7684\u5927\u95e8\u3002 \u6bcf\u4e2aproject\u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u5374\u90fd\u5341\u5206\u6709\u8da3\u3002\u5728\u505a\u8fd9\u4e9bproject\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4f1a\u5b9e\u73b0\u7b80\u5355\u7684\u5149\u6805\u5316\uff0c\u5e76\u6e32\u67d3\u4e00\u4e2a\u7b80\u6613\u7684\u6a21\u578b\uff0c\u6211\u4eec\u8fd8\u4f1a\u5b9e\u73b0\u5149\u7ebf\u8ffd\u8e2a\uff0c\u4ee5\u8ffd\u6c42\u6e32\u67d3\u66f4\u597d\u7684\u8d28\u91cf\u3002\u6bcf\u4e2aproject\u4e2d\u8fd8\u6709\u9009\u505a\u7b49\u62d3\u5c55\u4f5c\u4e1a\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u6e32\u67d3\u7684\u6a21\u578b\u5177\u6709\u66f4\u597d\u7684\u8d28\u91cf\uff0c\u66f4\u5feb\u7684\u6e32\u67d3\u901f\u5ea6\u3002 \u559c\u6b22\u73a9\u6e38\u620f\u7684\u540c\u5b66\u5e94\u8be5\u5bf9\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\uff0c\u8fd9\u95e8\u8bfe\u7684\u8001\u5e08\u95eb\u4ee4\u742a\u5c31\u5bf9\u8fd9\u4e00\u6280\u672f\u6709\u76f4\u63a5\u7684\u63a8\u52a8\u4f5c\u7528\u3002 \u8ddf\u7740\u8bfe\u7a0b\u7684\u89c6\u9891\uff0c\u505a\u5b8c\u6bcf\u4e00\u4e2aproject\uff0c\u76f8\u4fe1\u4f60\u4f1a\u548c\u6211\u4e00\u6837\u5bf9\u56fe\u5f62\u5b66\uff0c\u4ee5\u53ca\u73b0\u4ee3\u7684\u6e32\u67d3\u6280\u672f\u4ea7\u751f\u6d53\u539a\u7684\u5174\u8da3\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES101 \uff0c GAMES101 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \uff0c \u5b98\u7f51 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8\u4e2aproject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/","text":"CS144: Computer Network \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840\uff0cCS106L \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u4e3b\u8bb2\u4eba\u4e4b\u4e00\u662f\u7f51\u7edc\u9886\u57df\u7684\u5de8\u64d8 Nick McKeown \u6559\u6388\u3002\u8fd9\u4f4d\u62e5\u6709\u81ea\u5df1\u521b\u4e1a\u516c\u53f8\u7684\u5b66\u754c\u4e1a\u754c\u53cc\u5de8\u4f6c\u4f1a\u5728\u4ed6\u6155\u8bfe\u6bcf\u4e00\u7ae0\u8282\u7684\u6700\u540e\u91c7\u8bbf\u4e00\u4f4d\u4e1a\u754c\u7684\u9ad8\u7ba1\u6216\u8005\u5b66\u754c\u7684\u9ad8\u4eba\uff0c\u975e\u5e38\u5f00\u9614\u773c\u754c\u3002 \u5728\u8fd9\u95e8\u8bfe\u7684Project\u4e2d\uff0c\u4f60\u5c06\u7528C++\u5faa\u5e8f\u6e10\u8fdb\u5730\u642d\u5efa\u51fa\u6574\u4e2aTCP/IP\u534f\u8bae\u6808\uff0c\u5b9e\u73b0IP\u8def\u7531\u4ee5\u53caARP\u534f\u8bae\uff0c\u6700\u540e\u5229\u7528\u4f60\u81ea\u5df1\u7684\u534f\u8bae\u6808\u4ee3\u66ffLinux Kernel\u7684\u7f51\u7edc\u534f\u8bae\u6808\u548c\u5176\u4ed6\u5b66\u751f\u7684\u8ba1\u7b97\u673a\u8fdb\u884c\u901a\u4fe1\uff0c\u975e\u5e38amazing\uff01 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a8\u4e2aProject\u5e26\u4f60\u5b9e\u73b0\u6574\u4e2aTCP/IP\u534f\u8bae\u6808 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Stanford CS144: Computer Network"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#cs144-computer-network","text":"","title":"CS144: Computer Network"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840\uff0cCS106L \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u4e3b\u8bb2\u4eba\u4e4b\u4e00\u662f\u7f51\u7edc\u9886\u57df\u7684\u5de8\u64d8 Nick McKeown \u6559\u6388\u3002\u8fd9\u4f4d\u62e5\u6709\u81ea\u5df1\u521b\u4e1a\u516c\u53f8\u7684\u5b66\u754c\u4e1a\u754c\u53cc\u5de8\u4f6c\u4f1a\u5728\u4ed6\u6155\u8bfe\u6bcf\u4e00\u7ae0\u8282\u7684\u6700\u540e\u91c7\u8bbf\u4e00\u4f4d\u4e1a\u754c\u7684\u9ad8\u7ba1\u6216\u8005\u5b66\u754c\u7684\u9ad8\u4eba\uff0c\u975e\u5e38\u5f00\u9614\u773c\u754c\u3002 \u5728\u8fd9\u95e8\u8bfe\u7684Project\u4e2d\uff0c\u4f60\u5c06\u7528C++\u5faa\u5e8f\u6e10\u8fdb\u5730\u642d\u5efa\u51fa\u6574\u4e2aTCP/IP\u534f\u8bae\u6808\uff0c\u5b9e\u73b0IP\u8def\u7531\u4ee5\u53caARP\u534f\u8bae\uff0c\u6700\u540e\u5229\u7528\u4f60\u81ea\u5df1\u7684\u534f\u8bae\u6808\u4ee3\u66ffLinux Kernel\u7684\u7f51\u7edc\u534f\u8bae\u6808\u548c\u5176\u4ed6\u5b66\u751f\u7684\u8ba1\u7b97\u673a\u8fdb\u884c\u901a\u4fe1\uff0c\u975e\u5e38amazing\uff01","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a8\u4e2aProject\u5e26\u4f60\u5b9e\u73b0\u6574\u4e2aTCP/IP\u534f\u8bae\u6808","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/","text":"Computer Networking: A Top-Down Approach \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u9a6c\u8428\u8bf8\u585e\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40\u5c0f\u65f6 \u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u662f\u8ba1\u7b97\u673a\u7f51\u7edc\u9886\u57df\u7684\u4e00\u672c\u7ecf\u5178\u6559\u6750\uff0c\u4e24\u4f4d\u4f5c\u8005Jim Kurose\u548cKeith Ross\u7cbe\u5fc3\u5236\u4f5c\u4e86\u6559\u6750\u914d\u5957\u7684\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5e76\u4e14\u516c\u5f00\u4e86\u81ea\u5df1\u5f55\u5236\u7684\u7f51\u8bfe\u89c6\u9891\uff0c\u4ea4\u4e92\u5f0f\u7684\u5728\u7ebf\u7ae0\u8282\u6d4b\u8bd5\uff0c\u4ee5\u53ca\u5229\u7528wireshark\u8fdb\u884c\u6293\u5305\u5206\u6790\u7684lab\u3002\u552f\u4e00\u9057\u61be\u7684\u662f\u8fd9\u95e8\u8bfe\u5e76\u6ca1\u6709\u786c\u6838\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u800cStanford\u7684 CS144 \u80fd\u5f88\u597d\u5730\u5f25\u8865\u8fd9\u4e00\u70b9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aComputer Networking: A Top-Down Approach \u8bfe\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Computer Networking: A Top-Down Approach"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#computer-networking-a-top-down-approach","text":"","title":"Computer Networking: A Top-Down Approach"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u9a6c\u8428\u8bf8\u585e\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40\u5c0f\u65f6 \u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u662f\u8ba1\u7b97\u673a\u7f51\u7edc\u9886\u57df\u7684\u4e00\u672c\u7ecf\u5178\u6559\u6750\uff0c\u4e24\u4f4d\u4f5c\u8005Jim Kurose\u548cKeith Ross\u7cbe\u5fc3\u5236\u4f5c\u4e86\u6559\u6750\u914d\u5957\u7684\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5e76\u4e14\u516c\u5f00\u4e86\u81ea\u5df1\u5f55\u5236\u7684\u7f51\u8bfe\u89c6\u9891\uff0c\u4ea4\u4e92\u5f0f\u7684\u5728\u7ebf\u7ae0\u8282\u6d4b\u8bd5\uff0c\u4ee5\u53ca\u5229\u7528wireshark\u8fdb\u884c\u6293\u5305\u5206\u6790\u7684lab\u3002\u552f\u4e00\u9057\u61be\u7684\u662f\u8fd9\u95e8\u8bfe\u5e76\u6ca1\u6709\u786c\u6838\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u800cStanford\u7684 CS144 \u80fd\u5f88\u597d\u5730\u5f25\u8865\u8fd9\u4e00\u70b9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aComputer Networking: A Top-Down Approach \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u76ee\u6807\u5c31\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u5982\u4f55\u5199\u51fa\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u6240\u8c13\u9ad8\u8d28\u91cf\uff0c\u5219\u662f\u6ee1\u8db3\u4e0b\u9762\u4e09\u4e2a\u76ee\u6807\uff08\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u539f\u8bdd\u590d\u5236\uff0c\u4ee5\u9632\u81ea\u5df1\u7ffb\u8bd1\u66f2\u89e3\u672c\u610f\uff09\uff1a Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build. Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You\u2019ll be surprised how much you forget if you don\u2019t write it down, and how much it helps your own future self to have a good design. Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code. \u4e3a\u6b64\uff0c\u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u4eec\u7cbe\u5fc3\u7f16\u5199\u4e86\u4e00\u672c\u4e66\u6765\u9610\u91ca\u8bf8\u591a\u8f6f\u4ef6\u6784\u5efa\u7684\u6838\u5fc3\u539f\u5219\u4e0e\u524d\u4eba\u603b\u7ed3\u4e0b\u6765\u7684\u5b9d\u8d35\u7ecf\u9a8c\uff0c\u5185\u5bb9\u7ec6\u8282\u5230\u5982\u4f55\u7f16\u5199\u6ce8\u91ca\u548c\u51fd\u6570Specification\uff0c\u5982\u4f55\u8bbe\u8ba1\u62bd\u8c61\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u8bf8\u591a\u5e76\u884c\u7f16\u7a0b\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4f1a\u8ba9\u4f60\u5728\u7cbe\u5fc3\u8bbe\u8ba1\u7684Java\u7f16\u7a0b\u9879\u76ee\u91cc\u4f53\u9a8c\u548c\u7ec3\u4e60\u8fd9\u4e9b\u7f16\u7a0b\u6a21\u5f0f\u3002 2016\u5e74\u6625\u5b63\u5b66\u671f\u8fd9\u95e8\u8bfe\u5f00\u6e90\u4e86\u5176\u6240\u6709\u7f16\u7a0b\u4f5c\u4e1a\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u800c\u6700\u65b0\u7684\u8bfe\u7a0b\u6559\u6750\u53ef\u4ee5\u5728\u5176\u6700\u65b0\u7684\u6559\u5b66\u7f51\u7ad9\u4e0a\u627e\u5230\uff0c\u5177\u4f53\u94fe\u63a5\u53c2\u89c1\u4e0b\u65b9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a 2021spring \uff0c 2016spring \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u7684\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1\u4e2aProject \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"MIT 6.031: Software Construction"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u76ee\u6807\u5c31\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u5982\u4f55\u5199\u51fa\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u6240\u8c13\u9ad8\u8d28\u91cf\uff0c\u5219\u662f\u6ee1\u8db3\u4e0b\u9762\u4e09\u4e2a\u76ee\u6807\uff08\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u539f\u8bdd\u590d\u5236\uff0c\u4ee5\u9632\u81ea\u5df1\u7ffb\u8bd1\u66f2\u89e3\u672c\u610f\uff09\uff1a Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build. Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You\u2019ll be surprised how much you forget if you don\u2019t write it down, and how much it helps your own future self to have a good design. Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code. \u4e3a\u6b64\uff0c\u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u4eec\u7cbe\u5fc3\u7f16\u5199\u4e86\u4e00\u672c\u4e66\u6765\u9610\u91ca\u8bf8\u591a\u8f6f\u4ef6\u6784\u5efa\u7684\u6838\u5fc3\u539f\u5219\u4e0e\u524d\u4eba\u603b\u7ed3\u4e0b\u6765\u7684\u5b9d\u8d35\u7ecf\u9a8c\uff0c\u5185\u5bb9\u7ec6\u8282\u5230\u5982\u4f55\u7f16\u5199\u6ce8\u91ca\u548c\u51fd\u6570Specification\uff0c\u5982\u4f55\u8bbe\u8ba1\u62bd\u8c61\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u8bf8\u591a\u5e76\u884c\u7f16\u7a0b\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4f1a\u8ba9\u4f60\u5728\u7cbe\u5fc3\u8bbe\u8ba1\u7684Java\u7f16\u7a0b\u9879\u76ee\u91cc\u4f53\u9a8c\u548c\u7ec3\u4e60\u8fd9\u4e9b\u7f16\u7a0b\u6a21\u5f0f\u3002 2016\u5e74\u6625\u5b63\u5b66\u671f\u8fd9\u95e8\u8bfe\u5f00\u6e90\u4e86\u5176\u6240\u6709\u7f16\u7a0b\u4f5c\u4e1a\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u800c\u6700\u65b0\u7684\u8bfe\u7a0b\u6559\u6750\u53ef\u4ee5\u5728\u5176\u6700\u65b0\u7684\u6559\u5b66\u7f51\u7ad9\u4e0a\u627e\u5230\uff0c\u5177\u4f53\u94fe\u63a5\u53c2\u89c1\u4e0b\u65b9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a 2021spring \uff0c 2016spring \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u7684\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1\u4e2aProject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aRuby/JavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\uff0c\u4e0d\u540c\u4e8e\u5f88\u591a\u4f20\u7edf\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6587\u6863\u8bbe\u8ba1(plan and document\u6a21\u5f0f)\uff0c\u8fd9\u95e8\u8bfe\u4e13\u6ce8\u4e8e\u6700\u8fd1\u9010\u6e10\u6d41\u884c\u8d77\u6765\u7684\u654f\u6377\u5f00\u53d1(Agile Development)\u6a21\u5f0f\uff0c\u5229\u7528\u4e91\u5e73\u53f0\u63d0\u4f9b\u8f6f\u4ef6\u5373\u670d\u52a1(software as a service)\u3002\u4e3a\u6b64\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u7f16\u5199\u4e86 Software as a service \u8fd9\u672c\u6559\u6750\uff0c\u901a\u8fc7Ruby/Rails\u6846\u67b6\u6765\u9610\u91casaas\u8fd9\u4e2a\u6982\u5ff5\uff0c\u5e76\u4e14\u6709\u4e30\u5bcc\u7684\u914d\u5957\u7f16\u7a0b\u7ec3\u4e60\u3002 \u8fd9\u95e8\u8bfe\u5728 Edx \u8fd9\u4e2a\u7531MIT\u548cHavard\u5927\u5b66\u53d1\u8d77\u7684\u5728\u7ebf\u6559\u80b2\u5e73\u53f0\u5168\u8d44\u6599\u5f00\u6e90\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728Edx\u81ea\u884c\u641c\u7d22 Agile SaaS Development \u8fd9\u95e8\u8bfe\u7a0b\u8fdb\u884c\u5b66\u4e60\u3002\u8bfe\u7a0b\u5185\u5bb9\u57fa\u672c\u6309\u7167\u6559\u6750\u7684\u987a\u5e8f\u5e26\u4f60\u4e00\u6b65\u6b65\u4ee5\u654f\u6377\u5f00\u53d1\u7684\u65b9\u5f0f\u642d\u5efa\u4e00\u4e2a\u8f6f\u4ef6\u5e76\u514d\u8d39\u90e8\u7f72\u5728\u4e91\u5e73\u53f0\u4e0a\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1Edx\u8bfe\u7a0b\u4e3b\u9875\u3002 \u8bfe\u7a0b\u6559\u6750\uff1a Software as a service \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1Edx\u8bfe\u7a0b\u4e3b\u9875\u3002 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS169: software engineering"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aRuby/JavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\uff0c\u4e0d\u540c\u4e8e\u5f88\u591a\u4f20\u7edf\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6587\u6863\u8bbe\u8ba1(plan and document\u6a21\u5f0f)\uff0c\u8fd9\u95e8\u8bfe\u4e13\u6ce8\u4e8e\u6700\u8fd1\u9010\u6e10\u6d41\u884c\u8d77\u6765\u7684\u654f\u6377\u5f00\u53d1(Agile Development)\u6a21\u5f0f\uff0c\u5229\u7528\u4e91\u5e73\u53f0\u63d0\u4f9b\u8f6f\u4ef6\u5373\u670d\u52a1(software as a service)\u3002\u4e3a\u6b64\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u7f16\u5199\u4e86 Software as a service \u8fd9\u672c\u6559\u6750\uff0c\u901a\u8fc7Ruby/Rails\u6846\u67b6\u6765\u9610\u91casaas\u8fd9\u4e2a\u6982\u5ff5\uff0c\u5e76\u4e14\u6709\u4e30\u5bcc\u7684\u914d\u5957\u7f16\u7a0b\u7ec3\u4e60\u3002 \u8fd9\u95e8\u8bfe\u5728 Edx \u8fd9\u4e2a\u7531MIT\u548cHavard\u5927\u5b66\u53d1\u8d77\u7684\u5728\u7ebf\u6559\u80b2\u5e73\u53f0\u5168\u8d44\u6599\u5f00\u6e90\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728Edx\u81ea\u884c\u641c\u7d22 Agile SaaS Development \u8fd9\u95e8\u8bfe\u7a0b\u8fdb\u884c\u5b66\u4e60\u3002\u8bfe\u7a0b\u5185\u5bb9\u57fa\u672c\u6309\u7167\u6559\u6750\u7684\u987a\u5e8f\u5e26\u4f60\u4e00\u6b65\u6b65\u4ee5\u654f\u6377\u5f00\u53d1\u7684\u65b9\u5f0f\u642d\u5efa\u4e00\u4e2a\u8f6f\u4ef6\u5e76\u514d\u8d39\u90e8\u7f72\u5728\u4e91\u5e73\u53f0\u4e0a\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1Edx\u8bfe\u7a0b\u4e3b\u9875\u3002 \u8bfe\u7a0b\u6559\u6750\uff1a Software as a service \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1Edx\u8bfe\u7a0b\u4e3b\u9875\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"}]} \ No newline at end of file +{"config":{"indexing":"full","lang":["ja"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"\u524d\u8a00 \u66f4\u65b0\uff1a\u672c\u4e66\u6700\u65b0\u7f51\u5740 csdiy.wiki \uff0c\u6b22\u8fce\u5927\u5bb6\u8bbf\u95ee \uff5e \u8fd9\u662f\u4e00\u672c\u8ba1\u7b97\u673a\u7684\u81ea\u5b66\u6307\u5357\uff0c\u4e5f\u662f\u5bf9\u81ea\u5df1\u5927\u5b66\u4e09\u5e74\u81ea\u5b66\u751f\u6daf\u7684\u4e00\u4e2a\u7eaa\u5ff5\u3002 \u8fd9\u540c\u65f6\u4e5f\u662f\u4e00\u4efd\u732e\u7ed9\u5317\u5927\u4fe1\u79d1\u5b66\u5f1f\u5b66\u59b9\u4eec\u7684\u793c\u7269\u3002\u5982\u679c\u8fd9\u672c\u4e66\u80fd\u5bf9\u4f60\u4eec\u7684\u4fe1\u79d1\u751f\u6daf\u6709\u54ea\u6015\u4e00\u4e1d\u4e00\u6beb\u7684\u5e2e\u52a9\uff0c\u90fd\u662f\u5bf9\u6211\u6781\u5927\u7684\u9f13\u52b1\u548c\u6170\u85c9\u3002 \u672c\u4e66\u76ee\u524d\u89c4\u5212\u4e86\u4ee5\u4e0b\u90e8\u5206(\u5982\u679c\u4f60\u6709\u5176\u4ed6\u597d\u7684\u5efa\u8bae\uff0c\u6216\u8005\u60f3\u52a0\u5165\u8d21\u732e\u8005\u7684\u884c\u5217\uff0c\u6b22\u8fce\u90ae\u4ef6zhongyinmin@pku.edu.cn\u6216\u8005\u5728issue\u91cc\u63d0\u95ee)\uff1a \u5fc5\u5b66\u5de5\u5177\uff1aIDE, \u7ffb\u5899, StackOverflow, Git, Github, Vim, Latex, Makefile, \u5b9e\u7528\u5de5\u5177 ... \u56fd\u5916\u9ad8\u8d28\u91cfCS\u8bfe\u7a0b\u6c47\u603b \uff1a\u6211\u5c06\u628a\u6211\u4e0a\u8fc7\u7684\u6240\u6709\u9ad8\u8d28\u91cf\u7684\u56fd\u5916CS\u8bfe\u7a0b\u5206\u95e8\u522b\u7c7b\u8fdb\u884c\u6c47\u603b\uff0c\u5e76\u7ed9\u51fa\u76f8\u5173\u7684\u81ea\u5b66\u5efa\u8bae\uff0c\u5927\u90e8\u5206\u8bfe\u7a0b\u90fd\u4f1a\u6709\u4e00\u4e2a\u72ec\u7acb\u7684\u4ed3\u5e93\u7ef4\u62a4\u76f8\u5173\u7684\u8d44\u6e90\u4ee5\u53ca\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u73af\u5883\u914d\u7f6e\uff1aLinux\u57fa\u7840\uff0cbash\uff0c\u73af\u5883\u53d8\u91cf\uff0cAnaconda ... \u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\uff1a\u770b\u8fc7CSAPP\u8fd9\u672c\u4e66\u7684\u540c\u5b66\u4e00\u5b9a\u611f\u53f9\u597d\u4e66\u7684\u91cd\u8981\uff0c\u6211\u5c06\u5217\u4e3e\u63a8\u8350\u81ea\u5df1\u770b\u8fc7\u7684\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5fc5\u770b\u597d\u4e66\u4e0e\u8d44\u6e90\u94fe\u63a5\u3002 \u68a6\u5f00\u59cb\u7684\u5730\u65b9 \u2014\u2014 CS61A \u5927\u4e00\u5165\u5b66\u65f6\u6211\u662f\u4e00\u4e2a\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u88c5\u4e86\u51e0\u5341\u4e2aG\u7684Visual Studio\u5929\u5929\u548cOJ\u4f60\u6b7b\u6211\u6d3b\u3002\u51ed\u7740\u9ad8\u4e2d\u7684\u6570\u5b66\u5e95\u5b50\u6211\u6570\u5b66\u8bfe\u5b66\u5f97\u8fd8\u4e0d\u9519\uff0c\u4f46\u5728\u4e13\u4e1a\u8bfe\u4e0a\u5bf9\u7ade\u8d5b\u5927\u4f6c\u53ea\u6709\u4ef0\u671b\u3002\u63d0\u5230\u7f16\u7a0b\u6211\u53ea\u4f1a\u6253\u5f00\u90a3\u7b28\u91cd\u7684IDE\uff0c\u65b0\u5efa\u4e00\u4e2a\u6211\u4e5f\u4e0d\u77e5\u9053\u5177\u4f53\u662f\u5e72\u5565\u7684\u547d\u4ee4\u884c\u9879\u76ee\uff0c\u7136\u540e\u5c31\u662fcin\uff0ccout\uff0cfor\u5faa\u73af\uff0c\u7136\u540eCE\uff0cRE\uff0cWA\u5faa\u73af\u3002\u5f53\u65f6\u7684\u6211\u5c31\u5904\u5728\u4e00\u79cd\u62fc\u547d\u60f3\u5b66\u597d\u4f46\u4e0d\u77e5\u9053\u600e\u4e48\u5b66\uff0c\u8bfe\u4e0a\u8ba4\u771f\u542c\u8bb2\u4f46\u9898\u8fd8\u4e0d\u4f1a\u505a\uff0c\u8bfe\u540e\u505a\u4f5c\u4e1a\u5b8c\u5168\u662f\u7528\u65f6\u95f4\u548c\u5b83\u786c\u8017\u7684\u75db\u82e6\u72b6\u6001\u3002\u6211\u81f3\u4eca\u7535\u8111\u91cc\u8fd8\u5b58\u7740\u81ea\u5df1\u5927\u4e00\u4e0a\u5b66\u671f\u8ba1\u7b97\u6982\u8bba\u5927\u4f5c\u4e1a\u7684\u6e90\u4ee3\u7801 \u2014\u2014 \u4e00\u4e2a1200\u884c\u7684C++\u6587\u4ef6\uff0c\u6ca1\u6709\u5934\u6587\u4ef6\u3001\u6ca1\u6709\u7c7b\u3001\u6ca1\u6709\u5c01\u88c5\u3001\u6ca1\u6709unit test\u3001\u6ca1\u6709makefile\u3001\u6ca1\u6709git\uff0c\u552f\u4e00\u7684\u4f18\u70b9\u662f\u5b83\u786e\u5b9e\u80fd\u8dd1\uff0c\u7f3a\u70b9\u662f\u201c\u80fd\u8dd1\u201d\u7684\u8865\u96c6\u3002\u6211\u4e00\u5ea6\u6000\u7591\u6211\u662f\u4e0d\u662f\u4e0d\u9002\u5408\u5b66\u8ba1\u7b97\u673a\uff0c\u56e0\u4e3a\u7ae5\u5e74\u5bf9\u4e8e\u6781\u5ba2\u7684\u6240\u6709\u60f3\u8c61\uff0c\u5df2\u7ecf\u88ab\u6211\u7b2c\u4e00\u4e2a\u5b66\u671f\u7684\u4f53\u9a8c\u5f7b\u5e95\u7c89\u788e\u4e86\u3002 \u8fd9\u4e00\u5207\u7684\u8f6c\u673a\u53d1\u751f\u5728\u6211\u5927\u4e00\u7684\u5bd2\u5047\uff0c\u6211\u5fc3\u8840\u6765\u6f6e\u60f3\u5b66\u4e60Python\u3002\u65e0\u610f\u95f4\u770b\u5230\u77e5\u4e4e\u6709\u4eba\u63a8\u8350\u4e86CS61A\u8fd9\u95e8\u8bfe\uff0c\u8bf4\u662fUC Berkeley\u7684\u5927\u4e00\u5165\u95e8\u8bfe\u7a0b\uff0c\u8bb2\u7684\u5c31\u662fPython\u3002\u6211\u6c38\u8fdc\u4e0d\u4f1a\u5fd8\u8bb0\u90a3\u4e00\u5929\uff0c\u6253\u5f00 CS61A \u8bfe\u7a0b\u7f51\u7ad9\u7684\u90a3\u4e2a\u77ac\u95f4\uff0c\u5c31\u50cf\u54e5\u4f26\u5e03\u53d1\u73b0\u4e86\u65b0\u5927\u9646\u4e00\u6837\uff0c\u6211\u5f00\u542f\u4e86\u65b0\u4e16\u754c\u7684\u5927\u95e8\u3002 \u6211\u4e00\u53e3\u6c143\u4e2a\u661f\u671f\u4e0a\u5b8c\u4e86\u8fd9\u95e8\u8bfe\uff0c\u5b83\u8ba9\u6211\u7b2c\u4e00\u6b21\u611f\u89c9\u5230\u539f\u6765CS\u53ef\u4ee5\u5b66\u5f97\u5982\u6b64\u5145\u5b9e\u800c\u6709\u8da3\uff0c\u539f\u6765\u8fd9\u4e16\u4e0a\u7adf\u6709\u5982\u6b64\u7cbe\u534e\u7684\u8bfe\u7a0b\u3002 \u4e3a\u907f\u514d\u6709\u5d07\u6d0b\u5a9a\u5916\u4e4b\u5acc\uff0c\u6211\u5355\u7eaf\u4ece\u4e00\u4e2a\u5b66\u751f\u7684\u89c6\u89d2\u6765\u8bb2\u8bb2\u81ea\u5b66CS61A\u7684\u4f53\u9a8c\uff1a \u72ec\u7acb\u642d\u5efa\u7684\u8bfe\u7a0b\u7f51\u7ad9: \u4e00\u4e2a\u7f51\u7ad9\u5c06\u6240\u6709\u8bfe\u7a0b\u8d44\u6e90\u6574\u5408\u4e00\u4f53\uff0c\u6761\u7406\u5206\u660e\u7684\u8bfe\u7a0bschedule\u3001\u6240\u6709slides\uff0chw\uff0cdiscussion\u7684\u6587\u4ef6\u94fe\u63a5\u3001\u8be6\u7ec6\u660e\u786e\u7684\u8bfe\u7a0b\u7ed9\u5206\u8bf4\u660e\u3001\u5386\u5e74\u7684\u8003\u8bd5\u9898\u4e0e\u7b54\u6848\u3002\u8fd9\u6837\u4e00\u4e2a\u7f51\u7ad9\u629b\u5f00\u7f8e\u89c2\u7a0b\u5ea6\u4e0d\u8c08\uff0c\u65e2\u65b9\u4fbf\u5b66\u751f\uff0c\u4e5f\u8ba9\u8d44\u6e90\u516c\u6b63\u900f\u660e\u3002 \u8bfe\u7a0b\u6559\u6388\u4eb2\u81ea\u7f16\u5199\u7684\u6559\u6750\uff1aCS61A\u8fd9\u95e8\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08\u5c06MIT\u7684\u7ecf\u5178\u6559\u6750 Structure and Interpretation of Computer Programs (SICP)\u7528Python\u8fd9\u95e8\u8bed\u8a00\u8fdb\u884c\u6539\u7f16\uff08\u539f\u6559\u6750\u57fa\u4e8eScheme\u8bed\u8a00\uff09\uff0c\u4fdd\u8bc1\u4e86\u8bfe\u5802\u5185\u5bb9\u4e0e\u6559\u6750\u5185\u5bb9\u7684\u4e00\u81f4\u6027\uff0c\u540c\u65f6\u8865\u5145\u4e86\u66f4\u591a\u7ec6\u8282\uff0c\u53ef\u4ee5\u8bf4\u8bda\u610f\u6ee1\u6ee1\u3002\u800c\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u7ebf\u4e0a\u9605\u8bfb\u3002 \u4e30\u5bcc\u5230\u8ba9\u4eba\u773c\u82b1\u7f2d\u4e71\u7684\u8bfe\u7a0b\u4f5c\u4e1a\uff1a14\u4e2alab\u5de9\u56fa\u968f\u5802\u77e5\u8bc6\u70b9\uff0c10\u4e2ahomework\uff0c\u8fd8\u67094\u4e2a\u4ee3\u7801\u91cf\u5747\u4e0a\u5343\u884c\u7684project\u3002\u4e0e\u5927\u5bb6\u719f\u6089\u7684OJ\u548cword\u6587\u6863\u5f0f\u7684\u4f5c\u4e1a\u4e0d\u540c\uff0c\u6240\u6709\u4f5c\u4e1a\u5747\u6709\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u4fdd\u59c6\u7ea7\u7684\u4f5c\u4e1a\u8bf4\u660e\u3002\u6bcf\u4e2aProject\u90fd\u6709\u8be6\u5c3d\u7684handout\u6587\u6863\u3001\u5168\u81ea\u52a8\u7684\u8bc4\u5206\u811a\u672c\u3002CS61A\u751a\u81f3\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a \u81ea\u52a8\u5316\u7684\u4f5c\u4e1a\u63d0\u4ea4\u8bc4\u5206\u7cfb\u7edf \uff08\u636e\u8bf4\u8fd8\u53d1\u4e86\u8bba\u6587\uff09\u3002\u5f53\u7136\uff0c\u6709\u4eba\u4f1a\u8bf4\u201c\u4e00\u4e2aproject\u51e0\u5343\u884c\u4ee3\u7801\u5927\u90e8\u5206\u90fd\u662f\u52a9\u6559\u5e2e\u4f60\u5199\u597d\u7684\uff0c\u4f60\u8fd8\u80fd\u5b66\u5230\u5565\uff1f\u201d\u3002\u6b64\u8a00\u5dee\u77e3\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\uff0c\u8fde\u5b89\u88c5Python\u90fd\u78d5\u78d5\u7eca\u7eca\u7684\u5c0f\u767d\u6765\u8bf4\uff0c\u8fd9\u6837\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\u65e2\u53ef\u4ee5\u8ba9\u4f60\u4e13\u6ce8\u4e8e\u5de9\u56fa\u8bfe\u5802\u4e0a\u5b66\u4e60\u5230\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\uff0c\u53c8\u80fd\u6709\u201c\u6211\u624d\u5b66\u4e86\u4e00\u4e2a\u6708\u5c31\u80fd\u505a\u4e00\u4e2a\u5c0f\u6e38\u620f\u4e86\uff01\u201d\u7684\u6210\u5c31\u611f\uff0c\u8fd8\u80fd\u6709\u673a\u4f1a\u9605\u8bfb\u5b66\u4e60\u522b\u4eba\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u4ece\u800c\u4e3a\u81ea\u5df1\u6240\u7528\u3002\u6211\u89c9\u5f97\u5728\u4f4e\u5e74\u7ea7\uff0c\u8fd9\u79cd\u4ee3\u7801\u6846\u67b6\u53ef\u4ee5\u8bf4\u767e\u5229\u800c\u65e0\u4e00\u5bb3\u3002\u552f\u4e00\u7684\u5bb3\u4e5f\u8bb8\u662f\u82e6\u4e86\u8001\u5e08\u548c\u52a9\u6559\uff0c\u56e0\u4e3a\u5f00\u53d1\u8fd9\u6837\u7684\u4f5c\u4e1a\u53ef\u60f3\u800c\u77e5\u9700\u8981\u76f8\u5f53\u7684\u65f6\u95f4\u6295\u5165\u3002 \u6bcf\u5468Discussion\u8ba8\u8bba\u8bfe\uff0c\u52a9\u6559\u4f1a\u8bb2\u89e3\u77e5\u8bc6\u96be\u70b9\u548c\u8003\u8bd5\u4f8b\u9898\uff1a\u7c7b\u4f3c\u4e8e\u5317\u4eac\u5927\u5b66ICS\u7684\u5c0f\u73ed\u7814\u8ba8\uff0c\u4f46\u4e60\u9898\u5168\u90e8\u7528Latex\u64b0\u5199\uff0c\u76f8\u5f53\u89c4\u8303\u4e14\u4f1a\u660e\u786e\u7ed9\u51fasolution\u3002 \u8fd9\u6837\u7684\u8bfe\u7a0b\uff0c\u4f60\u5b8c\u5168\u4e0d\u9700\u8981\u4efb\u4f55\u8ba1\u7b97\u673a\u7684\u57fa\u7840\uff0c\u4f60\u53ea\u9700\u8981\u52aa\u529b\u3001\u8ba4\u771f\u3001\u82b1\u65f6\u95f4\u5c31\u591f\u4e86\u3002\u6b64\u524d\u90a3\u79cd\u6709\u52b2\u6ca1\u5904\u4f7f\u7684\u611f\u89c9\uff0c\u90a3\u79cd\u4ed8\u51fa\u518d\u591a\u65f6\u95f4\u5374\u5f97\u4e0d\u5230\u56de\u62a5\u7684\u611f\u89c9\uff0c\u4ece\u6b64\u70df\u6d88\u4e91\u6563\u3002\u8fd9\u592a\u9002\u5408\u6211\u4e86\uff0c\u6211\u4ece\u6b64\u7231\u4e0a\u4e86\u81ea\u5b66\u3002 \u8bd5\u60f3\u5982\u679c\u6709\u4eba\u80fd\u628a\u8270\u6df1\u7684\u77e5\u8bc6\u70b9\u56bc\u788e\u56bc\u70c2\uff0c\u7528\u751f\u52a8\u76f4\u767d\u7684\u65b9\u5f0f\u5448\u73b0\u7ed9\u4f60\uff0c\u8fd8\u6709\u90a3\u4e48\u591a\u542c\u8d77\u6765\u5c31\u5f88fancy\uff0c\u79cd\u7c7b\u7e41\u591a\u7684project\u6765\u5de9\u56fa\u4f60\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u4f60\u4f1a\u89c9\u5f97\u4ed6\u4eec\u771f\u7684\u662f\u5728\u503e\u5c3d\u5168\u529b\u60f3\u65b9\u8bbe\u6cd5\u5730\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u8fd9\u95e8\u8bfe\uff0c\u4f60\u4f1a\u89c9\u5f97\u4e0d\u5b66\u597d\u5b83\u7b80\u76f4\u662f\u5bf9\u8fd9\u4e9b\u8bfe\u7a0b\u5efa\u8bbe\u8005\u7684\u4fae\u8fb1\u3002 \u5982\u679c\u4f60\u89c9\u5f97\u6211\u5728\u5938\u5927\u5176\u8bcd\uff0c\u90a3\u4e48\u4e0d\u59a8\u4ece CS61A \u5f00\u59cb\uff0c\u56e0\u4e3a\u5b83\u662f\u6211\u7684\u68a6\u5f00\u59cb\u7684\u5730\u65b9\u3002 \u4e3a\u4ec0\u4e48\u5199\u8fd9\u672c\u4e66 \u5728\u62112020\u5e74\u79cb\u5b63\u5b66\u671f\u62c5\u4efb\u300a\u6df1\u5165\u7406\u89e3\u8ba1\u7b97\u673a\u7cfb\u7edf\u300b\uff08CSAPP\uff09\u8fd9\u95e8\u8bfe\u7684\u52a9\u6559\u65f6\uff0c\u6211\u5df2\u7ecf\u81ea\u5b66\u4e00\u5e74\u591a\u4e86\u3002\u8fd9\u4e00\u5e74\u591a\u6765\u6211\u65e0\u6bd4\u4eab\u53d7\u8fd9\u79cd\u81ea\u5b66\u6a21\u5f0f\uff0c\u4e3a\u4e86\u5206\u4eab\u8fd9\u79cd\u5feb\u4e50\uff0c\u6211\u4e3a\u81ea\u5df1\u7684\u5c0f\u73ed\u540c\u5b66\u505a\u8fc7\u4e00\u4e2a CS\u81ea\u5b66\u8d44\u6599\u6574\u7406\u4ed3\u5e93 \u3002\u5f53\u65f6\u7eaf\u7cb9\u662f\u5fc3\u8840\u6765\u6f6e\uff0c\u56e0\u4e3a\u6211\u4e5f\u4e0d\u6562\u516c\u7136\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\u3002 \u4f46\u968f\u7740\u53c8\u4e00\u5e74\u65f6\u95f4\u7684\u7ef4\u62a4\uff0c\u8fd9\u4e2a\u4ed3\u5e93\u7684\u5185\u5bb9\u5df2\u7ecf\u76f8\u5f53\u4e30\u5bcc\uff0c\u57fa\u672c\u8986\u76d6\u4e86\u8ba1\u79d1\u3001\u667a\u80fd\u7cfb\u3001\u8f6f\u5de5\u7cfb\u7684\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\uff0c\u6211\u4e5f\u4e3a\u6bcf\u4e2a\u8bfe\u7a0b\u90fd\u5efa\u4e86\u5404\u81ea\u7684Github\u4ed3\u5e93\uff0c\u6c47\u603b\u6211\u7528\u5230\u7684\u81ea\u5b66\u8d44\u6599\u4ee5\u53ca\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u76f4\u5230\u5927\u56db\u5f00\u59cb\u51d1\u5b66\u5206\u6bd5\u4e1a\u7684\u65f6\u5019\uff0c\u6211\u6253\u5f00\u81ea\u5df1\u7684\u57f9\u517b\u65b9\u6848\uff0c\u6211\u53d1\u73b0\u5b83\u5df2\u7ecf\u662f\u6211\u8fd9\u4e2a\u81ea\u5b66\u4ed3\u5e93\u7684\u5b50\u96c6\u4e86\uff0c\u800c\u8fd9\u8ddd\u79bb\u6211\u5f00\u59cb\u81ea\u5b66\u4e5f\u624d\u4e24\u5e74\u534a\u800c\u5df2\u3002\u4e8e\u662f\uff0c\u4e00\u4e2a\u5927\u80c6\u7684\u60f3\u6cd5\u5728\u6211\u8111\u6d77\u4e2d\u6d6e\u73b0\uff1a\u4e5f\u8bb8\uff0c\u6211\u53ef\u4ee5\u6253\u9020\u4e00\u4e2a\u81ea\u5b66\u5f0f\u7684\u57f9\u517b\u65b9\u6848\uff0c\u628a\u6211\u8fd9\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u4e2d\u9047\u5230\u7684\u5751\u3001\u8d70\u8fc7\u7684\u8def\u8bb0\u5f55\u4e0b\u6765\uff0c\u4ee5\u671f\u80fd\u4e3a\u540e\u6765\u7684\u5b66\u5f1f\u5b66\u59b9\u4eec\u8d21\u732e\u81ea\u5df1\u7684\u4e00\u4efd\u5fae\u8584\u4e4b\u529b\u3002 \u5982\u679c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e09\u5e74\u4e0d\u5230\u7684\u65f6\u95f4\u91cc\u5c31\u80fd\u5efa\u7acb\u8d77\u6574\u5ea7CS\u7684\u57fa\u7840\u5927\u53a6\uff0c\u80fd\u6709\u76f8\u5bf9\u624e\u5b9e\u7684\u6570\u5b66\u529f\u5e95\u548c\u4ee3\u7801\u80fd\u529b\uff0c\u7ecf\u5386\u8fc7\u6570\u5341\u4e2a\u5343\u884c\u4ee3\u7801\u91cf\u7684Project\u7684\u6d17\u793c\uff0c\u638c\u63e1\u81f3\u5c11C/C++/Java/JS/Python/Go/Rust\u7b49\u4e3b\u6d41\u8bed\u8a00\uff0c\u5bf9\u7b97\u6cd5\u3001\u7535\u8def\u3001\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\u3001\u4eba\u5de5\u667a\u80fd\u3001\u673a\u5668\u5b66\u4e60\u3001\u8ba1\u7b97\u673a\u89c6\u89c9\u3001\u81ea\u7136\u8bed\u8a00\u5904\u7406\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u5bc6\u7801\u5b66\u3001\u4fe1\u606f\u8bba\u3001\u535a\u5f08\u8bba\u3001\u6570\u503c\u5206\u6790\u3001\u7edf\u8ba1\u5b66\u3001\u5206\u5e03\u5f0f\u3001\u6570\u636e\u5e93\u3001\u56fe\u5f62\u5b66\u3001Web\u5f00\u53d1\u3001\u4e91\u670d\u52a1\u3001\u8d85\u7b97\u7b49\u7b49\u65b9\u9762\u5747\u6709\u6d89\u730e\u3002\u6211\u60f3\uff0c\u4f60\u5c06\u6709\u8db3\u591f\u7684\u5e95\u6c14\u548c\u81ea\u4fe1\u9009\u62e9\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\uff0c\u65e0\u8bba\u662f\u5c31\u4e1a\u8fd8\u662f\u79d1\u7814\uff0c\u4f60\u90fd\u5c06\u6709\u76f8\u5f53\u7684\u7ade\u4e89\u529b\u3002 \u56e0\u4e3a\u6211\u575a\u4fe1\uff0c\u65e2\u7136\u4f60\u80fd\u575a\u6301\u542c\u6211BB\u5230\u8fd9\u91cc\uff0c\u4f60\u4e00\u5b9a\u4e0d\u7f3a\u5b66\u597dCS\u7684\u80fd\u529b\uff0c\u4f60\u53ea\u662f\u6ca1\u6709\u4e00\u4e2a\u597d\u7684\u8001\u5e08\uff0c\u7ed9\u4f60\u8bb2\u4e00\u95e8\u597d\u7684\u8bfe\u7a0b\u3002\u800c\u6211\uff0c\u5c06\u529b\u56fe\u6839\u636e\u6211\u4e09\u5e74\u7684\u4f53\u9a8c\uff0c\u4e3a\u4f60\u6311\u9009\u8fd9\u6837\u7684\u8bfe\u7a0b\u3002 \u81ea\u5b66\u7684\u597d\u5904 \u5bf9\u6211\u6765\u8bf4\uff0c\u81ea\u5b66\u6700\u5927\u7684\u597d\u5904\u5c31\u5728\u4e8e\u53ef\u4ee5\u5b8c\u5168\u6839\u636e\u81ea\u5df1\u7684\u8fdb\u5ea6\u6765\u8c03\u6574\u5b66\u4e60\u901f\u5ea6\u3002\u5bf9\u4e8e\u4e00\u4e9b\u7591\u96be\u77e5\u8bc6\u70b9\uff0c\u6211\u53ef\u4ee5\u53cd\u590d\u56de\u770b\u89c6\u9891\uff0c\u5728\u7f51\u4e0a\u8c37\u6b4c\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u4e0aStackOverflow\u63d0\u95ee\u9898\uff0c\u76f4\u5230\u5b8c\u5168\u5c06\u5b83\u5f04\u660e\u767d\u3002\u800c\u5bf9\u4e8e\u81ea\u5df1\u638c\u63e1\u5f97\u76f8\u5bf9\u8f83\u5feb\u7684\u5185\u5bb9\uff0c\u5219\u53ef\u4ee5\u4e24\u500d\u901f\u751a\u81f3\u4e09\u500d\u901f\u7565\u8fc7\u3002 \u81ea\u5b66\u7684\u53e6\u4e00\u5927\u597d\u5904\u5c31\u662f\u535a\u91c7\u4f17\u957f\u3002\u8ba1\u7b97\u673a\u7cfb\u7684\u51e0\u5927\u6838\u5fc3\u8bfe\u7a0b\uff1a\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\uff0c\u6bcf\u4e00\u95e8\u6211\u57fa\u672c\u90fd\u4e0a\u8fc7\u4e0d\u540c\u5927\u5b66\u7684\u8bfe\u7a0b\uff0c\u4e0d\u540c\u7684\u6559\u6750\u3001\u4e0d\u540c\u7684\u77e5\u8bc6\u70b9\u4fa7\u91cd\u3001\u4e0d\u540c\u7684project\u5c06\u4f1a\u6781\u5927\u4e30\u5bcc\u4f60\u7684\u89c6\u91ce\uff0c\u4e5f\u4f1a\u8ba9\u4f60\u7406\u89e3\u9519\u8bef\u7684\u4e00\u4e9b\u5185\u5bb9\u5f97\u5230\u53ca\u65f6\u7ea0\u6b63\u3002 \u81ea\u5b66\u7684\u7b2c\u4e09\u4e2a\u597d\u5904\u662f\u65f6\u95f4\u81ea\u7531\uff0c\u5177\u4f53\u539f\u56e0\u7701\u7565\u3002 \u81ea\u5b66\u7684\u574f\u5904 \u5f53\u7136\uff0c\u4f5c\u4e3aCS\u81ea\u5b66\u4e3b\u4e49\u7684\u5fe0\u5b9e\u62e5\u8db8\u8005\uff0c\u6211\u4e0d\u5f97\u4e0d\u627f\u8ba4\u81ea\u5b66\u4e5f\u6709\u5b83\u7684\u574f\u5904\u3002 \u7b2c\u4e00\u5c31\u662f\u4ea4\u6d41\u6c9f\u901a\u7684\u4e0d\u4fbf\u3002\u6211\u5176\u5b9e\u662f\u4e00\u4e2a\u5f88\u70ed\u8877\u4e8e\u63d0\u95ee\u7684\u4eba\uff0c\u5bf9\u4e8e\u6240\u6709\u6ca1\u6709\u5f04\u660e\u767d\u7684\u70b9\uff0c\u6211\u90fd\u559c\u6b22\u7a77\u8ffd\u5230\u5e95\u3002\u4f46\u5f53\u4f60\u9762\u5bf9\u7740\u5c4f\u5e55\u542c\u5230\u8001\u5e08\u8bb2\u4e86\u4e00\u4e2a\u4f60\u6ca1\u660e\u767d\u7684\u77e5\u8bc6\u70b9\u7684\u65f6\u5019\uff0c\u4f60\u65e0\u6cd5\u987a\u7740\u7f51\u7ebf\u5230\u53e6\u4e00\u7aef\u5411\u8001\u5e08\u95ee\u4e2a\u660e\u767d\u3002\u6211\u52aa\u529b\u901a\u8fc7\u72ec\u7acb\u601d\u8003\u548c\u5584\u7528Google\u6765\u7f13\u89e3\u8fd9\u4e00\u70b9\uff0c\u4f46\u662f\uff0c\u5982\u679c\u80fd\u6709\u51e0\u4e2a\u5fd7\u540c\u9053\u5408\u7684\u4f19\u4f34\u7ed3\u4f34\u81ea\u5b66\uff0c\u90a3\u5c06\u662f\u6781\u597d\u7684\u3002\u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb\uff0c\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4ed3\u5e93README\u4e2d\u7684\u6559\u7a0b\u3002 \u7b2c\u4e8c\u5c31\u662f\u8fd9\u4e9b\u81ea\u5b66\u7684\u8bfe\u7a0b\u57fa\u672c\u90fd\u662f\u82f1\u6587\u7684\u3002\u4ece\u89c6\u9891\u5230slides\u5230\u4f5c\u4e1a\u5168\u662f\u82f1\u6587\uff0c\u6240\u4ee5\u6709\u4e00\u5b9a\u7684\u95e8\u69db\u3002\u4e0d\u8fc7\u6211\u89c9\u5f97\u8fd9\u4e2a\u6311\u6218\u5982\u679c\u4f60\u514b\u670d\u4e86\u7684\u8bdd\u5bf9\u4f60\u662f\u6781\u4e3a\u6709\u5229\u7684\u3002\u56e0\u4e3a\u5728\u5f53\u4e0b\uff0c\u867d\u7136\u6211\u5f88\u4e0d\u60c5\u613f\uff0c\u4f46\u4e5f\u4e0d\u5f97\u4e0d\u627f\u8ba4\uff0c\u5728\u8ba1\u7b97\u673a\u9886\u57df\uff0c\u5f88\u591a\u4f18\u8d28\u7684\u6587\u6863\u3001\u8bba\u575b\u3001\u7f51\u7ad9\u90fd\u662f\u5168\u82f1\u6587\u7684\u3002\u517b\u6210\u82f1\u6587\u9605\u8bfb\u7684\u4e60\u60ef\uff0c\u5728\u8d64\u65d7\u63d2\u904d\u4e16\u754c\u4e4b\u524d\uff0c\u8fd8\u662f\u6709\u4e00\u5b9a\u597d\u5904\u7684\uff08\u72d7\u5934\u4fdd\u547d\uff09\u3002 \u7b2c\u4e09\uff0c\u4e5f\u662f\u6211\u89c9\u5f97\u6700\u56f0\u96be\u7684\u4e00\u70b9\uff0c\u5c31\u662f\u81ea\u5f8b\u3002\u56e0\u4e3a\u6ca1\u6709DDL\u6709\u65f6\u5019\u771f\u7684\u662f\u4e00\u4ef6\u53ef\u6015\u7684\u4e8b\u60c5\uff0c\u7279\u522b\u662f\u968f\u7740\u5b66\u4e60\u7684\u6df1\u5165\uff0c\u56fd\u5916\u7684\u5f88\u591a\u8bfe\u7a0b\u662f\u76f8\u5f53\u8650\u7684\u3002\u4f60\u5f97\u6709\u8db3\u591f\u7684\u9a71\u52a8\u529b\u5f3a\u8feb\u81ea\u5df1\u9759\u4e0b\u5fc3\u6765\uff0c\u9605\u8bfb\u51e0\u5341\u9875\u7684Project Handout\uff0c\u7406\u89e3\u4e0a\u5343\u884c\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u5fcd\u53d7\u6570\u4e2a\u5c0f\u65f6\u7684debug\u65f6\u5149\u3002\u800c\u8fd9\u4e00\u5207\uff0c\u6ca1\u6709\u5b66\u5206\uff0c\u6ca1\u6709\u7ee9\u70b9\uff0c\u6ca1\u6709\u8001\u5e08\uff0c\u6ca1\u6709\u540c\u5b66\uff0c\u53ea\u6709\u4e00\u4e2a\u4fe1\u5ff5 \u2014\u2014 \u4f60\u5728\u53d8\u5f3a\u3002 \u8fd9\u672c\u4e66\u9002\u5408\u8c01 \u6b63\u5982\u6211\u5728\u524d\u8a00\u91cc\u8bf4\u7684\uff0c\u4efb\u4f55\u6709\u5fd7\u4e8e\u81ea\u5b66\u8ba1\u7b97\u673a\u7684\u670b\u53cb\u90fd\u53ef\u4ee5\u53c2\u8003\u8fd9\u672c\u4e66\u3002\u5982\u679c\u4f60\u5df2\u7ecf\u6709\u4e86\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u57fa\u7840\uff0c\u53ea\u662f\u5bf9\u67d0\u4e2a\u7279\u5b9a\u7684\u9886\u57df\u611f\u5174\u8da3\uff0c\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u6311\u9009\u4f60\u611f\u5174\u8da3\u7684\u5185\u5bb9\u8fdb\u884c\u5b66\u4e60\u3002\u5f53\u7136\uff0c\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u50cf\u6211\u5f53\u5e74\u4e00\u6837\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u521d\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u6211\u5e0c\u671b\u8fd9\u672c\u4e66\u80fd\u6210\u4e3a\u4f60\u7684\u653b\u7565\uff0c\u8ba9\u4f60\u82b1\u6700\u5c11\u7684\u65f6\u95f4\u638c\u63e1\u4f60\u6240\u9700\u8981\u7684\u77e5\u8bc6\u548c\u80fd\u529b\u3002\u67d0\u79cd\u7a0b\u5ea6\u4e0a\uff0c\u8fd9\u672c\u4e66\u66f4\u50cf\u662f\u4e00\u4e2a\u6839\u636e\u6211\u7684\u4f53\u9a8c\u6765\u6392\u5e8f\u7684\u8bfe\u7a0b\u641c\u7d22\u5f15\u64ce\uff0c\u5e2e\u52a9\u5927\u5bb6\u8db3\u4e0d\u51fa\u6237\uff0c\u4f53\u9a8c\u4e16\u754c\u9876\u7ea7\u540d\u6821\u7684\u8ba1\u7b97\u673a\u4f18\u8d28\u8bfe\u7a0b\u3002 \u5f53\u7136\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u8fd8\u672a\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\uff0c\u6211\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u80fd\u529b\u4e5f\u6ca1\u6709\u6743\u5229\u53bb\u5ba3\u626c\u4e00\u79cd\u5b66\u4e60\u65b9\u5f0f\uff0c\u6211\u53ea\u662f\u5e0c\u671b\u8fd9\u4efd\u8d44\u6599\u80fd\u8ba9\u90a3\u4e9b\u540c\u6837\u6709\u81ea\u5b66\u4e4b\u5fc3\u548c\u6bc5\u529b\u670b\u53cb\u53ef\u4ee5\u5c11\u8d70\u4e9b\u5f2f\u8def\uff0c\u6536\u83b7\u66f4\u4e30\u5bcc\u3001\u66f4\u591a\u6837\u3001\u66f4\u6ee1\u8db3\u7684\u5b66\u4e60\u4f53\u9a8c\u3002 \u7279\u522b\u9e23\u8c22 \u5728\u8fd9\u91cc\uff0c\u6211\u6000\u7740\u5d07\u656c\u4e4b\u5fc3\u771f\u8bda\u5730\u611f\u8c22\u6240\u6709\u5c06\u8bfe\u7a0b\u8d44\u6e90\u65e0\u507f\u5f00\u6e90\u7684\u5404\u4f4d\u6559\u6388\u4eec\u3002\u8fd9\u4e9b\u8bfe\u7a0b\u503e\u6ce8\u4e86\u4ed6\u4eec\u6570\u5341\u5e74\u6559\u5b66\u751f\u6daf\u7684\u79ef\u6dc0\u548c\u5fc3\u8840\uff0c\u4ed6\u4eec\u5374\u9009\u62e9\u65e0\u79c1\u5730\u8ba9\u6240\u6709\u4eba\u4eab\u53d7\u5230\u5982\u6b64\u9ad8\u8d28\u91cf\u7684CS\u6559\u80b2\u3002\u6ca1\u6709\u4ed6\u4eec\uff0c\u6211\u7684\u5927\u5b66\u751f\u6d3b\u4e0d\u4f1a\u8fd9\u6837\u5145\u5b9e\u800c\u5feb\u4e50\u3002\u5f88\u591a\u6559\u6388\u5728\u6211\u7ed9\u4ed6\u4eec\u53d1\u4e86\u611f\u8c22\u90ae\u4ef6\u4e4b\u540e\uff0c\u751a\u81f3\u4f1a\u56de\u590d\u4e0a\u767e\u5b57\u7684\u957f\u6587\uff0c\u771f\u7684\u8ba9\u6211\u65e0\u6bd4\u611f\u52a8\u3002\u4ed6\u4eec\u4e5f\u65f6\u523b\u6fc0\u52b1\u7740\u6211\uff0c\u505a\u4e00\u4ef6\u4e8b\uff0c\u5c31\u5f97\u7528\u5fc3\u505a\u597d\uff0c\u65e0\u8bba\u662f\u79d1\u7814\uff0c\u8fd8\u662f\u4e3a\u4eba\u3002 \u4f60\u4e5f\u60f3\u52a0\u5165\u5230\u8d21\u732e\u8005\u7684\u884c\u5217 \u4e00\u4e2a\u4eba\u7684\u529b\u91cf\u7ec8\u7a76\u662f\u6709\u9650\u7684\uff0c\u8fd9\u672c\u4e66\u4e5f\u662f\u6211\u5728\u7e41\u91cd\u7684\u79d1\u7814\u4e4b\u4f59\u71ac\u591c\u62bd\u7a7a\u5199\u51fa\u6765\u7684\uff0c\u96be\u514d\u6709\u4e0d\u591f\u5b8c\u5584\u4e4b\u5904\u3002\u53e6\u5916\uff0c\u7531\u4e8e\u4e2a\u4eba\u505a\u7684\u662f\u7cfb\u7edf\u65b9\u5411\uff0c\u5f88\u591a\u8bfe\u7a0b\u4fa7\u91cd\u7cfb\u7edf\u9886\u57df\uff0c\u5bf9\u4e8e\u6570\u5b66\u3001\u7406\u8bba\u8ba1\u7b97\u673a\u3001\u9ad8\u7ea7\u7b97\u6cd5\u76f8\u5173\u7684\u5185\u5bb9\u5219\u76f8\u5bf9\u5c11\u4e9b\u3002\u5982\u679c\u6709\u5927\u4f6c\u60f3\u5728\u5176\u4ed6\u9886\u57df\u5206\u4eab\u81ea\u5df1\u7684\u81ea\u5b66\u7ecf\u5386\u4e0e\u8d44\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u5728\u9879\u76ee\u4e2d\u53d1\u8d77Pull Request\uff0c\u4e5f\u6b22\u8fce\u548c\u6211\u90ae\u4ef6\u8054\u7cfb\uff08zhongyinmin@pku.edu.cn\uff09\u3002 \u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb \u65b9\u6cd5\u53c2\u89c1\u4ed3\u5e93\u7684README.","title":"\u524d\u8a00"},{"location":"#_1","text":"\u66f4\u65b0\uff1a\u672c\u4e66\u6700\u65b0\u7f51\u5740 csdiy.wiki \uff0c\u6b22\u8fce\u5927\u5bb6\u8bbf\u95ee \uff5e \u8fd9\u662f\u4e00\u672c\u8ba1\u7b97\u673a\u7684\u81ea\u5b66\u6307\u5357\uff0c\u4e5f\u662f\u5bf9\u81ea\u5df1\u5927\u5b66\u4e09\u5e74\u81ea\u5b66\u751f\u6daf\u7684\u4e00\u4e2a\u7eaa\u5ff5\u3002 \u8fd9\u540c\u65f6\u4e5f\u662f\u4e00\u4efd\u732e\u7ed9\u5317\u5927\u4fe1\u79d1\u5b66\u5f1f\u5b66\u59b9\u4eec\u7684\u793c\u7269\u3002\u5982\u679c\u8fd9\u672c\u4e66\u80fd\u5bf9\u4f60\u4eec\u7684\u4fe1\u79d1\u751f\u6daf\u6709\u54ea\u6015\u4e00\u4e1d\u4e00\u6beb\u7684\u5e2e\u52a9\uff0c\u90fd\u662f\u5bf9\u6211\u6781\u5927\u7684\u9f13\u52b1\u548c\u6170\u85c9\u3002 \u672c\u4e66\u76ee\u524d\u89c4\u5212\u4e86\u4ee5\u4e0b\u90e8\u5206(\u5982\u679c\u4f60\u6709\u5176\u4ed6\u597d\u7684\u5efa\u8bae\uff0c\u6216\u8005\u60f3\u52a0\u5165\u8d21\u732e\u8005\u7684\u884c\u5217\uff0c\u6b22\u8fce\u90ae\u4ef6zhongyinmin@pku.edu.cn\u6216\u8005\u5728issue\u91cc\u63d0\u95ee)\uff1a \u5fc5\u5b66\u5de5\u5177\uff1aIDE, \u7ffb\u5899, StackOverflow, Git, Github, Vim, Latex, Makefile, \u5b9e\u7528\u5de5\u5177 ... \u56fd\u5916\u9ad8\u8d28\u91cfCS\u8bfe\u7a0b\u6c47\u603b \uff1a\u6211\u5c06\u628a\u6211\u4e0a\u8fc7\u7684\u6240\u6709\u9ad8\u8d28\u91cf\u7684\u56fd\u5916CS\u8bfe\u7a0b\u5206\u95e8\u522b\u7c7b\u8fdb\u884c\u6c47\u603b\uff0c\u5e76\u7ed9\u51fa\u76f8\u5173\u7684\u81ea\u5b66\u5efa\u8bae\uff0c\u5927\u90e8\u5206\u8bfe\u7a0b\u90fd\u4f1a\u6709\u4e00\u4e2a\u72ec\u7acb\u7684\u4ed3\u5e93\u7ef4\u62a4\u76f8\u5173\u7684\u8d44\u6e90\u4ee5\u53ca\u6211\u7684\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u73af\u5883\u914d\u7f6e\uff1aLinux\u57fa\u7840\uff0cbash\uff0c\u73af\u5883\u53d8\u91cf\uff0cAnaconda ... \u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\uff1a\u770b\u8fc7CSAPP\u8fd9\u672c\u4e66\u7684\u540c\u5b66\u4e00\u5b9a\u611f\u53f9\u597d\u4e66\u7684\u91cd\u8981\uff0c\u6211\u5c06\u5217\u4e3e\u63a8\u8350\u81ea\u5df1\u770b\u8fc7\u7684\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5fc5\u770b\u597d\u4e66\u4e0e\u8d44\u6e90\u94fe\u63a5\u3002","title":"\u524d\u8a00"},{"location":"#cs61a","text":"\u5927\u4e00\u5165\u5b66\u65f6\u6211\u662f\u4e00\u4e2a\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u88c5\u4e86\u51e0\u5341\u4e2aG\u7684Visual Studio\u5929\u5929\u548cOJ\u4f60\u6b7b\u6211\u6d3b\u3002\u51ed\u7740\u9ad8\u4e2d\u7684\u6570\u5b66\u5e95\u5b50\u6211\u6570\u5b66\u8bfe\u5b66\u5f97\u8fd8\u4e0d\u9519\uff0c\u4f46\u5728\u4e13\u4e1a\u8bfe\u4e0a\u5bf9\u7ade\u8d5b\u5927\u4f6c\u53ea\u6709\u4ef0\u671b\u3002\u63d0\u5230\u7f16\u7a0b\u6211\u53ea\u4f1a\u6253\u5f00\u90a3\u7b28\u91cd\u7684IDE\uff0c\u65b0\u5efa\u4e00\u4e2a\u6211\u4e5f\u4e0d\u77e5\u9053\u5177\u4f53\u662f\u5e72\u5565\u7684\u547d\u4ee4\u884c\u9879\u76ee\uff0c\u7136\u540e\u5c31\u662fcin\uff0ccout\uff0cfor\u5faa\u73af\uff0c\u7136\u540eCE\uff0cRE\uff0cWA\u5faa\u73af\u3002\u5f53\u65f6\u7684\u6211\u5c31\u5904\u5728\u4e00\u79cd\u62fc\u547d\u60f3\u5b66\u597d\u4f46\u4e0d\u77e5\u9053\u600e\u4e48\u5b66\uff0c\u8bfe\u4e0a\u8ba4\u771f\u542c\u8bb2\u4f46\u9898\u8fd8\u4e0d\u4f1a\u505a\uff0c\u8bfe\u540e\u505a\u4f5c\u4e1a\u5b8c\u5168\u662f\u7528\u65f6\u95f4\u548c\u5b83\u786c\u8017\u7684\u75db\u82e6\u72b6\u6001\u3002\u6211\u81f3\u4eca\u7535\u8111\u91cc\u8fd8\u5b58\u7740\u81ea\u5df1\u5927\u4e00\u4e0a\u5b66\u671f\u8ba1\u7b97\u6982\u8bba\u5927\u4f5c\u4e1a\u7684\u6e90\u4ee3\u7801 \u2014\u2014 \u4e00\u4e2a1200\u884c\u7684C++\u6587\u4ef6\uff0c\u6ca1\u6709\u5934\u6587\u4ef6\u3001\u6ca1\u6709\u7c7b\u3001\u6ca1\u6709\u5c01\u88c5\u3001\u6ca1\u6709unit test\u3001\u6ca1\u6709makefile\u3001\u6ca1\u6709git\uff0c\u552f\u4e00\u7684\u4f18\u70b9\u662f\u5b83\u786e\u5b9e\u80fd\u8dd1\uff0c\u7f3a\u70b9\u662f\u201c\u80fd\u8dd1\u201d\u7684\u8865\u96c6\u3002\u6211\u4e00\u5ea6\u6000\u7591\u6211\u662f\u4e0d\u662f\u4e0d\u9002\u5408\u5b66\u8ba1\u7b97\u673a\uff0c\u56e0\u4e3a\u7ae5\u5e74\u5bf9\u4e8e\u6781\u5ba2\u7684\u6240\u6709\u60f3\u8c61\uff0c\u5df2\u7ecf\u88ab\u6211\u7b2c\u4e00\u4e2a\u5b66\u671f\u7684\u4f53\u9a8c\u5f7b\u5e95\u7c89\u788e\u4e86\u3002 \u8fd9\u4e00\u5207\u7684\u8f6c\u673a\u53d1\u751f\u5728\u6211\u5927\u4e00\u7684\u5bd2\u5047\uff0c\u6211\u5fc3\u8840\u6765\u6f6e\u60f3\u5b66\u4e60Python\u3002\u65e0\u610f\u95f4\u770b\u5230\u77e5\u4e4e\u6709\u4eba\u63a8\u8350\u4e86CS61A\u8fd9\u95e8\u8bfe\uff0c\u8bf4\u662fUC Berkeley\u7684\u5927\u4e00\u5165\u95e8\u8bfe\u7a0b\uff0c\u8bb2\u7684\u5c31\u662fPython\u3002\u6211\u6c38\u8fdc\u4e0d\u4f1a\u5fd8\u8bb0\u90a3\u4e00\u5929\uff0c\u6253\u5f00 CS61A \u8bfe\u7a0b\u7f51\u7ad9\u7684\u90a3\u4e2a\u77ac\u95f4\uff0c\u5c31\u50cf\u54e5\u4f26\u5e03\u53d1\u73b0\u4e86\u65b0\u5927\u9646\u4e00\u6837\uff0c\u6211\u5f00\u542f\u4e86\u65b0\u4e16\u754c\u7684\u5927\u95e8\u3002 \u6211\u4e00\u53e3\u6c143\u4e2a\u661f\u671f\u4e0a\u5b8c\u4e86\u8fd9\u95e8\u8bfe\uff0c\u5b83\u8ba9\u6211\u7b2c\u4e00\u6b21\u611f\u89c9\u5230\u539f\u6765CS\u53ef\u4ee5\u5b66\u5f97\u5982\u6b64\u5145\u5b9e\u800c\u6709\u8da3\uff0c\u539f\u6765\u8fd9\u4e16\u4e0a\u7adf\u6709\u5982\u6b64\u7cbe\u534e\u7684\u8bfe\u7a0b\u3002 \u4e3a\u907f\u514d\u6709\u5d07\u6d0b\u5a9a\u5916\u4e4b\u5acc\uff0c\u6211\u5355\u7eaf\u4ece\u4e00\u4e2a\u5b66\u751f\u7684\u89c6\u89d2\u6765\u8bb2\u8bb2\u81ea\u5b66CS61A\u7684\u4f53\u9a8c\uff1a \u72ec\u7acb\u642d\u5efa\u7684\u8bfe\u7a0b\u7f51\u7ad9: \u4e00\u4e2a\u7f51\u7ad9\u5c06\u6240\u6709\u8bfe\u7a0b\u8d44\u6e90\u6574\u5408\u4e00\u4f53\uff0c\u6761\u7406\u5206\u660e\u7684\u8bfe\u7a0bschedule\u3001\u6240\u6709slides\uff0chw\uff0cdiscussion\u7684\u6587\u4ef6\u94fe\u63a5\u3001\u8be6\u7ec6\u660e\u786e\u7684\u8bfe\u7a0b\u7ed9\u5206\u8bf4\u660e\u3001\u5386\u5e74\u7684\u8003\u8bd5\u9898\u4e0e\u7b54\u6848\u3002\u8fd9\u6837\u4e00\u4e2a\u7f51\u7ad9\u629b\u5f00\u7f8e\u89c2\u7a0b\u5ea6\u4e0d\u8c08\uff0c\u65e2\u65b9\u4fbf\u5b66\u751f\uff0c\u4e5f\u8ba9\u8d44\u6e90\u516c\u6b63\u900f\u660e\u3002 \u8bfe\u7a0b\u6559\u6388\u4eb2\u81ea\u7f16\u5199\u7684\u6559\u6750\uff1aCS61A\u8fd9\u95e8\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08\u5c06MIT\u7684\u7ecf\u5178\u6559\u6750 Structure and Interpretation of Computer Programs (SICP)\u7528Python\u8fd9\u95e8\u8bed\u8a00\u8fdb\u884c\u6539\u7f16\uff08\u539f\u6559\u6750\u57fa\u4e8eScheme\u8bed\u8a00\uff09\uff0c\u4fdd\u8bc1\u4e86\u8bfe\u5802\u5185\u5bb9\u4e0e\u6559\u6750\u5185\u5bb9\u7684\u4e00\u81f4\u6027\uff0c\u540c\u65f6\u8865\u5145\u4e86\u66f4\u591a\u7ec6\u8282\uff0c\u53ef\u4ee5\u8bf4\u8bda\u610f\u6ee1\u6ee1\u3002\u800c\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u7ebf\u4e0a\u9605\u8bfb\u3002 \u4e30\u5bcc\u5230\u8ba9\u4eba\u773c\u82b1\u7f2d\u4e71\u7684\u8bfe\u7a0b\u4f5c\u4e1a\uff1a14\u4e2alab\u5de9\u56fa\u968f\u5802\u77e5\u8bc6\u70b9\uff0c10\u4e2ahomework\uff0c\u8fd8\u67094\u4e2a\u4ee3\u7801\u91cf\u5747\u4e0a\u5343\u884c\u7684project\u3002\u4e0e\u5927\u5bb6\u719f\u6089\u7684OJ\u548cword\u6587\u6863\u5f0f\u7684\u4f5c\u4e1a\u4e0d\u540c\uff0c\u6240\u6709\u4f5c\u4e1a\u5747\u6709\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u4fdd\u59c6\u7ea7\u7684\u4f5c\u4e1a\u8bf4\u660e\u3002\u6bcf\u4e2aProject\u90fd\u6709\u8be6\u5c3d\u7684handout\u6587\u6863\u3001\u5168\u81ea\u52a8\u7684\u8bc4\u5206\u811a\u672c\u3002CS61A\u751a\u81f3\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a \u81ea\u52a8\u5316\u7684\u4f5c\u4e1a\u63d0\u4ea4\u8bc4\u5206\u7cfb\u7edf \uff08\u636e\u8bf4\u8fd8\u53d1\u4e86\u8bba\u6587\uff09\u3002\u5f53\u7136\uff0c\u6709\u4eba\u4f1a\u8bf4\u201c\u4e00\u4e2aproject\u51e0\u5343\u884c\u4ee3\u7801\u5927\u90e8\u5206\u90fd\u662f\u52a9\u6559\u5e2e\u4f60\u5199\u597d\u7684\uff0c\u4f60\u8fd8\u80fd\u5b66\u5230\u5565\uff1f\u201d\u3002\u6b64\u8a00\u5dee\u77e3\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\uff0c\u8fde\u5b89\u88c5Python\u90fd\u78d5\u78d5\u7eca\u7eca\u7684\u5c0f\u767d\u6765\u8bf4\uff0c\u8fd9\u6837\u5b8c\u5584\u7684\u4ee3\u7801\u6846\u67b6\u65e2\u53ef\u4ee5\u8ba9\u4f60\u4e13\u6ce8\u4e8e\u5de9\u56fa\u8bfe\u5802\u4e0a\u5b66\u4e60\u5230\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\uff0c\u53c8\u80fd\u6709\u201c\u6211\u624d\u5b66\u4e86\u4e00\u4e2a\u6708\u5c31\u80fd\u505a\u4e00\u4e2a\u5c0f\u6e38\u620f\u4e86\uff01\u201d\u7684\u6210\u5c31\u611f\uff0c\u8fd8\u80fd\u6709\u673a\u4f1a\u9605\u8bfb\u5b66\u4e60\u522b\u4eba\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u4ece\u800c\u4e3a\u81ea\u5df1\u6240\u7528\u3002\u6211\u89c9\u5f97\u5728\u4f4e\u5e74\u7ea7\uff0c\u8fd9\u79cd\u4ee3\u7801\u6846\u67b6\u53ef\u4ee5\u8bf4\u767e\u5229\u800c\u65e0\u4e00\u5bb3\u3002\u552f\u4e00\u7684\u5bb3\u4e5f\u8bb8\u662f\u82e6\u4e86\u8001\u5e08\u548c\u52a9\u6559\uff0c\u56e0\u4e3a\u5f00\u53d1\u8fd9\u6837\u7684\u4f5c\u4e1a\u53ef\u60f3\u800c\u77e5\u9700\u8981\u76f8\u5f53\u7684\u65f6\u95f4\u6295\u5165\u3002 \u6bcf\u5468Discussion\u8ba8\u8bba\u8bfe\uff0c\u52a9\u6559\u4f1a\u8bb2\u89e3\u77e5\u8bc6\u96be\u70b9\u548c\u8003\u8bd5\u4f8b\u9898\uff1a\u7c7b\u4f3c\u4e8e\u5317\u4eac\u5927\u5b66ICS\u7684\u5c0f\u73ed\u7814\u8ba8\uff0c\u4f46\u4e60\u9898\u5168\u90e8\u7528Latex\u64b0\u5199\uff0c\u76f8\u5f53\u89c4\u8303\u4e14\u4f1a\u660e\u786e\u7ed9\u51fasolution\u3002 \u8fd9\u6837\u7684\u8bfe\u7a0b\uff0c\u4f60\u5b8c\u5168\u4e0d\u9700\u8981\u4efb\u4f55\u8ba1\u7b97\u673a\u7684\u57fa\u7840\uff0c\u4f60\u53ea\u9700\u8981\u52aa\u529b\u3001\u8ba4\u771f\u3001\u82b1\u65f6\u95f4\u5c31\u591f\u4e86\u3002\u6b64\u524d\u90a3\u79cd\u6709\u52b2\u6ca1\u5904\u4f7f\u7684\u611f\u89c9\uff0c\u90a3\u79cd\u4ed8\u51fa\u518d\u591a\u65f6\u95f4\u5374\u5f97\u4e0d\u5230\u56de\u62a5\u7684\u611f\u89c9\uff0c\u4ece\u6b64\u70df\u6d88\u4e91\u6563\u3002\u8fd9\u592a\u9002\u5408\u6211\u4e86\uff0c\u6211\u4ece\u6b64\u7231\u4e0a\u4e86\u81ea\u5b66\u3002 \u8bd5\u60f3\u5982\u679c\u6709\u4eba\u80fd\u628a\u8270\u6df1\u7684\u77e5\u8bc6\u70b9\u56bc\u788e\u56bc\u70c2\uff0c\u7528\u751f\u52a8\u76f4\u767d\u7684\u65b9\u5f0f\u5448\u73b0\u7ed9\u4f60\uff0c\u8fd8\u6709\u90a3\u4e48\u591a\u542c\u8d77\u6765\u5c31\u5f88fancy\uff0c\u79cd\u7c7b\u7e41\u591a\u7684project\u6765\u5de9\u56fa\u4f60\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u4f60\u4f1a\u89c9\u5f97\u4ed6\u4eec\u771f\u7684\u662f\u5728\u503e\u5c3d\u5168\u529b\u60f3\u65b9\u8bbe\u6cd5\u5730\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u8fd9\u95e8\u8bfe\uff0c\u4f60\u4f1a\u89c9\u5f97\u4e0d\u5b66\u597d\u5b83\u7b80\u76f4\u662f\u5bf9\u8fd9\u4e9b\u8bfe\u7a0b\u5efa\u8bbe\u8005\u7684\u4fae\u8fb1\u3002 \u5982\u679c\u4f60\u89c9\u5f97\u6211\u5728\u5938\u5927\u5176\u8bcd\uff0c\u90a3\u4e48\u4e0d\u59a8\u4ece CS61A \u5f00\u59cb\uff0c\u56e0\u4e3a\u5b83\u662f\u6211\u7684\u68a6\u5f00\u59cb\u7684\u5730\u65b9\u3002","title":"\u68a6\u5f00\u59cb\u7684\u5730\u65b9 \u2014\u2014 CS61A"},{"location":"#_2","text":"\u5728\u62112020\u5e74\u79cb\u5b63\u5b66\u671f\u62c5\u4efb\u300a\u6df1\u5165\u7406\u89e3\u8ba1\u7b97\u673a\u7cfb\u7edf\u300b\uff08CSAPP\uff09\u8fd9\u95e8\u8bfe\u7684\u52a9\u6559\u65f6\uff0c\u6211\u5df2\u7ecf\u81ea\u5b66\u4e00\u5e74\u591a\u4e86\u3002\u8fd9\u4e00\u5e74\u591a\u6765\u6211\u65e0\u6bd4\u4eab\u53d7\u8fd9\u79cd\u81ea\u5b66\u6a21\u5f0f\uff0c\u4e3a\u4e86\u5206\u4eab\u8fd9\u79cd\u5feb\u4e50\uff0c\u6211\u4e3a\u81ea\u5df1\u7684\u5c0f\u73ed\u540c\u5b66\u505a\u8fc7\u4e00\u4e2a CS\u81ea\u5b66\u8d44\u6599\u6574\u7406\u4ed3\u5e93 \u3002\u5f53\u65f6\u7eaf\u7cb9\u662f\u5fc3\u8840\u6765\u6f6e\uff0c\u56e0\u4e3a\u6211\u4e5f\u4e0d\u6562\u516c\u7136\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\u3002 \u4f46\u968f\u7740\u53c8\u4e00\u5e74\u65f6\u95f4\u7684\u7ef4\u62a4\uff0c\u8fd9\u4e2a\u4ed3\u5e93\u7684\u5185\u5bb9\u5df2\u7ecf\u76f8\u5f53\u4e30\u5bcc\uff0c\u57fa\u672c\u8986\u76d6\u4e86\u8ba1\u79d1\u3001\u667a\u80fd\u7cfb\u3001\u8f6f\u5de5\u7cfb\u7684\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\uff0c\u6211\u4e5f\u4e3a\u6bcf\u4e2a\u8bfe\u7a0b\u90fd\u5efa\u4e86\u5404\u81ea\u7684Github\u4ed3\u5e93\uff0c\u6c47\u603b\u6211\u7528\u5230\u7684\u81ea\u5b66\u8d44\u6599\u4ee5\u53ca\u4f5c\u4e1a\u5b9e\u73b0\u3002 \u76f4\u5230\u5927\u56db\u5f00\u59cb\u51d1\u5b66\u5206\u6bd5\u4e1a\u7684\u65f6\u5019\uff0c\u6211\u6253\u5f00\u81ea\u5df1\u7684\u57f9\u517b\u65b9\u6848\uff0c\u6211\u53d1\u73b0\u5b83\u5df2\u7ecf\u662f\u6211\u8fd9\u4e2a\u81ea\u5b66\u4ed3\u5e93\u7684\u5b50\u96c6\u4e86\uff0c\u800c\u8fd9\u8ddd\u79bb\u6211\u5f00\u59cb\u81ea\u5b66\u4e5f\u624d\u4e24\u5e74\u534a\u800c\u5df2\u3002\u4e8e\u662f\uff0c\u4e00\u4e2a\u5927\u80c6\u7684\u60f3\u6cd5\u5728\u6211\u8111\u6d77\u4e2d\u6d6e\u73b0\uff1a\u4e5f\u8bb8\uff0c\u6211\u53ef\u4ee5\u6253\u9020\u4e00\u4e2a\u81ea\u5b66\u5f0f\u7684\u57f9\u517b\u65b9\u6848\uff0c\u628a\u6211\u8fd9\u4e09\u5e74\u81ea\u5b66\u7ecf\u5386\u4e2d\u9047\u5230\u7684\u5751\u3001\u8d70\u8fc7\u7684\u8def\u8bb0\u5f55\u4e0b\u6765\uff0c\u4ee5\u671f\u80fd\u4e3a\u540e\u6765\u7684\u5b66\u5f1f\u5b66\u59b9\u4eec\u8d21\u732e\u81ea\u5df1\u7684\u4e00\u4efd\u5fae\u8584\u4e4b\u529b\u3002 \u5982\u679c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e09\u5e74\u4e0d\u5230\u7684\u65f6\u95f4\u91cc\u5c31\u80fd\u5efa\u7acb\u8d77\u6574\u5ea7CS\u7684\u57fa\u7840\u5927\u53a6\uff0c\u80fd\u6709\u76f8\u5bf9\u624e\u5b9e\u7684\u6570\u5b66\u529f\u5e95\u548c\u4ee3\u7801\u80fd\u529b\uff0c\u7ecf\u5386\u8fc7\u6570\u5341\u4e2a\u5343\u884c\u4ee3\u7801\u91cf\u7684Project\u7684\u6d17\u793c\uff0c\u638c\u63e1\u81f3\u5c11C/C++/Java/JS/Python/Go/Rust\u7b49\u4e3b\u6d41\u8bed\u8a00\uff0c\u5bf9\u7b97\u6cd5\u3001\u7535\u8def\u3001\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\u3001\u4eba\u5de5\u667a\u80fd\u3001\u673a\u5668\u5b66\u4e60\u3001\u8ba1\u7b97\u673a\u89c6\u89c9\u3001\u81ea\u7136\u8bed\u8a00\u5904\u7406\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u5bc6\u7801\u5b66\u3001\u4fe1\u606f\u8bba\u3001\u535a\u5f08\u8bba\u3001\u6570\u503c\u5206\u6790\u3001\u7edf\u8ba1\u5b66\u3001\u5206\u5e03\u5f0f\u3001\u6570\u636e\u5e93\u3001\u56fe\u5f62\u5b66\u3001Web\u5f00\u53d1\u3001\u4e91\u670d\u52a1\u3001\u8d85\u7b97\u7b49\u7b49\u65b9\u9762\u5747\u6709\u6d89\u730e\u3002\u6211\u60f3\uff0c\u4f60\u5c06\u6709\u8db3\u591f\u7684\u5e95\u6c14\u548c\u81ea\u4fe1\u9009\u62e9\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\uff0c\u65e0\u8bba\u662f\u5c31\u4e1a\u8fd8\u662f\u79d1\u7814\uff0c\u4f60\u90fd\u5c06\u6709\u76f8\u5f53\u7684\u7ade\u4e89\u529b\u3002 \u56e0\u4e3a\u6211\u575a\u4fe1\uff0c\u65e2\u7136\u4f60\u80fd\u575a\u6301\u542c\u6211BB\u5230\u8fd9\u91cc\uff0c\u4f60\u4e00\u5b9a\u4e0d\u7f3a\u5b66\u597dCS\u7684\u80fd\u529b\uff0c\u4f60\u53ea\u662f\u6ca1\u6709\u4e00\u4e2a\u597d\u7684\u8001\u5e08\uff0c\u7ed9\u4f60\u8bb2\u4e00\u95e8\u597d\u7684\u8bfe\u7a0b\u3002\u800c\u6211\uff0c\u5c06\u529b\u56fe\u6839\u636e\u6211\u4e09\u5e74\u7684\u4f53\u9a8c\uff0c\u4e3a\u4f60\u6311\u9009\u8fd9\u6837\u7684\u8bfe\u7a0b\u3002","title":"\u4e3a\u4ec0\u4e48\u5199\u8fd9\u672c\u4e66"},{"location":"#_3","text":"\u5bf9\u6211\u6765\u8bf4\uff0c\u81ea\u5b66\u6700\u5927\u7684\u597d\u5904\u5c31\u5728\u4e8e\u53ef\u4ee5\u5b8c\u5168\u6839\u636e\u81ea\u5df1\u7684\u8fdb\u5ea6\u6765\u8c03\u6574\u5b66\u4e60\u901f\u5ea6\u3002\u5bf9\u4e8e\u4e00\u4e9b\u7591\u96be\u77e5\u8bc6\u70b9\uff0c\u6211\u53ef\u4ee5\u53cd\u590d\u56de\u770b\u89c6\u9891\uff0c\u5728\u7f51\u4e0a\u8c37\u6b4c\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u4e0aStackOverflow\u63d0\u95ee\u9898\uff0c\u76f4\u5230\u5b8c\u5168\u5c06\u5b83\u5f04\u660e\u767d\u3002\u800c\u5bf9\u4e8e\u81ea\u5df1\u638c\u63e1\u5f97\u76f8\u5bf9\u8f83\u5feb\u7684\u5185\u5bb9\uff0c\u5219\u53ef\u4ee5\u4e24\u500d\u901f\u751a\u81f3\u4e09\u500d\u901f\u7565\u8fc7\u3002 \u81ea\u5b66\u7684\u53e6\u4e00\u5927\u597d\u5904\u5c31\u662f\u535a\u91c7\u4f17\u957f\u3002\u8ba1\u7b97\u673a\u7cfb\u7684\u51e0\u5927\u6838\u5fc3\u8bfe\u7a0b\uff1a\u4f53\u7cfb\u3001\u7f51\u7edc\u3001\u64cd\u7edf\u3001\u7f16\u8bd1\uff0c\u6bcf\u4e00\u95e8\u6211\u57fa\u672c\u90fd\u4e0a\u8fc7\u4e0d\u540c\u5927\u5b66\u7684\u8bfe\u7a0b\uff0c\u4e0d\u540c\u7684\u6559\u6750\u3001\u4e0d\u540c\u7684\u77e5\u8bc6\u70b9\u4fa7\u91cd\u3001\u4e0d\u540c\u7684project\u5c06\u4f1a\u6781\u5927\u4e30\u5bcc\u4f60\u7684\u89c6\u91ce\uff0c\u4e5f\u4f1a\u8ba9\u4f60\u7406\u89e3\u9519\u8bef\u7684\u4e00\u4e9b\u5185\u5bb9\u5f97\u5230\u53ca\u65f6\u7ea0\u6b63\u3002 \u81ea\u5b66\u7684\u7b2c\u4e09\u4e2a\u597d\u5904\u662f\u65f6\u95f4\u81ea\u7531\uff0c\u5177\u4f53\u539f\u56e0\u7701\u7565\u3002","title":"\u81ea\u5b66\u7684\u597d\u5904"},{"location":"#_4","text":"\u5f53\u7136\uff0c\u4f5c\u4e3aCS\u81ea\u5b66\u4e3b\u4e49\u7684\u5fe0\u5b9e\u62e5\u8db8\u8005\uff0c\u6211\u4e0d\u5f97\u4e0d\u627f\u8ba4\u81ea\u5b66\u4e5f\u6709\u5b83\u7684\u574f\u5904\u3002 \u7b2c\u4e00\u5c31\u662f\u4ea4\u6d41\u6c9f\u901a\u7684\u4e0d\u4fbf\u3002\u6211\u5176\u5b9e\u662f\u4e00\u4e2a\u5f88\u70ed\u8877\u4e8e\u63d0\u95ee\u7684\u4eba\uff0c\u5bf9\u4e8e\u6240\u6709\u6ca1\u6709\u5f04\u660e\u767d\u7684\u70b9\uff0c\u6211\u90fd\u559c\u6b22\u7a77\u8ffd\u5230\u5e95\u3002\u4f46\u5f53\u4f60\u9762\u5bf9\u7740\u5c4f\u5e55\u542c\u5230\u8001\u5e08\u8bb2\u4e86\u4e00\u4e2a\u4f60\u6ca1\u660e\u767d\u7684\u77e5\u8bc6\u70b9\u7684\u65f6\u5019\uff0c\u4f60\u65e0\u6cd5\u987a\u7740\u7f51\u7ebf\u5230\u53e6\u4e00\u7aef\u5411\u8001\u5e08\u95ee\u4e2a\u660e\u767d\u3002\u6211\u52aa\u529b\u901a\u8fc7\u72ec\u7acb\u601d\u8003\u548c\u5584\u7528Google\u6765\u7f13\u89e3\u8fd9\u4e00\u70b9\uff0c\u4f46\u662f\uff0c\u5982\u679c\u80fd\u6709\u51e0\u4e2a\u5fd7\u540c\u9053\u5408\u7684\u4f19\u4f34\u7ed3\u4f34\u81ea\u5b66\uff0c\u90a3\u5c06\u662f\u6781\u597d\u7684\u3002\u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb\uff0c\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4ed3\u5e93README\u4e2d\u7684\u6559\u7a0b\u3002 \u7b2c\u4e8c\u5c31\u662f\u8fd9\u4e9b\u81ea\u5b66\u7684\u8bfe\u7a0b\u57fa\u672c\u90fd\u662f\u82f1\u6587\u7684\u3002\u4ece\u89c6\u9891\u5230slides\u5230\u4f5c\u4e1a\u5168\u662f\u82f1\u6587\uff0c\u6240\u4ee5\u6709\u4e00\u5b9a\u7684\u95e8\u69db\u3002\u4e0d\u8fc7\u6211\u89c9\u5f97\u8fd9\u4e2a\u6311\u6218\u5982\u679c\u4f60\u514b\u670d\u4e86\u7684\u8bdd\u5bf9\u4f60\u662f\u6781\u4e3a\u6709\u5229\u7684\u3002\u56e0\u4e3a\u5728\u5f53\u4e0b\uff0c\u867d\u7136\u6211\u5f88\u4e0d\u60c5\u613f\uff0c\u4f46\u4e5f\u4e0d\u5f97\u4e0d\u627f\u8ba4\uff0c\u5728\u8ba1\u7b97\u673a\u9886\u57df\uff0c\u5f88\u591a\u4f18\u8d28\u7684\u6587\u6863\u3001\u8bba\u575b\u3001\u7f51\u7ad9\u90fd\u662f\u5168\u82f1\u6587\u7684\u3002\u517b\u6210\u82f1\u6587\u9605\u8bfb\u7684\u4e60\u60ef\uff0c\u5728\u8d64\u65d7\u63d2\u904d\u4e16\u754c\u4e4b\u524d\uff0c\u8fd8\u662f\u6709\u4e00\u5b9a\u597d\u5904\u7684\uff08\u72d7\u5934\u4fdd\u547d\uff09\u3002 \u7b2c\u4e09\uff0c\u4e5f\u662f\u6211\u89c9\u5f97\u6700\u56f0\u96be\u7684\u4e00\u70b9\uff0c\u5c31\u662f\u81ea\u5f8b\u3002\u56e0\u4e3a\u6ca1\u6709DDL\u6709\u65f6\u5019\u771f\u7684\u662f\u4e00\u4ef6\u53ef\u6015\u7684\u4e8b\u60c5\uff0c\u7279\u522b\u662f\u968f\u7740\u5b66\u4e60\u7684\u6df1\u5165\uff0c\u56fd\u5916\u7684\u5f88\u591a\u8bfe\u7a0b\u662f\u76f8\u5f53\u8650\u7684\u3002\u4f60\u5f97\u6709\u8db3\u591f\u7684\u9a71\u52a8\u529b\u5f3a\u8feb\u81ea\u5df1\u9759\u4e0b\u5fc3\u6765\uff0c\u9605\u8bfb\u51e0\u5341\u9875\u7684Project Handout\uff0c\u7406\u89e3\u4e0a\u5343\u884c\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u5fcd\u53d7\u6570\u4e2a\u5c0f\u65f6\u7684debug\u65f6\u5149\u3002\u800c\u8fd9\u4e00\u5207\uff0c\u6ca1\u6709\u5b66\u5206\uff0c\u6ca1\u6709\u7ee9\u70b9\uff0c\u6ca1\u6709\u8001\u5e08\uff0c\u6ca1\u6709\u540c\u5b66\uff0c\u53ea\u6709\u4e00\u4e2a\u4fe1\u5ff5 \u2014\u2014 \u4f60\u5728\u53d8\u5f3a\u3002","title":"\u81ea\u5b66\u7684\u574f\u5904"},{"location":"#_5","text":"\u6b63\u5982\u6211\u5728\u524d\u8a00\u91cc\u8bf4\u7684\uff0c\u4efb\u4f55\u6709\u5fd7\u4e8e\u81ea\u5b66\u8ba1\u7b97\u673a\u7684\u670b\u53cb\u90fd\u53ef\u4ee5\u53c2\u8003\u8fd9\u672c\u4e66\u3002\u5982\u679c\u4f60\u5df2\u7ecf\u6709\u4e86\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u57fa\u7840\uff0c\u53ea\u662f\u5bf9\u67d0\u4e2a\u7279\u5b9a\u7684\u9886\u57df\u611f\u5174\u8da3\uff0c\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u6311\u9009\u4f60\u611f\u5174\u8da3\u7684\u5185\u5bb9\u8fdb\u884c\u5b66\u4e60\u3002\u5f53\u7136\uff0c\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u50cf\u6211\u5f53\u5e74\u4e00\u6837\u5bf9\u8ba1\u7b97\u673a\u4e00\u65e0\u6240\u77e5\u7684\u5c0f\u767d\uff0c\u521d\u5165\u5927\u5b66\u7684\u6821\u95e8\uff0c\u6211\u5e0c\u671b\u8fd9\u672c\u4e66\u80fd\u6210\u4e3a\u4f60\u7684\u653b\u7565\uff0c\u8ba9\u4f60\u82b1\u6700\u5c11\u7684\u65f6\u95f4\u638c\u63e1\u4f60\u6240\u9700\u8981\u7684\u77e5\u8bc6\u548c\u80fd\u529b\u3002\u67d0\u79cd\u7a0b\u5ea6\u4e0a\uff0c\u8fd9\u672c\u4e66\u66f4\u50cf\u662f\u4e00\u4e2a\u6839\u636e\u6211\u7684\u4f53\u9a8c\u6765\u6392\u5e8f\u7684\u8bfe\u7a0b\u641c\u7d22\u5f15\u64ce\uff0c\u5e2e\u52a9\u5927\u5bb6\u8db3\u4e0d\u51fa\u6237\uff0c\u4f53\u9a8c\u4e16\u754c\u9876\u7ea7\u540d\u6821\u7684\u8ba1\u7b97\u673a\u4f18\u8d28\u8bfe\u7a0b\u3002 \u5f53\u7136\uff0c\u4f5c\u4e3a\u4e00\u4e2a\u8fd8\u672a\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\uff0c\u6211\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u80fd\u529b\u4e5f\u6ca1\u6709\u6743\u5229\u53bb\u5ba3\u626c\u4e00\u79cd\u5b66\u4e60\u65b9\u5f0f\uff0c\u6211\u53ea\u662f\u5e0c\u671b\u8fd9\u4efd\u8d44\u6599\u80fd\u8ba9\u90a3\u4e9b\u540c\u6837\u6709\u81ea\u5b66\u4e4b\u5fc3\u548c\u6bc5\u529b\u670b\u53cb\u53ef\u4ee5\u5c11\u8d70\u4e9b\u5f2f\u8def\uff0c\u6536\u83b7\u66f4\u4e30\u5bcc\u3001\u66f4\u591a\u6837\u3001\u66f4\u6ee1\u8db3\u7684\u5b66\u4e60\u4f53\u9a8c\u3002","title":"\u8fd9\u672c\u4e66\u9002\u5408\u8c01"},{"location":"#_6","text":"\u5728\u8fd9\u91cc\uff0c\u6211\u6000\u7740\u5d07\u656c\u4e4b\u5fc3\u771f\u8bda\u5730\u611f\u8c22\u6240\u6709\u5c06\u8bfe\u7a0b\u8d44\u6e90\u65e0\u507f\u5f00\u6e90\u7684\u5404\u4f4d\u6559\u6388\u4eec\u3002\u8fd9\u4e9b\u8bfe\u7a0b\u503e\u6ce8\u4e86\u4ed6\u4eec\u6570\u5341\u5e74\u6559\u5b66\u751f\u6daf\u7684\u79ef\u6dc0\u548c\u5fc3\u8840\uff0c\u4ed6\u4eec\u5374\u9009\u62e9\u65e0\u79c1\u5730\u8ba9\u6240\u6709\u4eba\u4eab\u53d7\u5230\u5982\u6b64\u9ad8\u8d28\u91cf\u7684CS\u6559\u80b2\u3002\u6ca1\u6709\u4ed6\u4eec\uff0c\u6211\u7684\u5927\u5b66\u751f\u6d3b\u4e0d\u4f1a\u8fd9\u6837\u5145\u5b9e\u800c\u5feb\u4e50\u3002\u5f88\u591a\u6559\u6388\u5728\u6211\u7ed9\u4ed6\u4eec\u53d1\u4e86\u611f\u8c22\u90ae\u4ef6\u4e4b\u540e\uff0c\u751a\u81f3\u4f1a\u56de\u590d\u4e0a\u767e\u5b57\u7684\u957f\u6587\uff0c\u771f\u7684\u8ba9\u6211\u65e0\u6bd4\u611f\u52a8\u3002\u4ed6\u4eec\u4e5f\u65f6\u523b\u6fc0\u52b1\u7740\u6211\uff0c\u505a\u4e00\u4ef6\u4e8b\uff0c\u5c31\u5f97\u7528\u5fc3\u505a\u597d\uff0c\u65e0\u8bba\u662f\u79d1\u7814\uff0c\u8fd8\u662f\u4e3a\u4eba\u3002","title":"\u7279\u522b\u9e23\u8c22"},{"location":"#_7","text":"\u4e00\u4e2a\u4eba\u7684\u529b\u91cf\u7ec8\u7a76\u662f\u6709\u9650\u7684\uff0c\u8fd9\u672c\u4e66\u4e5f\u662f\u6211\u5728\u7e41\u91cd\u7684\u79d1\u7814\u4e4b\u4f59\u71ac\u591c\u62bd\u7a7a\u5199\u51fa\u6765\u7684\uff0c\u96be\u514d\u6709\u4e0d\u591f\u5b8c\u5584\u4e4b\u5904\u3002\u53e6\u5916\uff0c\u7531\u4e8e\u4e2a\u4eba\u505a\u7684\u662f\u7cfb\u7edf\u65b9\u5411\uff0c\u5f88\u591a\u8bfe\u7a0b\u4fa7\u91cd\u7cfb\u7edf\u9886\u57df\uff0c\u5bf9\u4e8e\u6570\u5b66\u3001\u7406\u8bba\u8ba1\u7b97\u673a\u3001\u9ad8\u7ea7\u7b97\u6cd5\u76f8\u5173\u7684\u5185\u5bb9\u5219\u76f8\u5bf9\u5c11\u4e9b\u3002\u5982\u679c\u6709\u5927\u4f6c\u60f3\u5728\u5176\u4ed6\u9886\u57df\u5206\u4eab\u81ea\u5df1\u7684\u81ea\u5b66\u7ecf\u5386\u4e0e\u8d44\u6e90\uff0c\u53ef\u4ee5\u76f4\u63a5\u5728\u9879\u76ee\u4e2d\u53d1\u8d77Pull Request\uff0c\u4e5f\u6b22\u8fce\u548c\u6211\u90ae\u4ef6\u8054\u7cfb\uff08zhongyinmin@pku.edu.cn\uff09\u3002","title":"\u4f60\u4e5f\u60f3\u52a0\u5165\u5230\u8d21\u732e\u8005\u7684\u884c\u5217"},{"location":"#_8","text":"\u65b9\u6cd5\u53c2\u89c1\u4ed3\u5e93\u7684README.","title":"\u5173\u4e8e\u4ea4\u6d41\u7fa4\u7684\u5efa\u7acb"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/","text":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212 \u8ba1\u7b97\u673a\u9886\u57df\u65b9\u5411\u5e9e\u6742\uff0c\u77e5\u8bc6\u6d69\u5982\u70df\u6d77\uff0c\u6bcf\u4e2a\u7ec6\u5206\u9886\u57df\u5982\u679c\u6df1\u7a76\u4e0b\u53bb\u90fd\u53ef\u4ee5\u8bf4\u5b66\u65e0\u6b62\u5883\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u6e05\u6670\u660e\u786e\u7684\u5b66\u4e60\u89c4\u5212\u662f\u975e\u5e38\u91cd\u8981\u7684\u3002\u8fd9\u4e00\u8282\u7684\u5185\u5bb9\u662f\u5bf9\u540e\u7eed\u6574\u672c\u4e66\u7684\u5185\u5bb9\u7684\u4e00\u4e2a\u6982\u89c8\uff0c\u4f60\u53ef\u4ee5\u5c06\u5176\u770b\u4f5c\u662f\u8fd9\u672c\u4e66\u7684\u76ee\u5f55\uff0c\u6309\u9700\u9009\u62e9\u81ea\u5df1\u611f\u5174\u8da3\u7684\u5185\u5bb9\u8fdb\u884c\u5b66\u4e60\u3002 \u4e0d\u8fc7\uff0c\u5728\u5f00\u59cb\u5b66\u4e60\u4e4b\u524d\uff0c\u5148\u5411\u5c0f\u767d\u4eec\u5f3a\u70c8\u63a8\u8350\u4e00\u4e2a\u79d1\u666e\u5411\u7cfb\u5217\u89c6\u9891 Crash Course: Computer Science \uff0c\u5728\u77ed\u77ed8\u4e2a\u5c0f\u65f6\u91cc\u975e\u5e38\u751f\u52a8\u4e14\u5168\u9762\u5730\u79d1\u666e\u4e86\u5173\u4e8e\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff1a\u8ba1\u7b97\u673a\u7684\u5386\u53f2\u3001\u8ba1\u7b97\u673a\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\u3001\u7ec4\u6210\u8ba1\u7b97\u673a\u7684\u5404\u4e2a\u91cd\u8981\u6a21\u5757\u3001\u8ba1\u7b97\u673a\u79d1\u5b66\u4e2d\u7684\u91cd\u8981\u601d\u60f3\u7b49\u7b49\u7b49\u7b49\u3002\u6b63\u5982\u5b83\u7684\u53e3\u53f7\u6240\u8bf4\u7684 Computers are not magic! \uff0c\u5e0c\u671b\u770b\u5b8c\u8fd9\u4e2a\u89c6\u9891\u4e4b\u540e\uff0c\u5927\u5bb6\u80fd\u5bf9\u8ba1\u7b97\u673a\u79d1\u5b66\u6709\u4e2a\u5168\u8c8c\u6027\u5730\u611f\u77e5\uff0c\u4ece\u800c\u6000\u7740\u5174\u8da3\u53bb\u9762\u5bf9\u4e0b\u9762\u6d69\u5982\u70df\u6d77\u7684\u66f4\u4e3a\u7ec6\u81f4\u4e14\u6df1\u5165\u7684\u5b66\u4e60\u5185\u5bb9\u3002 \u5fc5\u5b66\u5de5\u5177 \u4fd7\u8bdd\u8bf4\uff1a\u78e8\u5200\u4e0d\u8bef\u780d\u67f4\u5de5\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\u768424k\u7eaf\u5c0f\u767d\uff0c\u5b66\u4f1a\u4e00\u4e9b\u5de5\u5177\u5c06\u4f1a\u8ba9\u4f60\u4e8b\u534a\u529f\u500d\u3002 MIT-Missing-Semester \u8fd9\u95e8\u8bfe\u8986\u76d6\u4e86\u8fd9\u4e9b\u5de5\u5177\u4e2d\u7edd\u5927\u90e8\u5206\uff0c\u800c\u4e14\u6709\u76f8\u5f53\u8be6\u7ec6\u7684\u4f7f\u7528\u6307\u5bfc\uff0c\u5f3a\u70c8\u5efa\u8bae\u5c0f\u767d\u5b66\u4e60\u3002 \u7ffb\u5899 \uff1a\u7531\u4e8e\u4e00\u4e9b\u4f17\u6240\u5468\u77e5\u7684\u539f\u56e0\uff0c\u8c37\u6b4c\u3001Github\u7b49\u7f51\u7ad9\u5728\u5927\u9646\u65e0\u6cd5\u8bbf\u95ee\u3002\u7136\u800c\u5f88\u591a\u65f6\u5019\uff0c\u8c37\u6b4c\u548cStackoverflow\u53ef\u4ee5\u89e3\u51b3\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9047\u5230\u768495%\u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u5b66\u4f1a\u7ffb\u5899\u51e0\u4e4e\u662f\u4e00\u4e2a\u5185\u5730CSer\u7684\u5fc5\u5907\u6280\u80fd\u3002\uff08\u8003\u8651\u5230\u6cd5\u5f8b\u95ee\u9898\uff0c\u8fd9\u4e2a\u6587\u6863\u63d0\u4f9b\u7684\u7ffb\u5899\u65b9\u5f0f\u4ec5\u5bf9\u62e5\u6709\u5317\u5927\u90ae\u7bb1\u7684\u7528\u6237\u9002\u7528\uff09\u3002 IDE\uff08Integrated Development Environment\uff09\uff1a\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4f60\u5199\u4ee3\u7801\u7684\u5730\u65b9\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7801\u519c\uff0cIDE\u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u4f46\u7531\u4e8e\u5f88\u591aIDE\u662f\u4e3a\u5927\u578b\u5de5\u7a0b\u9879\u76ee\u8bbe\u8ba1\u7684\uff0c\u4f53\u91cf\u8f83\u5927\uff0c\u529f\u80fd\u4e5f\u8fc7\u4e8e\u4e30\u5bcc\u3002\u5176\u5b9e\u5982\u4eca\u4e00\u4e9b\u8f7b\u4fbf\u7684\u6587\u672c\u7f16\u8f91\u5668\u914d\u5408\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\u57fa\u672c\u53ef\u4ee5\u6ee1\u8db3\u65e5\u5e38\u7684\u8f7b\u91cf\u7f16\u7a0b\u9700\u6c42\u3002\u4e2a\u4eba\u5e38\u7528\u7684\u7f16\u8f91\u5668\u662fVSCode\u548cSublime\uff08\u524d\u8005\u7684\u63d2\u4ef6\u914d\u7f6e\u975e\u5e38\u7b80\u5355\uff0c\u540e\u8005\u7565\u663e\u590d\u6742\u4f46\u989c\u503c\u5f88\u9ad8\uff09\u3002\u5f53\u7136\u5bf9\u4e8e\u5927\u578b\u9879\u76ee\u6211\u8fd8\u662f\u4f1a\u91c7\u7528\u7565\u91cd\u578b\u7684IDE\uff0c\u4f8b\u5982Pycharm\uff08Python\uff09\uff0cIDEA\uff08Java\uff09\u7b49\u7b49\uff08\u514d\u8d23\u7533\u660e\uff1a\u6240\u6709\u7684IDE\u90fd\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684IDE\uff09\u3002 Vim \uff1a\u4e00\u6b3e\u547d\u4ee4\u884c\u7f16\u8f91\u5de5\u5177\u3002\u8fd9\u662f\u4e00\u4e2a\u5b66\u4e60\u66f2\u7ebf\u6709\u4e9b\u9661\u5ced\u7684\u7f16\u8f91\u5668\uff0c\u4e0d\u8fc7\u5b66\u4f1a\u5b83\u6211\u89c9\u5f97\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u56e0\u4e3a\u5b83\u5c06\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002\u73b0\u5728\u7edd\u5927\u591a\u6570IDE\u4e5f\u90fd\u652f\u6301Vim\u63d2\u4ef6\uff0c\u8ba9\u4f60\u5728\u4eab\u53d7\u73b0\u4ee3\u5f00\u53d1\u73af\u5883\u7684\u540c\u65f6\u4fdd\u7559\u6781\u5ba2\u7684\u70ab\u9177\uff08yue\uff09\u3002 Git \uff1a\u4e00\u6b3e\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\u3002Git\u7684\u5b66\u4e60\u66f2\u7ebf\u53ef\u80fd\u66f4\u4e3a\u9661\u5ced\uff0c\u4f46\u51fa\u81eaLinux\u4e4b\u7236Linus\u4e4b\u624b\u7684Git\u7edd\u5bf9\u662f\u6bcf\u4e2a\u5b66CS\u7684\u7ae5\u978b\u5fc5\u987b\u638c\u63e1\u7684\u795e\u5668\u4e4b\u4e00\u3002 Github \uff1a\u57fa\u4e8eGit\u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u5168\u4e16\u754c\u6700\u5927\u7684\u4ee3\u7801\u5f00\u6e90\u793e\u533a\uff0c\u5927\u4f6c\u96c6\u805a\u5730\u3002 Makefile \uff1a\u4e00\u6b3e\u5de5\u7a0b\u6784\u5efa\u5de5\u5177\u3002\u5584\u7528Makefile\u4f1a\u8ba9\u4f60\u517b\u6210\u4ee3\u7801\u6a21\u5757\u5316\u7684\u4e60\u60ef\uff0c\u540c\u65f6\u4e5f\u80fd\u8ba9\u4f60\u719f\u6089\u4e00\u4e9b\u5927\u578b\u5de5\u7a0b\u7684\u7f16\u8bd1\u94fe\u63a5\u6d41\u7a0b\u3002 CMake \uff1a\u4e00\u6b3e\u529f\u80fd\u6bd4Makefile\u66f4\u4e3a\u5f3a\u5927\u7684\u6784\u5efa\u5de5\u5177\uff0c\u5efa\u8bae\u638c\u63e1Makefile\u4e4b\u540e\u518d\u52a0\u4ee5\u5b66\u4e60\u3002 LaTex \uff1a \u903c\u683c\u63d0\u5347 \u8bba\u6587\u6392\u7248\u5de5\u5177\u3002 Docker \uff1a\u4e00\u6b3e\u76f8\u8f83\u4e8e\u865a\u62df\u673a\u66f4\u8f7b\u91cf\u7ea7\u7684\u8f6f\u4ef6\u6253\u5305\u4e0e\u73af\u5883\u90e8\u7f72\u5de5\u5177\u3002 \u5b9e\u7528\u5de5\u5177\u7bb1 \uff1a\u9664\u4e86\u4e0a\u9762\u63d0\u5230\u7684\u8fd9\u4e9b\u5728\u5f00\u53d1\u4e2d\u4f7f\u7528\u9891\u7387\u6781\u9ad8\u7684\u5de5\u5177\u4e4b\u5916\uff0c\u6211\u8fd8\u6536\u96c6\u4e86\u5f88\u591a\u5b9e\u7528\u6709\u8da3\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4f8b\u5982\u4e00\u4e9b\u4e0b\u8f7d\u5de5\u5177\u3001\u8bbe\u8ba1\u5de5\u5177\u3001\u5b66\u4e60\u7f51\u7ad9\u7b49\u7b49\u3002 \u597d\u4e66\u63a8\u8350 \u79c1\u4ee5\u4e3a\u4e00\u672c\u597d\u7684\u6559\u6750\u5e94\u5f53\u662f\u4ee5\u4eba\u4e3a\u672c\u7684\uff0c\u800c\u4e0d\u662f\u70ab\u6280\u5f0f\u7684\u7406\u8bba\u5806\u780c\u3002\u544a\u8bc9\u8bfb\u8005\u201c\u662f\u4ec0\u4e48\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u66f4\u597d\u7684\u5e94\u5f53\u662f\u6559\u6750\u4f5c\u8005\u5c06\u5176\u5728\u8fd9\u4e2a\u9886\u57df\u6df1\u8015\u51e0\u5341\u5e74\u7684\u7ecf\u9a8c\u878d\u6c47\u8fdb\u4e66\u4e2d\uff0c\u5411\u8bfb\u8005\u5a13\u5a13\u9053\u6765\u201c\u4e3a\u4ec0\u4e48\u201d\u4ee5\u53ca\u672a\u6765\u5e94\u8be5\u201c\u600e\u4e48\u505a\u201d\u3002 \u94fe\u63a5\u6233\u8fd9\u91cc \u73af\u5883\u914d\u7f6e \u4f60\u4ee5\u4e3a\u7684\u5f00\u53d1 \u2014\u2014 \u5728IDE\u91cc\u75af\u72c2\u7801\u4ee3\u7801\u6570\u5c0f\u65f6\u3002 \u5b9e\u9645\u4e0a\u7684\u5f00\u53d1 \u2014\u2014 \u914d\u73af\u5883\u914d\u51e0\u5929\u8fd8\u6ca1\u5f00\u59cb\u5199\u4ee3\u7801\u3002 \u63a8\u8350\u4e00\u4e2a\u975e\u5e38\u4e0d\u9519\u7684Github\u9879\u76ee DevOps-Guide \uff0c\u5176\u4e2d\u6db5\u76d6\u4e86\u975e\u5e38\u591a\u7684\u8fd0\u7ef4\u65b9\u9762\u7684\u57fa\u7840\u77e5\u8bc6\u548c\u6559\u7a0b\uff0c\u4f8b\u5982Docker\uff0cK8s\uff0cLinux\uff0cCI-CD\uff0cGithub Actions\u7b49\u7b49\u3002 \u53e6\u5916\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4e00\u4efd\u7075\u611f\u6765\u81ea 6.NULL MIT-Missing-Semester \u7684 \u73af\u5883\u914d\u7f6e\u6307\u5357 \uff0c\u91cd\u70b9\u5728\u4e8e\u7ec8\u7aef\u7684\u7f8e\u5316\u914d\u7f6e\u3002\u6b64\u5916\u8fd8\u5305\u62ec\u5e38\u7528\u8f6f\u4ef6\u6e90\uff08\u5982 GitHub , Anaconda , pip \u7b49\uff09\u7684\u52a0\u901f\u4e0e\u66ff\u6362\u4ee5\u53ca\u4e00\u4e9bIDE\u7684\u914d\u7f6e\u4e0e\u6fc0\u6d3b\u6559\u7a0b\u3002 More contents under construction. \u8bfe\u7a0b\u5730\u56fe \u6b63\u5982\u8fd9\u7ae0\u5f00\u5934\u63d0\u5230\u7684\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u4ec5\u4ec5\u662f\u4e00\u4e2a \u4ec5\u4f9b\u53c2\u8003 \u7684\u8bfe\u7a0b\u89c4\u5212\uff0c\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4e34\u8fd1\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\u3002\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u6743\u5229\u4e5f\u6ca1\u6709\u80fd\u529b\u5411\u522b\u4eba\u5ba3\u626c\u201c\u5e94\u8be5\u600e\u4e48\u5b66\u201d\u3002\u56e0\u6b64\u5982\u679c\u4f60\u89c9\u5f97\u4ee5\u4e0b\u7684\u8bfe\u7a0b\u5206\u7c7b\u4e0e\u9009\u62e9\u6709\u4e0d\u5408\u7406\u4e4b\u5904\uff0c\u6211\u5168\u76d8\u63a5\u53d7\uff0c\u5e76\u6df1\u611f\u62b1\u6b49\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4e00\u8282 \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u4ee5\u4e0b\u8bfe\u7a0b\u7c7b\u522b\u4e2d\u9664\u4e86\u542b\u6709 \u57fa\u7840 \u548c \u5165\u95e8 \u5b57\u773c\u7684\u4ee5\u5916\uff0c\u5e76\u65e0\u660e\u786e\u7684\u5148\u540e\u6b21\u5e8f\uff0c\u5927\u5bb6\u53ea\u8981\u6ee1\u8db3\u67d0\u4e2a\u8bfe\u7a0b\u7684\u5148\u4fee\u8981\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u548c\u559c\u597d\u9009\u62e9\u60f3\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b\u3002 \u53e6\u5916\u7531\u4e8e\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u52a0\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u5df2\u7ecf\u4ece\u6700\u521d\u6211\u7684\u5b66\u4e60\u7ecf\u5386\uff0c\u53d1\u5c55\u6210\u4e3a\u5f88\u591aCS\u81ea\u5b66\u8005\u7684\u8d44\u6e90\u5408\u96c6\uff0c\u5176\u4e2d\u96be\u514d\u6709\u5185\u5bb9\u4ea4\u53c9\u751a\u81f3\u91cd\u590d\u7684\u3002\u4f46\u4e4b\u6240\u4ee5\u90fd\u5217\u51fa\u6765\uff0c\u8fd8\u662f\u5e0c\u671b\u96c6\u767e\u5bb6\u4e4b\u957f\uff0c\u7ed9\u5927\u5bb6\u5c3d\u53ef\u80fd\u591a\u7684\u9009\u62e9\u4e0e\u53c2\u8003\u3002 \u6570\u5b66\u57fa\u7840 \u5fae\u79ef\u5206\u4e0e\u7ebf\u6027\u4ee3\u6570 \u4f5c\u4e3a\u5927\u4e00\u65b0\u751f\uff0c\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u662f\u548c\u5199\u4ee3\u7801\u81f3\u5c11\u540c\u7b49\u91cd\u8981\u7684\u4e8b\u60c5\uff0c\u76f8\u4fe1\u5df2\u7ecf\u6709\u65e0\u6570\u7684\u524d\u4eba\u7ecf\u9a8c\u63d0\u5230\u8fc7\u8fd9\u4e00\u70b9\uff0c\u4f46\u6211\u8fd8\u662f\u8981\u4e0d\u538c\u5176\u70e6\u5730\u518d\u5f3a\u8c03\u4e00\u904d\uff1a\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u771f\u7684\u5f88\u91cd\u8981\uff01\u4f60\u4e5f\u8bb8\u4f1a\u5410\u69fd\u8fd9\u4e9b\u4e1c\u897f\u5c82\u4e0d\u662f\u8003\u5b8c\u5c31\u5fd8\uff0c\u90a3\u6211\u89c9\u5f97\u4f60\u662f\u5e76\u6ca1\u6709\u628a\u63e1\u4f4f\u5b83\u4eec\u672c\u8d28\uff0c\u5bf9\u5b83\u4eec\u7684\u7406\u89e3\u8fd8\u6ca1\u6709\u8fbe\u5230\u523b\u9aa8\u94ed\u5fc3\u7684\u7a0b\u5ea6\u3002\u5982\u679c\u89c9\u5f97\u8001\u5e08\u8bfe\u4e0a\u8bb2\u7684\u5185\u5bb9\u6666\u6da9\u96be\u61c2\uff0c\u4e0d\u59a8\u53c2\u8003MIT\u7684 Calculus Course \u548c 18.06: Linear Algebra \u7684\u8bfe\u7a0bnotes\uff0c\u81f3\u5c11\u4e8e\u6211\u800c\u8a00\uff0c\u5b83\u5e2e\u52a9\u6211\u6df1\u523b\u7406\u89e3\u4e86\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570\u7684\u8bb8\u591a\u672c\u8d28\u3002\u987a\u9053\u518d\u5b89\u5229\u4e00\u4e2a\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \uff0c\u4ed6\u7684\u9891\u9053\u6709\u5f88\u591a\u7528\u751f\u52a8\u5f62\u8c61\u7684\u52a8\u753b\u9610\u91ca\u6570\u5b66\u672c\u8d28\u5185\u6838\u7684\u89c6\u9891\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u8d28\u91cf\u975e\u5e38\u9ad8\u3002 \u4fe1\u606f\u8bba\u5165\u95e8 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u53ca\u65e9\u4e86\u89e3\u4e00\u4e9b\u4fe1\u606f\u8bba\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u6211\u89c9\u5f97\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4f46\u5927\u591a\u4fe1\u606f\u8bba\u8bfe\u7a0b\u90fd\u9762\u5411\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u751a\u81f3\u7814\u7a76\u751f\uff0c\u5bf9\u65b0\u624b\u6781\u4e0d\u53cb\u597d\u3002\u800cMIT\u7684 6.050J: Information theory and Entropy \u8fd9\u95e8\u8bfe\u6b63\u662f\u4e3a\u5927\u4e00\u65b0\u751f\u91cf\u8eab\u5b9a\u5236\u7684\uff0c\u51e0\u4e4e\u6ca1\u6709\u5148\u4fee\u8981\u6c42\uff0c\u6db5\u76d6\u4e86\u7f16\u7801\u3001\u538b\u7f29\u3001\u901a\u4fe1\u3001\u4fe1\u606f\u71b5\u7b49\u7b49\u5185\u5bb9\uff0c\u975e\u5e38\u6709\u8da3\u3002 \u6570\u5b66\u8fdb\u9636 \u79bb\u6563\u6570\u5b66\u4e0e\u6982\u7387\u8bba \u96c6\u5408\u8bba\u3001\u56fe\u8bba\u3001\u6982\u7387\u8bba\u7b49\u7b49\u662f\u7b97\u6cd5\u63a8\u5bfc\u4e0e\u8bc1\u660e\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4e5f\u662f\u540e\u7eed\u9ad8\u9636\u6570\u5b66\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u4f46\u6211\u89c9\u5f97\u8fd9\u7c7b\u8bfe\u7a0b\u7684\u8bb2\u6388\u5f88\u5bb9\u6613\u843d\u5165\u7406\u8bba\u5316\u4e0e\u5f62\u5f0f\u5316\u7684\u7aa0\u81fc\uff0c\u8ba9\u8bfe\u5802\u6210\u4e3a\u5b9a\u7406\u7ed3\u8bba\u7684\u5806\u780c\uff0c\u800c\u65e0\u6cd5\u4f7f\u5b66\u751f\u6df1\u523b\u628a\u63e1\u7406\u8bba\u7684\u672c\u8d28\uff0c\u8fdb\u800c\u9020\u6210\u5b66\u4e86\u5c31\u80cc\uff0c\u8003\u4e86\u5c31\u5fd8\u7684\u602a\u5708\u3002\u5982\u679c\u80fd\u5728\u7406\u8bba\u6559\u5b66\u4e2d\u7a7f\u63d2\u7b97\u6cd5\u8fd0\u7528\u5b9e\u4f8b\uff0c\u5b66\u751f\u5728\u62d3\u5c55\u7b97\u6cd5\u77e5\u8bc6\u7684\u540c\u65f6\u4e5f\u80fd\u7aa5\u89c1\u7406\u8bba\u7684\u529b\u91cf\u548c\u9b45\u529b\u3002 UCB CS70 : discrete Math and probability theory \u548c UCB CS126 : Probability theory \u662fUC Berkeley\u7684\u6982\u7387\u8bba\u8bfe\u7a0b\uff0c\u524d\u8005\u8986\u76d6\u4e86\u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba\u57fa\u7840\uff0c\u540e\u8005\u5219\u6d89\u53ca\u968f\u673a\u8fc7\u7a0b\u4ee5\u53ca\u6df1\u5165\u7684\u7406\u8bba\u5185\u5bb9\u3002\u4e24\u8005\u90fd\u975e\u5e38\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u6709\u4e30\u5bcc\u7684\u7b97\u6cd5\u5b9e\u9645\u8fd0\u7528\u5b9e\u4f8b\uff0c\u540e\u8005\u8fd8\u6709\u5927\u91cf\u7684Python\u7f16\u7a0b\u4f5c\u4e1a\u6765\u8ba9\u5b66\u751f\u8fd0\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002 \u6570\u503c\u5206\u6790 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u57f9\u517b\u8ba1\u7b97\u601d\u7ef4\u662f\u5f88\u91cd\u8981\u7684\uff0c\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u3001\u79bb\u6563\u5316\uff0c\u8ba1\u7b97\u673a\u7684\u6a21\u62df\u3001\u5206\u6790\uff0c\u662f\u4e00\u9879\u5f88\u91cd\u8981\u7684\u80fd\u529b\u3002\u800c\u8fd9\u4e24\u5e74\u5f00\u59cb\u98ce\u9761\u7684\uff0c\u7531MIT\u6253\u9020\u7684 Julia \u7f16\u7a0b\u8bed\u8a00\u4ee5\u5176C\u4e00\u6837\u7684\u901f\u5ea6\u548cPython\u4e00\u6837\u53cb\u597d\u7684\u8bed\u6cd5\u5728\u6570\u503c\u8ba1\u7b97\u9886\u57df\u6709\u4e00\u7edf\u5929\u4e0b\u4e4b\u52bf\uff0cMIT\u7684\u8bb8\u591a\u6570\u5b66\u8bfe\u7a0b\u4e5f\u5f00\u59cb\u7528Julia\u4f5c\u4e3a\u6559\u5b66\u5de5\u5177\uff0c\u628a\u8270\u6df1\u7684\u6570\u5b66\u7406\u8bba\u7528\u76f4\u89c2\u6e05\u6670\u7684\u4ee3\u7801\u5c55\u793a\u51fa\u6765\u3002 ComputationalThinking \u662fMIT\u5f00\u8bbe\u7684\u4e00\u95e8\u8ba1\u7b97\u601d\u7ef4\u5165\u95e8\u8bfe\uff0c\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u5168\u90e8\u5f00\u6e90\uff0c\u53ef\u4ee5\u5728\u8bfe\u7a0b\u7f51\u7ad9\u76f4\u63a5\u8bbf\u95ee\u3002\u8fd9\u95e8\u8bfe\u5229\u7528Julia\u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u56fe\u50cf\u5904\u7406\u3001\u793e\u4f1a\u79d1\u5b66\u4e0e\u6570\u636e\u79d1\u5b66\u3001\u6c14\u5019\u5b66\u5efa\u6a21\u4e09\u4e2atopic\u4e0b\u5e26\u9886\u5b66\u751f\u7406\u89e3\u7b97\u6cd5\u3001\u6570\u5b66\u5efa\u6a21\u3001\u6570\u636e\u5206\u6790\u3001\u4ea4\u4e92\u8bbe\u8ba1\u3001\u56fe\u4f8b\u5c55\u793a\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u8ba1\u7b97\u4e0e\u79d1\u5b66\u7684\u7f8e\u5999\u7ed3\u5408\u3002\u5185\u5bb9\u867d\u7136\u4e0d\u96be\uff0c\u4f46\u7ed9\u6211\u6700\u6df1\u523b\u7684\u611f\u53d7\u5c31\u662f\uff0c\u79d1\u5b66\u7684\u9b45\u529b\u5e76\u4e0d\u662f\u6545\u5f04\u7384\u865a\u7684\u8270\u6df1\u7406\u8bba\uff0c\u4e0d\u662f\u8bd8\u5c48\u8071\u7259\u7684\u672f\u8bed\u884c\u8bdd\uff0c\u800c\u662f\u7528\u76f4\u89c2\u751f\u52a8\u7684\u6848\u4f8b\uff0c\u7528\u7b80\u7ec3\u6df1\u523b\u7684\u8bed\u8a00\uff0c\u8ba9\u6bcf\u4e2a\u666e\u901a\u4eba\u90fd\u80fd\u7406\u89e3\u3002 \u4e0a\u5b8c\u4e0a\u9762\u7684\u4f53\u9a8c\u8bfe\u4e4b\u540e\uff0c\u5982\u679c\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u4e0d\u59a8\u8bd5\u8bd5MIT\u7684 18.330 : Introduction to numerical analysis \uff0c\u8fd9\u95e8\u8bfe\u7684\u7f16\u7a0b\u4f5c\u4e1a\u540c\u6837\u4f1a\u7528Julia\u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u8fc7\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4e0a\u4e86\u4e00\u4e2a\u53f0\u9636\u3002\u5185\u5bb9\u6d89\u53ca\u4e86\u6d6e\u70b9\u7f16\u7801\u3001Root finding\u3001\u7ebf\u6027\u7cfb\u7edf\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u7b49\u65b9\u9762\uff0c\u6574\u95e8\u8bfe\u7684\u4e3b\u65e8\u5c31\u662f\u8ba9\u4f60\u5229\u7528\u79bb\u6563\u5316\u7684\u8ba1\u7b97\u673a\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u4e00\u4e2a\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\u3002\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u8fd8\u4e13\u95e8\u64b0\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750 Fundamentals of Numerical Computation \uff0c\u91cc\u9762\u9644\u6709\u4e30\u5bcc\u7684Julia\u4ee3\u7801\u5b9e\u4f8b\u548c\u4e25\u8c28\u7684\u516c\u5f0f\u63a8\u5bfc\u3002 \u5982\u679c\u4f60\u8fd8\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u8fd8\u6709MIT\u7684\u7814\u7a76\u751f\u8bfe\u7a0b 18.335: Introduction to numerical method \u4f9b\u4f60\u53c2\u8003\u3002 \u5fae\u5206\u65b9\u7a0b \u5982\u679c\u4e16\u95f4\u4e07\u7269\u7684\u8fd0\u52a8\u53d1\u5c55\u90fd\u80fd\u7528\u65b9\u7a0b\u6765\u523b\u753b\u548c\u63cf\u8ff0\uff0c\u8fd9\u662f\u4e00\u4ef6\u591a\u4e48\u9177\u7684\u4e8b\u60c5\u5440\uff01\u867d\u7136\u51e0\u4e4e\u4efb\u4f55\u4e00\u6240\u5b66\u6821\u7684CS\u57f9\u517b\u65b9\u6848\u4e2d\u90fd\u6ca1\u6709\u5fae\u5206\u65b9\u7a0b\u76f8\u5173\u7684\u5fc5\u4fee\u8bfe\u7a0b\uff0c\u4f46\u6211\u8fd8\u662f\u89c9\u5f97\u638c\u63e1\u5b83\u4f1a\u8d4b\u4e88\u4f60\u4e00\u4e2a\u65b0\u7684\u89c6\u89d2\u6765\u5ba1\u89c6\u8fd9\u4e2a\u4e16\u754c\u3002 \u7531\u4e8e\u5fae\u5206\u65b9\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u7528\u5230\u5f88\u591a\u590d\u53d8\u51fd\u6570\u7684\u77e5\u8bc6\uff0c\u6240\u4ee5\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003 MIT18.04: Complex variables functions \u7684\u8bfe\u7a0bnotes\u6765\u8865\u9f50\u5148\u4fee\u77e5\u8bc6\u3002 MIT18.03: differential equations \u4e3b\u8981\u8986\u76d6\u4e86\u5e38\u5fae\u5206\u65b9\u7a0b\u7684\u6c42\u89e3\uff0c\u5728\u6b64\u57fa\u7840\u4e4b\u4e0a MIT18.152: Partial differential equations \u5219\u4f1a\u6df1\u5165\u504f\u5fae\u5206\u65b9\u7a0b\u7684\u5efa\u6a21\u4e0e\u6c42\u89e3\u3002\u638c\u63e1\u4e86\u5fae\u5206\u65b9\u7a0b\u8fd9\u4e00\u6709\u5229\u5de5\u5177\uff0c\u76f8\u4fe1\u5bf9\u4e8e\u4f60\u7684\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u80fd\u529b\u4ee5\u53ca\u4ece\u4f17\u591a\u566a\u58f0\u53d8\u91cf\u4e2d\u628a\u63e1\u672c\u8d28\u7684\u76f4\u89c9\u90fd\u4f1a\u6709\u5f88\u5927\u5e2e\u52a9\u3002 \u6570\u5b66\u9ad8\u9636 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u6211\u7ecf\u5e38\u542c\u5230\u6570\u5b66\u65e0\u7528\u8bba\u7684\u8bba\u65ad\uff0c\u5bf9\u6b64\u6211\u4e0d\u6562\u82df\u540c\u4f46\u4e5f\u65e0\u6743\u53cd\u5bf9\uff0c\u4f46\u82e5\u51e1\u4e8b\u90fd\u786c\u8981\u4e89\u51fa\u4e2a\u6709\u7528\u548c\u65e0\u7528\u7684\u533a\u522b\u6765\uff0c\u5012\u4e5f\u7740\u5b9e\u65e0\u8da3\uff0c\u56e0\u6b64\u4e0b\u9762\u8fd9\u4e9b\u9762\u5411\u9ad8\u5e74\u7ea7\u751a\u81f3\u7814\u7a76\u751f\u7684\u6570\u5b66\u8bfe\u7a0b\uff0c\u5927\u5bb6\u6309\u5174\u8da3\u81ea\u53d6\u6240\u9700\u3002 \u51f8\u4f18\u5316 Standford EE364A: Convex Optimization \u4fe1\u606f\u8bba MIT6.441: Information Theory \u5e94\u7528\u7edf\u8ba1\u5b66 MIT18.650: Statistics for Applications \u521d\u7b49\u6570\u8bba MIT18.781: Theory of Numbers \u5bc6\u7801\u5b66 Standford CS255: Cryptography \u7f16\u7a0b\u5165\u95e8 Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language. Shell MIT-Missing-Semester Python Harvard CS50: This is CS50x \u6700\u597d\u7684\u8ba1\u7b97\u673a\u57fa\u7840\u5165\u95e8\u8bfe\uff0c\u4f60\u7edd\u5bf9\u4f1a\u7231\u4e0a\u7684\u3002 UCB CS61A: Structure and Interpretation of Computer Programs C++ Stanford CS106L: Standard C++ Programming Rust Stanford CS110L: Safety in Systems Programming OCaml Cornell CS3110 textbook: Functional Programming in OCaml \u7535\u5b50\u57fa\u7840 \u7535\u8def\u57fa\u7840 \u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u4e86\u89e3\u4e00\u4e9b\u57fa\u7840\u7684\u7535\u8def\u77e5\u8bc6\uff0c\u611f\u53d7\u4ece\u4f20\u611f\u5668\u6536\u96c6\u6570\u636e\u5230\u6570\u636e\u5206\u6790\u518d\u5230\u7b97\u6cd5\u9884\u6d4b\u6574\u6761\u6d41\u6c34\u7ebf\uff0c\u5bf9\u4e8e\u540e\u7eed\u77e5\u8bc6\u7684\u5b66\u4e60\u4ee5\u53ca\u8ba1\u7b97\u601d\u7ef4\u7684\u57f9\u517b\u8fd8\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002 EE16A&B: Designing Information Devices and Systems I&II \u662f\u4f2f\u514b\u5229EE\u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u5176\u4e2dEE16A\u6ce8\u91cd\u901a\u8fc7\u7535\u8def\u4ece\u5b9e\u9645\u73af\u5883\u4e2d\u6536\u96c6\u548c\u5206\u6790\u6570\u636e\uff0c\u800cEE16B\u5219\u4fa7\u91cd\u4ece\u8fd9\u4e9b\u6536\u96c6\u5230\u7684\u6570\u636e\u8fdb\u884c\u5206\u6790\u5e76\u505a\u51fa\u9884\u6d4b\u884c\u4e3a\u3002 \u4fe1\u53f7\u4e0e\u7cfb\u7edf \u4fe1\u53f7\u4e0e\u7cfb\u7edf\u662f\u4e00\u95e8\u6211\u89c9\u5f97\u975e\u5e38\u503c\u5f97\u4e00\u4e0a\u7684\u8bfe\uff0c\u6700\u521d\u5b66\u5b83\u53ea\u662f\u4e3a\u4e86\u6ee1\u8db3\u6211\u5bf9\u5085\u91cc\u53f6\u53d8\u6362\u7684\u597d\u5947\uff0c\u4f46\u5b66\u5b8c\u4e4b\u540e\u6211\u624d\u4e0d\u7981\u611f\u53f9\uff0c\u5085\u7acb\u53f6\u53d8\u6362\u7ed9\u6211\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u89c6\u89d2\u53bb\u770b\u5f85\u8fd9\u4e2a\u4e16\u754c\uff0c\u5c31\u5982\u540c\u5fae\u5206\u65b9\u7a0b\u4e00\u6837\uff0c\u8ba9\u4f60\u6c89\u6d78\u5728\u7528\u6570\u5b66\u53bb\u7cbe\u786e\u63cf\u7ed8\u548c\u523b\u753b\u8fd9\u4e2a\u4e16\u754c\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u4e4b\u4e2d\u3002 MIT 6.003 : signal and systems \u63d0\u4f9b\u4e86\u5168\u90e8\u7684\u8bfe\u7a0b\u5f55\u5f71\u3001\u4e66\u9762\u4f5c\u4e1a\u4ee5\u53ca\u7b54\u6848\u3002\u4e5f\u53ef\u4ee5\u53bb\u770b\u8fd9\u95e8\u8bfe\u7684 \u8fdc\u53e4\u7248\u672c \u800c UCB EE120 : Signal and Systems \u5173\u4e8e\u5085\u7acb\u53f6\u53d8\u6362\u7684notes\u5199\u5f97\u975e\u5e38\u597d\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e866\u4e2a\u975e\u5e38\u6709\u8da3\u7684Python\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u8ba9\u4f60\u5b9e\u8df5\u4e2d\u8fd0\u7528\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u3002 \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 Stanford CS106B/X: Programming Abstractions UCB CS61B: Data Structures and Algorithms Coursera: Algorithms I & II \u7b97\u6cd5\u8bbe\u8ba1\u4e0e\u5206\u6790 UCB CS170: Efficient Algorithms and Intractable Problems \u8f6f\u4ef6\u5de5\u7a0b \u5165\u95e8\u8bfe \u4e00\u4efd\u201c\u80fd\u8dd1\u201d\u7684\u4ee3\u7801\uff0c\u548c\u4e00\u4efd\u9ad8\u8d28\u91cf\u7684\u5de5\u4e1a\u7ea7\u4ee3\u7801\u662f\u6709\u672c\u8d28\u533a\u522b\u7684\u3002\u56e0\u6b64\u6211\u975e\u5e38\u63a8\u8350\u4f4e\u5e74\u7ea7\u7684\u540c\u5b66\u5b66\u4e60\u4e00\u4e0b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\uff0c\u5b83\u4f1a\u4ee5Java\u8bed\u8a00\u4e3a\u57fa\u7840\uff0c\u4ee5\u4e30\u5bcc\u7ec6\u81f4\u7684\u9605\u8bfb\u6750\u6599\u548c\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7f16\u7a0b\u7ec3\u4e60\u4f20\u6388\u5982\u4f55\u7f16\u5199 \u4e0d\u6613\u51fabug\u3001\u7b80\u660e\u6613\u61c2\u3001\u6613\u4e8e\u7ef4\u62a4\u4fee\u6539 \u7684\u9ad8\u8d28\u91cf\u4ee3\u7801\u3002\u5927\u5230\u5b8f\u89c2\u6570\u636e\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5c0f\u5230\u5982\u4f55\u5199\u6ce8\u91ca\uff0c\u9075\u5faa\u8fd9\u4e9b\u524d\u4eba\u603b\u7ed3\u7684\u7ec6\u8282\u548c\u7ecf\u9a8c\uff0c\u5bf9\u4e8e\u4f60\u6b64\u540e\u7684\u7f16\u7a0b\u751f\u6daf\u5927\u6709\u88e8\u76ca\u3002 \u4e13\u4e1a\u8bfe \u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u7cfb\u7edf\u6027\u5730\u4e0a\u4e00\u95e8\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8bfe\u7a0b\uff0c\u90a3\u6211\u63a8\u8350\u7684\u662f\u4f2f\u514b\u5229\u7684 UCB CS169: software engineering \u3002\u4f46\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u548c\u5927\u591a\u5b66\u6821\uff08\u5305\u62ec\u8d35\u6821\uff09\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4e0d\u4f1a\u6d89\u53ca\u4f20\u7edf\u7684 design and document \u6a21\u5f0f\uff0c\u5373\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6d41\u7a0b\u56fe\u53ca\u6587\u6863\u8bbe\u8ba1\uff0c\u800c\u662f\u91c7\u7528\u8fd1\u4e9b\u5e74\u6d41\u884c\u8d77\u6765\u7684\u5c0f\u56e2\u961f\u5feb\u901f\u8fed\u4ee3 Agile Develepment \u5f00\u53d1\u6a21\u5f0f\u4ee5\u53ca\u5229\u7528\u4e91\u5e73\u53f0\u7684 Software as a service \u670d\u52a1\u6a21\u5f0f\u3002 \u4f53\u7cfb\u7ed3\u6784 \u5165\u95e8\u8bfe \u4ece\u5c0f\u6211\u5c31\u4e00\u76f4\u542c\u8bf4\uff0c\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u662f\u753101\u6784\u6210\u7684\uff0c\u6211\u4e0d\u7406\u89e3\u4f46\u5927\u53d7\u9707\u64bc\u3002\u5982\u679c\u4f60\u7684\u5185\u5fc3\u4e5f\u6000\u6709\u8fd9\u4efd\u597d\u5947\uff0c\u4e0d\u59a8\u82b1\u4e00\u5230\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u5b66\u4e60 Coursera: Nand2Tetris \u8fd9\u95e8\u65e0\u95e8\u69db\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u8fd9\u95e8\u9ebb\u96c0\u867d\u5c0f\u4e94\u810f\u4ff1\u5168\u7684\u8bfe\u7a0b\u4f1a\u4ece01\u5f00\u59cb\u8ba9\u4f60\u4eb2\u624b\u9020\u51fa\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002\u4e00\u95e8\u8bfe\u91cc\u6db5\u76d6\u4e86\u7f16\u8bd1\u3001\u865a\u62df\u673a\u3001\u6c47\u7f16\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u6570\u5b57\u7535\u8def\u3001\u903b\u8f91\u95e8\u7b49\u7b49\u4ece\u4e0a\u81f3\u4e0b\u3001\u4ece\u8f6f\u81f3\u786c\u7684\u5404\u7c7b\u77e5\u8bc6\uff0c\u975e\u5e38\u5168\u9762\u3002\u96be\u5ea6\u4e0a\u4e5f\u662f\u901a\u8fc7\u7cbe\u5fc3\u7684\u8bbe\u8ba1\uff0c\u7565\u53bb\u4e86\u4f17\u591a\u73b0\u4ee3\u8ba1\u7b97\u673a\u590d\u6742\u7684\u7ec6\u8282\uff0c\u63d0\u53d6\u51fa\u4e86\u6700\u6838\u5fc3\u672c\u8d28\u7684\u4e1c\u897f\uff0c\u529b\u56fe\u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u7406\u89e3\u3002\u5728\u4f4e\u5e74\u7ea7\uff0c\u5982\u679c\u5c31\u80fd\u4ece\u5b8f\u89c2\u4e0a\u5efa\u7acb\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7684\u9e1f\u77b0\u56fe\uff0c\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002 \u4e13\u4e1a\u8bfe \u5f53\u7136\uff0c\u5982\u679c\u60f3\u6df1\u5165\u73b0\u4ee3\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u590d\u6742\u7ec6\u8282\uff0c\u8fd8\u5f97\u4e0a\u4e00\u95e8\u5927\u5b66\u672c\u79d1\u96be\u5ea6\u7684\u8bfe\u7a0b UCB CS61C: Great Ideas in Computer Architecture \u3002UC Berkeley\u4f5c\u4e3aRISC-V\u67b6\u6784\u7684\u53d1\u6e90\u5730\uff0c\u5728\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7b97\u5f97\u4e0a\u9996\u5c48\u4e00\u6307\u3002\u5176\u8bfe\u7a0b\u975e\u5e38\u6ce8\u91cd\u5b9e\u8df5\uff0c\u4f60\u4f1a\u5728Project\u4e2d\u624b\u5199\u6c47\u7f16\u6784\u9020\u795e\u7ecf\u7f51\u7edc\uff0c\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u4e00\u4e2aCPU\uff0c\u8fd9\u4e9b\u5b9e\u8df5\u90fd\u4f1a\u8ba9\u4f60\u5bf9\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6709\u66f4\u4e3a\u6df1\u5165\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u4ec5\u505c\u7559\u4e8e\u201c\u53d6\u6307\u8bd1\u7801\u6267\u884c\u8bbf\u5b58\u5199\u56de\u201d\u7684\u5355\u8c03\u80cc\u8bf5\u91cc\u3002 \u7cfb\u7edf\u5165\u95e8 \u8ba1\u7b97\u673a\u7cfb\u7edf\u662f\u4e00\u4e2a\u5e9e\u6742\u800c\u6df1\u523b\u7684\u4e3b\u9898\uff0c\u5728\u6df1\u5165\u5b66\u4e60\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u4e4b\u524d\uff0c\u5bf9\u5404\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5b8f\u89c2\u6982\u5ff5\u6027\u7684\u7406\u89e3\uff0c\u5bf9\u4e00\u4e9b\u901a\u7528\u6027\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u6240\u77e5\u6653\uff0c\u4f1a\u8ba9\u4f60\u5728\u4e4b\u540e\u7684\u6df1\u5165\u5b66\u4e60\u4e2d\u4e0d\u65ad\u5f3a\u5316\u4e00\u4e9b\u6700\u4e3a\u6838\u5fc3\u4e43\u81f3\u54f2\u5b66\u7684\u6982\u5ff5\uff0c\u800c\u4e0d\u4f1a\u684e\u688f\u4e8e\u590d\u6742\u7684\u5185\u90e8\u7ec6\u8282\u548c\u5404\u79cdtrick\u3002\u56e0\u4e3a\u5728\u6211\u770b\u6765\uff0c\u5b66\u4e60\u7cfb\u7edf\u6700\u5173\u952e\u7684\u8fd8\u662f\u60f3\u8ba9\u4f60\u9886\u609f\u5230\u8fd9\u4e9b\u6700\u6838\u5fc3\u7684\u4e1c\u897f\uff0c\u4ece\u800c\u80fd\u591f\u8bbe\u8ba1\u548c\u5b9e\u73b0\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002 MIT6.033: System Engineering \u662fMIT\u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u4e3b\u9898\u6d89\u53ca\u4e86\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u3001\u5206\u5e03\u5f0f\u548c\u7cfb\u7edf\u5b89\u5168\uff0c\u9664\u4e86\u77e5\u8bc6\u70b9\u7684\u4f20\u6388\u5916\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u8bb2\u6388\u4e00\u4e9b\u5199\u4f5c\u548c\u8868\u8fbe\u4e0a\u7684\u6280\u5de7\uff0c\u8ba9\u4f60\u5b66\u4f1a\u5982\u4f55\u8bbe\u8ba1\u5e76\u5411\u522b\u4eba\u4ecb\u7ecd\u548c\u5206\u6790\u81ea\u5df1\u7684\u7cfb\u7edf\u3002\u8fd9\u672c\u4e66\u914d\u5957\u7684\u6559\u6750 Principles of Computer System Design: An Introduction \u4e5f\u5199\u5f97\u975e\u5e38\u597d\uff0c\u63a8\u8350\u5927\u5bb6\u9605\u8bfb\u3002 CMU 15-213: Introduction to Computer System \u662fCMU\u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u5185\u5bb9\u8986\u76d6\u4e86\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\u7b49\uff0c\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\uff0c\u914d\u5957\u7684\u6559\u6750 Computer Systems: A Programmer's Perspective \u4e5f\u662f\u8d28\u91cf\u6781\u9ad8\uff0c\u5f3a\u70c8\u5efa\u8bae\u9605\u8bfb\u3002 \u64cd\u4f5c\u7cfb\u7edf \u64cd\u4f5c\u7cfb\u7edf\u4f5c\u4e3a\u6240\u6709\u5e94\u7528\u8f6f\u4ef6\u548c\u5e95\u5c42\u786c\u4ef6\u4ea4\u4e92\u7684\u638c\u8235\u8005\uff0c\u4e86\u89e3\u5b83\u7684\u5185\u90e8\u539f\u7406\u548c\u8bbe\u8ba1\u539f\u5219\u5bf9\u4e8e\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u4e8e\u8c03\u5305\u4fa0\u7684\u7a0b\u5e8f\u5458\u6765\u8bf4\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002\u540c\u65f6\uff0c\u56fd\u5916\u64cd\u7edf\u8bfe\u7a0b\u7684\u8d28\u91cf\u4e5f\u662f\u8ba9\u4e0a\u4e86\u591a\u5e74\u7f51\u8bfe\u7684\u6211\u4e5f\u611f\u5230\u77a0\u76ee\u7ed3\u820c\u3002 MIT 6.S081: Operating System Engineering \uff0cMIT\u8457\u540dPDOS\u5b9e\u9a8c\u5ba4\u51fa\u54c1\uff0c11\u4e2aProject\u4f1a\u8ba9\u4f60\u5728\u4e00\u4e2a2\u4e07\u591a\u884c\u7684\u6559\u5b66\u7528\u8ff7\u4f60\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u589e\u52a0\u5404\u7c7b\u529f\u80fd\u6a21\u5757\u3002\u8fd9\u95e8\u8bfe\u4e5f\u8ba9\u6211\u6df1\u523b\u8ba4\u8bc6\u5230\uff0c\u505a\u7cfb\u7edf\u4e0d\u662f\u9760PPT\u5ff5\u51fa\u6765\u7684\uff0c\u662f\u5f97\u51e0\u4e07\u884c\u4ee3\u7801\u4e00\u70b9\u70b9\u7d2f\u8d77\u6765\u7684\u3002 UCB CS162: Operating System \uff0c\u4f2f\u514b\u5229\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u91c7\u7528\u548cStanford\u540c\u6837\u7684Project \u2014\u2014 \u4e00\u4e2a\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edfPintos\u3002\u6211\u4f5c\u4e3a\u4e0b\u5b66\u671f\u5317\u4eac\u5927\u5b66\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u7684\u52a9\u6559\uff0c\u4f1a\u5c1d\u8bd5\u5f15\u5165\u8fd9\u4e2aProject\uff0c\u6b22\u8fce\u5927\u5bb6\u9009\u8bfe\u5c1d\u8bd5\uff0c\u540c\u65f6\u8bfe\u7a0b\u8d44\u6e90\u4e5f\u4f1a\u5168\u90e8\u5f00\u6e90\uff0c\u76ee\u524d \u8bfe\u7a0b\u7f51\u7ad9 \u6b63\u5728\u5efa\u8bbe\u5f53\u4e2d\u3002 \u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u7cfb\u7edf \u60f3\u5fc5\u8fd9\u4e24\u5e74\u5404\u7c7bCS\u8bb2\u5ea7\u91cc\u6700\u5e38\u542c\u5230\u7684\u8bdd\u5c31\u662f\u201c\u6469\u5c14\u5b9a\u5f8b\u6b63\u5728\u8d70\u5411\u7ec8\u7ed3\u201d\uff0c\u6b64\u8bdd\u4e0d\u5047\u3002\u540c\u65f6\u5982\u4eca\u6df1\u5ea6\u5b66\u4e60\u7684\u5174\u8d77\u5bfc\u81f4\u5bf9\u8ba1\u7b97\u673a\u7b97\u529b\u4e0e\u5b58\u50a8\u7684\u8981\u6c42\u90fd\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u56e0\u6b64\u5e76\u884c\u548c\u5206\u5e03\u5f0f\u7cfb\u7edf\u5df2\u6210\u4e3a\u4e00\u9879\u70ed\u95e8\u6280\u672f\u8bdd\u9898\u3002 \u5e76\u884c\u8ba1\u7b97 CMU 15-418/Stanford CS149: Parallel Computing \u5206\u5e03\u5f0f\u7cfb\u7edf MIT 6.824: Distributed System \u7cfb\u7edf\u5b89\u5168 \u4e0d\u77e5\u9053\u4f60\u5f53\u5e74\u9009\u62e9\u8ba1\u7b97\u673a\u662f\u4e0d\u662f\u56e0\u4e3a\u6000\u7740\u4e00\u4e2a\u4e2d\u4e8c\u7684\u9ed1\u5ba2\u68a6\u60f3\uff0c\u4f46\u73b0\u5b9e\u5374\u662f\u6210\u4e3a\u9ed1\u5ba2\u9053\u963b\u4e14\u957f\u3002 \u7406\u8bba UCB CS161: Computer Security \u662f\u4f2f\u514b\u5229\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u4f1a\u6db5\u76d6\u6808\u653b\u51fb\u3001\u5bc6\u7801\u5b66\u3001\u7f51\u7ad9\u5b89\u5168\u3001\u7f51\u7edc\u5b89\u5168\u7b49\u7b49\u5185\u5bb9\u3002 \u5b9e\u8df5 \u638c\u63e1\u8fd9\u4e9b\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u8fd8\u9700\u8981\u5728\u5b9e\u8df5\u4e2d\u57f9\u517b\u548c\u953b\u70bc\u8fd9\u4e9b\u201c\u5b89\u5168\u7d20\u517b\u201d\u3002 CTF\u593a\u65d7\u8d5b \u662f\u4e00\u9879\u6bd4\u8f83\u70ed\u95e8\u7684\u7cfb\u7edf\u5b89\u5168\u6bd4\u8d5b\uff0c\u8d5b\u9898\u4e2d\u4f1a\u878d\u4f1a\u8d2f\u901a\u5730\u8003\u5bdf\u4f60\u5bf9\u8ba1\u7b97\u673a\u5404\u4e2a\u9886\u57df\u77e5\u8bc6\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002\u5317\u5927\u4eca\u5e74\u4e5f\u6210\u529f\u4e3e\u529e\u4e86 \u7b2c0\u5c4a\u548c\u7b2c1\u5c4a \uff0c\u4e5f\u9f13\u52b1\u5927\u5bb6\u540e\u671f\u8e0a\u8dc3\u53c2\u4e0e\uff0c\u5728\u5b9e\u8df5\u4e2d\u63d0\u9ad8\u81ea\u5df1\u3002\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\u6211\u5e73\u65f6\u5b66\u4e60\uff08\u6478\u9c7c\uff09\u7528\u5230\u7684\u8d44\u6e90\uff1a CTF-wiki CTF-101 Hacker-101 \u8ba1\u7b97\u673a\u7f51\u7edc \u8ba1\u7f51\u8457\u540d\u6559\u6750\u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u7684\u914d\u5957\u5b66\u4e60\u8d44\u6e90 Computer Networking: A Top-Down Approach \u3002 \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2aTCP/IP\u534f\u8bae\u6808\u66f4\u80fd\u52a0\u6df1\u81ea\u5df1\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u7684\u7406\u89e3\u4e86\uff0c\u6240\u4ee5\u4e0d\u59a8\u8bd5\u8bd5 Stanford CS144: Computer Network \uff0c8\u4e2aProject\u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a\u534f\u8bae\u6808\u3002 \u6570\u636e\u5e93\u7cfb\u7edf \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u66f4\u80fd\u52a0\u6df1\u81ea\u5df1\u5bf9\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002 C++\u7248 CMU 15-445: Introduction to Database System Java\u7248 UCB CS186: Introduction to Database System \u7f16\u8bd1\u539f\u7406 \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u7f16\u8bd1\u5668\u66f4\u80fd\u52a0\u6df1\u81ea\u5df1\u5bf9\u7f16\u8bd1\u5668\u7684\u7406\u89e3\u4e86\u3002 Stanford CS143: Compilers \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66 Games101 Web\u5f00\u53d1 \u7f51\u7ad9\u7684\u5f00\u53d1\u5f88\u5c11\u5728\u8ba1\u7b97\u673a\u7684\u57f9\u517b\u65b9\u6848\u91cc\u88ab\u91cd\u89c6\uff0c\u4f46\u5176\u5b9e\u638c\u63e1\u8fd9\u9879\u6280\u80fd\u8fd8\u662f\u597d\u5904\u591a\u591a\u7684\uff0c\u4f8b\u5982\u642d\u5efa\u81ea\u5df1\u7684\u4e2a\u4eba\u4e3b\u9875\uff0c\u6291\u6216\u662f\u7ed9\u81ea\u5df1\u7684\u8bfe\u7a0b\u9879\u76ee\u505a\u4e00\u4e2a\u7cbe\u5f69\u7684\u5c55\u793a\u7f51\u9875\u3002 \u4e24\u5468\u901f\u6210\u7248 MIT web development course \u7cfb\u7edf\u5b66\u4e60\u7248 Stanford CS142: Web Applications \u6570\u636e\u79d1\u5b66 UCB Data100: Principles and Techniques of Data Science \u4eba\u5de5\u667a\u80fd \u5165\u95e8\u8bfe Harvard CS50\u2019s Introduction to AI with Python \u4e13\u4e1a\u8bfe UCB CS188: Introduction to Artificial Intelligence \u673a\u5668\u5b66\u4e60 \u5165\u95e8\u8bfe Coursera: Machine Learning \u4e13\u4e1a\u8bfe Stanford CS229: Machine Learning UCB CS189: Introduction to Machine Learning \u6df1\u5ea6\u5b66\u4e60 \u5165\u95e8\u8bfe Coursera: Deep Learning \u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60 \u8ba1\u7b97\u673a\u89c6\u89c9 Stanford CS231n: CNN for Visual Recognition \u81ea\u7136\u8bed\u8a00\u5904\u7406 Stanford CS224n: Natural Language Processing \u56fe\u795e\u7ecf\u7f51\u7edc Stanford CS224w: Machine Learning with Graphs \u5f3a\u5316\u5b66\u4e60 UCB CS285: Deep Reinforcement Learning \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u6388\u4eba\u4ee5\u9c7c\u4e0d\u5982\u6388\u4eba\u4ee5\u6e14\u3002 \u4ee5\u4e0a\u7684\u8bfe\u7a0b\u89c4\u5212\u96be\u514d\u6709\u5f3a\u70c8\u7684\u4e2a\u4eba\u503e\u5411\u548c\u559c\u597d\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u6240\u6709\u4eba\uff0c\u66f4\u591a\u7684\u662f\u8d77\u5230\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\u3002\u5982\u679c\u4f60\u60f3\u6311\u9009\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\u548c\u5185\u5bb9\u52a0\u4ee5\u5b66\u4e60\uff0c\u53ef\u4ee5\u53c2\u8003\u6211\u5728\u4e0b\u9762\u5217\u51fa\u6765\u7684\u8d44\u6e90\u3002 MIT OpenCourseWare : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684\u8bfe\u7a0b\u8d44\u6e90\u5f00\u653e\u5171\u4eab\u9879\u76ee\uff0c\u6536\u5f55\u4e86\u6570\u4ee5\u5343\u8ba1\u7684\u5404\u79d1\u8bfe\u7a0b\u8d44\u6e90\uff0c\u5176\u4e2d\u8ba1\u7b97\u673a\u7c7b\u7684\u8bfe\u53f7\u662f6.xxx\u3002 MIT CS Course List \uff1a\u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684CS\u8bfe\u7a0b\u5217\u8868\u3002 UC Berkeley EECS Course Map \uff1aUC Berkeley\u7684EECS\u57f9\u517b\u65b9\u6848\uff0c\u4ee5\u8bfe\u7a0b\u5730\u56fe\u7684\u65b9\u5f0f\u5c06\u5404\u95e8\u8bfe\u7a0b\u7684\u7c7b\u522b\u548c\u5148\u4fee\u5173\u7cfb\u4e00\u76ee\u4e86\u7136\u5730\u5448\u73b0\uff0c\u5176\u4e2d\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 UC Berkeley CS Course List : UC Berkeley\u7684CS\u8bfe\u7a0b\u5217\u8868\u3002 Stanford CS Course List : \u65af\u5766\u798f\u7684CS\u8bfe\u7a0b\u5217\u8868\u3002","title":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#cs","text":"\u8ba1\u7b97\u673a\u9886\u57df\u65b9\u5411\u5e9e\u6742\uff0c\u77e5\u8bc6\u6d69\u5982\u70df\u6d77\uff0c\u6bcf\u4e2a\u7ec6\u5206\u9886\u57df\u5982\u679c\u6df1\u7a76\u4e0b\u53bb\u90fd\u53ef\u4ee5\u8bf4\u5b66\u65e0\u6b62\u5883\u3002\u56e0\u6b64\uff0c\u4e00\u4e2a\u6e05\u6670\u660e\u786e\u7684\u5b66\u4e60\u89c4\u5212\u662f\u975e\u5e38\u91cd\u8981\u7684\u3002\u8fd9\u4e00\u8282\u7684\u5185\u5bb9\u662f\u5bf9\u540e\u7eed\u6574\u672c\u4e66\u7684\u5185\u5bb9\u7684\u4e00\u4e2a\u6982\u89c8\uff0c\u4f60\u53ef\u4ee5\u5c06\u5176\u770b\u4f5c\u662f\u8fd9\u672c\u4e66\u7684\u76ee\u5f55\uff0c\u6309\u9700\u9009\u62e9\u81ea\u5df1\u611f\u5174\u8da3\u7684\u5185\u5bb9\u8fdb\u884c\u5b66\u4e60\u3002 \u4e0d\u8fc7\uff0c\u5728\u5f00\u59cb\u5b66\u4e60\u4e4b\u524d\uff0c\u5148\u5411\u5c0f\u767d\u4eec\u5f3a\u70c8\u63a8\u8350\u4e00\u4e2a\u79d1\u666e\u5411\u7cfb\u5217\u89c6\u9891 Crash Course: Computer Science \uff0c\u5728\u77ed\u77ed8\u4e2a\u5c0f\u65f6\u91cc\u975e\u5e38\u751f\u52a8\u4e14\u5168\u9762\u5730\u79d1\u666e\u4e86\u5173\u4e8e\u8ba1\u7b97\u673a\u79d1\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff1a\u8ba1\u7b97\u673a\u7684\u5386\u53f2\u3001\u8ba1\u7b97\u673a\u662f\u5982\u4f55\u8fd0\u4f5c\u7684\u3001\u7ec4\u6210\u8ba1\u7b97\u673a\u7684\u5404\u4e2a\u91cd\u8981\u6a21\u5757\u3001\u8ba1\u7b97\u673a\u79d1\u5b66\u4e2d\u7684\u91cd\u8981\u601d\u60f3\u7b49\u7b49\u7b49\u7b49\u3002\u6b63\u5982\u5b83\u7684\u53e3\u53f7\u6240\u8bf4\u7684 Computers are not magic! \uff0c\u5e0c\u671b\u770b\u5b8c\u8fd9\u4e2a\u89c6\u9891\u4e4b\u540e\uff0c\u5927\u5bb6\u80fd\u5bf9\u8ba1\u7b97\u673a\u79d1\u5b66\u6709\u4e2a\u5168\u8c8c\u6027\u5730\u611f\u77e5\uff0c\u4ece\u800c\u6000\u7740\u5174\u8da3\u53bb\u9762\u5bf9\u4e0b\u9762\u6d69\u5982\u70df\u6d77\u7684\u66f4\u4e3a\u7ec6\u81f4\u4e14\u6df1\u5165\u7684\u5b66\u4e60\u5185\u5bb9\u3002","title":"\u4e00\u4e2a\u4ec5\u4f9b\u53c2\u8003\u7684CS\u5b66\u4e60\u89c4\u5212"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_1","text":"\u4fd7\u8bdd\u8bf4\uff1a\u78e8\u5200\u4e0d\u8bef\u780d\u67f4\u5de5\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u521a\u521a\u63a5\u89e6\u8ba1\u7b97\u673a\u768424k\u7eaf\u5c0f\u767d\uff0c\u5b66\u4f1a\u4e00\u4e9b\u5de5\u5177\u5c06\u4f1a\u8ba9\u4f60\u4e8b\u534a\u529f\u500d\u3002 MIT-Missing-Semester \u8fd9\u95e8\u8bfe\u8986\u76d6\u4e86\u8fd9\u4e9b\u5de5\u5177\u4e2d\u7edd\u5927\u90e8\u5206\uff0c\u800c\u4e14\u6709\u76f8\u5f53\u8be6\u7ec6\u7684\u4f7f\u7528\u6307\u5bfc\uff0c\u5f3a\u70c8\u5efa\u8bae\u5c0f\u767d\u5b66\u4e60\u3002 \u7ffb\u5899 \uff1a\u7531\u4e8e\u4e00\u4e9b\u4f17\u6240\u5468\u77e5\u7684\u539f\u56e0\uff0c\u8c37\u6b4c\u3001Github\u7b49\u7f51\u7ad9\u5728\u5927\u9646\u65e0\u6cd5\u8bbf\u95ee\u3002\u7136\u800c\u5f88\u591a\u65f6\u5019\uff0c\u8c37\u6b4c\u548cStackoverflow\u53ef\u4ee5\u89e3\u51b3\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u9047\u5230\u768495%\u7684\u95ee\u9898\u3002\u56e0\u6b64\uff0c\u5b66\u4f1a\u7ffb\u5899\u51e0\u4e4e\u662f\u4e00\u4e2a\u5185\u5730CSer\u7684\u5fc5\u5907\u6280\u80fd\u3002\uff08\u8003\u8651\u5230\u6cd5\u5f8b\u95ee\u9898\uff0c\u8fd9\u4e2a\u6587\u6863\u63d0\u4f9b\u7684\u7ffb\u5899\u65b9\u5f0f\u4ec5\u5bf9\u62e5\u6709\u5317\u5927\u90ae\u7bb1\u7684\u7528\u6237\u9002\u7528\uff09\u3002 IDE\uff08Integrated Development Environment\uff09\uff1a\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u8bf4\u767d\u4e86\u5c31\u662f\u4f60\u5199\u4ee3\u7801\u7684\u5730\u65b9\u3002\u4f5c\u4e3a\u4e00\u4e2a\u7801\u519c\uff0cIDE\u7684\u91cd\u8981\u6027\u4e0d\u8a00\u800c\u55bb\uff0c\u4f46\u7531\u4e8e\u5f88\u591aIDE\u662f\u4e3a\u5927\u578b\u5de5\u7a0b\u9879\u76ee\u8bbe\u8ba1\u7684\uff0c\u4f53\u91cf\u8f83\u5927\uff0c\u529f\u80fd\u4e5f\u8fc7\u4e8e\u4e30\u5bcc\u3002\u5176\u5b9e\u5982\u4eca\u4e00\u4e9b\u8f7b\u4fbf\u7684\u6587\u672c\u7f16\u8f91\u5668\u914d\u5408\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\u57fa\u672c\u53ef\u4ee5\u6ee1\u8db3\u65e5\u5e38\u7684\u8f7b\u91cf\u7f16\u7a0b\u9700\u6c42\u3002\u4e2a\u4eba\u5e38\u7528\u7684\u7f16\u8f91\u5668\u662fVSCode\u548cSublime\uff08\u524d\u8005\u7684\u63d2\u4ef6\u914d\u7f6e\u975e\u5e38\u7b80\u5355\uff0c\u540e\u8005\u7565\u663e\u590d\u6742\u4f46\u989c\u503c\u5f88\u9ad8\uff09\u3002\u5f53\u7136\u5bf9\u4e8e\u5927\u578b\u9879\u76ee\u6211\u8fd8\u662f\u4f1a\u91c7\u7528\u7565\u91cd\u578b\u7684IDE\uff0c\u4f8b\u5982Pycharm\uff08Python\uff09\uff0cIDEA\uff08Java\uff09\u7b49\u7b49\uff08\u514d\u8d23\u7533\u660e\uff1a\u6240\u6709\u7684IDE\u90fd\u662f\u4e16\u754c\u4e0a\u6700\u597d\u7684IDE\uff09\u3002 Vim \uff1a\u4e00\u6b3e\u547d\u4ee4\u884c\u7f16\u8f91\u5de5\u5177\u3002\u8fd9\u662f\u4e00\u4e2a\u5b66\u4e60\u66f2\u7ebf\u6709\u4e9b\u9661\u5ced\u7684\u7f16\u8f91\u5668\uff0c\u4e0d\u8fc7\u5b66\u4f1a\u5b83\u6211\u89c9\u5f97\u662f\u975e\u5e38\u6709\u5fc5\u8981\u7684\uff0c\u56e0\u4e3a\u5b83\u5c06\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7684\u5f00\u53d1\u6548\u7387\u3002\u73b0\u5728\u7edd\u5927\u591a\u6570IDE\u4e5f\u90fd\u652f\u6301Vim\u63d2\u4ef6\uff0c\u8ba9\u4f60\u5728\u4eab\u53d7\u73b0\u4ee3\u5f00\u53d1\u73af\u5883\u7684\u540c\u65f6\u4fdd\u7559\u6781\u5ba2\u7684\u70ab\u9177\uff08yue\uff09\u3002 Git \uff1a\u4e00\u6b3e\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\u3002Git\u7684\u5b66\u4e60\u66f2\u7ebf\u53ef\u80fd\u66f4\u4e3a\u9661\u5ced\uff0c\u4f46\u51fa\u81eaLinux\u4e4b\u7236Linus\u4e4b\u624b\u7684Git\u7edd\u5bf9\u662f\u6bcf\u4e2a\u5b66CS\u7684\u7ae5\u978b\u5fc5\u987b\u638c\u63e1\u7684\u795e\u5668\u4e4b\u4e00\u3002 Github \uff1a\u57fa\u4e8eGit\u7684\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u5168\u4e16\u754c\u6700\u5927\u7684\u4ee3\u7801\u5f00\u6e90\u793e\u533a\uff0c\u5927\u4f6c\u96c6\u805a\u5730\u3002 Makefile \uff1a\u4e00\u6b3e\u5de5\u7a0b\u6784\u5efa\u5de5\u5177\u3002\u5584\u7528Makefile\u4f1a\u8ba9\u4f60\u517b\u6210\u4ee3\u7801\u6a21\u5757\u5316\u7684\u4e60\u60ef\uff0c\u540c\u65f6\u4e5f\u80fd\u8ba9\u4f60\u719f\u6089\u4e00\u4e9b\u5927\u578b\u5de5\u7a0b\u7684\u7f16\u8bd1\u94fe\u63a5\u6d41\u7a0b\u3002 CMake \uff1a\u4e00\u6b3e\u529f\u80fd\u6bd4Makefile\u66f4\u4e3a\u5f3a\u5927\u7684\u6784\u5efa\u5de5\u5177\uff0c\u5efa\u8bae\u638c\u63e1Makefile\u4e4b\u540e\u518d\u52a0\u4ee5\u5b66\u4e60\u3002 LaTex \uff1a \u903c\u683c\u63d0\u5347 \u8bba\u6587\u6392\u7248\u5de5\u5177\u3002 Docker \uff1a\u4e00\u6b3e\u76f8\u8f83\u4e8e\u865a\u62df\u673a\u66f4\u8f7b\u91cf\u7ea7\u7684\u8f6f\u4ef6\u6253\u5305\u4e0e\u73af\u5883\u90e8\u7f72\u5de5\u5177\u3002 \u5b9e\u7528\u5de5\u5177\u7bb1 \uff1a\u9664\u4e86\u4e0a\u9762\u63d0\u5230\u7684\u8fd9\u4e9b\u5728\u5f00\u53d1\u4e2d\u4f7f\u7528\u9891\u7387\u6781\u9ad8\u7684\u5de5\u5177\u4e4b\u5916\uff0c\u6211\u8fd8\u6536\u96c6\u4e86\u5f88\u591a\u5b9e\u7528\u6709\u8da3\u7684\u514d\u8d39\u5de5\u5177\uff0c\u4f8b\u5982\u4e00\u4e9b\u4e0b\u8f7d\u5de5\u5177\u3001\u8bbe\u8ba1\u5de5\u5177\u3001\u5b66\u4e60\u7f51\u7ad9\u7b49\u7b49\u3002","title":"\u5fc5\u5b66\u5de5\u5177"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_2","text":"\u79c1\u4ee5\u4e3a\u4e00\u672c\u597d\u7684\u6559\u6750\u5e94\u5f53\u662f\u4ee5\u4eba\u4e3a\u672c\u7684\uff0c\u800c\u4e0d\u662f\u70ab\u6280\u5f0f\u7684\u7406\u8bba\u5806\u780c\u3002\u544a\u8bc9\u8bfb\u8005\u201c\u662f\u4ec0\u4e48\u201d\u56fa\u7136\u91cd\u8981\uff0c\u4f46\u66f4\u597d\u7684\u5e94\u5f53\u662f\u6559\u6750\u4f5c\u8005\u5c06\u5176\u5728\u8fd9\u4e2a\u9886\u57df\u6df1\u8015\u51e0\u5341\u5e74\u7684\u7ecf\u9a8c\u878d\u6c47\u8fdb\u4e66\u4e2d\uff0c\u5411\u8bfb\u8005\u5a13\u5a13\u9053\u6765\u201c\u4e3a\u4ec0\u4e48\u201d\u4ee5\u53ca\u672a\u6765\u5e94\u8be5\u201c\u600e\u4e48\u505a\u201d\u3002 \u94fe\u63a5\u6233\u8fd9\u91cc","title":"\u597d\u4e66\u63a8\u8350"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_3","text":"\u4f60\u4ee5\u4e3a\u7684\u5f00\u53d1 \u2014\u2014 \u5728IDE\u91cc\u75af\u72c2\u7801\u4ee3\u7801\u6570\u5c0f\u65f6\u3002 \u5b9e\u9645\u4e0a\u7684\u5f00\u53d1 \u2014\u2014 \u914d\u73af\u5883\u914d\u51e0\u5929\u8fd8\u6ca1\u5f00\u59cb\u5199\u4ee3\u7801\u3002 \u63a8\u8350\u4e00\u4e2a\u975e\u5e38\u4e0d\u9519\u7684Github\u9879\u76ee DevOps-Guide \uff0c\u5176\u4e2d\u6db5\u76d6\u4e86\u975e\u5e38\u591a\u7684\u8fd0\u7ef4\u65b9\u9762\u7684\u57fa\u7840\u77e5\u8bc6\u548c\u6559\u7a0b\uff0c\u4f8b\u5982Docker\uff0cK8s\uff0cLinux\uff0cCI-CD\uff0cGithub Actions\u7b49\u7b49\u3002 \u53e6\u5916\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003\u4e00\u4efd\u7075\u611f\u6765\u81ea 6.NULL MIT-Missing-Semester \u7684 \u73af\u5883\u914d\u7f6e\u6307\u5357 \uff0c\u91cd\u70b9\u5728\u4e8e\u7ec8\u7aef\u7684\u7f8e\u5316\u914d\u7f6e\u3002\u6b64\u5916\u8fd8\u5305\u62ec\u5e38\u7528\u8f6f\u4ef6\u6e90\uff08\u5982 GitHub , Anaconda , pip \u7b49\uff09\u7684\u52a0\u901f\u4e0e\u66ff\u6362\u4ee5\u53ca\u4e00\u4e9bIDE\u7684\u914d\u7f6e\u4e0e\u6fc0\u6d3b\u6559\u7a0b\u3002 More contents under construction.","title":"\u73af\u5883\u914d\u7f6e"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_4","text":"\u6b63\u5982\u8fd9\u7ae0\u5f00\u5934\u63d0\u5230\u7684\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u4ec5\u4ec5\u662f\u4e00\u4e2a \u4ec5\u4f9b\u53c2\u8003 \u7684\u8bfe\u7a0b\u89c4\u5212\uff0c\u6211\u4f5c\u4e3a\u4e00\u4e2a\u4e34\u8fd1\u6bd5\u4e1a\u7684\u672c\u79d1\u751f\u3002\u6df1\u611f\u81ea\u5df1\u6ca1\u6709\u6743\u5229\u4e5f\u6ca1\u6709\u80fd\u529b\u5411\u522b\u4eba\u5ba3\u626c\u201c\u5e94\u8be5\u600e\u4e48\u5b66\u201d\u3002\u56e0\u6b64\u5982\u679c\u4f60\u89c9\u5f97\u4ee5\u4e0b\u7684\u8bfe\u7a0b\u5206\u7c7b\u4e0e\u9009\u62e9\u6709\u4e0d\u5408\u7406\u4e4b\u5904\uff0c\u6211\u5168\u76d8\u63a5\u53d7\uff0c\u5e76\u6df1\u611f\u62b1\u6b49\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4e00\u8282 \u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe \u4ee5\u4e0b\u8bfe\u7a0b\u7c7b\u522b\u4e2d\u9664\u4e86\u542b\u6709 \u57fa\u7840 \u548c \u5165\u95e8 \u5b57\u773c\u7684\u4ee5\u5916\uff0c\u5e76\u65e0\u660e\u786e\u7684\u5148\u540e\u6b21\u5e8f\uff0c\u5927\u5bb6\u53ea\u8981\u6ee1\u8db3\u67d0\u4e2a\u8bfe\u7a0b\u7684\u5148\u4fee\u8981\u6c42\uff0c\u5b8c\u5168\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u8981\u548c\u559c\u597d\u9009\u62e9\u60f3\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b\u3002 \u53e6\u5916\u7531\u4e8e\u8d21\u732e\u8005\u7684\u4e0d\u65ad\u589e\u52a0\uff0c\u8fd9\u4efd\u8bfe\u7a0b\u5730\u56fe\u5df2\u7ecf\u4ece\u6700\u521d\u6211\u7684\u5b66\u4e60\u7ecf\u5386\uff0c\u53d1\u5c55\u6210\u4e3a\u5f88\u591aCS\u81ea\u5b66\u8005\u7684\u8d44\u6e90\u5408\u96c6\uff0c\u5176\u4e2d\u96be\u514d\u6709\u5185\u5bb9\u4ea4\u53c9\u751a\u81f3\u91cd\u590d\u7684\u3002\u4f46\u4e4b\u6240\u4ee5\u90fd\u5217\u51fa\u6765\uff0c\u8fd8\u662f\u5e0c\u671b\u96c6\u767e\u5bb6\u4e4b\u957f\uff0c\u7ed9\u5927\u5bb6\u5c3d\u53ef\u80fd\u591a\u7684\u9009\u62e9\u4e0e\u53c2\u8003\u3002","title":"\u8bfe\u7a0b\u5730\u56fe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_5","text":"","title":"\u6570\u5b66\u57fa\u7840"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_6","text":"\u4f5c\u4e3a\u5927\u4e00\u65b0\u751f\uff0c\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u662f\u548c\u5199\u4ee3\u7801\u81f3\u5c11\u540c\u7b49\u91cd\u8981\u7684\u4e8b\u60c5\uff0c\u76f8\u4fe1\u5df2\u7ecf\u6709\u65e0\u6570\u7684\u524d\u4eba\u7ecf\u9a8c\u63d0\u5230\u8fc7\u8fd9\u4e00\u70b9\uff0c\u4f46\u6211\u8fd8\u662f\u8981\u4e0d\u538c\u5176\u70e6\u5730\u518d\u5f3a\u8c03\u4e00\u904d\uff1a\u5b66\u597d\u5fae\u79ef\u5206\u7ebf\u4ee3\u771f\u7684\u5f88\u91cd\u8981\uff01\u4f60\u4e5f\u8bb8\u4f1a\u5410\u69fd\u8fd9\u4e9b\u4e1c\u897f\u5c82\u4e0d\u662f\u8003\u5b8c\u5c31\u5fd8\uff0c\u90a3\u6211\u89c9\u5f97\u4f60\u662f\u5e76\u6ca1\u6709\u628a\u63e1\u4f4f\u5b83\u4eec\u672c\u8d28\uff0c\u5bf9\u5b83\u4eec\u7684\u7406\u89e3\u8fd8\u6ca1\u6709\u8fbe\u5230\u523b\u9aa8\u94ed\u5fc3\u7684\u7a0b\u5ea6\u3002\u5982\u679c\u89c9\u5f97\u8001\u5e08\u8bfe\u4e0a\u8bb2\u7684\u5185\u5bb9\u6666\u6da9\u96be\u61c2\uff0c\u4e0d\u59a8\u53c2\u8003MIT\u7684 Calculus Course \u548c 18.06: Linear Algebra \u7684\u8bfe\u7a0bnotes\uff0c\u81f3\u5c11\u4e8e\u6211\u800c\u8a00\uff0c\u5b83\u5e2e\u52a9\u6211\u6df1\u523b\u7406\u89e3\u4e86\u5fae\u79ef\u5206\u548c\u7ebf\u6027\u4ee3\u6570\u7684\u8bb8\u591a\u672c\u8d28\u3002\u987a\u9053\u518d\u5b89\u5229\u4e00\u4e2a\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \uff0c\u4ed6\u7684\u9891\u9053\u6709\u5f88\u591a\u7528\u751f\u52a8\u5f62\u8c61\u7684\u52a8\u753b\u9610\u91ca\u6570\u5b66\u672c\u8d28\u5185\u6838\u7684\u89c6\u9891\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u8d28\u91cf\u975e\u5e38\u9ad8\u3002","title":"\u5fae\u79ef\u5206\u4e0e\u7ebf\u6027\u4ee3\u6570"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_7","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u53ca\u65e9\u4e86\u89e3\u4e00\u4e9b\u4fe1\u606f\u8bba\u7684\u57fa\u7840\u77e5\u8bc6\uff0c\u6211\u89c9\u5f97\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002\u4f46\u5927\u591a\u4fe1\u606f\u8bba\u8bfe\u7a0b\u90fd\u9762\u5411\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u751a\u81f3\u7814\u7a76\u751f\uff0c\u5bf9\u65b0\u624b\u6781\u4e0d\u53cb\u597d\u3002\u800cMIT\u7684 6.050J: Information theory and Entropy \u8fd9\u95e8\u8bfe\u6b63\u662f\u4e3a\u5927\u4e00\u65b0\u751f\u91cf\u8eab\u5b9a\u5236\u7684\uff0c\u51e0\u4e4e\u6ca1\u6709\u5148\u4fee\u8981\u6c42\uff0c\u6db5\u76d6\u4e86\u7f16\u7801\u3001\u538b\u7f29\u3001\u901a\u4fe1\u3001\u4fe1\u606f\u71b5\u7b49\u7b49\u5185\u5bb9\uff0c\u975e\u5e38\u6709\u8da3\u3002","title":"\u4fe1\u606f\u8bba\u5165\u95e8"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_8","text":"","title":"\u6570\u5b66\u8fdb\u9636"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_9","text":"\u96c6\u5408\u8bba\u3001\u56fe\u8bba\u3001\u6982\u7387\u8bba\u7b49\u7b49\u662f\u7b97\u6cd5\u63a8\u5bfc\u4e0e\u8bc1\u660e\u7684\u91cd\u8981\u5de5\u5177\uff0c\u4e5f\u662f\u540e\u7eed\u9ad8\u9636\u6570\u5b66\u8bfe\u7a0b\u7684\u57fa\u7840\u3002\u4f46\u6211\u89c9\u5f97\u8fd9\u7c7b\u8bfe\u7a0b\u7684\u8bb2\u6388\u5f88\u5bb9\u6613\u843d\u5165\u7406\u8bba\u5316\u4e0e\u5f62\u5f0f\u5316\u7684\u7aa0\u81fc\uff0c\u8ba9\u8bfe\u5802\u6210\u4e3a\u5b9a\u7406\u7ed3\u8bba\u7684\u5806\u780c\uff0c\u800c\u65e0\u6cd5\u4f7f\u5b66\u751f\u6df1\u523b\u628a\u63e1\u7406\u8bba\u7684\u672c\u8d28\uff0c\u8fdb\u800c\u9020\u6210\u5b66\u4e86\u5c31\u80cc\uff0c\u8003\u4e86\u5c31\u5fd8\u7684\u602a\u5708\u3002\u5982\u679c\u80fd\u5728\u7406\u8bba\u6559\u5b66\u4e2d\u7a7f\u63d2\u7b97\u6cd5\u8fd0\u7528\u5b9e\u4f8b\uff0c\u5b66\u751f\u5728\u62d3\u5c55\u7b97\u6cd5\u77e5\u8bc6\u7684\u540c\u65f6\u4e5f\u80fd\u7aa5\u89c1\u7406\u8bba\u7684\u529b\u91cf\u548c\u9b45\u529b\u3002 UCB CS70 : discrete Math and probability theory \u548c UCB CS126 : Probability theory \u662fUC Berkeley\u7684\u6982\u7387\u8bba\u8bfe\u7a0b\uff0c\u524d\u8005\u8986\u76d6\u4e86\u79bb\u6563\u6570\u5b66\u548c\u6982\u7387\u8bba\u57fa\u7840\uff0c\u540e\u8005\u5219\u6d89\u53ca\u968f\u673a\u8fc7\u7a0b\u4ee5\u53ca\u6df1\u5165\u7684\u7406\u8bba\u5185\u5bb9\u3002\u4e24\u8005\u90fd\u975e\u5e38\u6ce8\u91cd\u7406\u8bba\u548c\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u6709\u4e30\u5bcc\u7684\u7b97\u6cd5\u5b9e\u9645\u8fd0\u7528\u5b9e\u4f8b\uff0c\u540e\u8005\u8fd8\u6709\u5927\u91cf\u7684Python\u7f16\u7a0b\u4f5c\u4e1a\u6765\u8ba9\u5b66\u751f\u8fd0\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002","title":"\u79bb\u6563\u6570\u5b66\u4e0e\u6982\u7387\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_10","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u57f9\u517b\u8ba1\u7b97\u601d\u7ef4\u662f\u5f88\u91cd\u8981\u7684\uff0c\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u3001\u79bb\u6563\u5316\uff0c\u8ba1\u7b97\u673a\u7684\u6a21\u62df\u3001\u5206\u6790\uff0c\u662f\u4e00\u9879\u5f88\u91cd\u8981\u7684\u80fd\u529b\u3002\u800c\u8fd9\u4e24\u5e74\u5f00\u59cb\u98ce\u9761\u7684\uff0c\u7531MIT\u6253\u9020\u7684 Julia \u7f16\u7a0b\u8bed\u8a00\u4ee5\u5176C\u4e00\u6837\u7684\u901f\u5ea6\u548cPython\u4e00\u6837\u53cb\u597d\u7684\u8bed\u6cd5\u5728\u6570\u503c\u8ba1\u7b97\u9886\u57df\u6709\u4e00\u7edf\u5929\u4e0b\u4e4b\u52bf\uff0cMIT\u7684\u8bb8\u591a\u6570\u5b66\u8bfe\u7a0b\u4e5f\u5f00\u59cb\u7528Julia\u4f5c\u4e3a\u6559\u5b66\u5de5\u5177\uff0c\u628a\u8270\u6df1\u7684\u6570\u5b66\u7406\u8bba\u7528\u76f4\u89c2\u6e05\u6670\u7684\u4ee3\u7801\u5c55\u793a\u51fa\u6765\u3002 ComputationalThinking \u662fMIT\u5f00\u8bbe\u7684\u4e00\u95e8\u8ba1\u7b97\u601d\u7ef4\u5165\u95e8\u8bfe\uff0c\u6240\u6709\u8bfe\u7a0b\u5185\u5bb9\u5168\u90e8\u5f00\u6e90\uff0c\u53ef\u4ee5\u5728\u8bfe\u7a0b\u7f51\u7ad9\u76f4\u63a5\u8bbf\u95ee\u3002\u8fd9\u95e8\u8bfe\u5229\u7528Julia\u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u56fe\u50cf\u5904\u7406\u3001\u793e\u4f1a\u79d1\u5b66\u4e0e\u6570\u636e\u79d1\u5b66\u3001\u6c14\u5019\u5b66\u5efa\u6a21\u4e09\u4e2atopic\u4e0b\u5e26\u9886\u5b66\u751f\u7406\u89e3\u7b97\u6cd5\u3001\u6570\u5b66\u5efa\u6a21\u3001\u6570\u636e\u5206\u6790\u3001\u4ea4\u4e92\u8bbe\u8ba1\u3001\u56fe\u4f8b\u5c55\u793a\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u8ba1\u7b97\u4e0e\u79d1\u5b66\u7684\u7f8e\u5999\u7ed3\u5408\u3002\u5185\u5bb9\u867d\u7136\u4e0d\u96be\uff0c\u4f46\u7ed9\u6211\u6700\u6df1\u523b\u7684\u611f\u53d7\u5c31\u662f\uff0c\u79d1\u5b66\u7684\u9b45\u529b\u5e76\u4e0d\u662f\u6545\u5f04\u7384\u865a\u7684\u8270\u6df1\u7406\u8bba\uff0c\u4e0d\u662f\u8bd8\u5c48\u8071\u7259\u7684\u672f\u8bed\u884c\u8bdd\uff0c\u800c\u662f\u7528\u76f4\u89c2\u751f\u52a8\u7684\u6848\u4f8b\uff0c\u7528\u7b80\u7ec3\u6df1\u523b\u7684\u8bed\u8a00\uff0c\u8ba9\u6bcf\u4e2a\u666e\u901a\u4eba\u90fd\u80fd\u7406\u89e3\u3002 \u4e0a\u5b8c\u4e0a\u9762\u7684\u4f53\u9a8c\u8bfe\u4e4b\u540e\uff0c\u5982\u679c\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u4e0d\u59a8\u8bd5\u8bd5MIT\u7684 18.330 : Introduction to numerical analysis \uff0c\u8fd9\u95e8\u8bfe\u7684\u7f16\u7a0b\u4f5c\u4e1a\u540c\u6837\u4f1a\u7528Julia\u7f16\u7a0b\u8bed\u8a00\uff0c\u4e0d\u8fc7\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4e0a\u4e86\u4e00\u4e2a\u53f0\u9636\u3002\u5185\u5bb9\u6d89\u53ca\u4e86\u6d6e\u70b9\u7f16\u7801\u3001Root finding\u3001\u7ebf\u6027\u7cfb\u7edf\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u7b49\u65b9\u9762\uff0c\u6574\u95e8\u8bfe\u7684\u4e3b\u65e8\u5c31\u662f\u8ba9\u4f60\u5229\u7528\u79bb\u6563\u5316\u7684\u8ba1\u7b97\u673a\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u4e00\u4e2a\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\u3002\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u8fd8\u4e13\u95e8\u64b0\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750 Fundamentals of Numerical Computation \uff0c\u91cc\u9762\u9644\u6709\u4e30\u5bcc\u7684Julia\u4ee3\u7801\u5b9e\u4f8b\u548c\u4e25\u8c28\u7684\u516c\u5f0f\u63a8\u5bfc\u3002 \u5982\u679c\u4f60\u8fd8\u610f\u72b9\u672a\u5c3d\u7684\u8bdd\uff0c\u8fd8\u6709MIT\u7684\u7814\u7a76\u751f\u8bfe\u7a0b 18.335: Introduction to numerical method \u4f9b\u4f60\u53c2\u8003\u3002","title":"\u6570\u503c\u5206\u6790"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_11","text":"\u5982\u679c\u4e16\u95f4\u4e07\u7269\u7684\u8fd0\u52a8\u53d1\u5c55\u90fd\u80fd\u7528\u65b9\u7a0b\u6765\u523b\u753b\u548c\u63cf\u8ff0\uff0c\u8fd9\u662f\u4e00\u4ef6\u591a\u4e48\u9177\u7684\u4e8b\u60c5\u5440\uff01\u867d\u7136\u51e0\u4e4e\u4efb\u4f55\u4e00\u6240\u5b66\u6821\u7684CS\u57f9\u517b\u65b9\u6848\u4e2d\u90fd\u6ca1\u6709\u5fae\u5206\u65b9\u7a0b\u76f8\u5173\u7684\u5fc5\u4fee\u8bfe\u7a0b\uff0c\u4f46\u6211\u8fd8\u662f\u89c9\u5f97\u638c\u63e1\u5b83\u4f1a\u8d4b\u4e88\u4f60\u4e00\u4e2a\u65b0\u7684\u89c6\u89d2\u6765\u5ba1\u89c6\u8fd9\u4e2a\u4e16\u754c\u3002 \u7531\u4e8e\u5fae\u5206\u65b9\u7a0b\u4e2d\u5f80\u5f80\u4f1a\u7528\u5230\u5f88\u591a\u590d\u53d8\u51fd\u6570\u7684\u77e5\u8bc6\uff0c\u6240\u4ee5\u5927\u5bb6\u53ef\u4ee5\u53c2\u8003 MIT18.04: Complex variables functions \u7684\u8bfe\u7a0bnotes\u6765\u8865\u9f50\u5148\u4fee\u77e5\u8bc6\u3002 MIT18.03: differential equations \u4e3b\u8981\u8986\u76d6\u4e86\u5e38\u5fae\u5206\u65b9\u7a0b\u7684\u6c42\u89e3\uff0c\u5728\u6b64\u57fa\u7840\u4e4b\u4e0a MIT18.152: Partial differential equations \u5219\u4f1a\u6df1\u5165\u504f\u5fae\u5206\u65b9\u7a0b\u7684\u5efa\u6a21\u4e0e\u6c42\u89e3\u3002\u638c\u63e1\u4e86\u5fae\u5206\u65b9\u7a0b\u8fd9\u4e00\u6709\u5229\u5de5\u5177\uff0c\u76f8\u4fe1\u5bf9\u4e8e\u4f60\u7684\u5b9e\u9645\u95ee\u9898\u7684\u5efa\u6a21\u80fd\u529b\u4ee5\u53ca\u4ece\u4f17\u591a\u566a\u58f0\u53d8\u91cf\u4e2d\u628a\u63e1\u672c\u8d28\u7684\u76f4\u89c9\u90fd\u4f1a\u6709\u5f88\u5927\u5e2e\u52a9\u3002","title":"\u5fae\u5206\u65b9\u7a0b"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_12","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u6211\u7ecf\u5e38\u542c\u5230\u6570\u5b66\u65e0\u7528\u8bba\u7684\u8bba\u65ad\uff0c\u5bf9\u6b64\u6211\u4e0d\u6562\u82df\u540c\u4f46\u4e5f\u65e0\u6743\u53cd\u5bf9\uff0c\u4f46\u82e5\u51e1\u4e8b\u90fd\u786c\u8981\u4e89\u51fa\u4e2a\u6709\u7528\u548c\u65e0\u7528\u7684\u533a\u522b\u6765\uff0c\u5012\u4e5f\u7740\u5b9e\u65e0\u8da3\uff0c\u56e0\u6b64\u4e0b\u9762\u8fd9\u4e9b\u9762\u5411\u9ad8\u5e74\u7ea7\u751a\u81f3\u7814\u7a76\u751f\u7684\u6570\u5b66\u8bfe\u7a0b\uff0c\u5927\u5bb6\u6309\u5174\u8da3\u81ea\u53d6\u6240\u9700\u3002","title":"\u6570\u5b66\u9ad8\u9636"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_13","text":"Standford EE364A: Convex Optimization","title":"\u51f8\u4f18\u5316"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_14","text":"MIT6.441: Information Theory","title":"\u4fe1\u606f\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_15","text":"MIT18.650: Statistics for Applications","title":"\u5e94\u7528\u7edf\u8ba1\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_16","text":"MIT18.781: Theory of Numbers","title":"\u521d\u7b49\u6570\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_17","text":"Standford CS255: Cryptography","title":"\u5bc6\u7801\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_18","text":"Languages are tools, you choose the right tool to do the right thing. Since there's no universally perfect tool, there's no universally perfect language.","title":"\u7f16\u7a0b\u5165\u95e8"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#shell","text":"MIT-Missing-Semester","title":"Shell"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#python","text":"Harvard CS50: This is CS50x \u6700\u597d\u7684\u8ba1\u7b97\u673a\u57fa\u7840\u5165\u95e8\u8bfe\uff0c\u4f60\u7edd\u5bf9\u4f1a\u7231\u4e0a\u7684\u3002 UCB CS61A: Structure and Interpretation of Computer Programs","title":"Python"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#c","text":"Stanford CS106L: Standard C++ Programming","title":"C++"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#rust","text":"Stanford CS110L: Safety in Systems Programming","title":"Rust"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#ocaml","text":"Cornell CS3110 textbook: Functional Programming in OCaml","title":"OCaml"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_19","text":"","title":"\u7535\u5b50\u57fa\u7840"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_20","text":"\u4f5c\u4e3a\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\uff0c\u4e86\u89e3\u4e00\u4e9b\u57fa\u7840\u7684\u7535\u8def\u77e5\u8bc6\uff0c\u611f\u53d7\u4ece\u4f20\u611f\u5668\u6536\u96c6\u6570\u636e\u5230\u6570\u636e\u5206\u6790\u518d\u5230\u7b97\u6cd5\u9884\u6d4b\u6574\u6761\u6d41\u6c34\u7ebf\uff0c\u5bf9\u4e8e\u540e\u7eed\u77e5\u8bc6\u7684\u5b66\u4e60\u4ee5\u53ca\u8ba1\u7b97\u601d\u7ef4\u7684\u57f9\u517b\u8fd8\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002 EE16A&B: Designing Information Devices and Systems I&II \u662f\u4f2f\u514b\u5229EE\u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u5176\u4e2dEE16A\u6ce8\u91cd\u901a\u8fc7\u7535\u8def\u4ece\u5b9e\u9645\u73af\u5883\u4e2d\u6536\u96c6\u548c\u5206\u6790\u6570\u636e\uff0c\u800cEE16B\u5219\u4fa7\u91cd\u4ece\u8fd9\u4e9b\u6536\u96c6\u5230\u7684\u6570\u636e\u8fdb\u884c\u5206\u6790\u5e76\u505a\u51fa\u9884\u6d4b\u884c\u4e3a\u3002","title":"\u7535\u8def\u57fa\u7840"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_21","text":"\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u662f\u4e00\u95e8\u6211\u89c9\u5f97\u975e\u5e38\u503c\u5f97\u4e00\u4e0a\u7684\u8bfe\uff0c\u6700\u521d\u5b66\u5b83\u53ea\u662f\u4e3a\u4e86\u6ee1\u8db3\u6211\u5bf9\u5085\u91cc\u53f6\u53d8\u6362\u7684\u597d\u5947\uff0c\u4f46\u5b66\u5b8c\u4e4b\u540e\u6211\u624d\u4e0d\u7981\u611f\u53f9\uff0c\u5085\u7acb\u53f6\u53d8\u6362\u7ed9\u6211\u63d0\u4f9b\u4e86\u4e00\u4e2a\u5168\u65b0\u7684\u89c6\u89d2\u53bb\u770b\u5f85\u8fd9\u4e2a\u4e16\u754c\uff0c\u5c31\u5982\u540c\u5fae\u5206\u65b9\u7a0b\u4e00\u6837\uff0c\u8ba9\u4f60\u6c89\u6d78\u5728\u7528\u6570\u5b66\u53bb\u7cbe\u786e\u63cf\u7ed8\u548c\u523b\u753b\u8fd9\u4e2a\u4e16\u754c\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u4e4b\u4e2d\u3002 MIT 6.003 : signal and systems \u63d0\u4f9b\u4e86\u5168\u90e8\u7684\u8bfe\u7a0b\u5f55\u5f71\u3001\u4e66\u9762\u4f5c\u4e1a\u4ee5\u53ca\u7b54\u6848\u3002\u4e5f\u53ef\u4ee5\u53bb\u770b\u8fd9\u95e8\u8bfe\u7684 \u8fdc\u53e4\u7248\u672c \u800c UCB EE120 : Signal and Systems \u5173\u4e8e\u5085\u7acb\u53f6\u53d8\u6362\u7684notes\u5199\u5f97\u975e\u5e38\u597d\uff0c\u5e76\u4e14\u63d0\u4f9b\u4e866\u4e2a\u975e\u5e38\u6709\u8da3\u7684Python\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u8ba9\u4f60\u5b9e\u8df5\u4e2d\u8fd0\u7528\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u3002","title":"\u4fe1\u53f7\u4e0e\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_22","text":"","title":"\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_23","text":"Stanford CS106B/X: Programming Abstractions UCB CS61B: Data Structures and Algorithms Coursera: Algorithms I & II","title":"\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_24","text":"UCB CS170: Efficient Algorithms and Intractable Problems","title":"\u7b97\u6cd5\u8bbe\u8ba1\u4e0e\u5206\u6790"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_25","text":"","title":"\u8f6f\u4ef6\u5de5\u7a0b"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_26","text":"\u4e00\u4efd\u201c\u80fd\u8dd1\u201d\u7684\u4ee3\u7801\uff0c\u548c\u4e00\u4efd\u9ad8\u8d28\u91cf\u7684\u5de5\u4e1a\u7ea7\u4ee3\u7801\u662f\u6709\u672c\u8d28\u533a\u522b\u7684\u3002\u56e0\u6b64\u6211\u975e\u5e38\u63a8\u8350\u4f4e\u5e74\u7ea7\u7684\u540c\u5b66\u5b66\u4e60\u4e00\u4e0b MIT 6.031: Software Construction \u8fd9\u95e8\u8bfe\uff0c\u5b83\u4f1a\u4ee5Java\u8bed\u8a00\u4e3a\u57fa\u7840\uff0c\u4ee5\u4e30\u5bcc\u7ec6\u81f4\u7684\u9605\u8bfb\u6750\u6599\u548c\u7cbe\u5fc3\u8bbe\u8ba1\u7684\u7f16\u7a0b\u7ec3\u4e60\u4f20\u6388\u5982\u4f55\u7f16\u5199 \u4e0d\u6613\u51fabug\u3001\u7b80\u660e\u6613\u61c2\u3001\u6613\u4e8e\u7ef4\u62a4\u4fee\u6539 \u7684\u9ad8\u8d28\u91cf\u4ee3\u7801\u3002\u5927\u5230\u5b8f\u89c2\u6570\u636e\u7ed3\u6784\u8bbe\u8ba1\uff0c\u5c0f\u5230\u5982\u4f55\u5199\u6ce8\u91ca\uff0c\u9075\u5faa\u8fd9\u4e9b\u524d\u4eba\u603b\u7ed3\u7684\u7ec6\u8282\u548c\u7ecf\u9a8c\uff0c\u5bf9\u4e8e\u4f60\u6b64\u540e\u7684\u7f16\u7a0b\u751f\u6daf\u5927\u6709\u88e8\u76ca\u3002","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_27","text":"\u5f53\u7136\uff0c\u5982\u679c\u4f60\u60f3\u7cfb\u7edf\u6027\u5730\u4e0a\u4e00\u95e8\u8f6f\u4ef6\u5de5\u7a0b\u7684\u8bfe\u7a0b\uff0c\u90a3\u6211\u63a8\u8350\u7684\u662f\u4f2f\u514b\u5229\u7684 UCB CS169: software engineering \u3002\u4f46\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u548c\u5927\u591a\u5b66\u6821\uff08\u5305\u62ec\u8d35\u6821\uff09\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4e0d\u4f1a\u6d89\u53ca\u4f20\u7edf\u7684 design and document \u6a21\u5f0f\uff0c\u5373\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6d41\u7a0b\u56fe\u53ca\u6587\u6863\u8bbe\u8ba1\uff0c\u800c\u662f\u91c7\u7528\u8fd1\u4e9b\u5e74\u6d41\u884c\u8d77\u6765\u7684\u5c0f\u56e2\u961f\u5feb\u901f\u8fed\u4ee3 Agile Develepment \u5f00\u53d1\u6a21\u5f0f\u4ee5\u53ca\u5229\u7528\u4e91\u5e73\u53f0\u7684 Software as a service \u670d\u52a1\u6a21\u5f0f\u3002","title":"\u4e13\u4e1a\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_28","text":"","title":"\u4f53\u7cfb\u7ed3\u6784"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_29","text":"\u4ece\u5c0f\u6211\u5c31\u4e00\u76f4\u542c\u8bf4\uff0c\u8ba1\u7b97\u673a\u7684\u4e16\u754c\u662f\u753101\u6784\u6210\u7684\uff0c\u6211\u4e0d\u7406\u89e3\u4f46\u5927\u53d7\u9707\u64bc\u3002\u5982\u679c\u4f60\u7684\u5185\u5fc3\u4e5f\u6000\u6709\u8fd9\u4efd\u597d\u5947\uff0c\u4e0d\u59a8\u82b1\u4e00\u5230\u4e24\u4e2a\u6708\u7684\u65f6\u95f4\u5b66\u4e60 Coursera: Nand2Tetris \u8fd9\u95e8\u65e0\u95e8\u69db\u7684\u8ba1\u7b97\u673a\u8bfe\u7a0b\u3002\u8fd9\u95e8\u9ebb\u96c0\u867d\u5c0f\u4e94\u810f\u4ff1\u5168\u7684\u8bfe\u7a0b\u4f1a\u4ece01\u5f00\u59cb\u8ba9\u4f60\u4eb2\u624b\u9020\u51fa\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002\u4e00\u95e8\u8bfe\u91cc\u6db5\u76d6\u4e86\u7f16\u8bd1\u3001\u865a\u62df\u673a\u3001\u6c47\u7f16\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u6570\u5b57\u7535\u8def\u3001\u903b\u8f91\u95e8\u7b49\u7b49\u4ece\u4e0a\u81f3\u4e0b\u3001\u4ece\u8f6f\u81f3\u786c\u7684\u5404\u7c7b\u77e5\u8bc6\uff0c\u975e\u5e38\u5168\u9762\u3002\u96be\u5ea6\u4e0a\u4e5f\u662f\u901a\u8fc7\u7cbe\u5fc3\u7684\u8bbe\u8ba1\uff0c\u7565\u53bb\u4e86\u4f17\u591a\u73b0\u4ee3\u8ba1\u7b97\u673a\u590d\u6742\u7684\u7ec6\u8282\uff0c\u63d0\u53d6\u51fa\u4e86\u6700\u6838\u5fc3\u672c\u8d28\u7684\u4e1c\u897f\uff0c\u529b\u56fe\u8ba9\u6bcf\u4e2a\u4eba\u90fd\u80fd\u7406\u89e3\u3002\u5728\u4f4e\u5e74\u7ea7\uff0c\u5982\u679c\u5c31\u80fd\u4ece\u5b8f\u89c2\u4e0a\u5efa\u7acb\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7684\u9e1f\u77b0\u56fe\uff0c\u662f\u5927\u6709\u88e8\u76ca\u7684\u3002","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_30","text":"\u5f53\u7136\uff0c\u5982\u679c\u60f3\u6df1\u5165\u73b0\u4ee3\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u590d\u6742\u7ec6\u8282\uff0c\u8fd8\u5f97\u4e0a\u4e00\u95e8\u5927\u5b66\u672c\u79d1\u96be\u5ea6\u7684\u8bfe\u7a0b UCB CS61C: Great Ideas in Computer Architecture \u3002UC Berkeley\u4f5c\u4e3aRISC-V\u67b6\u6784\u7684\u53d1\u6e90\u5730\uff0c\u5728\u4f53\u7cfb\u7ed3\u6784\u9886\u57df\u7b97\u5f97\u4e0a\u9996\u5c48\u4e00\u6307\u3002\u5176\u8bfe\u7a0b\u975e\u5e38\u6ce8\u91cd\u5b9e\u8df5\uff0c\u4f60\u4f1a\u5728Project\u4e2d\u624b\u5199\u6c47\u7f16\u6784\u9020\u795e\u7ecf\u7f51\u7edc\uff0c\u4ece\u96f6\u5f00\u59cb\u642d\u5efa\u4e00\u4e2aCPU\uff0c\u8fd9\u4e9b\u5b9e\u8df5\u90fd\u4f1a\u8ba9\u4f60\u5bf9\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u6709\u66f4\u4e3a\u6df1\u5165\u7684\u7406\u89e3\uff0c\u800c\u4e0d\u662f\u4ec5\u505c\u7559\u4e8e\u201c\u53d6\u6307\u8bd1\u7801\u6267\u884c\u8bbf\u5b58\u5199\u56de\u201d\u7684\u5355\u8c03\u80cc\u8bf5\u91cc\u3002","title":"\u4e13\u4e1a\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_31","text":"\u8ba1\u7b97\u673a\u7cfb\u7edf\u662f\u4e00\u4e2a\u5e9e\u6742\u800c\u6df1\u523b\u7684\u4e3b\u9898\uff0c\u5728\u6df1\u5165\u5b66\u4e60\u67d0\u4e2a\u7ec6\u5206\u9886\u57df\u4e4b\u524d\uff0c\u5bf9\u5404\u4e2a\u9886\u57df\u6709\u4e00\u4e2a\u5b8f\u89c2\u6982\u5ff5\u6027\u7684\u7406\u89e3\uff0c\u5bf9\u4e00\u4e9b\u901a\u7528\u6027\u7684\u8bbe\u8ba1\u539f\u5219\u6709\u6240\u77e5\u6653\uff0c\u4f1a\u8ba9\u4f60\u5728\u4e4b\u540e\u7684\u6df1\u5165\u5b66\u4e60\u4e2d\u4e0d\u65ad\u5f3a\u5316\u4e00\u4e9b\u6700\u4e3a\u6838\u5fc3\u4e43\u81f3\u54f2\u5b66\u7684\u6982\u5ff5\uff0c\u800c\u4e0d\u4f1a\u684e\u688f\u4e8e\u590d\u6742\u7684\u5185\u90e8\u7ec6\u8282\u548c\u5404\u79cdtrick\u3002\u56e0\u4e3a\u5728\u6211\u770b\u6765\uff0c\u5b66\u4e60\u7cfb\u7edf\u6700\u5173\u952e\u7684\u8fd8\u662f\u60f3\u8ba9\u4f60\u9886\u609f\u5230\u8fd9\u4e9b\u6700\u6838\u5fc3\u7684\u4e1c\u897f\uff0c\u4ece\u800c\u80fd\u591f\u8bbe\u8ba1\u548c\u5b9e\u73b0\u51fa\u5c5e\u4e8e\u81ea\u5df1\u7684\u7cfb\u7edf\u3002 MIT6.033: System Engineering \u662fMIT\u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u4e3b\u9898\u6d89\u53ca\u4e86\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f51\u7edc\u3001\u5206\u5e03\u5f0f\u548c\u7cfb\u7edf\u5b89\u5168\uff0c\u9664\u4e86\u77e5\u8bc6\u70b9\u7684\u4f20\u6388\u5916\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u8bb2\u6388\u4e00\u4e9b\u5199\u4f5c\u548c\u8868\u8fbe\u4e0a\u7684\u6280\u5de7\uff0c\u8ba9\u4f60\u5b66\u4f1a\u5982\u4f55\u8bbe\u8ba1\u5e76\u5411\u522b\u4eba\u4ecb\u7ecd\u548c\u5206\u6790\u81ea\u5df1\u7684\u7cfb\u7edf\u3002\u8fd9\u672c\u4e66\u914d\u5957\u7684\u6559\u6750 Principles of Computer System Design: An Introduction \u4e5f\u5199\u5f97\u975e\u5e38\u597d\uff0c\u63a8\u8350\u5927\u5bb6\u9605\u8bfb\u3002 CMU 15-213: Introduction to Computer System \u662fCMU\u7684\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u5185\u5bb9\u8986\u76d6\u4e86\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\u7b49\uff0c\u517c\u5177\u5e7f\u5ea6\u548c\u6df1\u5ea6\uff0c\u914d\u5957\u7684\u6559\u6750 Computer Systems: A Programmer's Perspective \u4e5f\u662f\u8d28\u91cf\u6781\u9ad8\uff0c\u5f3a\u70c8\u5efa\u8bae\u9605\u8bfb\u3002","title":"\u7cfb\u7edf\u5165\u95e8"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_32","text":"\u64cd\u4f5c\u7cfb\u7edf\u4f5c\u4e3a\u6240\u6709\u5e94\u7528\u8f6f\u4ef6\u548c\u5e95\u5c42\u786c\u4ef6\u4ea4\u4e92\u7684\u638c\u8235\u8005\uff0c\u4e86\u89e3\u5b83\u7684\u5185\u90e8\u539f\u7406\u548c\u8bbe\u8ba1\u539f\u5219\u5bf9\u4e8e\u4e00\u4e2a\u4e0d\u6ee1\u8db3\u4e8e\u8c03\u5305\u4fa0\u7684\u7a0b\u5e8f\u5458\u6765\u8bf4\u662f\u5f88\u6709\u5e2e\u52a9\u7684\u3002\u540c\u65f6\uff0c\u56fd\u5916\u64cd\u7edf\u8bfe\u7a0b\u7684\u8d28\u91cf\u4e5f\u662f\u8ba9\u4e0a\u4e86\u591a\u5e74\u7f51\u8bfe\u7684\u6211\u4e5f\u611f\u5230\u77a0\u76ee\u7ed3\u820c\u3002 MIT 6.S081: Operating System Engineering \uff0cMIT\u8457\u540dPDOS\u5b9e\u9a8c\u5ba4\u51fa\u54c1\uff0c11\u4e2aProject\u4f1a\u8ba9\u4f60\u5728\u4e00\u4e2a2\u4e07\u591a\u884c\u7684\u6559\u5b66\u7528\u8ff7\u4f60\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u589e\u52a0\u5404\u7c7b\u529f\u80fd\u6a21\u5757\u3002\u8fd9\u95e8\u8bfe\u4e5f\u8ba9\u6211\u6df1\u523b\u8ba4\u8bc6\u5230\uff0c\u505a\u7cfb\u7edf\u4e0d\u662f\u9760PPT\u5ff5\u51fa\u6765\u7684\uff0c\u662f\u5f97\u51e0\u4e07\u884c\u4ee3\u7801\u4e00\u70b9\u70b9\u7d2f\u8d77\u6765\u7684\u3002 UCB CS162: Operating System \uff0c\u4f2f\u514b\u5229\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\uff0c\u91c7\u7528\u548cStanford\u540c\u6837\u7684Project \u2014\u2014 \u4e00\u4e2a\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edfPintos\u3002\u6211\u4f5c\u4e3a\u4e0b\u5b66\u671f\u5317\u4eac\u5927\u5b66\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u7684\u52a9\u6559\uff0c\u4f1a\u5c1d\u8bd5\u5f15\u5165\u8fd9\u4e2aProject\uff0c\u6b22\u8fce\u5927\u5bb6\u9009\u8bfe\u5c1d\u8bd5\uff0c\u540c\u65f6\u8bfe\u7a0b\u8d44\u6e90\u4e5f\u4f1a\u5168\u90e8\u5f00\u6e90\uff0c\u76ee\u524d \u8bfe\u7a0b\u7f51\u7ad9 \u6b63\u5728\u5efa\u8bbe\u5f53\u4e2d\u3002","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_33","text":"\u60f3\u5fc5\u8fd9\u4e24\u5e74\u5404\u7c7bCS\u8bb2\u5ea7\u91cc\u6700\u5e38\u542c\u5230\u7684\u8bdd\u5c31\u662f\u201c\u6469\u5c14\u5b9a\u5f8b\u6b63\u5728\u8d70\u5411\u7ec8\u7ed3\u201d\uff0c\u6b64\u8bdd\u4e0d\u5047\u3002\u540c\u65f6\u5982\u4eca\u6df1\u5ea6\u5b66\u4e60\u7684\u5174\u8d77\u5bfc\u81f4\u5bf9\u8ba1\u7b97\u673a\u7b97\u529b\u4e0e\u5b58\u50a8\u7684\u8981\u6c42\u90fd\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u56e0\u6b64\u5e76\u884c\u548c\u5206\u5e03\u5f0f\u7cfb\u7edf\u5df2\u6210\u4e3a\u4e00\u9879\u70ed\u95e8\u6280\u672f\u8bdd\u9898\u3002","title":"\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_34","text":"CMU 15-418/Stanford CS149: Parallel Computing","title":"\u5e76\u884c\u8ba1\u7b97"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_35","text":"MIT 6.824: Distributed System","title":"\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_36","text":"\u4e0d\u77e5\u9053\u4f60\u5f53\u5e74\u9009\u62e9\u8ba1\u7b97\u673a\u662f\u4e0d\u662f\u56e0\u4e3a\u6000\u7740\u4e00\u4e2a\u4e2d\u4e8c\u7684\u9ed1\u5ba2\u68a6\u60f3\uff0c\u4f46\u73b0\u5b9e\u5374\u662f\u6210\u4e3a\u9ed1\u5ba2\u9053\u963b\u4e14\u957f\u3002","title":"\u7cfb\u7edf\u5b89\u5168"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_37","text":"UCB CS161: Computer Security \u662f\u4f2f\u514b\u5229\u7684\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u4f1a\u6db5\u76d6\u6808\u653b\u51fb\u3001\u5bc6\u7801\u5b66\u3001\u7f51\u7ad9\u5b89\u5168\u3001\u7f51\u7edc\u5b89\u5168\u7b49\u7b49\u5185\u5bb9\u3002","title":"\u7406\u8bba"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_38","text":"\u638c\u63e1\u8fd9\u4e9b\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u8fd8\u9700\u8981\u5728\u5b9e\u8df5\u4e2d\u57f9\u517b\u548c\u953b\u70bc\u8fd9\u4e9b\u201c\u5b89\u5168\u7d20\u517b\u201d\u3002 CTF\u593a\u65d7\u8d5b \u662f\u4e00\u9879\u6bd4\u8f83\u70ed\u95e8\u7684\u7cfb\u7edf\u5b89\u5168\u6bd4\u8d5b\uff0c\u8d5b\u9898\u4e2d\u4f1a\u878d\u4f1a\u8d2f\u901a\u5730\u8003\u5bdf\u4f60\u5bf9\u8ba1\u7b97\u673a\u5404\u4e2a\u9886\u57df\u77e5\u8bc6\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002\u5317\u5927\u4eca\u5e74\u4e5f\u6210\u529f\u4e3e\u529e\u4e86 \u7b2c0\u5c4a\u548c\u7b2c1\u5c4a \uff0c\u4e5f\u9f13\u52b1\u5927\u5bb6\u540e\u671f\u8e0a\u8dc3\u53c2\u4e0e\uff0c\u5728\u5b9e\u8df5\u4e2d\u63d0\u9ad8\u81ea\u5df1\u3002\u4e0b\u9762\u5217\u4e3e\u4e00\u4e9b\u6211\u5e73\u65f6\u5b66\u4e60\uff08\u6478\u9c7c\uff09\u7528\u5230\u7684\u8d44\u6e90\uff1a CTF-wiki CTF-101 Hacker-101","title":"\u5b9e\u8df5"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_39","text":"\u8ba1\u7f51\u8457\u540d\u6559\u6750\u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u7684\u914d\u5957\u5b66\u4e60\u8d44\u6e90 Computer Networking: A Top-Down Approach \u3002 \u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2aTCP/IP\u534f\u8bae\u6808\u66f4\u80fd\u52a0\u6df1\u81ea\u5df1\u5bf9\u8ba1\u7b97\u673a\u7f51\u7edc\u7684\u7406\u89e3\u4e86\uff0c\u6240\u4ee5\u4e0d\u59a8\u8bd5\u8bd5 Stanford CS144: Computer Network \uff0c8\u4e2aProject\u5e26\u4f60\u5b9e\u73b0\u6574\u4e2a\u534f\u8bae\u6808\u3002","title":"\u8ba1\u7b97\u673a\u7f51\u7edc"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_40","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u5173\u7cfb\u578b\u6570\u636e\u5e93\u66f4\u80fd\u52a0\u6df1\u81ea\u5df1\u5bf9\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u7406\u89e3\u4e86\u3002","title":"\u6570\u636e\u5e93\u7cfb\u7edf"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#c_1","text":"CMU 15-445: Introduction to Database System","title":"C++\u7248"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#java","text":"UCB CS186: Introduction to Database System","title":"Java\u7248"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_41","text":"\u6ca1\u6709\u4ec0\u4e48\u80fd\u6bd4\u81ea\u5df1\u5199\u4e2a\u7f16\u8bd1\u5668\u66f4\u80fd\u52a0\u6df1\u81ea\u5df1\u5bf9\u7f16\u8bd1\u5668\u7684\u7406\u89e3\u4e86\u3002 Stanford CS143: Compilers","title":"\u7f16\u8bd1\u539f\u7406"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_42","text":"Games101","title":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#web","text":"\u7f51\u7ad9\u7684\u5f00\u53d1\u5f88\u5c11\u5728\u8ba1\u7b97\u673a\u7684\u57f9\u517b\u65b9\u6848\u91cc\u88ab\u91cd\u89c6\uff0c\u4f46\u5176\u5b9e\u638c\u63e1\u8fd9\u9879\u6280\u80fd\u8fd8\u662f\u597d\u5904\u591a\u591a\u7684\uff0c\u4f8b\u5982\u642d\u5efa\u81ea\u5df1\u7684\u4e2a\u4eba\u4e3b\u9875\uff0c\u6291\u6216\u662f\u7ed9\u81ea\u5df1\u7684\u8bfe\u7a0b\u9879\u76ee\u505a\u4e00\u4e2a\u7cbe\u5f69\u7684\u5c55\u793a\u7f51\u9875\u3002","title":"Web\u5f00\u53d1"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_43","text":"MIT web development course","title":"\u4e24\u5468\u901f\u6210\u7248"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_44","text":"Stanford CS142: Web Applications","title":"\u7cfb\u7edf\u5b66\u4e60\u7248"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_45","text":"UCB Data100: Principles and Techniques of Data Science","title":"\u6570\u636e\u79d1\u5b66"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_46","text":"","title":"\u4eba\u5de5\u667a\u80fd"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_47","text":"Harvard CS50\u2019s Introduction to AI with Python","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_48","text":"UCB CS188: Introduction to Artificial Intelligence","title":"\u4e13\u4e1a\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_49","text":"","title":"\u673a\u5668\u5b66\u4e60"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_50","text":"Coursera: Machine Learning","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_51","text":"Stanford CS229: Machine Learning UCB CS189: Introduction to Machine Learning","title":"\u4e13\u4e1a\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_52","text":"","title":"\u6df1\u5ea6\u5b66\u4e60"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_53","text":"Coursera: Deep Learning \u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60","title":"\u5165\u95e8\u8bfe"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_54","text":"Stanford CS231n: CNN for Visual Recognition","title":"\u8ba1\u7b97\u673a\u89c6\u89c9"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_55","text":"Stanford CS224n: Natural Language Processing","title":"\u81ea\u7136\u8bed\u8a00\u5904\u7406"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_56","text":"Stanford CS224w: Machine Learning with Graphs","title":"\u56fe\u795e\u7ecf\u7f51\u7edc"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_57","text":"UCB CS285: Deep Reinforcement Learning","title":"\u5f3a\u5316\u5b66\u4e60"},{"location":"CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/#_58","text":"\u6388\u4eba\u4ee5\u9c7c\u4e0d\u5982\u6388\u4eba\u4ee5\u6e14\u3002 \u4ee5\u4e0a\u7684\u8bfe\u7a0b\u89c4\u5212\u96be\u514d\u6709\u5f3a\u70c8\u7684\u4e2a\u4eba\u503e\u5411\u548c\u559c\u597d\uff0c\u4e0d\u4e00\u5b9a\u9002\u5408\u6240\u6709\u4eba\uff0c\u66f4\u591a\u7684\u662f\u8d77\u5230\u629b\u7816\u5f15\u7389\u7684\u4f5c\u7528\u3002\u5982\u679c\u4f60\u60f3\u6311\u9009\u81ea\u5df1\u611f\u5174\u8da3\u7684\u65b9\u5411\u548c\u5185\u5bb9\u52a0\u4ee5\u5b66\u4e60\uff0c\u53ef\u4ee5\u53c2\u8003\u6211\u5728\u4e0b\u9762\u5217\u51fa\u6765\u7684\u8d44\u6e90\u3002 MIT OpenCourseWare : \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684\u8bfe\u7a0b\u8d44\u6e90\u5f00\u653e\u5171\u4eab\u9879\u76ee\uff0c\u6536\u5f55\u4e86\u6570\u4ee5\u5343\u8ba1\u7684\u5404\u79d1\u8bfe\u7a0b\u8d44\u6e90\uff0c\u5176\u4e2d\u8ba1\u7b97\u673a\u7c7b\u7684\u8bfe\u53f7\u662f6.xxx\u3002 MIT CS Course List \uff1a\u9ebb\u7701\u7406\u5de5\u5b66\u9662\u7684CS\u8bfe\u7a0b\u5217\u8868\u3002 UC Berkeley EECS Course Map \uff1aUC Berkeley\u7684EECS\u57f9\u517b\u65b9\u6848\uff0c\u4ee5\u8bfe\u7a0b\u5730\u56fe\u7684\u65b9\u5f0f\u5c06\u5404\u95e8\u8bfe\u7a0b\u7684\u7c7b\u522b\u548c\u5148\u4fee\u5173\u7cfb\u4e00\u76ee\u4e86\u7136\u5730\u5448\u73b0\uff0c\u5176\u4e2d\u7edd\u5927\u591a\u6570\u8bfe\u7a0b\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 UC Berkeley CS Course List : UC Berkeley\u7684CS\u8bfe\u7a0b\u5217\u8868\u3002 Stanford CS Course List : \u65af\u5766\u798f\u7684CS\u8bfe\u7a0b\u5217\u8868\u3002","title":"\u5b9a\u5236\u5c5e\u4e8e\u4f60\u7684\u8bfe\u7a0b\u5730\u56fe"},{"location":"%E5%90%8E%E8%AE%B0/","text":"\u4ece\u6700\u521d\u7684\u60f3\u6cd5\u5f00\u59cb\uff0c\u5230\u65ad\u65ad\u7eed\u7eed\u5b8c\u6210\u8fd9\u672c\u4e66\uff0c\u518d\u5230\u6811\u6d1e\u7684\u70ed\u70c8\u53cd\u54cd\uff0c\u6211\u5f88\u6fc0\u52a8\uff0c\u4f46\u4e5f\u4e94\u5473\u6742\u9648\u3002\u539f\u6765\u5728\u5317\u5927\u8fd9\u4e2a\u56ed\u5b50\u91cc\uff0c\u4e5f\u6709\u90a3\u4e48\u591a\u4eba\uff0c\u5bf9\u81ea\u5df1\u7684\u672c\u79d1\u751f\u6daf\u5e76\u4e0d\u6ee1\u610f\u3002\u800c\u8fd9\u91cc\uff0c\u53ef\u662f\u56ca\u62ec\u4e86\u4e2d\u56fd\u975e\u5e38\u4f18\u79c0\u7684\u4e00\u5e2e\u5e74\u8f7b\u4eba\u3002\u6240\u4ee5\u95ee\u9898\u51fa\u5728\u54ea\u91cc\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\u5440\uff0c\u53ea\u662f\u4e00\u4e2a\u5355\u7eaf\u7684\u6c42\u5b66\u8005\uff0c\u6211\u7684\u76ee\u6807\u53ea\u662f\u60f3\u5feb\u4e50\u5730\u3001\u81ea\u7531\u5730\u3001\u9ad8\u8d28\u91cf\u5730\u638c\u63e1\u90a3\u4e9b\u4e13\u4e1a\u77e5\u8bc6\uff0c\u6211\u60f3\uff0c\u6b63\u5728\u770b\u8fd9\u672c\u4e66\u7684\u5927\u591a\u6570\u672c\u79d1\u751f\u4e5f\u662f\u5982\u6b64\uff0c\u8c01\u60f3\u4ed8\u51fa\u65f6\u95f4\u4f46\u5374\u6536\u6548\u751a\u5fae\u5462\uff1f\u53c8\u662f\u8c01\u8feb\u4f7f\u5927\u5bb6\u5e26\u7740\u75db\u82e6\u53bb\u5e94\u4ed8\u5462\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u5199\u8fd9\u672c\u4e66\u7edd\u4e0d\u662f\u4e3a\u4e86\u9f13\u52b1\u5927\u5bb6\u7fd8\u8bfe\u81ea\u5b66\uff0c\u8bd5\u95ee\u8c01\u4e0d\u60f3\u5728\u8bfe\u5802\u4e0a\u548c\u90a3\u4e48\u591a\u4f18\u79c0\u7684\u540c\u5b66\u6d4e\u6d4e\u4e00\u5802\uff0c\u70ed\u70c8\u8ba8\u8bba\u5462\uff1f\u8c01\u4e0d\u60f3\u9047\u5230\u95ee\u9898\u76f4\u63a5\u627e\u8001\u5e08\u7b54\u7591\u89e3\u60d1\u5462\uff1f\u8c01\u4e0d\u60f3\u8f9b\u82e6\u5b66\u4e60\u7684\u6210\u679c\u53ef\u4ee5\u76f4\u63a5\u5316\u4f5c\u5b66\u6821\u627f\u8ba4\u7684\u5b66\u5206\u7ee9\u70b9\u5462\uff1f\u53ef\u5982\u679c\u4e00\u4e2a\u5162\u5162\u4e1a\u4e1a\u3001\u6309\u65f6\u5230\u5802\u7684\u5b66\u751f\u6536\u83b7\u7684\u5374\u662f\u75db\u82e6\uff0c\u800c\u90a3\u4e2a\u4e00\u5b66\u671f\u53ea\u6709\u8003\u8bd5\u4f1a\u51fa\u5e2d\u7684\u5b66\u751f\u5374\u5b66\u5f97\u81ea\u5f97\u5176\u4e50\uff0c\u8fd9\u516c\u5e73\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u662f\u4e0d\u7518\uff0c\u4e0d\u7518\u5fc3\u8fd9\u4e9b\u901a\u8fc7\u9ad8\u8003\u6218\u80dc\u65e0\u6570\u4eba\u8fdb\u5165\u9ad8\u6821\u7684\u5b66\u5b50\u672c\u53ef\u4ee5\u6536\u83b7\u4e00\u4e2a\u66f4\u5feb\u4e50\u7684\u672c\u79d1\u751f\u6daf\uff0c\u4f46\u73b0\u5b9e\u5374\u7559\u7ed9\u4e86\u4ed6\u4eec\u9057\u61be\u3002\u6211\u53cd\u95ee\u81ea\u5df1\uff0c\u672c\u79d1\u6559\u80b2\u7a76\u7adf\u5e94\u8be5\u5e26\u7ed9\u6211\u4eec\u4ec0\u4e48\u5462\uff1f\u662f\u5b66\u5b8c\u6240\u6709\u8fd9\u4e9b\u8bfe\u7a0b\u5417\uff1f\u5012\u4e5f\u672a\u5fc5\uff0c\u5b83\u4e5f\u8bb8\u53ea\u9002\u5408\u6211\u8fd9\u79cdnerd\u3002\u4f46\u6211\u89c9\u5f97\uff0c\u672c\u79d1\u6559\u80b2\u81f3\u5c11\u5f97\u5c55\u73b0\u5b83\u5e94\u6709\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u5206\u4eab\u77e5\u8bc6\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u4ee5\u4eba\u4e3a\u672c\u7684\u8bda\u610f\uff0c\u4e00\u79cd\u6ce8\u91cd\u5b66\u751f\u4f53\u9a8c\u7684\u8bda\u610f\u3002\u5b83\u81f3\u5c11\u4e0d\u5e94\u8be5\u662f\u4e00\u79cd\u6076\u610f\uff0c\u4e00\u79cd\u62fc\u6bd4\u77e5\u8bc6\u7684\u6076\u610f\uff0c\u4e00\u79cd\u80dc\u8005\u4e3a\u738b\u7684\u6076\u610f\uff0c\u4e00\u79cd\u8ba9\u4eba\u5b66\u65e0\u6240\u5f97\u7684\u6076\u610f\u3002\u4f46\u8fd9\u4e00\u5207\u80fd\u6539\u53d8\u5417\uff1f\u6211\u4e0d\u77e5\u9053\u3002 \u6211\u53ea\u77e5\u9053\u6211\u505a\u4e86\u5e94\u8be5\u505a\u7684\u4e8b\u60c5\uff0c\u5b66\u751f\u4eec\u4f1a\u7528\u811a\u6295\u7968\uff0c\u6811\u6d1e\u7684\u5173\u6ce8\u91cf\u548c\u56de\u5e16\u6570\u8bc1\u660e\u4e86\u8fd9\u6837\u4e00\u4efd\u8d44\u6599\u662f\u6709\u4ef7\u503c\u7684\uff0c\u4e5f\u9053\u51fa\u4e86\u56fd\u5185CS\u672c\u79d1\u6559\u80b2\u548c\u56fd\u5916\u7684\u5dee\u8ddd\u3002\u4e5f\u8bb8\u8fd9\u6837\u7684\u6539\u53d8\u662f\u5fae\u4e4e\u5176\u5fae\u7684\uff0c\u4f46\u522b\u5fd8\u4e86\u6211\u53ea\u662f\u4e00\u4e2a\u7c4d\u7c4d\u65e0\u540d\u7684\u672c\u79d1\u751f\uff0c\u662f\u5317\u5927\u4fe1\u79d1\u4e00\u5343\u591a\u540d\u672c\u79d1\u751f\u4e2d\u7684\u666e\u901a\u4e00\u5458\uff0c\u662f\u4e2d\u56fd\u51e0\u767e\u4e07\u5728\u8bfb\u672c\u79d1\u751f\u4e2d\u7684\u4e00\u5206\u5b50\uff0c\u5982\u679c\u6709\u66f4\u591a\u7684\u4eba\u7ad9\u51fa\u6765\uff0c\u6bcf\u4e2a\u4eba\u505a\u4e00\u70b9\u70b9\uff0c\u4e5f\u8bb8\u662f\u5206\u4eab\u4e00\u4e2a\u5e16\u5b50\uff0c\u4e5f\u8bb8\u662f\u5f53\u4e00\u95e8\u8bfe\u7684\u52a9\u6559\uff0c\u4e5f\u8bb8\u662f\u7cbe\u5fc3\u8bbe\u8ba1\u4e00\u95e8\u8bfe\u7684lab\uff0c\u66f4\u6216\u8bb8\u662f\u5c06\u6765\u83b7\u5f97\u6559\u804c\u4e4b\u540e\u5f00\u8bbe\u4e00\u95e8\u9ad8\u8d28\u91cf\u7684\u8bfe\u7a0b\uff0c\u51fa\u7248\u4e00\u672c\u7ecf\u5178\u7684\u6559\u6750\u3002\u672c\u79d1\u6559\u80b2\u771f\u7684\u6709\u4ec0\u4e48\u6280\u672f\u58c1\u5792\u5417\uff1f\u6211\u770b\u672a\u5fc5\uff0c\u6559\u80b2\u9760\u7684\u662f\u8bda\u610f\uff0c\u9760\u7684\u662f\u80b2\u4eba\u4e4b\u5fc3\u3002 \u4eca\u5929\u662f2021\u5e7412\u670812\u65e5\uff0c\u6211\u671f\u5f85\u5728\u4e0d\u4e45\u7684\u5c06\u6765\u8fd9\u4e2a\u5e16\u5b50\u4f1a\u88ab\u9057\u5fd8\uff0c\u5927\u5bb6\u53ef\u4ee5\u6ee1\u5fc3\u6b22\u559c\u5730\u9009\u7740\u81ea\u5df1\u57f9\u517b\u65b9\u6848\u4e0a\u7684\u8bfe\u7a0b\uff0c\u505a\u7740\u5b66\u6821\u81ea\u884c\u8bbe\u8ba1\u7684\u5404\u7c7b\u7f16\u7a0b\u5b9e\u9a8c\uff0c\u8bfe\u5802\u6ca1\u6709\u7b7e\u5230\u4e5f\u80fd\u6d4e\u6d4e\u4e00\u5802\uff0c\u5b66\u751f\u8e0a\u8dc3\u5730\u53d1\u8a00\u4e92\u52a8\uff0c\u5927\u5bb6\u7684\u6536\u83b7\u53ef\u4ee5\u548c\u52aa\u529b\u6210\u6b63\u6bd4\uff0c\u90a3\u4e9b\u66fe\u7ecf\u7684\u9057\u61be\u548c\u75db\u82e6\u53ef\u4ee5\u6c38\u8fdc\u6210\u4e3a\u5386\u53f2\u3002\u6211\u771f\u7684\u5f88\u671f\u5f85\u90a3\u4e00\u5929\uff0c\u771f\u7684\u771f\u7684\u771f\u7684\u5f88\u671f\u5f85\u3002 PKUFlyingPig 2021\u5e7412\u670812\u65e5\u5199\u4e8e\u71d5\u56ed","title":"\u540e\u8bb0"},{"location":"%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88Pro/","text":"under construction.","title":"\u57f9\u517b\u65b9\u6848Pro"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/","text":"\u597d\u4e66\u63a8\u8350 \u7531\u4e8e\u7248\u6743\u539f\u56e0\uff0c\u4e0b\u9762\u5217\u4e3e\u7684\u56fe\u4e66\u4e2d\u9664\u4e86\u5f00\u6e90\u4e66\u7c4d\u63d0\u4f9b\u4e86\u94fe\u63a5\uff0c\u5176\u4ed6\u7684\u8d44\u6e90\u8bf7\u5927\u5bb6\u81ea\u884c\u901a\u8fc7 libgen \u67e5\u627e\u3002 \u53e6\u5916\u518d\u5b89\u5229\u4e00\u4e2aGithub\u9876\u6d41\u70ed\u95e8\u9879\u76ee free-programming-books \uff0c\u6536\u96c6\u4e86\u975e\u5e38\u591a\u7684\u514d\u8d39\u5f00\u6e90\u7f16\u7a0b\u4e66\u7c4d\u3002 \u7cfb\u7edf\u5165\u95e8 Principles of Computer System Design: An Introduction Computer Systems: A Programmer's Perspective \u64cd\u4f5c\u7cfb\u7edf Operating Systems: Three Easy Pieces Operating Systems: Principles and Practice (2nd Edition) \u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf: \u539f\u7406\u4e0e\u5b9e\u73b0 (\u94f6\u674f\u4e66) \u8ba1\u7b97\u673a\u7f51\u7edc Computer Networks: A Systems Approach Computer Networking: A Top-Down Approach \u7f16\u8bd1\u539f\u7406 My First Language Frontend with LLVM Tutorial Compilers: Principles, Techniques, and Tools (Dragon Book) \u8ba1\u7b97\u673a\u8bed\u8a00\uff08PL\uff09 Essentials of Programming Languages (EOPL) Types and Programming Languages (TAPL) ( \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ) Practical Foundations for Programming Languages (PFPL) Software Foundations (SF) ( \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ) \u4f53\u7cfb\u7ed3\u6784 Computer Architecture: A Quantitative Approach 5th Edition \u5206\u5e03\u5f0f\u7cfb\u7edf Patterns of Distributed System Distributed Systems for fun and profit \u6570\u636e\u5bc6\u96c6\u578b\u7cfb\u7edf\u8bbe\u8ba1 Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems ( \u5f00\u6e90\u4e2d\u6587\u7ffb\u8bd1 ) \u5bc6\u7801\u5b66 Cryptography Engineering: Design Principles and Practical Applications Introduction to modern cryptography (second edition) By Jonathon Katz & Yehuda Lindell \u4ece\u5bc6\u7801\u5b66\u7684\u6700\u57fa\u7840\u5f00\u59cb\u8bb2\u8d77\uff0c\u5bf9\u4f20\u7edf\u5bc6\u7801\u5b66\u7684\u5404\u65b9\u9762\u90fd\u6709\u6d89\u53ca\uff0c\u8bfe\u7a0b\u5185\u5bb9\u5168\u9762\uff0c\u662f\u5bc6\u7801\u5b66\u5165\u95e8\u5f88\u597d\u7684\u4e00\u672c\u4e66 \u6570\u636e\u5e93\u7cfb\u7edf Database System Concepts Architecture of a Database System \u8ba1\u7b97\u673a\u56fe\u5f62\u5b66 Fundamentals of Computer Graphics \u6df1\u5ea6\u5b66\u4e60 \u52a8\u624b\u5b66\u6df1\u5ea6\u5b66\u4e60","title":"\u597d\u4e66\u63a8\u8350"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_1","text":"\u7531\u4e8e\u7248\u6743\u539f\u56e0\uff0c\u4e0b\u9762\u5217\u4e3e\u7684\u56fe\u4e66\u4e2d\u9664\u4e86\u5f00\u6e90\u4e66\u7c4d\u63d0\u4f9b\u4e86\u94fe\u63a5\uff0c\u5176\u4ed6\u7684\u8d44\u6e90\u8bf7\u5927\u5bb6\u81ea\u884c\u901a\u8fc7 libgen \u67e5\u627e\u3002 \u53e6\u5916\u518d\u5b89\u5229\u4e00\u4e2aGithub\u9876\u6d41\u70ed\u95e8\u9879\u76ee free-programming-books \uff0c\u6536\u96c6\u4e86\u975e\u5e38\u591a\u7684\u514d\u8d39\u5f00\u6e90\u7f16\u7a0b\u4e66\u7c4d\u3002","title":"\u597d\u4e66\u63a8\u8350"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_2","text":"Principles of Computer System Design: An Introduction Computer Systems: A Programmer's Perspective","title":"\u7cfb\u7edf\u5165\u95e8"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_3","text":"Operating Systems: Three Easy Pieces Operating Systems: Principles and Practice (2nd Edition) \u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf: \u539f\u7406\u4e0e\u5b9e\u73b0 (\u94f6\u674f\u4e66)","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_4","text":"Computer Networks: A Systems Approach Computer Networking: A Top-Down Approach","title":"\u8ba1\u7b97\u673a\u7f51\u7edc"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_5","text":"My First Language Frontend with LLVM Tutorial Compilers: Principles, Techniques, and Tools (Dragon Book)","title":"\u7f16\u8bd1\u539f\u7406"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#pl","text":"Essentials of Programming Languages (EOPL) Types and Programming Languages (TAPL) ( \u5317\u5927\u76f8\u5173\u8bfe\u7a0b ) Practical Foundations for Programming Languages (PFPL) Software Foundations (SF) ( \u5317\u5927\u76f8\u5173\u8bfe\u7a0b )","title":"\u8ba1\u7b97\u673a\u8bed\u8a00\uff08PL\uff09"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_6","text":"Computer Architecture: A Quantitative Approach 5th Edition","title":"\u4f53\u7cfb\u7ed3\u6784"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_7","text":"Patterns of Distributed System Distributed Systems for fun and profit","title":"\u5206\u5e03\u5f0f\u7cfb\u7edf"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_8","text":"Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems ( \u5f00\u6e90\u4e2d\u6587\u7ffb\u8bd1 )","title":"\u6570\u636e\u5bc6\u96c6\u578b\u7cfb\u7edf\u8bbe\u8ba1"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_9","text":"Cryptography Engineering: Design Principles and Practical Applications Introduction to modern cryptography (second edition) By Jonathon Katz & Yehuda Lindell \u4ece\u5bc6\u7801\u5b66\u7684\u6700\u57fa\u7840\u5f00\u59cb\u8bb2\u8d77\uff0c\u5bf9\u4f20\u7edf\u5bc6\u7801\u5b66\u7684\u5404\u65b9\u9762\u90fd\u6709\u6d89\u53ca\uff0c\u8bfe\u7a0b\u5185\u5bb9\u5168\u9762\uff0c\u662f\u5bc6\u7801\u5b66\u5165\u95e8\u5f88\u597d\u7684\u4e00\u672c\u4e66","title":"\u5bc6\u7801\u5b66"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_10","text":"Database System Concepts Architecture of a Database System","title":"\u6570\u636e\u5e93\u7cfb\u7edf"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_11","text":"Fundamentals of Computer Graphics","title":"\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66"},{"location":"%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/#_12","text":"\u52a8\u624b\u5b66\u6df1\u5ea6\u5b66\u4e60","title":"\u6df1\u5ea6\u5b66\u4e60"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/","text":"Stanford CS142: Web Applications \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u65af\u5766\u798f\u7684Web\u5e94\u7528\u5f00\u53d1\u8bfe\u7a0b\uff0c\u5185\u5bb9\u8986\u76d6\u4e86HTML\u3001CSS\u3001JavaScript\u3001ReactJs\u3001NodeJS\u3001ExpressJS\u3001Web\u5b89\u5168\u7b49\u7b49\u30028\u4e2aProject\u4f1a\u8ba9\u4f60\u5728\u5b9e\u6218\u4e2d\u953b\u70bc\u81ea\u5df1\u7684Web\u5f00\u53d1\u6280\u5de7\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a","title":"Stanford CS142: Web Applications"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/#stanford-cs142-web-applications","text":"","title":"Stanford CS142: Web Applications"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u7ecf\u9a8c \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u65af\u5766\u798f\u7684Web\u5e94\u7528\u5f00\u53d1\u8bfe\u7a0b\uff0c\u5185\u5bb9\u8986\u76d6\u4e86HTML\u3001CSS\u3001JavaScript\u3001ReactJs\u3001NodeJS\u3001ExpressJS\u3001Web\u5b89\u5168\u7b49\u7b49\u30028\u4e2aProject\u4f1a\u8ba9\u4f60\u5728\u5b9e\u6218\u4e2d\u953b\u70bc\u81ea\u5df1\u7684Web\u5f00\u53d1\u6280\u5de7\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"Web%E5%BC%80%E5%8F%91/CS142/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/","text":"MIT Web Development Crash Course \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS/NoSQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT\u5728\u6bcf\u5e741\u6708\u4efd\u4f1a\u6709\u4e00\u4e2a\u4e3a\u671f4\u5468\u7684 Independent Activities Period (IAP)\uff0c\u5728\u8fd9\u4e2a\u6708\u91cc\uff0cMIT\u7684\u5b66\u751f\u548c\u8001\u5e08\u53ef\u4ee5\u81ea\u7531\u5730\u5f00\u8bbe\u5f88\u591a\u6709\u8da3\u7684\u8bfe\u7a0b\uff0c\u800c\u8fd9\u95e8\u7f51\u7ad9\u5f00\u53d1\u8bfe\u7a0b\u5c31\u662f\u5176\u4e2d\u4e4b\u4e00\u3002 \u5728\u4e00\u4e2a\u6708\u7684\u65f6\u95f4\u91cc\uff0c\u4f60\u4f1a\u4ece\u96f6\u5f00\u59cb\u638c\u63e1\u4e00\u4e2a\u7f51\u7ad9\u7684\u8bbe\u8ba1\u3001\u642d\u5efa\u3001\u7f8e\u5316\u3001\u4ea4\u4e92\u7b49\u7b49\u6838\u5fc3\u5185\u5bb9\uff0c\u57fa\u672c\u8986\u76d6\u4e86Web\u5f00\u53d1\u7684\u524d\u540e\u7aef\u5927\u90e8\u5206\u6280\u672f\u6808\u3002\u5982\u679c\u4f60\u4e0d\u9700\u8981\u7cfb\u7edf\u5730\u5b66\u4e60\u7f51\u7edc\u5f00\u53d1\uff0c\u800c\u53ea\u662f\u51fa\u4e8e\u5174\u8da3\u60f3\u628a\u5b83\u52a0\u5165\u81ea\u5df1\u7684\u6280\u80fd\u5305\u91cc\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u975e\u5e38\u9002\u5408\u4f60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0bschedule","title":"MIT web development course"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/#mit-web-development-crash-course","text":"","title":"MIT Web Development Crash Course"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJavaScript/HTML/CSS/NoSQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT\u5728\u6bcf\u5e741\u6708\u4efd\u4f1a\u6709\u4e00\u4e2a\u4e3a\u671f4\u5468\u7684 Independent Activities Period (IAP)\uff0c\u5728\u8fd9\u4e2a\u6708\u91cc\uff0cMIT\u7684\u5b66\u751f\u548c\u8001\u5e08\u53ef\u4ee5\u81ea\u7531\u5730\u5f00\u8bbe\u5f88\u591a\u6709\u8da3\u7684\u8bfe\u7a0b\uff0c\u800c\u8fd9\u95e8\u7f51\u7ad9\u5f00\u53d1\u8bfe\u7a0b\u5c31\u662f\u5176\u4e2d\u4e4b\u4e00\u3002 \u5728\u4e00\u4e2a\u6708\u7684\u65f6\u95f4\u91cc\uff0c\u4f60\u4f1a\u4ece\u96f6\u5f00\u59cb\u638c\u63e1\u4e00\u4e2a\u7f51\u7ad9\u7684\u8bbe\u8ba1\u3001\u642d\u5efa\u3001\u7f8e\u5316\u3001\u4ea4\u4e92\u7b49\u7b49\u6838\u5fc3\u5185\u5bb9\uff0c\u57fa\u672c\u8986\u76d6\u4e86Web\u5f00\u53d1\u7684\u524d\u540e\u7aef\u5927\u90e8\u5206\u6280\u672f\u6808\u3002\u5982\u679c\u4f60\u4e0d\u9700\u8981\u7cfb\u7edf\u5730\u5b66\u4e60\u7f51\u7edc\u5f00\u53d1\uff0c\u800c\u53ea\u662f\u51fa\u4e8e\u5174\u8da3\u60f3\u628a\u5b83\u52a0\u5165\u81ea\u5df1\u7684\u6280\u80fd\u5305\u91cc\uff0c\u90a3\u4e48\u8fd9\u95e8\u8bfe\u5c06\u975e\u5e38\u9002\u5408\u4f60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"Web%E5%BC%80%E5%8F%91/mitweb/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0bschedule","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/","text":"CS188: Introduction to Artificial Intelligence \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u4eba\u5de5\u667a\u80fd\u5165\u95e8\u8bfe\uff0c\u8bfe\u7a0bnotes\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u57fa\u672c\u4e0d\u9700\u8981\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u3002\u8bfe\u7a0b\u5185\u5bb9\u7684\u5b89\u6392\u57fa\u672c\u6309\u7167\u4eba\u5de5\u667a\u80fd\u7684\u7ecf\u5178\u6559\u6750 Artificial intelligence: A Modern Approach \u7684\u7ae0\u8282\u987a\u5e8f\uff0c\u8986\u76d6\u4e86\u641c\u7d22\u526a\u679d\u3001\u7ea6\u675f\u6ee1\u8db3\u95ee\u9898\u3001\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u8d1d\u53f6\u65af\u7f51\u7edc\u3001\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u4ee5\u53ca\u57fa\u7840\u7684\u673a\u5668\u5b66\u4e60\u548c\u795e\u7ecf\u7f51\u7edc\u7684\u76f8\u5173\u5185\u5bb9\u3002 2018\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u7248\u672c\u514d\u8d39\u5f00\u653e\u4e86gradescope\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u7ebf\u5b8c\u6210\u4e66\u9762\u4f5c\u4e1a\u5e76\u5b9e\u65f6\u5f97\u5230\u6d4b\u8bc4\u7ed3\u679c\u3002\u540c\u65f6\u8bfe\u7a0b\u76846\u4e2aProject\u4e5f\u662f\u8d28\u91cf\u7206\u70b8\uff0c\u590d\u73b0\u4e86\u7ecf\u5178\u7684Packman\uff08\u5403\u8c46\u4eba\uff09\u5c0f\u6e38\u620f\uff0c\u4f1a\u8ba9\u4f60\u5229\u7528\u5b66\u5230\u7684AI\u77e5\u8bc6\uff0c\u53bb\u5b9e\u73b0\u76f8\u5173\u7b97\u6cd5\uff0c\u8ba9\u4f60\u7684\u5403\u8c46\u4eba\u5728\u8ff7\u5bab\u91cc\u81ea\u7531\u7a7f\u68ad\uff0c\u8eb2\u907f\u9b3c\u602a\uff0c\u6536\u96c6\u8c46\u5b50\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aArtificial intelligence: A Modern Approach \u8bfe\u7a0b\u4f5c\u4e1a \uff1a14\u4e2a\u5728\u7ebf\u6d4b\u8bc4\u4e66\u9762\u4f5c\u4e1a\u548c6\u4e2aProject","title":"UCB CS188: Introduction to Artificial Intelligence"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#cs188-introduction-to-artificial-intelligence","text":"","title":"CS188: Introduction to Artificial Intelligence"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u4eba\u5de5\u667a\u80fd\u5165\u95e8\u8bfe\uff0c\u8bfe\u7a0bnotes\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u57fa\u672c\u4e0d\u9700\u8981\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u3002\u8bfe\u7a0b\u5185\u5bb9\u7684\u5b89\u6392\u57fa\u672c\u6309\u7167\u4eba\u5de5\u667a\u80fd\u7684\u7ecf\u5178\u6559\u6750 Artificial intelligence: A Modern Approach \u7684\u7ae0\u8282\u987a\u5e8f\uff0c\u8986\u76d6\u4e86\u641c\u7d22\u526a\u679d\u3001\u7ea6\u675f\u6ee1\u8db3\u95ee\u9898\u3001\u9a6c\u5c14\u53ef\u592b\u51b3\u7b56\u8fc7\u7a0b\u3001\u5f3a\u5316\u5b66\u4e60\u3001\u8d1d\u53f6\u65af\u7f51\u7edc\u3001\u9690\u9a6c\u5c14\u53ef\u592b\u6a21\u578b\u4ee5\u53ca\u57fa\u7840\u7684\u673a\u5668\u5b66\u4e60\u548c\u795e\u7ecf\u7f51\u7edc\u7684\u76f8\u5173\u5185\u5bb9\u3002 2018\u5e74\u79cb\u5b63\u5b66\u671f\u7684\u7248\u672c\u514d\u8d39\u5f00\u653e\u4e86gradescope\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u7ebf\u5b8c\u6210\u4e66\u9762\u4f5c\u4e1a\u5e76\u5b9e\u65f6\u5f97\u5230\u6d4b\u8bc4\u7ed3\u679c\u3002\u540c\u65f6\u8bfe\u7a0b\u76846\u4e2aProject\u4e5f\u662f\u8d28\u91cf\u7206\u70b8\uff0c\u590d\u73b0\u4e86\u7ecf\u5178\u7684Packman\uff08\u5403\u8c46\u4eba\uff09\u5c0f\u6e38\u620f\uff0c\u4f1a\u8ba9\u4f60\u5229\u7528\u5b66\u5230\u7684AI\u77e5\u8bc6\uff0c\u53bb\u5b9e\u73b0\u76f8\u5173\u7b97\u6cd5\uff0c\u8ba9\u4f60\u7684\u5403\u8c46\u4eba\u5728\u8ff7\u5bab\u91cc\u81ea\u7531\u7a7f\u68ad\uff0c\u8eb2\u907f\u9b3c\u602a\uff0c\u6536\u96c6\u8c46\u5b50\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aArtificial intelligence: A Modern Approach \u8bfe\u7a0b\u4f5c\u4e1a \uff1a14\u4e2a\u5728\u7ebf\u6d4b\u8bc4\u4e66\u9762\u4f5c\u4e1a\u548c6\u4e2aProject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/","text":"CS50\u2019s Introduction to AI with Python \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aHarvard \u5148\u4fee\u8981\u6c42\uff1a\u57fa\u672c\u6982\u7387\u8bba + Python\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u4e00\u95e8\u975e\u5e38\u57fa\u7840\u7684AI\u5165\u95e8\u8bfe\uff0c\u8ba9\u4eba\u773c\u524d\u4e00\u4eae\u7684\u662f12\u4e2a\u8bbe\u8ba1\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u90fd\u4f1a\u7528\u5b66\u5230\u7684AI\u77e5\u8bc6\u53bb\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684\u6e38\u620fAI\uff0c\u6bd4\u5982\u7528\u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3\u4e00\u4e2aNim\u6e38\u620f\u7684AI\uff0c\u7528alpha-beta\u526a\u679d\u53bb\u626b\u96f7\u7b49\u7b49\uff0c\u975e\u5e38\u9002\u5408\u65b0\u624b\u5165\u95e8\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a12\u4e2a\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Harvard CS50\u2019s Introduction to AI with Python"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#cs50s-introduction-to-ai-with-python","text":"","title":"CS50\u2019s Introduction to AI with Python"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aHarvard \u5148\u4fee\u8981\u6c42\uff1a\u57fa\u672c\u6982\u7387\u8bba + Python\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u4e00\u95e8\u975e\u5e38\u57fa\u7840\u7684AI\u5165\u95e8\u8bfe\uff0c\u8ba9\u4eba\u773c\u524d\u4e00\u4eae\u7684\u662f12\u4e2a\u8bbe\u8ba1\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u90fd\u4f1a\u7528\u5b66\u5230\u7684AI\u77e5\u8bc6\u53bb\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684\u6e38\u620fAI\uff0c\u6bd4\u5982\u7528\u5f3a\u5316\u5b66\u4e60\u8bad\u7ec3\u4e00\u4e2aNim\u6e38\u620f\u7684AI\uff0c\u7528alpha-beta\u526a\u679d\u53bb\u626b\u96f7\u7b49\u7b49\uff0c\u975e\u5e38\u9002\u5408\u65b0\u624b\u5165\u95e8\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a12\u4e2a\u7cbe\u5de7\u7684\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CYJ/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u9662\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784\uff0c\u6df1\u5ea6\u5b66\u4e60 \u7f16\u7a0b\u8bed\u8a00\uff1aPython\uff0cC++\uff0cBCL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6+ \u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u662f\u667a\u80fd\u7684\u6838\u5fc3\u7269\u8d28\u8f7d\u4f53\uff0c\u6bcf\u5e74\u5168\u7403\u8981\u5236\u9020\u6570\u4ee5\u5341\u4ebf\u8ba1\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u5305\u62ec\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u670d\u52a1\u5668\u3001\u667a\u80fd\u53ef\u7a7f\u6234\u8bbe\u5907\u7b49\uff09\uff0c\u9700\u8981\u5927\u91cf\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8bbe\u8ba1\u8005\u548c\u5f00\u53d1\u8005\u3002\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u4eba\u624d\u7684\u57f9\u517b\u76f4\u63a5\u5173\u7cfb\u5230\u6211\u56fd\u667a\u80fd\u4ea7\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u56e0\u6b64\uff0c\u5bf9\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8ba4\u8bc6\u548c\u7406\u89e3\u662f\u667a\u80fd\u65f6\u4ee3\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u57f9\u517b\u65b9\u6848\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u91cd\u8981\u7ec4\u6210\u90e8\u5206\uff0c\u662f\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002 \u56fd\u5185\u7684\u9648\u4e91\u9701\u8001\u5e08\u5f00\u7684\u8bfe\uff0c\u5728\u5176\u4ed6\u82e5\u5e72\u4e2a\u5927\u5b66\u4e5f\u90fd\u6709\u5f00\u5bf9\u5e94\u7684\u8bfe\u7a0b\uff08\u6bd4\u5982\u6211\u4eec\u8fd9\u91cc\uff09\u3002\u8fd9\u95e8\u8bfe\u7528\u4e00\u4e2a\u4e2a\u5b9e\u9a8c\u5e26\u5927\u5bb6\u4ee5\u4e00\u4e2a\u5b8c\u6574\u7684\u89c6\u91ce\u7406\u89e3\u4eba\u5de5\u667a\u80fd\u7684\u6280\u672f\u6808\u3002\u4ece\u4e0a\u5c42\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5230\u7528\u5e95\u5c42\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\uff0c\u518d\u5230\u786c\u4ef6\u4e2dMLU\u7684\u8bbe\u8ba1\uff0c\u8ba9\u5927\u5bb6\u5f62\u6210\u7cfb\u7edf\u601d\u7ef4\uff0c\u4f53\u4f1a\u81ea\u4e0a\u800c\u4e0b\uff0c\u878d\u4f1a\u8d2f\u901a\u7684\u4e50\u8da3\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a \u5b98\u7f51 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1a\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u9648\u4e91\u9701\uff09 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6\u4e2a\u5b9e\u9a8c(\u5305\u62ec\u7f16\u5199\u5377\u79ef\u7b97\u5b50\uff0c\u4e3atensorflow\u6dfb\u52a0\u7b97\u5b50\uff0c\u7528BCL\u7f16\u5199\u7b97\u5b50\u5e76\u96c6\u6210\u5230tensorflow\u4e2d\u7b49)(\u5177\u4f53\u5185\u5bb9\u5728\u5b98\u7f51\u53ef\u4ee5\u627e\u5230) \u5b9e\u9a8c\u624b\u518c \uff1a\u5b9e\u9a8c2.0\u6307\u5bfc\u624b\u518c \u5b66\u4e60\u7b14\u8bb0 \uff1a\u53c2\u8003\u5b9e\u9a8c\u624b\u518c\u603b\u7ed3\u7684\u7b14\u8bb0 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002 \u6211\u505a\u4e86\u5176\u4e2d\u76842,3,4,5\u8fd9\u51e0\u4e2a\u5b9e\u9a8c\uff0c\u5176\u4e2d\u7efc\u5408\u5b9e\u9a8c\u548c\u786c\u4ef6\u5b9e\u9a8c\u6ca1\u6709\u505a\uff0c\u5982\u679c\u6709\u505a\u4e86\u7684\u540c\u5b66\u6b22\u8fce\u5927\u5bb6\u8865\u4e0a\u4f60\u7684\u94fe\u63a5 \u4e2a\u4eba\u4f53\u4f1a\u662f\u7b2c\u4e09\u7ae0\u5b9e\u73b0\u7b97\u5b50\u7684\u5b9e\u9a8c\u8ba9\u6211\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u7684\u4e86\u89e3\u52a0\u6df1\u4e86\u5f88\u591a\u3002\u7b2c\u4e94\u7ae0\u7684\u5b9e\u9a8cBCL\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\u5982\u679c\u4e86\u89e3CUDA\u7684\u8bdd\u4f1a\u611f\u89c9\u5f88\u719f\u6089\u3002 \u63a8\u8350\u53bb\u4e70\u4e00\u672c\u6559\u6750\u770b\u4e00\u770b\uff0c\u4f1a\u8ba9\u6211\u4eec\u7406\u89e3\u6574\u4f53\u7684\u6280\u672f\u6808\u3002\u719f\u6089\u6df1\u5ea6\u5b66\u4e60\u7684\u540c\u5b66\u53ef\u4ee5\u76f4\u63a5\u4ece\u7b2c\u4e94\u7ae0\u5f00\u59cb\u770b\uff0c\u770b\u770b\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u5e95\u5c42\u5230\u5e95\u662f\u4ec0\u4e48\u6837\u7684\u3002 \u6211\u56e0\u4e3a\u8fd9\u95e8\u8bfe\u7684\u542f\u53d1\uff0c\u53c2\u8003\u4e00\u672c\u4e66\uff08\u4e66\u540d\u5728\u4ed3\u5e93\u4e2d\uff09\u5199\u4e86\u4e00\u4e2a\u7b80\u6613\u7684 \u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 \u3002\u5728\u8fd9\u4e2a\u6846\u67b6\u91cc\u53ef\u4ee5\u770b\u5230\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u5b9e\u9a8c\u4e2d\u7684\u4e00\u4e9b\u5f71\u5b50\u3002\u540c\u65f6\u53d7\u5230build-your-own-x\u7cfb\u5217\u7684\u542f\u53d1\uff0c\u6211\u4e5f\u6253\u7b97\u5199\u4e00\u4e0b\u6559\u7a0b\uff0c\u6559\u5927\u5bb6\u5199\u4e00\u4e2a\u81ea\u5df1\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u3002\u4ee3\u7801\u7528python\u5199\u7684\uff0c\u4ee3\u7801\u91cf\u8f83\u5c11\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u57fa\u7840\u7684\u540c\u5b66\u9605\u8bfb\u3002\u4e4b\u540e\u6253\u7b97\u6dfb\u52a0\u66f4\u591a\u7684\u7b97\u5b50\uff0c\u6709\u671b\u5b9e\u73b0\u4e00\u4e2a\u8f83\u4e3a\u5168\u9762\u7684\u6846\u67b6\uff0c\u5e76\u5e0c\u671b\u79fb\u690d\u5230C++\u4e2d\uff0c\u4ee5\u517c\u987e\u6027\u80fd\u4e0e\u5f00\u53d1\u6548\u7387\u3002","title":"\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CYJ/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u4e2d\u56fd\u79d1\u5b66\u9662\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784\uff0c\u6df1\u5ea6\u5b66\u4e60 \u7f16\u7a0b\u8bed\u8a00\uff1aPython\uff0cC++\uff0cBCL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6+ \u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u662f\u667a\u80fd\u7684\u6838\u5fc3\u7269\u8d28\u8f7d\u4f53\uff0c\u6bcf\u5e74\u5168\u7403\u8981\u5236\u9020\u6570\u4ee5\u5341\u4ebf\u8ba1\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u5305\u62ec\u667a\u80fd\u624b\u673a\u3001\u667a\u80fd\u670d\u52a1\u5668\u3001\u667a\u80fd\u53ef\u7a7f\u6234\u8bbe\u5907\u7b49\uff09\uff0c\u9700\u8981\u5927\u91cf\u7684\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8bbe\u8ba1\u8005\u548c\u5f00\u53d1\u8005\u3002\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u4eba\u624d\u7684\u57f9\u517b\u76f4\u63a5\u5173\u7cfb\u5230\u6211\u56fd\u667a\u80fd\u4ea7\u4e1a\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002\u56e0\u6b64\uff0c\u5bf9\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u7684\u8ba4\u8bc6\u548c\u7406\u89e3\u662f\u667a\u80fd\u65f6\u4ee3\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u57f9\u517b\u65b9\u6848\u4e2d\u4e0d\u53ef\u6216\u7f3a\u7684\u91cd\u8981\u7ec4\u6210\u90e8\u5206\uff0c\u662f\u8ba1\u7b97\u673a\u7c7b\u4e13\u4e1a\u5b66\u751f\u7684\u6838\u5fc3\u7ade\u4e89\u529b\u3002 \u56fd\u5185\u7684\u9648\u4e91\u9701\u8001\u5e08\u5f00\u7684\u8bfe\uff0c\u5728\u5176\u4ed6\u82e5\u5e72\u4e2a\u5927\u5b66\u4e5f\u90fd\u6709\u5f00\u5bf9\u5e94\u7684\u8bfe\u7a0b\uff08\u6bd4\u5982\u6211\u4eec\u8fd9\u91cc\uff09\u3002\u8fd9\u95e8\u8bfe\u7528\u4e00\u4e2a\u4e2a\u5b9e\u9a8c\u5e26\u5927\u5bb6\u4ee5\u4e00\u4e2a\u5b8c\u6574\u7684\u89c6\u91ce\u7406\u89e3\u4eba\u5de5\u667a\u80fd\u7684\u6280\u672f\u6808\u3002\u4ece\u4e0a\u5c42\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\uff0c\u5230\u7528\u5e95\u5c42\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\uff0c\u518d\u5230\u786c\u4ef6\u4e2dMLU\u7684\u8bbe\u8ba1\uff0c\u8ba9\u5927\u5bb6\u5f62\u6210\u7cfb\u7edf\u601d\u7ef4\uff0c\u4f53\u4f1a\u81ea\u4e0a\u800c\u4e0b\uff0c\u878d\u4f1a\u8d2f\u901a\u7684\u4e50\u8da3\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CYJ/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a \u5b98\u7f51 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \u8bfe\u7a0b\u6559\u6750\uff1a\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\uff08\u9648\u4e91\u9701\uff09 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6\u4e2a\u5b9e\u9a8c(\u5305\u62ec\u7f16\u5199\u5377\u79ef\u7b97\u5b50\uff0c\u4e3atensorflow\u6dfb\u52a0\u7b97\u5b50\uff0c\u7528BCL\u7f16\u5199\u7b97\u5b50\u5e76\u96c6\u6210\u5230tensorflow\u4e2d\u7b49)(\u5177\u4f53\u5185\u5bb9\u5728\u5b98\u7f51\u53ef\u4ee5\u627e\u5230) \u5b9e\u9a8c\u624b\u518c \uff1a\u5b9e\u9a8c2.0\u6307\u5bfc\u624b\u518c \u5b66\u4e60\u7b14\u8bb0 \uff1a\u53c2\u8003\u5b9e\u9a8c\u624b\u518c\u603b\u7ed3\u7684\u7b14\u8bb0","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CYJ/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002 \u6211\u505a\u4e86\u5176\u4e2d\u76842,3,4,5\u8fd9\u51e0\u4e2a\u5b9e\u9a8c\uff0c\u5176\u4e2d\u7efc\u5408\u5b9e\u9a8c\u548c\u786c\u4ef6\u5b9e\u9a8c\u6ca1\u6709\u505a\uff0c\u5982\u679c\u6709\u505a\u4e86\u7684\u540c\u5b66\u6b22\u8fce\u5927\u5bb6\u8865\u4e0a\u4f60\u7684\u94fe\u63a5 \u4e2a\u4eba\u4f53\u4f1a\u662f\u7b2c\u4e09\u7ae0\u5b9e\u73b0\u7b97\u5b50\u7684\u5b9e\u9a8c\u8ba9\u6211\u5bf9\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u7684\u4e86\u89e3\u52a0\u6df1\u4e86\u5f88\u591a\u3002\u7b2c\u4e94\u7ae0\u7684\u5b9e\u9a8cBCL\u8bed\u8a00\u7f16\u5199\u7b97\u5b50\u5982\u679c\u4e86\u89e3CUDA\u7684\u8bdd\u4f1a\u611f\u89c9\u5f88\u719f\u6089\u3002 \u63a8\u8350\u53bb\u4e70\u4e00\u672c\u6559\u6750\u770b\u4e00\u770b\uff0c\u4f1a\u8ba9\u6211\u4eec\u7406\u89e3\u6574\u4f53\u7684\u6280\u672f\u6808\u3002\u719f\u6089\u6df1\u5ea6\u5b66\u4e60\u7684\u540c\u5b66\u53ef\u4ee5\u76f4\u63a5\u4ece\u7b2c\u4e94\u7ae0\u5f00\u59cb\u770b\uff0c\u770b\u770b\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u5e95\u5c42\u5230\u5e95\u662f\u4ec0\u4e48\u6837\u7684\u3002 \u6211\u56e0\u4e3a\u8fd9\u95e8\u8bfe\u7684\u542f\u53d1\uff0c\u53c2\u8003\u4e00\u672c\u4e66\uff08\u4e66\u540d\u5728\u4ed3\u5e93\u4e2d\uff09\u5199\u4e86\u4e00\u4e2a\u7b80\u6613\u7684 \u6df1\u5ea6\u5b66\u4e60\u6846\u67b6 \u3002\u5728\u8fd9\u4e2a\u6846\u67b6\u91cc\u53ef\u4ee5\u770b\u5230\u667a\u80fd\u8ba1\u7b97\u7cfb\u7edf\u5b9e\u9a8c\u4e2d\u7684\u4e00\u4e9b\u5f71\u5b50\u3002\u540c\u65f6\u53d7\u5230build-your-own-x\u7cfb\u5217\u7684\u542f\u53d1\uff0c\u6211\u4e5f\u6253\u7b97\u5199\u4e00\u4e0b\u6559\u7a0b\uff0c\u6559\u5927\u5bb6\u5199\u4e00\u4e2a\u81ea\u5df1\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6\u3002\u4ee3\u7801\u7528python\u5199\u7684\uff0c\u4ee3\u7801\u91cf\u8f83\u5c11\uff0c\u9002\u5408\u6709\u4e00\u5b9a\u57fa\u7840\u7684\u540c\u5b66\u9605\u8bfb\u3002\u4e4b\u540e\u6253\u7b97\u6dfb\u52a0\u66f4\u591a\u7684\u7b97\u5b50\uff0c\u6709\u671b\u5b9e\u73b0\u4e00\u4e2a\u8f83\u4e3a\u5168\u9762\u7684\u6846\u67b6\uff0c\u5e76\u5e0c\u671b\u79fb\u690d\u5230C++\u4e2d\uff0c\u4ee5\u517c\u987e\u6027\u80fd\u4e0e\u5f00\u53d1\u6548\u7387\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/","text":"CS61C: Great Ideas in Computer Architecture \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f2f\u514b\u5229CS61\u7cfb\u5217\u7684\u6700\u540e\u4e00\u95e8\u8bfe\u7a0b\uff0c\u6df1\u5165\u8ba1\u7b97\u673a\u7684\u786c\u4ef6\u7ec6\u8282\uff0c\u5e26\u9886\u5b66\u751f\u9010\u6b65\u7406\u89e3C\u8bed\u8a00\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u5316\u4e3aRISC-V\u6c47\u7f16\u5e76\u5728CPU\u4e0a\u6267\u884c\u7684\u3002\u548c \bNand2Tetris \u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe \u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4f1a\u5927\u5f88\u591a\uff0c\u5177\u4f53\u4f1a\u6d89\u53ca\u5230\u6d41\u6c34\u7ebf\u3001Cache\u3001\u865a\u5b58\u4ee5\u53ca\u5e76\u53d1\u76f8\u5173\u7684\u5185\u5bb9\u3002 \u8fd9\u95e8\u8bfe\u7684Project\u4e5f\u975e\u5e38\u65b0\u9896\u6709\u8da3\u3002Project1\u4f1a\u8ba9\u4f60\u7528C\u8bed\u8a00\u5199\u4e00\u4e2a\u5c0f\u7a0b\u5e8f\uff0c20\u5e74\u79cb\u5b63\u5b66\u671f\u662f\u8457\u540d\u7684\u6e38\u620f Game of Life \u3002Project2\u4f1a\u8ba9\u4f60\u7528RISC-V\u6c47\u7f16\u7f16\u5199\u4e00\u4e2a\u795e\u7ecf\u7f51\u7edc\uff0c\u7528\u6765 \u8bc6\u522bMNIST\u624b\u5199\u6570\u5b57\uff0c\u975e\u5e38\u953b\u70bc\u4f60\u5bf9\u6c47\u7f16\u4ee3\u7801\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002Project3\u4e2d\u4f60\u4f1a\u7528Logism\u8fd9\u4e2a\u6570\u5b57\u7535\u8def\u6a21\u62df\u8f6f\u4ef6\u642d\u5efa\u51fa\u4e00\u4e2a\u4e8c\u7ea7\u6d41\u6c34\u7ebf\u7684CPU\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884cRISC-V\u6c47\u7f16\u4ee3\u7801\u3002Project4 \u4f1a\u8ba9\u4f60\u4f7f\u7528OpenMP\uff0cSIMD\u7b49\u65b9\u6cd5\u5e76\u884c\u4f18\u5316\u77e9\u9635\u8fd0\u7b97\uff0c\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684Numpy\u3002 \u603b\u800c\u8a00\u4e4b\uff0c\u8fd9\u662f\u4e2a\u4eba\u4e0a\u8fc7\u7684\u6700\u597d\u7684\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u8bfe\u7a0b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a B\u7ad9 , Youtube \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11\u4e2alab\uff0c4\u4e2aproject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS61C: Great Ideas in Computer Architecture"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#cs61c-great-ideas-in-computer-architecture","text":"","title":"CS61C: Great Ideas in Computer Architecture"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f2f\u514b\u5229CS61\u7cfb\u5217\u7684\u6700\u540e\u4e00\u95e8\u8bfe\u7a0b\uff0c\u6df1\u5165\u8ba1\u7b97\u673a\u7684\u786c\u4ef6\u7ec6\u8282\uff0c\u5e26\u9886\u5b66\u751f\u9010\u6b65\u7406\u89e3C\u8bed\u8a00\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u5316\u4e3aRISC-V\u6c47\u7f16\u5e76\u5728CPU\u4e0a\u6267\u884c\u7684\u3002\u548c \bNand2Tetris \u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe \u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u90fd\u4f1a\u5927\u5f88\u591a\uff0c\u5177\u4f53\u4f1a\u6d89\u53ca\u5230\u6d41\u6c34\u7ebf\u3001Cache\u3001\u865a\u5b58\u4ee5\u53ca\u5e76\u53d1\u76f8\u5173\u7684\u5185\u5bb9\u3002 \u8fd9\u95e8\u8bfe\u7684Project\u4e5f\u975e\u5e38\u65b0\u9896\u6709\u8da3\u3002Project1\u4f1a\u8ba9\u4f60\u7528C\u8bed\u8a00\u5199\u4e00\u4e2a\u5c0f\u7a0b\u5e8f\uff0c20\u5e74\u79cb\u5b63\u5b66\u671f\u662f\u8457\u540d\u7684\u6e38\u620f Game of Life \u3002Project2\u4f1a\u8ba9\u4f60\u7528RISC-V\u6c47\u7f16\u7f16\u5199\u4e00\u4e2a\u795e\u7ecf\u7f51\u7edc\uff0c\u7528\u6765 \u8bc6\u522bMNIST\u624b\u5199\u6570\u5b57\uff0c\u975e\u5e38\u953b\u70bc\u4f60\u5bf9\u6c47\u7f16\u4ee3\u7801\u7684\u7406\u89e3\u548c\u8fd0\u7528\u3002Project3\u4e2d\u4f60\u4f1a\u7528Logism\u8fd9\u4e2a\u6570\u5b57\u7535\u8def\u6a21\u62df\u8f6f\u4ef6\u642d\u5efa\u51fa\u4e00\u4e2a\u4e8c\u7ea7\u6d41\u6c34\u7ebf\u7684CPU\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884cRISC-V\u6c47\u7f16\u4ee3\u7801\u3002Project4 \u4f1a\u8ba9\u4f60\u4f7f\u7528OpenMP\uff0cSIMD\u7b49\u65b9\u6cd5\u5e76\u884c\u4f18\u5316\u77e9\u9635\u8fd0\u7b97\uff0c\u5b9e\u73b0\u4e00\u4e2a\u7b80\u6613\u7684Numpy\u3002 \u603b\u800c\u8a00\u4e4b\uff0c\u8fd9\u662f\u4e2a\u4eba\u4e0a\u8fc7\u7684\u6700\u597d\u7684\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\u7684\u8bfe\u7a0b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a B\u7ad9 , Youtube \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11\u4e2alab\uff0c4\u4e2aproject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/","text":"CMU CS15213: CSAPP \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 CMU\u5927\u540d\u9f0e\u9f0e\u7684\u9547\u7cfb\u795e\u8bfe\uff0c\u4ee5\u5176\u5185\u5bb9\u5e9e\u6742\uff0cproject\u5de8\u96be\u800c\u95fb\u540d\u9050\u8fe9\u3002\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6c47\u7f16\u8bed\u8a00\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f16\u8bd1\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\uff0c\u4f5c\u4e3a\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u5982\u679c\u81ea\u5b66\u786e\u5b9e\u9700\u8981\u76f8\u5f53\u7684\u6bc5\u529b\u548c\u4ee3\u7801\u529f\u5e95\u3002 \u8fd9\u95e8\u8bfe\u914d\u5408\u7684\u6559\u6750\u7531CMU\u8ba1\u7b97\u673a\u7cfb\u4e3b\u4efbBryant\u6559\u6388\u6267\u7b14\uff0c\u4e5f\u5373\u6240\u8c13\u7684CSAPP\u3002\u8fd9\u4e5f\u662f\u6211\u7b2c\u4e00\u672c\u8ba4\u8ba4\u771f\u771f\u4e00\u9875\u4e00\u9875\u8bfb\u8fc7\u53bb\u7684\u8ba1\u7b97\u673a\u6559\u6750\uff0c\u867d\u7136\u5f88\u96be\u5543\uff0c\u4f46\u7740\u5b9e\u6536\u83b7\u826f\u591a\u3002 \u5317\u5927\u8d2d\u4e70\u4e86\u8fd9\u95e8\u8bfe\u7684\u7248\u6743\u5e76\u5f00\u8bbe\u4e86Introduction to Computer System\u8fd9\u95e8\u8bfe\uff0c\u4f46\u5176\u5b9eCSAPP\u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u548c\u5b9e\u9a8c\u4ee3\u7801\u90fd\u80fd\u5728\u5b83\u7684\u5b98\u65b9\u4e3b\u9875\u4e0a\u8bbf\u95ee\u5230\uff08\u5177\u4f53\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\u3002 \u8fd9\u95e8\u8bfe\u7531\u4e8e\u8fc7\u4e8e\u51fa\u540d\uff0c\u5168\u4e16\u754c\u7684\u7801\u519c\u4e89\u76f8\u5b66\u4e60\uff0c\u5bfc\u81f4\u5176Project\u7684\u7b54\u6848\u5728\u7f51\u4e0a\u51e0\u4e4e\u553e\u624b\u53ef\u5f97\u3002\u4f46\u5982\u679c\u4f60\u771f\u7684\u60f3\u953b\u70bc\u81ea\u5df1\u7684\u4ee3\u7801\u80fd\u529b\uff0c\u5e0c\u671b\u4f60\u4e0d\u8981\u501f\u9274\u4efb\u4f55\u7b2c\u4e09\u65b9\u4ee3\u7801\u3002 \u8ba4\u771f\u5b66\u5b8c\u8fd9\u4e00\u95e8\u8bfe\uff0c\u4f60\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u7406\u89e3\u7edd\u5bf9\u4f1a\u4e0a\u5347\u4e00\u4e2a\u53f0\u9636\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aComputer Systems: A Programmer's Perspective, 3/E \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11\u4e2aProject\uff0c \u4ee3\u7801\u6846\u67b6\u5168\u90e8\u5f00\u6e90 \u8865\u5145\uff1a\u76f8\u4fe1\u5927\u5bb6\u5728\u770b\u5b8cCSAPP\u8fd9\u672c\u4e66\u4ee5\u540e\uff0c\u53ef\u80fd\u4f1a\u5bf9\u4e66\u4e2d\u7684\u7b2c\u4e03\u7ae0\u94fe\u63a5\u6709\u4e00\u5b9a\u7684\u7591\u95ee\u3002\u8fd9\u91cc\u63a8\u8350\u4e00\u672c\u4e66\u300a\u7a0b\u5e8f\u5458\u7684\u81ea\u6211\u4fee\u517b\u300b\uff0c\u4e66\u7684\u526f\u6807\u9898\u662f\u94fe\u63a5\uff0c\u88c5\u8f7d\u4e0e\u5e93\u3002\u8fd9\u672c\u4e66\u80fd\u591f\u5e2e\u52a9\u6211\u4eec\u5b8c\u5584\u5bf9\u7a0b\u5e8f\u94fe\u63a5\u7684\u7406\u89e3\uff0c\u4ee5\u53ca\u5bf9CSAPP\u7b2c\u4e03\u7ae0\u90e8\u5206\u77e5\u8bc6\u70b9\u7684\u4e00\u4e2a\u8be6\u7ec6\u7684\u9610\u8ff0\u3002\u76f8\u4fe1\u4f60\u5728\u770b\u5b8c\u8fd9\u672c\u4e66\u4ee5\u540e\u53ef\u4ee5\u5bf9\u7a0b\u5e8f\u7684\u94fe\u63a5\uff0cELF\u6587\u4ef6\uff0c\u52a8\u6001\u5e93\u6709\u4e00\u4e2a\u66f4\u52a0\u6df1\u5165\u7684\u7406\u89e3\u3002\u5341\u5206\u63a8\u8350\u5728\u8bfb\u5b8cCSAPP\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\u4ee5\u540e\u4f5c\u4e3a\u8865\u5145\u8d44\u6599\u6765\u9605\u8bfb\u3002","title":"CMU 15-213: CSAPP"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#cmu-cs15213-csapp","text":"","title":"CMU CS15213: CSAPP"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B \u7f16\u7a0b\u8bed\u8a00\uff1aC \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 CMU\u5927\u540d\u9f0e\u9f0e\u7684\u9547\u7cfb\u795e\u8bfe\uff0c\u4ee5\u5176\u5185\u5bb9\u5e9e\u6742\uff0cproject\u5de8\u96be\u800c\u95fb\u540d\u9050\u8fe9\u3002\u8bfe\u7a0b\u5185\u5bb9\u8986\u76d6\u4e86\u6c47\u7f16\u8bed\u8a00\u3001\u4f53\u7cfb\u7ed3\u6784\u3001\u64cd\u4f5c\u7cfb\u7edf\u3001\u7f16\u8bd1\u94fe\u63a5\u3001\u5e76\u884c\u3001\u7f51\u7edc\u7b49\uff0c\u4f5c\u4e3a\u7cfb\u7edf\u5165\u95e8\u8bfe\uff0c\u517c\u5177\u6df1\u5ea6\u548c\u5e7f\u5ea6\uff0c\u5982\u679c\u81ea\u5b66\u786e\u5b9e\u9700\u8981\u76f8\u5f53\u7684\u6bc5\u529b\u548c\u4ee3\u7801\u529f\u5e95\u3002 \u8fd9\u95e8\u8bfe\u914d\u5408\u7684\u6559\u6750\u7531CMU\u8ba1\u7b97\u673a\u7cfb\u4e3b\u4efbBryant\u6559\u6388\u6267\u7b14\uff0c\u4e5f\u5373\u6240\u8c13\u7684CSAPP\u3002\u8fd9\u4e5f\u662f\u6211\u7b2c\u4e00\u672c\u8ba4\u8ba4\u771f\u771f\u4e00\u9875\u4e00\u9875\u8bfb\u8fc7\u53bb\u7684\u8ba1\u7b97\u673a\u6559\u6750\uff0c\u867d\u7136\u5f88\u96be\u5543\uff0c\u4f46\u7740\u5b9e\u6536\u83b7\u826f\u591a\u3002 \u5317\u5927\u8d2d\u4e70\u4e86\u8fd9\u95e8\u8bfe\u7684\u7248\u6743\u5e76\u5f00\u8bbe\u4e86Introduction to Computer System\u8fd9\u95e8\u8bfe\uff0c\u4f46\u5176\u5b9eCSAPP\u6240\u6709\u7684\u8bfe\u7a0b\u8d44\u6e90\u548c\u5b9e\u9a8c\u4ee3\u7801\u90fd\u80fd\u5728\u5b83\u7684\u5b98\u65b9\u4e3b\u9875\u4e0a\u8bbf\u95ee\u5230\uff08\u5177\u4f53\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\u3002 \u8fd9\u95e8\u8bfe\u7531\u4e8e\u8fc7\u4e8e\u51fa\u540d\uff0c\u5168\u4e16\u754c\u7684\u7801\u519c\u4e89\u76f8\u5b66\u4e60\uff0c\u5bfc\u81f4\u5176Project\u7684\u7b54\u6848\u5728\u7f51\u4e0a\u51e0\u4e4e\u553e\u624b\u53ef\u5f97\u3002\u4f46\u5982\u679c\u4f60\u771f\u7684\u60f3\u953b\u70bc\u81ea\u5df1\u7684\u4ee3\u7801\u80fd\u529b\uff0c\u5e0c\u671b\u4f60\u4e0d\u8981\u501f\u9274\u4efb\u4f55\u7b2c\u4e09\u65b9\u4ee3\u7801\u3002 \u8ba4\u771f\u5b66\u5b8c\u8fd9\u4e00\u95e8\u8bfe\uff0c\u4f60\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u7684\u7406\u89e3\u7edd\u5bf9\u4f1a\u4e0a\u5347\u4e00\u4e2a\u53f0\u9636\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aComputer Systems: A Programmer's Perspective, 3/E \u8bfe\u7a0b\u4f5c\u4e1a\uff1a11\u4e2aProject\uff0c \u4ee3\u7801\u6846\u67b6\u5168\u90e8\u5f00\u6e90 \u8865\u5145\uff1a\u76f8\u4fe1\u5927\u5bb6\u5728\u770b\u5b8cCSAPP\u8fd9\u672c\u4e66\u4ee5\u540e\uff0c\u53ef\u80fd\u4f1a\u5bf9\u4e66\u4e2d\u7684\u7b2c\u4e03\u7ae0\u94fe\u63a5\u6709\u4e00\u5b9a\u7684\u7591\u95ee\u3002\u8fd9\u91cc\u63a8\u8350\u4e00\u672c\u4e66\u300a\u7a0b\u5e8f\u5458\u7684\u81ea\u6211\u4fee\u517b\u300b\uff0c\u4e66\u7684\u526f\u6807\u9898\u662f\u94fe\u63a5\uff0c\u88c5\u8f7d\u4e0e\u5e93\u3002\u8fd9\u672c\u4e66\u80fd\u591f\u5e2e\u52a9\u6211\u4eec\u5b8c\u5584\u5bf9\u7a0b\u5e8f\u94fe\u63a5\u7684\u7406\u89e3\uff0c\u4ee5\u53ca\u5bf9CSAPP\u7b2c\u4e03\u7ae0\u90e8\u5206\u77e5\u8bc6\u70b9\u7684\u4e00\u4e2a\u8be6\u7ec6\u7684\u9610\u8ff0\u3002\u76f8\u4fe1\u4f60\u5728\u770b\u5b8c\u8fd9\u672c\u4e66\u4ee5\u540e\u53ef\u4ee5\u5bf9\u7a0b\u5e8f\u7684\u94fe\u63a5\uff0cELF\u6587\u4ef6\uff0c\u52a8\u6001\u5e93\u6709\u4e00\u4e2a\u66f4\u52a0\u6df1\u5165\u7684\u7406\u89e3\u3002\u5341\u5206\u63a8\u8350\u5728\u8bfb\u5b8cCSAPP\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\u4ee5\u540e\u4f5c\u4e3a\u8865\u5145\u8d44\u6599\u6765\u9605\u8bfb\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/","text":"Coursera: Nand2Tetris \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u5e0c\u4f2f\u6765\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u4efb\u9009\u4e00\u4e2a\u7f16\u7a0b\u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40\u5c0f\u65f6 Coursera \u4e0a\u88ab\u6570\u4e07\u4eba\u8bc4\u4e3a\u6ee1\u5206\uff0c\u5728\u5168\u7403\u56db\u767e\u591a\u6240\u9ad8\u6821\u3001\u9ad8\u4e2d\u88ab\u91c7\u7528\uff0c\u8ba9\u4e00\u4e2a\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\u4ece\u4e0e\u975e\u95e8\u5f00\u59cb \u9020\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002 \u542c\u8d77\u6765\u5c31\u5f88\u9177\u5bf9\u4e0d\u5bf9\uff1f\u5b9e\u73b0\u8d77\u6765\u66f4\u9177\uff01\u8fd9\u95e8\u8bfe\u5206\u4e3a\u786c\u4ef6\u548c\u8f6f\u4ef6\u4e24\u4e2a\u90e8\u5206\u3002\u5728\u786c\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u8fdb\u516501\u7684\u4e16\u754c\uff0c\u7528\u4e0e\u975e\u95e8\u6784\u9020\u51fa\u903b\u8f91\u7535\u8def\uff0c\u5e76\u9010\u6b65\u642d\u5efa\u51fa\u4e00\u4e2aCPU \u6765\u8fd0\u884c\u4e00\u5957\u8bfe\u7a0b\u4f5c\u8005\u5b9a\u4e49\u7684\u7b80\u6613\u6c47\u7f16\u4ee3\u7801\u3002\u5728\u8f6f\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u7f16\u5199\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06\u4f5c\u8005\u5f00\u53d1\u7684\u4e00\u4e2a\u540d\u4e3aJack\u7684\u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3a\u53ef\u4ee5\u8fd0\u884c\u5728\u865a\u62df\u673a\u4e0a\u7684\u5b57\u8282\u7801\uff0c\u7136\u540e\u8fdb\u4e00\u6b65\u7ffb\u8bd1 \u4e3a\u6c47\u7f16\u4ee3\u7801\u3002\u4f60\u8fd8\u5c06\u5f00\u53d1\u4e00\u4e2a\u7b80\u6613\u7684OS\uff0c\u8ba9\u4f60\u7684\u8ba1\u7b97\u673a\u652f\u6301\u8f93\u5165\u8f93\u51fa\u56fe\u5f62\u754c\u9762\u3002\u81f3\u6b64\uff0c\u4f60\u53ef\u4ee5\u7528Jack\u5f00\u53d1\u4e00\u4e2a\u4fc4\u7f57\u65af\u65b9\u5757\u7684\u5c0f\u6e38\u620f\uff0c\u5c06\u5b83 \u7f16\u8bd1\u4e3a\u6c47\u7f16\u4ee3\u7801\uff0c\u8fd0\u884c\u5728\u4f60\u7528\u4e0e\u975e\u95e8\u642d\u5efa\u51fa\u7684CPU\u4e0a\uff0c\u901a\u8fc7\u4f60\u5f00\u53d1\u7684OS\u8fdb\u884c\u4ea4\u4e92\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u7a0b\uff0c\u4f60\u5c06\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u7684\u4f53\u7cfb\u7ed3\u6784\u6709\u4e00\u4e2a\u5168\u5c40 \u4e14\u6df1\u523b\u7684\u7406\u89e3\uff0c\u5bf9\u4e8e\u4f60\u540e\u7eed\u8bfe\u7a0b\u7684\u5b66\u4e60\u6709\u7740\u83ab\u5927\u7684\u5e2e\u52a9\u3002 \u4f60\u4e5f\u8bb8\u4f1a\u62c5\u5fc3\u8bfe\u7a0b\u4f1a\u4e0d\u4f1a\u5f88\u96be\uff0c\u4f46\u8fd9\u95e8\u8bfe\u9762\u5411\u7684\u4eba\u7fa4\u662f\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\uff0c\u8bfe\u7a0b\u4f5c\u8005\u7684\u76ee\u6807\u662f\u8ba9\u9ad8\u4e2d\u751f\u90fd\u80fd\u7406\u89e3\u3002\u56e0\u6b64\uff0c\u53ea\u8981\u4f60\u6309\u90e8\u5c31\u73ed\u8ddf\u7740 \u8bfe\u7a0b\u89c4\u5212\u8d70\uff0c\u4e00\u4e2a\u6708\u5185\u5b66\u5b8c\u5e94\u8be5\u7ef0\u7ef0\u6709\u4f59\u3002\u9ebb\u96c0\u867d\u5c0f\u4f46\u662f\u4e94\u810f\u4ff1\u5168\uff0c\u8fd9\u95e8\u8bfe\u5f88\u597d\u5730\u63d0\u53d6\u51fa\u4e86\u8ba1\u7b97\u673a\u7684\u672c\u8d28\uff0c\u800c\u4e0d\u8fc7\u591a\u5730\u9677\u4e8e\u73b0\u4ee3\u8ba1\u7b97\u673a\u4e3a\u4e86\u6027\u80fd\u800c \u8bbe\u8ba1\u51fa\u7684\u4f17\u591a\u590d\u6742\u7ec6\u8282\u3002\u8ba9\u5b66\u4e60\u8005\u80fd\u5728\u8f7b\u677e\u6109\u5feb\u7684\u5b66\u4e60\u4f53\u9a8c\u4e2d\u611f\u53d7\u8ba1\u7b97\u673a\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Nand2Tetris I , Nand2Tetris II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aproject\u5e26\u4f60\u9020\u53f0\u8ba1\u7b97\u673a\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Coursera: Nand2Tetris"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#coursera-nand2tetris","text":"","title":"Coursera: Nand2Tetris"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u5e0c\u4f2f\u6765\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u4efb\u9009\u4e00\u4e2a\u7f16\u7a0b\u8bed\u8a00 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40\u5c0f\u65f6 Coursera \u4e0a\u88ab\u6570\u4e07\u4eba\u8bc4\u4e3a\u6ee1\u5206\uff0c\u5728\u5168\u7403\u56db\u767e\u591a\u6240\u9ad8\u6821\u3001\u9ad8\u4e2d\u88ab\u91c7\u7528\uff0c\u8ba9\u4e00\u4e2a\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\u4ece\u4e0e\u975e\u95e8\u5f00\u59cb \u9020\u4e00\u53f0\u8ba1\u7b97\u673a\uff0c\u5e76\u5728\u4e0a\u9762\u8fd0\u884c\u4fc4\u7f57\u65af\u65b9\u5757\u5c0f\u6e38\u620f\u3002 \u542c\u8d77\u6765\u5c31\u5f88\u9177\u5bf9\u4e0d\u5bf9\uff1f\u5b9e\u73b0\u8d77\u6765\u66f4\u9177\uff01\u8fd9\u95e8\u8bfe\u5206\u4e3a\u786c\u4ef6\u548c\u8f6f\u4ef6\u4e24\u4e2a\u90e8\u5206\u3002\u5728\u786c\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u8fdb\u516501\u7684\u4e16\u754c\uff0c\u7528\u4e0e\u975e\u95e8\u6784\u9020\u51fa\u903b\u8f91\u7535\u8def\uff0c\u5e76\u9010\u6b65\u642d\u5efa\u51fa\u4e00\u4e2aCPU \u6765\u8fd0\u884c\u4e00\u5957\u8bfe\u7a0b\u4f5c\u8005\u5b9a\u4e49\u7684\u7b80\u6613\u6c47\u7f16\u4ee3\u7801\u3002\u5728\u8f6f\u4ef6\u90e8\u5206\uff0c\u4f60\u5c06\u7f16\u5199\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06\u4f5c\u8005\u5f00\u53d1\u7684\u4e00\u4e2a\u540d\u4e3aJack\u7684\u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3a\u53ef\u4ee5\u8fd0\u884c\u5728\u865a\u62df\u673a\u4e0a\u7684\u5b57\u8282\u7801\uff0c\u7136\u540e\u8fdb\u4e00\u6b65\u7ffb\u8bd1 \u4e3a\u6c47\u7f16\u4ee3\u7801\u3002\u4f60\u8fd8\u5c06\u5f00\u53d1\u4e00\u4e2a\u7b80\u6613\u7684OS\uff0c\u8ba9\u4f60\u7684\u8ba1\u7b97\u673a\u652f\u6301\u8f93\u5165\u8f93\u51fa\u56fe\u5f62\u754c\u9762\u3002\u81f3\u6b64\uff0c\u4f60\u53ef\u4ee5\u7528Jack\u5f00\u53d1\u4e00\u4e2a\u4fc4\u7f57\u65af\u65b9\u5757\u7684\u5c0f\u6e38\u620f\uff0c\u5c06\u5b83 \u7f16\u8bd1\u4e3a\u6c47\u7f16\u4ee3\u7801\uff0c\u8fd0\u884c\u5728\u4f60\u7528\u4e0e\u975e\u95e8\u642d\u5efa\u51fa\u7684CPU\u4e0a\uff0c\u901a\u8fc7\u4f60\u5f00\u53d1\u7684OS\u8fdb\u884c\u4ea4\u4e92\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u7a0b\uff0c\u4f60\u5c06\u5bf9\u6574\u4e2a\u8ba1\u7b97\u673a\u7684\u4f53\u7cfb\u7ed3\u6784\u6709\u4e00\u4e2a\u5168\u5c40 \u4e14\u6df1\u523b\u7684\u7406\u89e3\uff0c\u5bf9\u4e8e\u4f60\u540e\u7eed\u8bfe\u7a0b\u7684\u5b66\u4e60\u6709\u7740\u83ab\u5927\u7684\u5e2e\u52a9\u3002 \u4f60\u4e5f\u8bb8\u4f1a\u62c5\u5fc3\u8bfe\u7a0b\u4f1a\u4e0d\u4f1a\u5f88\u96be\uff0c\u4f46\u8fd9\u95e8\u8bfe\u9762\u5411\u7684\u4eba\u7fa4\u662f\u5b8c\u5168\u6ca1\u6709\u8ba1\u7b97\u673a\u57fa\u7840\u7684\u4eba\uff0c\u8bfe\u7a0b\u4f5c\u8005\u7684\u76ee\u6807\u662f\u8ba9\u9ad8\u4e2d\u751f\u90fd\u80fd\u7406\u89e3\u3002\u56e0\u6b64\uff0c\u53ea\u8981\u4f60\u6309\u90e8\u5c31\u73ed\u8ddf\u7740 \u8bfe\u7a0b\u89c4\u5212\u8d70\uff0c\u4e00\u4e2a\u6708\u5185\u5b66\u5b8c\u5e94\u8be5\u7ef0\u7ef0\u6709\u4f59\u3002\u9ebb\u96c0\u867d\u5c0f\u4f46\u662f\u4e94\u810f\u4ff1\u5168\uff0c\u8fd9\u95e8\u8bfe\u5f88\u597d\u5730\u63d0\u53d6\u51fa\u4e86\u8ba1\u7b97\u673a\u7684\u672c\u8d28\uff0c\u800c\u4e0d\u8fc7\u591a\u5730\u9677\u4e8e\u73b0\u4ee3\u8ba1\u7b97\u673a\u4e3a\u4e86\u6027\u80fd\u800c \u8bbe\u8ba1\u51fa\u7684\u4f17\u591a\u590d\u6742\u7ec6\u8282\u3002\u8ba9\u5b66\u4e60\u8005\u80fd\u5728\u8f7b\u677e\u6109\u5feb\u7684\u5b66\u4e60\u4f53\u9a8c\u4e2d\u611f\u53d7\u8ba1\u7b97\u673a\u7684\u4f18\u96c5\u4e0e\u795e\u5947\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Nand2Tetris I , Nand2Tetris II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aproject\u5e26\u4f60\u9020\u53f0\u8ba1\u7b97\u673a\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u548c Stanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u719f\u6089C++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 Kayvon Fatahalian \u6559\u6388\u6b64\u524d\u5728CMU\u5f00\u4e8615-418\u8fd9\u95e8\u8bfe\uff0c\u540e\u6765\u4ed6\u6210\u4e3aStanford\u7684\u52a9\u7406\u6559\u6388\u540e\u53c8\u5f00\u4e86\u7c7b\u4f3c\u7684\u8bfe\u7a0bCS149\u3002\u4f46\u603b\u4f53\u6765\u8bf4\uff0c15-418\u5305\u542b\u7684\u8bfe\u7a0b\u5185\u5bb9\u66f4\u4e30\u5bcc\uff0c\u5e76\u4e14\u6709\u8bfe\u7a0b\u56de\u653e\uff0c\u4f46CS149\u7684\u7f16\u7a0b\u4f5c\u4e1a\u66f4fashion\u4e00\u4e9b\u3002\u6211\u4e2a\u4eba\u662f\u89c2\u770b\u768415-418\u7684\u8bfe\u7a0b\u5f55\u5f71\u4f46\u5b8c\u6210\u7684CS149\u7684\u4f5c\u4e1a\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u73b0\u4ee3\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u8bbe\u8ba1\u539f\u5219\u4e0e\u5fc5\u8981\u6743\u8861\uff0c\u5e76\u5b66\u4f1a\u5982\u4f55\u5145\u5206\u5229\u7528\u786c\u4ef6\u8d44\u6e90\u4ee5\u53ca\u8f6f\u4ef6\u7f16\u7a0b\u6846\u67b6\uff08\u4f8b\u5982CUDA\uff0cMPI\uff0cOpenMP\u7b49\uff09\u7f16\u5199\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u7a0b\u5e8f\u3002\u7531\u4e8e\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u590d\u6742\u6027\uff0c\u8fd9\u95e8\u8bfe\u4f1a\u6d89\u53ca\u8bf8\u591a\u9ad8\u7ea7\u4f53\u7cfb\u7ed3\u6784\u4e0e\u7f51\u7edc\u901a\u4fe1\u7684\u5185\u5bb9\uff0c\u77e5\u8bc6\u70b9\u76f8\u5f53\u5e95\u5c42\u4e14\u786c\u6838\u3002\u4e0e\u6b64\u540c\u65f6\uff0c5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5219\u662f\u4ece\u8f6f\u4ef6\u7684\u5c42\u9762\u57f9\u517b\u5b66\u751f\u5bf9\u4e0a\u5c42\u62bd\u8c61\u7684\u7406\u89e3\u4e0e\u8fd0\u7528\uff0c\u5177\u4f53\u4f1a\u8ba9\u4f60\u5206\u6790\u5e76\u884c\u7a0b\u5e8f\u7684\u74f6\u9888\u3001\u7f16\u5199\u591a\u7ebf\u7a0b\u540c\u6b65\u4ee3\u7801\u3001\u5b66\u4e60CUDA\u7f16\u7a0b\u3001OpenMP\u7f16\u7a0b\u4ee5\u53ca\u524d\u6bb5\u65f6\u95f4\u5927\u70ed\u7684Spark\u6846\u67b6\u7b49\u7b49\u3002\u771f\u6b63\u610f\u4e49\u4e0a\u5c06\u7406\u8bba\u4e0e\u5b9e\u8df5\u5b8c\u7f8e\u5730\u7ed3\u5408\u5728\u4e86\u4e00\u8d77\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a CMU15418 \uff0c CS149 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"CMU 15-418/Stanford CS149: Parallel Computing"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u548c Stanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u719f\u6089C++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 Kayvon Fatahalian \u6559\u6388\u6b64\u524d\u5728CMU\u5f00\u4e8615-418\u8fd9\u95e8\u8bfe\uff0c\u540e\u6765\u4ed6\u6210\u4e3aStanford\u7684\u52a9\u7406\u6559\u6388\u540e\u53c8\u5f00\u4e86\u7c7b\u4f3c\u7684\u8bfe\u7a0bCS149\u3002\u4f46\u603b\u4f53\u6765\u8bf4\uff0c15-418\u5305\u542b\u7684\u8bfe\u7a0b\u5185\u5bb9\u66f4\u4e30\u5bcc\uff0c\u5e76\u4e14\u6709\u8bfe\u7a0b\u56de\u653e\uff0c\u4f46CS149\u7684\u7f16\u7a0b\u4f5c\u4e1a\u66f4fashion\u4e00\u4e9b\u3002\u6211\u4e2a\u4eba\u662f\u89c2\u770b\u768415-418\u7684\u8bfe\u7a0b\u5f55\u5f71\u4f46\u5b8c\u6210\u7684CS149\u7684\u4f5c\u4e1a\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u73b0\u4ee3\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u8bbe\u8ba1\u539f\u5219\u4e0e\u5fc5\u8981\u6743\u8861\uff0c\u5e76\u5b66\u4f1a\u5982\u4f55\u5145\u5206\u5229\u7528\u786c\u4ef6\u8d44\u6e90\u4ee5\u53ca\u8f6f\u4ef6\u7f16\u7a0b\u6846\u67b6\uff08\u4f8b\u5982CUDA\uff0cMPI\uff0cOpenMP\u7b49\uff09\u7f16\u5199\u9ad8\u6027\u80fd\u7684\u5e76\u884c\u7a0b\u5e8f\u3002\u7531\u4e8e\u5e76\u884c\u8ba1\u7b97\u67b6\u6784\u7684\u590d\u6742\u6027\uff0c\u8fd9\u95e8\u8bfe\u4f1a\u6d89\u53ca\u8bf8\u591a\u9ad8\u7ea7\u4f53\u7cfb\u7ed3\u6784\u4e0e\u7f51\u7edc\u901a\u4fe1\u7684\u5185\u5bb9\uff0c\u77e5\u8bc6\u70b9\u76f8\u5f53\u5e95\u5c42\u4e14\u786c\u6838\u3002\u4e0e\u6b64\u540c\u65f6\uff0c5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5219\u662f\u4ece\u8f6f\u4ef6\u7684\u5c42\u9762\u57f9\u517b\u5b66\u751f\u5bf9\u4e0a\u5c42\u62bd\u8c61\u7684\u7406\u89e3\u4e0e\u8fd0\u7528\uff0c\u5177\u4f53\u4f1a\u8ba9\u4f60\u5206\u6790\u5e76\u884c\u7a0b\u5e8f\u7684\u74f6\u9888\u3001\u7f16\u5199\u591a\u7ebf\u7a0b\u540c\u6b65\u4ee3\u7801\u3001\u5b66\u4e60CUDA\u7f16\u7a0b\u3001OpenMP\u7f16\u7a0b\u4ee5\u53ca\u524d\u6bb5\u65f6\u95f4\u5927\u70ed\u7684Spark\u6846\u67b6\u7b49\u7b49\u3002\u771f\u6b63\u610f\u4e49\u4e0a\u5c06\u7406\u8bba\u4e0e\u5b9e\u8df5\u5b8c\u7f8e\u5730\u7ed3\u5408\u5728\u4e86\u4e00\u8d77\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a CMU15418 \uff0c CS149 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/","text":"MIT6.824: Distributed System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5e76\u884c\u7f16\u7a0b \u7f16\u7a0b\u8bed\u8a00\uff1aGo \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u548cMIT6.S081\u4e00\u6837\uff0c\u51fa\u54c1\u81eaMIT\u5927\u540d\u9f0e\u9f0e\u7684PDOS\u5b9e\u9a8c\u5ba4\uff0c\u6388\u8bfe\u8001\u5e08Robert Morris\u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2Morris\u75c5\u6bd2\u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u6bcf\u8282\u8bfe\u90fd\u4f1a\u7cbe\u8bfb\u4e00\u7bc7\u5206\u5e03\u5f0f\u7cfb\u7edf\u9886\u57df\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u5e76\u7531\u6b64\u4f20\u6388\u5206\u5e03\u5f0f\u7cfb\u7edf\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u7684\u91cd\u8981\u539f\u5219\u548c\u5173\u952e\u6280\u672f\u3002\u540c\u65f6\u5176\u8bfe\u7a0bProject\u4e5f\u662f\u4ee5\u5176\u96be\u5ea6\u4e4b\u5927\u800c\u95fb\u540d\u9050\u8fe9\uff0c4\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5faa\u5e8f\u6e10\u8fdb\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u57fa\u4e8eRaft\u5171\u8bc6\u7b97\u6cd5\u7684KV-store\u6846\u67b6\uff0c\u8ba9\u4f60\u5728\u75db\u82e6\u7684debug\u4e2d\u4f53\u4f1a\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u5e26\u6765\u7684\u968f\u673a\u6027\u548c\u590d\u6742\u6027\u3002 \u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u7b54\u6848\u65e0\u6570\uff0c\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u53c2\u8003\uff0c\u800c\u662f\u529b\u56fe\u81ea\u4e3b\u5b9e\u73b0\u6574\u4e2aProject\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u4ee5\u9605\u8bfb\u8bba\u6587\u4e3a\u4e3b \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2a\u975e\u5e38\u8650\u7684Project\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002\u6b64\u5916\u4e5f\u53ef\u4ee5\u53c2\u8003 OneSizeFitsQuorum \u7684 lab \u6587\u6863 \uff0c\u5176\u8f83\u4e3a\u6e05\u6670\u5730\u4ecb\u7ecd\u4e86\u5b9e\u73b0 lab1-4 \u548c challenge1-2 \u9700\u8981\u8003\u8651\u7684\u8bb8\u591a\u7ec6\u8282\uff0c\u5728\u9047\u5230\u74f6\u9888\u671f\u65f6\u53ef\u4ee5\u9605\u8bfb\u4e00\u4e0b~","title":"MIT 6.824: Distributed System"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#mit6824-distributed-system","text":"","title":"MIT6.824: Distributed System"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5e76\u884c\u7f16\u7a0b \u7f16\u7a0b\u8bed\u8a00\uff1aGo \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u548cMIT6.S081\u4e00\u6837\uff0c\u51fa\u54c1\u81eaMIT\u5927\u540d\u9f0e\u9f0e\u7684PDOS\u5b9e\u9a8c\u5ba4\uff0c\u6388\u8bfe\u8001\u5e08Robert Morris\u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2Morris\u75c5\u6bd2\u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u6bcf\u8282\u8bfe\u90fd\u4f1a\u7cbe\u8bfb\u4e00\u7bc7\u5206\u5e03\u5f0f\u7cfb\u7edf\u9886\u57df\u7684\u7ecf\u5178\u8bba\u6587\uff0c\u5e76\u7531\u6b64\u4f20\u6388\u5206\u5e03\u5f0f\u7cfb\u7edf\u8bbe\u8ba1\u4e0e\u5b9e\u73b0\u7684\u91cd\u8981\u539f\u5219\u548c\u5173\u952e\u6280\u672f\u3002\u540c\u65f6\u5176\u8bfe\u7a0bProject\u4e5f\u662f\u4ee5\u5176\u96be\u5ea6\u4e4b\u5927\u800c\u95fb\u540d\u9050\u8fe9\uff0c4\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5faa\u5e8f\u6e10\u8fdb\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u57fa\u4e8eRaft\u5171\u8bc6\u7b97\u6cd5\u7684KV-store\u6846\u67b6\uff0c\u8ba9\u4f60\u5728\u75db\u82e6\u7684debug\u4e2d\u4f53\u4f1a\u5e76\u884c\u4e0e\u5206\u5e03\u5f0f\u5e26\u6765\u7684\u968f\u673a\u6027\u548c\u590d\u6742\u6027\u3002 \u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u7b54\u6848\u65e0\u6570\uff0c\u5e0c\u671b\u5927\u5bb6\u4e0d\u8981\u53c2\u8003\uff0c\u800c\u662f\u529b\u56fe\u81ea\u4e3b\u5b9e\u73b0\u6574\u4e2aProject\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u4ee5\u9605\u8bfb\u8bba\u6587\u4e3a\u4e3b \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2a\u975e\u5e38\u8650\u7684Project\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002\u6b64\u5916\u4e5f\u53ef\u4ee5\u53c2\u8003 OneSizeFitsQuorum \u7684 lab \u6587\u6863 \uff0c\u5176\u8f83\u4e3a\u6e05\u6670\u5730\u4ecb\u7ecd\u4e86\u5b9e\u73b0 lab1-4 \u548c challenge1-2 \u9700\u8981\u8003\u8651\u7684\u8bb8\u591a\u7ec6\u8282\uff0c\u5728\u9047\u5230\u74f6\u9888\u671f\u65f6\u53ef\u4ee5\u9605\u8bfb\u4e00\u4e0b~","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/","text":"\u4e3a\u4ec0\u4e48\u5b66\u4e60CMake CMake \u662f\u7c7b\u4f3c\u4e8e GNU make \u7684\u8de8\u5e73\u53f0\u81ea\u52a8\u8f6f\u4ef6\u6784\u4ef6\u5de5\u5177\uff0c\u4f7f\u7528 CMakeLists.txt \u5b9a\u4e49\u6784\u5efa\u89c4\u5219\uff0c\u76f8\u6bd4\u4e8e make \u5b83\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u529f\u80fd\uff0c\u5728\u5404\u79cd\u8f6f\u4ef6\u6784\u5efa\u4e0a\u5e7f\u6cdb\u4f7f\u7528\u3002 \u5f3a\u70c8\u5efa\u8bae\u5b66\u4e60\u4f7f\u7528 make \u548c\u719f\u6089 Makefile \u540e\u518d\u5b66\u4e60CMake \u3002 \u5982\u4f55\u5b66\u4e60CMake CMakeLists.txt \u6bd4 Makefile \u66f4\u4e3a\u62bd\u8c61\uff0c\u7406\u89e3\u548c\u4f7f\u7528\u96be\u5ea6\u4e5f\u66f4\u5927\u3002\u73b0\u9636\u6bb5\u5f88\u591a IDE (\u5982 Visual Studio, CLion)\u63d0\u4f9b\u4e86\u81ea\u52a8\u751f\u6210 CMakeLists.txt \u7684\u529f\u80fd\uff0c\u4f46\u638c\u63e1 CMakeLists.txt \u7684\u57fa\u672c\u7528\u6cd5\u4ecd\u7136\u5f88\u6709\u5fc5\u8981\u3002\u9664\u4e86 CMake \u5b98\u65b9 Tutorial \u5916\uff0c\u4e0a\u6d77\u4ea4\u901a\u5927\u5b66 IPADS \u7ec4\u65b0\u4eba\u57f9\u8bad\u4e5f\u63d0\u4f9b\u4e86 \u5927\u7ea6\u4e00\u5c0f\u65f6\u7684\u89c6\u9891\u6559\u7a0b","title":"CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#cmake","text":"CMake \u662f\u7c7b\u4f3c\u4e8e GNU make \u7684\u8de8\u5e73\u53f0\u81ea\u52a8\u8f6f\u4ef6\u6784\u4ef6\u5de5\u5177\uff0c\u4f7f\u7528 CMakeLists.txt \u5b9a\u4e49\u6784\u5efa\u89c4\u5219\uff0c\u76f8\u6bd4\u4e8e make \u5b83\u63d0\u4f9b\u4e86\u66f4\u591a\u7684\u529f\u80fd\uff0c\u5728\u5404\u79cd\u8f6f\u4ef6\u6784\u5efa\u4e0a\u5e7f\u6cdb\u4f7f\u7528\u3002 \u5f3a\u70c8\u5efa\u8bae\u5b66\u4e60\u4f7f\u7528 make \u548c\u719f\u6089 Makefile \u540e\u518d\u5b66\u4e60CMake \u3002","title":"\u4e3a\u4ec0\u4e48\u5b66\u4e60CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/#cmake_1","text":"CMakeLists.txt \u6bd4 Makefile \u66f4\u4e3a\u62bd\u8c61\uff0c\u7406\u89e3\u548c\u4f7f\u7528\u96be\u5ea6\u4e5f\u66f4\u5927\u3002\u73b0\u9636\u6bb5\u5f88\u591a IDE (\u5982 Visual Studio, CLion)\u63d0\u4f9b\u4e86\u81ea\u52a8\u751f\u6210 CMakeLists.txt \u7684\u529f\u80fd\uff0c\u4f46\u638c\u63e1 CMakeLists.txt \u7684\u57fa\u672c\u7528\u6cd5\u4ecd\u7136\u5f88\u6709\u5fc5\u8981\u3002\u9664\u4e86 CMake \u5b98\u65b9 Tutorial \u5916\uff0c\u4e0a\u6d77\u4ea4\u901a\u5927\u5b66 IPADS \u7ec4\u65b0\u4eba\u57f9\u8bad\u4e5f\u63d0\u4f9b\u4e86 \u5927\u7ea6\u4e00\u5c0f\u65f6\u7684\u89c6\u9891\u6559\u7a0b","title":"\u5982\u4f55\u5b66\u4e60CMake"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/","text":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Docker \u4f7f\u7528\u522b\u4eba\u5199\u597d\u7684\u8f6f\u4ef6/\u5de5\u5177\u6700\u5927\u7684\u969c\u788d\u662f\u4ec0\u4e48\u2014\u2014\u5fc5\u7136\u662f\u914d\u73af\u5883\u3002\u914d\u73af\u5883\u5e26\u6765\u7684\u6298\u78e8\u4f1a\u6781\u5927\u5730\u6d88\u89e3\u4f60\u5bf9\u8f6f\u4ef6\u3001\u7f16\u7a0b\u672c\u8eab\u7684\u5174\u8da3\u3002\u865a\u62df\u673a\u53ef\u4ee5\u89e3\u51b3\u914d\u73af\u5883\u7684\u4e00\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u5b83\u5e9e\u5927\u7b28\u91cd\uff0c\u4e14\u4e3a\u4e86\u67d0\u4e2a\u5e94\u7528\u7684\u73af\u5883\u914d\u7f6e\u597d\u50cf\u4e5f\u4e0d\u503c\u5f97\u6a21\u62df\u4e00\u4e2a\u5168\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002 Docker \u7684\u51fa\u73b0\u8ba9\u73af\u5883\u914d\u7f6e\u53d8\u5f97\uff08\u6216\u8bb8\uff09\u4e0d\u518d\u6298\u78e8\u3002\u7b80\u5355\u6765\u8bf4Docker\u4f7f\u7528\u8f7b\u91cf\u7ea7\u7684\u201c\u5bb9\u5668\u201d\uff08container\uff09\u800c\u4e0d\u662f\u6574\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u53bb\u652f\u6301\u4e00\u4e2a\u5e94\u7528\u7684\u914d\u7f6e\u3002\u5e94\u7528\u81ea\u8eab\u8fde\u540c\u5b83\u7684\u73af\u5883\u914d\u7f6e\u88ab\u6253\u5305\u4e3a\u4e00\u4e2a\u4e2aimage\u53ef\u4ee5\u81ea\u7531\u8fd0\u884c\u5728\u4e0d\u540c\u5e73\u53f0\u7684\u4e00\u4e2a\u4e2acontainer\u4e2d\uff0c\u8fd9\u6781\u5927\u5730\u8282\u7701\u4e86\u6240\u6709\u4eba\u7684\u65f6\u95f4\u6210\u672c\u3002 \u5982\u4f55\u5b66\u4e60Docker Docker \u5b98\u65b9\u6587\u6863 \u5f53\u7136\u662f\u6700\u597d\u7684\u521d\u5b66\u6559\u6750\uff0c\u4f46\u6700\u597d\u7684\u5bfc\u5e08\u4e00\u5b9a\u662f\u4f60\u81ea\u5df1\u2014\u2014\u5c1d\u8bd5\u53bb\u4f7f\u7528Docker\u624d\u80fd\u4eab\u53d7\u5b83\u5e26\u6765\u7684\u4fbf\u5229\u3002Docker\u5728\u5de5\u4e1a\u754c\u53d1\u5c55\u8fc5\u731b\u5e76\u5df2\u7ecf\u975e\u5e38\u6210\u719f\uff0c\u4f60\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u7684\u684c\u9762\u7aef\u5e76\u4f7f\u7528\u56fe\u5f62\u754c\u9762\u3002 \u5f53\u7136\uff0c\u5982\u679c\u4f60\u50cf\u6211\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u75af\u72c2\u7684\u9020\u8f6e\u5b50\u7231\u597d\u8005\uff0c\u90a3\u4e0d\u59a8\u81ea\u5df1\u4eb2\u624b\u5199\u4e00\u4e2a \u8ff7\u4f60Docker \u6765\u52a0\u6df1\u7406\u89e3\u3002 KodeKloud Docker for the Absolute Beginner \u5168\u9762\u7684\u4ecb\u7ecd\u4e86Docker\u7684\u57fa\u7840\u529f\u80fd\uff0c\u5e76\u4e14\u6709\u5927\u91cf\u7684\u914d\u5957\u7ec3\u4e60\uff0c\u540c\u65f6\u63d0\u4f9b\u514d\u8d39\u7684\u4e91\u73af\u5883\u6765\u5b8c\u6210\u7ec3\u4e60\u3002\u5176\u4f59\u7684\u4e91\u76f8\u5173\u7684\u8bfe\u7a0b\u5982Kubernetes\u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u4e2a\u4eba\u5f3a\u70c8\u63a8\u8350\uff1a\u8bb2\u89e3\u975e\u5e38\u4ed4\u7ec6\uff0c\u9002\u5408\u4ece0\u5f00\u59cb\u7684\u65b0\u624b\uff1b\u6709\u914d\u5957\u7684Kubernetes\u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u4e0d\u7528\u88ab\u642d\u5efa\u73af\u5883\u529d\u9000\u3002","title":"Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker","text":"\u4f7f\u7528\u522b\u4eba\u5199\u597d\u7684\u8f6f\u4ef6/\u5de5\u5177\u6700\u5927\u7684\u969c\u788d\u662f\u4ec0\u4e48\u2014\u2014\u5fc5\u7136\u662f\u914d\u73af\u5883\u3002\u914d\u73af\u5883\u5e26\u6765\u7684\u6298\u78e8\u4f1a\u6781\u5927\u5730\u6d88\u89e3\u4f60\u5bf9\u8f6f\u4ef6\u3001\u7f16\u7a0b\u672c\u8eab\u7684\u5174\u8da3\u3002\u865a\u62df\u673a\u53ef\u4ee5\u89e3\u51b3\u914d\u73af\u5883\u7684\u4e00\u90e8\u5206\u95ee\u9898\uff0c\u4f46\u5b83\u5e9e\u5927\u7b28\u91cd\uff0c\u4e14\u4e3a\u4e86\u67d0\u4e2a\u5e94\u7528\u7684\u73af\u5883\u914d\u7f6e\u597d\u50cf\u4e5f\u4e0d\u503c\u5f97\u6a21\u62df\u4e00\u4e2a\u5168\u65b0\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002 Docker \u7684\u51fa\u73b0\u8ba9\u73af\u5883\u914d\u7f6e\u53d8\u5f97\uff08\u6216\u8bb8\uff09\u4e0d\u518d\u6298\u78e8\u3002\u7b80\u5355\u6765\u8bf4Docker\u4f7f\u7528\u8f7b\u91cf\u7ea7\u7684\u201c\u5bb9\u5668\u201d\uff08container\uff09\u800c\u4e0d\u662f\u6574\u4e2a\u64cd\u4f5c\u7cfb\u7edf\u53bb\u652f\u6301\u4e00\u4e2a\u5e94\u7528\u7684\u914d\u7f6e\u3002\u5e94\u7528\u81ea\u8eab\u8fde\u540c\u5b83\u7684\u73af\u5883\u914d\u7f6e\u88ab\u6253\u5305\u4e3a\u4e00\u4e2a\u4e2aimage\u53ef\u4ee5\u81ea\u7531\u8fd0\u884c\u5728\u4e0d\u540c\u5e73\u53f0\u7684\u4e00\u4e2a\u4e2acontainer\u4e2d\uff0c\u8fd9\u6781\u5927\u5730\u8282\u7701\u4e86\u6240\u6709\u4eba\u7684\u65f6\u95f4\u6210\u672c\u3002","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528 Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/#docker_1","text":"Docker \u5b98\u65b9\u6587\u6863 \u5f53\u7136\u662f\u6700\u597d\u7684\u521d\u5b66\u6559\u6750\uff0c\u4f46\u6700\u597d\u7684\u5bfc\u5e08\u4e00\u5b9a\u662f\u4f60\u81ea\u5df1\u2014\u2014\u5c1d\u8bd5\u53bb\u4f7f\u7528Docker\u624d\u80fd\u4eab\u53d7\u5b83\u5e26\u6765\u7684\u4fbf\u5229\u3002Docker\u5728\u5de5\u4e1a\u754c\u53d1\u5c55\u8fc5\u731b\u5e76\u5df2\u7ecf\u975e\u5e38\u6210\u719f\uff0c\u4f60\u53ef\u4ee5\u4e0b\u8f7d\u5b83\u7684\u684c\u9762\u7aef\u5e76\u4f7f\u7528\u56fe\u5f62\u754c\u9762\u3002 \u5f53\u7136\uff0c\u5982\u679c\u4f60\u50cf\u6211\u4e00\u6837\uff0c\u662f\u4e00\u4e2a\u75af\u72c2\u7684\u9020\u8f6e\u5b50\u7231\u597d\u8005\uff0c\u90a3\u4e0d\u59a8\u81ea\u5df1\u4eb2\u624b\u5199\u4e00\u4e2a \u8ff7\u4f60Docker \u6765\u52a0\u6df1\u7406\u89e3\u3002 KodeKloud Docker for the Absolute Beginner \u5168\u9762\u7684\u4ecb\u7ecd\u4e86Docker\u7684\u57fa\u7840\u529f\u80fd\uff0c\u5e76\u4e14\u6709\u5927\u91cf\u7684\u914d\u5957\u7ec3\u4e60\uff0c\u540c\u65f6\u63d0\u4f9b\u514d\u8d39\u7684\u4e91\u73af\u5883\u6765\u5b8c\u6210\u7ec3\u4e60\u3002\u5176\u4f59\u7684\u4e91\u76f8\u5173\u7684\u8bfe\u7a0b\u5982Kubernetes\u9700\u8981\u4ed8\u8d39\uff0c\u4f46\u4e2a\u4eba\u5f3a\u70c8\u63a8\u8350\uff1a\u8bb2\u89e3\u975e\u5e38\u4ed4\u7ec6\uff0c\u9002\u5408\u4ece0\u5f00\u59cb\u7684\u65b0\u624b\uff1b\u6709\u914d\u5957\u7684Kubernetes\u7684\u5b9e\u9a8c\u73af\u5883\uff0c\u4e0d\u7528\u88ab\u642d\u5efa\u73af\u5883\u529d\u9000\u3002","title":"\u5982\u4f55\u5b66\u4e60Docker"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/","text":"\u4e3a\u4ec0\u4e48\u4f7f\u7528Git Git\u662f\u4e00\u6b3e\u5206\u5e03\u5f0f\u7684\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\uff0cLinux\u4e4b\u7236Linus\u5acc\u5f03\u5f53\u65f6\u4e3b\u6d41\u7684\u4e2d\u5fc3\u5f0f\u7684\u7248\u672c\u63a7\u5236\u5de5\u5177\u592a\u96be\u7528\u8fd8\u8981\u82b1\u94b1\uff0c\u5c31\u81ea\u5df1\u5f00\u53d1\u51fa\u4e86Git\u7528\u6765\u7ef4\u62a4Linux\u7684\u7248\u672c\uff08\u7ed9\u5927\u4f6c\u8dea\u4e86\uff09\u3002 Git\u7684\u8bbe\u8ba1\u975e\u5e38\u4f18\u96c5\uff0c\u4f46\u521d\u5b66\u8005\u901a\u5e38\u56e0\u4e3a\u5f88\u96be\u7406\u89e3\u5176\u5185\u90e8\u903b\u8f91\u56e0\u6b64\u4f1a\u89c9\u5f97\u975e\u5e38\u96be\u7528\u3002\u5bf9Git\u4e0d\u719f\u6089\u7684\u521d\u5b66\u8005\u5f88\u5bb9\u6613\u51fa\u73b0\u56e0\u4e3a\u8bef\u7528\u547d\u4ee4\u5c06\u4ee3\u7801\u7ed9\u63a7\u5236\u7248\u672c\u63a7\u5236\u6ca1\u4e86\u7684\u72b6\u51b5\uff08\u597d\u5427\u662f\u6211\uff09\u3002 \u4f46\u76f8\u4fe1\u6211\uff0c\u548cVim\u4e00\u6837\uff0cGit\u662f\u4e00\u6b3e\u4f60\u6700\u7ec8\u638c\u63e1\u4e4b\u540e\u4f1a\u611f\u53f9\u201c\u5b83\u503c\u5f97\uff01\u201d\u7684\u795e\u5668\u3002 \u5982\u4f55\u5b66\u4e60Git \u548cVim\u4e0d\u540c\uff0c\u6211\u4e0d\u5efa\u8bae\u521d\u5b66\u8005\u5728\u4e00\u77e5\u534a\u89e3\u7684\u60c5\u51b5\u4e0b\u8d38\u7136\u4f7f\u7528Git\uff0c\u56e0\u4e3a\u5b83\u7684\u5185\u90e8\u903b\u8f91\u5e76\u4e0d\u80fd\u719f\u80fd\u751f\u5de7\uff0c\u800c\u662f\u9700\u8981\u82b1\u65f6\u95f4\u53bb\u7406\u89e3\u3002\u6211\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u9605\u8bfb\u8fd9\u7bc7 Git tutorial \u3002 \u9605\u8bfb\u8fd9\u672c\u5f00\u6e90\u4e66\u7c4d Pro Git \u7684Chapter1 - Chapter5\uff0c\u662f\u7684\u6ca1\u9519\uff0c\u5b66Git\u9700\u8981\u8bfb\u4e00\u672c\u4e66\uff08\u6342\u8138\uff09\u3002 \u6b64\u65f6\u4f60\u5df2\u7ecf\u638c\u63e1\u4e86Git\u7684\u539f\u7406\u548c\u7edd\u5927\u90e8\u5206\u7528\u6cd5\uff0c\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u5728\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56faGit\u7684\u547d\u4ee4\u4e86\u3002\u4f46\u7528\u597d\u5b83\u540c\u6837\u662f\u4e00\u95e8\u54f2\u5b66\uff0c\u6211\u4e2a\u4eba\u89c9\u5f97\u8fd9\u7bc7 \u5982\u4f55\u5199\u597d Commit Message \u7684\u535a\u5ba2\u975e\u5e38\u503c\u5f97\u4e00\u8bfb\u3002 \u597d\u7684\u6b64\u65f6\u4f60\u5df2\u7ecf\u7231\u4e0a\u4e86Git\uff0c\u4f60\u5df2\u7ecf\u4e0d\u6ee1\u8db3\u4e8e\u5b66\u4f1a\u5b83\u4e86\uff0c\u4f60\u60f3\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2aGit\uff01\u5de7\u4e86\uff0c\u6211\u5f53\u5e74\u4e5f\u6709\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c \u8fd9\u7bc7tutorial \u53ef\u4ee5\u6ee1\u8db3\u4f60\uff01 \u4ec0\u4e48\uff1f\u5149\u5b9e\u73b0\u4e00\u4e2aGit\u65e0\u6cd5\u6ee1\u8db3\u4f60\uff1f\u5c0f\u4f19\u5b50/\u5c0f\u4ed9\u5973\u6709\u524d\u9014\uff0c\u5de7\u7684\u662f\u6211\u4e5f\u559c\u6b22\u9020\u8f6e\u5b50\uff0c\u8fd9\u4e24\u4e2aGithub\u9879\u76ee build-your-own-x \u548c project-based-learning \u6536\u5f55\u4e86\u4f60\u80fd\u60f3\u5230\u7684\u5404\u79cd\u9020\u8f6e\u5b50\u6559\u7a0b\uff0c\u6bd4\u5982\uff1a\u81ea\u5df1\u9020\u4e2a\u7f16\u8f91\u5668\u3001\u81ea\u5df1\u5199\u4e2a\u865a\u62df\u673a\u3001\u81ea\u5df1\u5199\u4e2adocker\u3001\u81ea\u5df1\u5199\u4e2aTCP\u7b49\u7b49\u7b49\u7b49\u3002","title":"Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#git","text":"Git\u662f\u4e00\u6b3e\u5206\u5e03\u5f0f\u7684\u4ee3\u7801\u7248\u672c\u63a7\u5236\u5de5\u5177\uff0cLinux\u4e4b\u7236Linus\u5acc\u5f03\u5f53\u65f6\u4e3b\u6d41\u7684\u4e2d\u5fc3\u5f0f\u7684\u7248\u672c\u63a7\u5236\u5de5\u5177\u592a\u96be\u7528\u8fd8\u8981\u82b1\u94b1\uff0c\u5c31\u81ea\u5df1\u5f00\u53d1\u51fa\u4e86Git\u7528\u6765\u7ef4\u62a4Linux\u7684\u7248\u672c\uff08\u7ed9\u5927\u4f6c\u8dea\u4e86\uff09\u3002 Git\u7684\u8bbe\u8ba1\u975e\u5e38\u4f18\u96c5\uff0c\u4f46\u521d\u5b66\u8005\u901a\u5e38\u56e0\u4e3a\u5f88\u96be\u7406\u89e3\u5176\u5185\u90e8\u903b\u8f91\u56e0\u6b64\u4f1a\u89c9\u5f97\u975e\u5e38\u96be\u7528\u3002\u5bf9Git\u4e0d\u719f\u6089\u7684\u521d\u5b66\u8005\u5f88\u5bb9\u6613\u51fa\u73b0\u56e0\u4e3a\u8bef\u7528\u547d\u4ee4\u5c06\u4ee3\u7801\u7ed9\u63a7\u5236\u7248\u672c\u63a7\u5236\u6ca1\u4e86\u7684\u72b6\u51b5\uff08\u597d\u5427\u662f\u6211\uff09\u3002 \u4f46\u76f8\u4fe1\u6211\uff0c\u548cVim\u4e00\u6837\uff0cGit\u662f\u4e00\u6b3e\u4f60\u6700\u7ec8\u638c\u63e1\u4e4b\u540e\u4f1a\u611f\u53f9\u201c\u5b83\u503c\u5f97\uff01\u201d\u7684\u795e\u5668\u3002","title":"\u4e3a\u4ec0\u4e48\u4f7f\u7528Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/#git_1","text":"\u548cVim\u4e0d\u540c\uff0c\u6211\u4e0d\u5efa\u8bae\u521d\u5b66\u8005\u5728\u4e00\u77e5\u534a\u89e3\u7684\u60c5\u51b5\u4e0b\u8d38\u7136\u4f7f\u7528Git\uff0c\u56e0\u4e3a\u5b83\u7684\u5185\u90e8\u903b\u8f91\u5e76\u4e0d\u80fd\u719f\u80fd\u751f\u5de7\uff0c\u800c\u662f\u9700\u8981\u82b1\u65f6\u95f4\u53bb\u7406\u89e3\u3002\u6211\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u9605\u8bfb\u8fd9\u7bc7 Git tutorial \u3002 \u9605\u8bfb\u8fd9\u672c\u5f00\u6e90\u4e66\u7c4d Pro Git \u7684Chapter1 - Chapter5\uff0c\u662f\u7684\u6ca1\u9519\uff0c\u5b66Git\u9700\u8981\u8bfb\u4e00\u672c\u4e66\uff08\u6342\u8138\uff09\u3002 \u6b64\u65f6\u4f60\u5df2\u7ecf\u638c\u63e1\u4e86Git\u7684\u539f\u7406\u548c\u7edd\u5927\u90e8\u5206\u7528\u6cd5\uff0c\u63a5\u4e0b\u6765\u5c31\u53ef\u4ee5\u5728\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56faGit\u7684\u547d\u4ee4\u4e86\u3002\u4f46\u7528\u597d\u5b83\u540c\u6837\u662f\u4e00\u95e8\u54f2\u5b66\uff0c\u6211\u4e2a\u4eba\u89c9\u5f97\u8fd9\u7bc7 \u5982\u4f55\u5199\u597d Commit Message \u7684\u535a\u5ba2\u975e\u5e38\u503c\u5f97\u4e00\u8bfb\u3002 \u597d\u7684\u6b64\u65f6\u4f60\u5df2\u7ecf\u7231\u4e0a\u4e86Git\uff0c\u4f60\u5df2\u7ecf\u4e0d\u6ee1\u8db3\u4e8e\u5b66\u4f1a\u5b83\u4e86\uff0c\u4f60\u60f3\u81ea\u5df1\u5b9e\u73b0\u4e00\u4e2aGit\uff01\u5de7\u4e86\uff0c\u6211\u5f53\u5e74\u4e5f\u6709\u8fd9\u6837\u7684\u60f3\u6cd5\uff0c \u8fd9\u7bc7tutorial \u53ef\u4ee5\u6ee1\u8db3\u4f60\uff01 \u4ec0\u4e48\uff1f\u5149\u5b9e\u73b0\u4e00\u4e2aGit\u65e0\u6cd5\u6ee1\u8db3\u4f60\uff1f\u5c0f\u4f19\u5b50/\u5c0f\u4ed9\u5973\u6709\u524d\u9014\uff0c\u5de7\u7684\u662f\u6211\u4e5f\u559c\u6b22\u9020\u8f6e\u5b50\uff0c\u8fd9\u4e24\u4e2aGithub\u9879\u76ee build-your-own-x \u548c project-based-learning \u6536\u5f55\u4e86\u4f60\u80fd\u60f3\u5230\u7684\u5404\u79cd\u9020\u8f6e\u5b50\u6559\u7a0b\uff0c\u6bd4\u5982\uff1a\u81ea\u5df1\u9020\u4e2a\u7f16\u8f91\u5668\u3001\u81ea\u5df1\u5199\u4e2a\u865a\u62df\u673a\u3001\u81ea\u5df1\u5199\u4e2adocker\u3001\u81ea\u5df1\u5199\u4e2aTCP\u7b49\u7b49\u7b49\u7b49\u3002","title":"\u5982\u4f55\u5b66\u4e60Git"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Github/","text":"Github\u662f\u4ec0\u4e48 \u4ece\u529f\u80fd\u4e0a\u6765\u8bf4\uff0cGithub\u662f\u4e00\u4e2a\u5728\u7ebf\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u4f60\u53ef\u4ee5\u5c06\u4f60\u7684\u672c\u5730Git\u4ed3\u5e93\u6258\u7ba1\u5230Github\u4e0a\uff0c\u4f9b\u591a\u4eba\u540c\u65f6\u5f00\u53d1\u6d4f\u89c8\u3002\u4f46\u73b0\u5982\u4ecaGithub\u7684\u610f\u4e49\u5df2\u8fdc\u4e0d\u6b62\u5982\u6b64\uff0c\u5b83\u5df2\u7ecf\u6f14\u53d8\u4e3a\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u4e14\u8d44\u6e90\u6781\u4e3a\u4e30\u5bcc\u7684\u5f00\u6e90\u4ea4\u6d41\u793e\u533a\u3002\u5168\u4e16\u754c\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u5728Github\u4e0a\u5206\u4eab\u5404\u5f0f\u5404\u6837\u79cd\u7c7b\u7e41\u591a\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u5927\u5230\u5de5\u4e1a\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6pytorch\u3001tensorflow\uff0c\u5c0f\u5230\u51e0\u5341\u884c\u7684\u5b9e\u7528\u811a\u672c\uff0c\u65e2\u6709\u786c\u6838\u7684\u77e5\u8bc6\u5206\u4eab\uff0c\u4e5f\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\u6307\u5bfc\uff0c\u751a\u81f3\u5f88\u591a\u6280\u672f\u4e66\u7c4d\u4e5f\u5728github\u4e0a\u5f00\u6e90\uff08\u4f8b\u5982\u8bf8\u4f4d\u6b63\u5728\u770b\u7684\u8fd9\u672c\u2014\u2014\u5982\u679c\u6211\u539a\u7740\u8138\u76ae\u52c9\u5f3a\u79f0\u4e4b\u4e3a\u4e66\u7684\u8bdd\uff09\u3002\u95f2\u6765\u65e0\u4e8b\u901b\u901bGithub\u5df2\u7ecf\u6210\u4e3a\u4e86\u6211\u65e5\u5e38\u751f\u6d3b\u7684\u4e00\u90e8\u5206\u3002 \u5728Github\u91cc\uff0c\u661f\u661f\u662f\u5bf9\u4e00\u4e2a\u9879\u76ee\u81f3\u9ad8\u65e0\u4e0a\u7684\u80af\u5b9a\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u672c\u4e66\u5bf9\u4f60\u6709\u7528\u7684\u8bdd\uff0c\u6b22\u8fce\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u94fe\u63a5\u8fdb\u5165\u4ed3\u5e93\u4e3b\u9875\u732e\u51fa\u4f60\u5b9d\u8d35\u7684\u661f\u661f\u2728\u3002 \u5982\u4f55\u4f7f\u7528Github \u5982\u679c\u4f60\u8fd8\u4ece\u672a\u5728Github\u4e0a\u5efa\u7acb\u8fc7\u81ea\u5df1\u7684\u8fdc\u7a0b\u4ed3\u5e93\uff0c\u4e5f\u6ca1\u6709\u514b\u9686\u8fc7\u522b\u4eba\u7684\u4ee3\u7801\uff0c\u90a3\u4e48\u6211\u5efa\u8bae\u4f60\u4ece Github\u7684\u5b98\u65b9\u6559\u7a0b \u5f00\u59cb\u81ea\u5df1\u7684\u5f00\u6e90\u4e4b\u65c5\u3002 \u5982\u679c\u4f60\u60f3\u65f6\u523b\u5173\u6ce8Github\u4e0a\u4e00\u4e9b\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u90a3\u4e48\u6211\u5411\u4f60\u91cd\u78c5\u63a8\u8350 HelloGithub \u8fd9\u4e2a\u7f51\u7ad9\u4ee5\u53ca\u5b83\u7684\u540c\u540d\u5fae\u4fe1\u516c\u4f17\u53f7\u3002\u5b83\u4f1a\u5b9a\u671f\u6536\u5f55Github\u4e0a\u8fd1\u671f\u5f00\u59cb\u6d41\u884c\u7684\u6216\u8005\u975e\u5e38\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u7b2c\u4e00\u65f6\u95f4\u63a5\u89e6\u5404\u7c7b\u4f18\u8d28\u8d44\u6e90\u3002 Github\u4e4b\u6240\u4ee5\u6210\u529f\uff0c\u6211\u60f3\u662f\u5f97\u76ca\u4e8e\u201c\u6211\u4e3a\u4eba\u4eba\uff0c\u4eba\u4eba\u4e3a\u6211\u201d\u7684\u5f00\u6e90\u7cbe\u795e\uff0c\u5f97\u76ca\u4e8e\u77e5\u8bc6\u5206\u4eab\u7684\u5feb\u4e50\u3002\u5982\u679c\u4f60\u4e5f\u60f3\u6210\u4e3a\u4e0b\u4e00\u4e2a\u4e07\u4eba\u656c\u4ef0\u7684\u5f00\u6e90\u5927\u4f6c\uff0c\u6216\u8005\u4e0b\u4e00\u4e2astar\u7834\u4e07\u7684\u9879\u76ee\u4f5c\u8005\u3002\u90a3\u5c31\u628a\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7075\u611f\u4e00\u73b0\u7684idea\u5316\u4f5c\u4ee3\u7801\uff0c\u5c55\u793a\u5728Github\u4e0a\u5427\uff5e \u4e0d\u8fc7\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u5f00\u6e90\u793e\u533a\u4e0d\u662f\u6cd5\u5916\u4e4b\u5730\uff0c\u5f88\u591a\u5f00\u6e90\u8f6f\u4ef6\u5e76\u4e0d\u662f\u53ef\u4ee5\u968f\u610f\u590d\u5236\u5206\u53d1\u751a\u81f3\u8d29\u5356\u7684\uff0c\u4e86\u89e3\u5404\u7c7b \u5f00\u6e90\u534f\u8bae \u5e76\u9075\u5b88\uff0c\u4e0d\u4ec5\u662f\u6cd5\u5f8b\u7684\u8981\u6c42\uff0c\u66f4\u662f\u6bcf\u4e2a\u5f00\u6e90\u793e\u533a\u6210\u5458\u7684\u8d23\u4efb\u3002","title":"Github"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Github/#github","text":"\u4ece\u529f\u80fd\u4e0a\u6765\u8bf4\uff0cGithub\u662f\u4e00\u4e2a\u5728\u7ebf\u4ee3\u7801\u6258\u7ba1\u5e73\u53f0\u3002\u4f60\u53ef\u4ee5\u5c06\u4f60\u7684\u672c\u5730Git\u4ed3\u5e93\u6258\u7ba1\u5230Github\u4e0a\uff0c\u4f9b\u591a\u4eba\u540c\u65f6\u5f00\u53d1\u6d4f\u89c8\u3002\u4f46\u73b0\u5982\u4ecaGithub\u7684\u610f\u4e49\u5df2\u8fdc\u4e0d\u6b62\u5982\u6b64\uff0c\u5b83\u5df2\u7ecf\u6f14\u53d8\u4e3a\u4e00\u4e2a\u975e\u5e38\u6d3b\u8dc3\u4e14\u8d44\u6e90\u6781\u4e3a\u4e30\u5bcc\u7684\u5f00\u6e90\u4ea4\u6d41\u793e\u533a\u3002\u5168\u4e16\u754c\u7684\u8f6f\u4ef6\u5f00\u53d1\u8005\u5728Github\u4e0a\u5206\u4eab\u5404\u5f0f\u5404\u6837\u79cd\u7c7b\u7e41\u591a\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002\u5927\u5230\u5de5\u4e1a\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u6846\u67b6pytorch\u3001tensorflow\uff0c\u5c0f\u5230\u51e0\u5341\u884c\u7684\u5b9e\u7528\u811a\u672c\uff0c\u65e2\u6709\u786c\u6838\u7684\u77e5\u8bc6\u5206\u4eab\uff0c\u4e5f\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\u6307\u5bfc\uff0c\u751a\u81f3\u5f88\u591a\u6280\u672f\u4e66\u7c4d\u4e5f\u5728github\u4e0a\u5f00\u6e90\uff08\u4f8b\u5982\u8bf8\u4f4d\u6b63\u5728\u770b\u7684\u8fd9\u672c\u2014\u2014\u5982\u679c\u6211\u539a\u7740\u8138\u76ae\u52c9\u5f3a\u79f0\u4e4b\u4e3a\u4e66\u7684\u8bdd\uff09\u3002\u95f2\u6765\u65e0\u4e8b\u901b\u901bGithub\u5df2\u7ecf\u6210\u4e3a\u4e86\u6211\u65e5\u5e38\u751f\u6d3b\u7684\u4e00\u90e8\u5206\u3002 \u5728Github\u91cc\uff0c\u661f\u661f\u662f\u5bf9\u4e00\u4e2a\u9879\u76ee\u81f3\u9ad8\u65e0\u4e0a\u7684\u80af\u5b9a\uff0c\u5982\u679c\u4f60\u89c9\u5f97\u8fd9\u672c\u4e66\u5bf9\u4f60\u6709\u7528\u7684\u8bdd\uff0c\u6b22\u8fce\u901a\u8fc7\u53f3\u4e0a\u89d2\u7684\u94fe\u63a5\u8fdb\u5165\u4ed3\u5e93\u4e3b\u9875\u732e\u51fa\u4f60\u5b9d\u8d35\u7684\u661f\u661f\u2728\u3002","title":"Github\u662f\u4ec0\u4e48"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Github/#github_1","text":"\u5982\u679c\u4f60\u8fd8\u4ece\u672a\u5728Github\u4e0a\u5efa\u7acb\u8fc7\u81ea\u5df1\u7684\u8fdc\u7a0b\u4ed3\u5e93\uff0c\u4e5f\u6ca1\u6709\u514b\u9686\u8fc7\u522b\u4eba\u7684\u4ee3\u7801\uff0c\u90a3\u4e48\u6211\u5efa\u8bae\u4f60\u4ece Github\u7684\u5b98\u65b9\u6559\u7a0b \u5f00\u59cb\u81ea\u5df1\u7684\u5f00\u6e90\u4e4b\u65c5\u3002 \u5982\u679c\u4f60\u60f3\u65f6\u523b\u5173\u6ce8Github\u4e0a\u4e00\u4e9b\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u90a3\u4e48\u6211\u5411\u4f60\u91cd\u78c5\u63a8\u8350 HelloGithub \u8fd9\u4e2a\u7f51\u7ad9\u4ee5\u53ca\u5b83\u7684\u540c\u540d\u5fae\u4fe1\u516c\u4f17\u53f7\u3002\u5b83\u4f1a\u5b9a\u671f\u6536\u5f55Github\u4e0a\u8fd1\u671f\u5f00\u59cb\u6d41\u884c\u7684\u6216\u8005\u975e\u5e38\u6709\u8da3\u7684\u5f00\u6e90\u9879\u76ee\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u7b2c\u4e00\u65f6\u95f4\u63a5\u89e6\u5404\u7c7b\u4f18\u8d28\u8d44\u6e90\u3002 Github\u4e4b\u6240\u4ee5\u6210\u529f\uff0c\u6211\u60f3\u662f\u5f97\u76ca\u4e8e\u201c\u6211\u4e3a\u4eba\u4eba\uff0c\u4eba\u4eba\u4e3a\u6211\u201d\u7684\u5f00\u6e90\u7cbe\u795e\uff0c\u5f97\u76ca\u4e8e\u77e5\u8bc6\u5206\u4eab\u7684\u5feb\u4e50\u3002\u5982\u679c\u4f60\u4e5f\u60f3\u6210\u4e3a\u4e0b\u4e00\u4e2a\u4e07\u4eba\u656c\u4ef0\u7684\u5f00\u6e90\u5927\u4f6c\uff0c\u6216\u8005\u4e0b\u4e00\u4e2astar\u7834\u4e07\u7684\u9879\u76ee\u4f5c\u8005\u3002\u90a3\u5c31\u628a\u4f60\u5728\u5f00\u53d1\u8fc7\u7a0b\u4e2d\u7075\u611f\u4e00\u73b0\u7684idea\u5316\u4f5c\u4ee3\u7801\uff0c\u5c55\u793a\u5728Github\u4e0a\u5427\uff5e \u4e0d\u8fc7\u9700\u8981\u63d0\u9192\u7684\u662f\uff0c\u5f00\u6e90\u793e\u533a\u4e0d\u662f\u6cd5\u5916\u4e4b\u5730\uff0c\u5f88\u591a\u5f00\u6e90\u8f6f\u4ef6\u5e76\u4e0d\u662f\u53ef\u4ee5\u968f\u610f\u590d\u5236\u5206\u53d1\u751a\u81f3\u8d29\u5356\u7684\uff0c\u4e86\u89e3\u5404\u7c7b \u5f00\u6e90\u534f\u8bae \u5e76\u9075\u5b88\uff0c\u4e0d\u4ec5\u662f\u6cd5\u5f8b\u7684\u8981\u6c42\uff0c\u66f4\u662f\u6bcf\u4e2a\u5f00\u6e90\u793e\u533a\u6210\u5458\u7684\u8d23\u4efb\u3002","title":"\u5982\u4f55\u4f7f\u7528Github"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Latex/","text":"\u4e3a\u4ec0\u4e48\u5b66Latex \u5982\u679c\u4f60\u9700\u8981\u5199\u8bba\u6587\uff0c\u90a3\u4e48\u8bf7\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u8282\uff0c\u56e0\u4e3a\u4f60\u4e0d\u5b66\u4e5f\u5f97\u5b66\u3002 LaTex\u662f\u4e00\u79cd\u57fa\u4e8eTex\u7684\u6392\u7248\u7cfb\u7edf\uff0c\u7531\u56fe\u7075\u5956\u5f97\u4e3bLamport\u5f00\u53d1\uff0c\u800cTex\u5219\u662f\u7531Knuth\u6700\u521d\u5f00\u53d1\uff0c\u8fd9\u4e24\u4f4d\u90fd\u662f\u8ba1\u7b97\u673a\u754c\u7684\u5de8\u64d8\u3002\u5f53\u7136\u5f00\u53d1\u8005\u5f3a\u5e76\u4e0d\u662f\u6211\u4eec\u5b66\u4e60LaTex\u7684\u7406\u7531\uff0cLaTex\u548c\u5e38\u89c1\u7684\u6240\u89c1\u5373\u6240\u5f97\u7684Word\u6587\u6863\u6700\u5927\u7684\u533a\u522b\u5c31\u662f\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5199\u4f5c\u7684\u5185\u5bb9\uff0c\u800c\u6392\u7248\u5219\u5b8c\u5168\u4ea4\u7ed9\u8f6f\u4ef6\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u8ba9\u6ca1\u6709\u4efb\u4f55\u6392\u7248\u7ecf\u9a8c\u7684\u666e\u901a\u4eba\u5f97\u4ee5\u5199\u51fa\u6392\u7248\u975e\u5e38\u4e13\u4e1a\u7684\u8bba\u6587\u6216\u6587\u7ae0\u3002 Berkeley\u8ba1\u7b97\u673a\u7cfb\u6559\u6388Christos Papadimitriou\u66fe\u8bf4\u8fc7\u4e00\u53e5\u534a\u5f00\u73a9\u7b11\u7684\u8bdd\uff1a Every time I read a LaTeX document, I think, wow, this must be correct! \u5982\u4f55\u5b66\u4e60LaTex \u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a LaTex\u7684\u73af\u5883\u914d\u7f6e\u662f\u4e2a\u6bd4\u8f83\u5934\u75bc\u7684\u95ee\u9898\u3002\u5982\u679c\u4f60\u672c\u5730\u914d\u7f6eLaTex\u73af\u5883\u51fa\u73b0\u4e86\u95ee\u9898\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 Overleaf \u8fd9\u4e2a\u5728\u7ebfLaTex\u7f16\u8f91\u7f51\u7ad9\u3002\u7ad9\u5185\u4e0d\u4ec5\u6709\u5404\u79cd\u5404\u6837\u7684LaTex\u6a21\u7248\u4f9b\u4f60\u9009\u62e9\u8fd8\u514d\u53bb\u4e86\u73af\u5883\u914d\u7f6e\u7684\u96be\u9898\u3002 \u9605\u8bfb\u4e0b\u9762\u4e09\u7bc7Tutorial: Part-1 , Part-2 , Part-3 . \u5b66\u4e60LaTex\u6700\u597d\u7684\u65b9\u5f0f\u5f53\u7136\u662f\u5199\u8bba\u6587\uff0c\u4e0d\u8fc7\u4ece\u4e00\u95e8\u6570\u5b66\u8bfe\u5165\u624b\u7528LaTex\u5199\u4f5c\u4e1a\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002","title":"Latex"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Latex/#latex","text":"\u5982\u679c\u4f60\u9700\u8981\u5199\u8bba\u6587\uff0c\u90a3\u4e48\u8bf7\u76f4\u63a5\u8df3\u5230\u4e0b\u4e00\u8282\uff0c\u56e0\u4e3a\u4f60\u4e0d\u5b66\u4e5f\u5f97\u5b66\u3002 LaTex\u662f\u4e00\u79cd\u57fa\u4e8eTex\u7684\u6392\u7248\u7cfb\u7edf\uff0c\u7531\u56fe\u7075\u5956\u5f97\u4e3bLamport\u5f00\u53d1\uff0c\u800cTex\u5219\u662f\u7531Knuth\u6700\u521d\u5f00\u53d1\uff0c\u8fd9\u4e24\u4f4d\u90fd\u662f\u8ba1\u7b97\u673a\u754c\u7684\u5de8\u64d8\u3002\u5f53\u7136\u5f00\u53d1\u8005\u5f3a\u5e76\u4e0d\u662f\u6211\u4eec\u5b66\u4e60LaTex\u7684\u7406\u7531\uff0cLaTex\u548c\u5e38\u89c1\u7684\u6240\u89c1\u5373\u6240\u5f97\u7684Word\u6587\u6863\u6700\u5927\u7684\u533a\u522b\u5c31\u662f\u7528\u6237\u53ea\u9700\u8981\u5173\u6ce8\u5199\u4f5c\u7684\u5185\u5bb9\uff0c\u800c\u6392\u7248\u5219\u5b8c\u5168\u4ea4\u7ed9\u8f6f\u4ef6\u81ea\u52a8\u5b8c\u6210\u3002\u8fd9\u8ba9\u6ca1\u6709\u4efb\u4f55\u6392\u7248\u7ecf\u9a8c\u7684\u666e\u901a\u4eba\u5f97\u4ee5\u5199\u51fa\u6392\u7248\u975e\u5e38\u4e13\u4e1a\u7684\u8bba\u6587\u6216\u6587\u7ae0\u3002 Berkeley\u8ba1\u7b97\u673a\u7cfb\u6559\u6388Christos Papadimitriou\u66fe\u8bf4\u8fc7\u4e00\u53e5\u534a\u5f00\u73a9\u7b11\u7684\u8bdd\uff1a Every time I read a LaTeX document, I think, wow, this must be correct!","title":"\u4e3a\u4ec0\u4e48\u5b66Latex"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Latex/#latex_1","text":"\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a LaTex\u7684\u73af\u5883\u914d\u7f6e\u662f\u4e2a\u6bd4\u8f83\u5934\u75bc\u7684\u95ee\u9898\u3002\u5982\u679c\u4f60\u672c\u5730\u914d\u7f6eLaTex\u73af\u5883\u51fa\u73b0\u4e86\u95ee\u9898\uff0c\u53ef\u4ee5\u8003\u8651\u4f7f\u7528 Overleaf \u8fd9\u4e2a\u5728\u7ebfLaTex\u7f16\u8f91\u7f51\u7ad9\u3002\u7ad9\u5185\u4e0d\u4ec5\u6709\u5404\u79cd\u5404\u6837\u7684LaTex\u6a21\u7248\u4f9b\u4f60\u9009\u62e9\u8fd8\u514d\u53bb\u4e86\u73af\u5883\u914d\u7f6e\u7684\u96be\u9898\u3002 \u9605\u8bfb\u4e0b\u9762\u4e09\u7bc7Tutorial: Part-1 , Part-2 , Part-3 . \u5b66\u4e60LaTex\u6700\u597d\u7684\u65b9\u5f0f\u5f53\u7136\u662f\u5199\u8bba\u6587\uff0c\u4e0d\u8fc7\u4ece\u4e00\u95e8\u6570\u5b66\u8bfe\u5165\u624b\u7528LaTex\u5199\u4f5c\u4e1a\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u9009\u62e9\u3002","title":"\u5982\u4f55\u5b66\u4e60LaTex"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Makefile/","text":"\u4e3a\u4ec0\u4e48\u5b66Makefile \u5927\u5bb6\u7b2c\u4e00\u6b21\u5199hello world\u7a0b\u5e8f\u7684\u65f6\u5019\u4e00\u5b9a\u90fd\u8bb0\u5f97\uff0c\u5728\u7f16\u8f91\u5b8c helloworld.c \u4e4b\u540e\uff0c\u9700\u8981\u7528 gcc \u7f16\u8bd1\u751f\u6210\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u7136\u540e\u518d\u6267\u884c\uff08\u5982\u679c\u4f60\u4e0d\u7406\u89e3\u524d\u9762\u8fd9\u6bb5\u8bdd\uff0c\u8bf7\u5148\u81ea\u884c\u8c37\u6b4c gcc \u7f16\u8bd1 \u5e76\u7406\u89e3\u76f8\u5173\u5185\u5bb9\uff09\u3002\u4f46\u5982\u679c\u4f60\u7684\u9879\u76ee\u7531\u6210\u767e\u4e0a\u5343\u4e2aC\u6e90\u6587\u4ef6\u7ec4\u6210\uff0c\u5e76\u4e14\u661f\u7f57\u68cb\u5e03\u5728\u5404\u4e2a\u5b50\u76ee\u5f55\u4e0b\uff0c\u4f60\u8be5\u5982\u4f55\u5c06\u5b83\u4eec\u7f16\u8bd1\u94fe\u63a5\u5230\u4e00\u8d77\u5462\uff1f\u5047\u5982\u4f60\u7684\u9879\u76ee\u7f16\u8bd1\u4e00\u6b21\u9700\u8981\u534a\u4e2a\u5c0f\u65f6\uff08\u5927\u578b\u9879\u76ee\u76f8\u5f53\u5e38\u89c1\uff09\uff0c\u800c\u4f60\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u5206\u53f7\uff0c\u662f\u4e0d\u662f\u8fd8\u9700\u8981\u518d\u7b49\u534a\u4e2a\u5c0f\u65f6\u5462\uff1f \u8fd9\u65f6\u5019Makefile\u5c31\u95ea\u4eae\u767b\u573a\u4e86\uff0c\u5b83\u80fd\u8ba9\u4f60\u5728\u4e00\u4e2a\u811a\u672c\u91cc\uff08\u5373\u6240\u8c13\u7684Makefile\uff09\u5b9a\u4e49\u6574\u4e2a\u7f16\u8bd1\u6d41\u7a0b\u4ee5\u53ca\u5404\u4e2a\u76ee\u6807\u6587\u4ef6\u4e0e\u6e90\u6587\u4ef6\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u4e14\u53ea\u91cd\u65b0\u7f16\u8bd1\u4f60\u7684\u4fee\u6539\u4f1a\u5f71\u54cd\u5230\u7684\u90e8\u5206\uff0c\u4ece\u800c\u964d\u4f4e\u7f16\u8bd1\u7684\u65f6\u95f4\u3002 \u5982\u4f55\u5b66\u4e60Makefile \u8fd9\u91cc\u6709\u4e00\u7bc7\u5199\u5f97\u6df1\u5165\u6d45\u51fa\u7684 \u6587\u6863 \u4f9b\u5927\u5bb6\u53c2\u8003\u3002 Makefile\u638c\u63e1\u8d77\u6765\u76f8\u5bf9\u5bb9\u6613\uff0c\u4f46\u7528\u597d\u5b83\u9700\u8981\u4e0d\u65ad\u7684\u7ec3\u4e60\u3002\u5c06\u5b83\u878d\u5165\u5230\u81ea\u5df1\u7684\u65e5\u5e38\u5f00\u53d1\u4e2d\uff0c\u52e4\u4e8e\u5b66\u4e60\u548c\u6a21\u4eff\u5176\u4ed6\u4f18\u79c0\u5f00\u6e90\u9879\u76ee\u91cc\u7684Makefile\u7684\u5199\u6cd5\uff0c\u603b\u7ed3\u51fa\u9002\u5408\u81ea\u5df1\u7684template\uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u4f60\u5bf9Makefile\u7684\u4f7f\u7528\u4f1a\u6108\u52a0\u7eaf\u719f\u3002","title":"Makefile"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Makefile/#makefile","text":"\u5927\u5bb6\u7b2c\u4e00\u6b21\u5199hello world\u7a0b\u5e8f\u7684\u65f6\u5019\u4e00\u5b9a\u90fd\u8bb0\u5f97\uff0c\u5728\u7f16\u8f91\u5b8c helloworld.c \u4e4b\u540e\uff0c\u9700\u8981\u7528 gcc \u7f16\u8bd1\u751f\u6210\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u7136\u540e\u518d\u6267\u884c\uff08\u5982\u679c\u4f60\u4e0d\u7406\u89e3\u524d\u9762\u8fd9\u6bb5\u8bdd\uff0c\u8bf7\u5148\u81ea\u884c\u8c37\u6b4c gcc \u7f16\u8bd1 \u5e76\u7406\u89e3\u76f8\u5173\u5185\u5bb9\uff09\u3002\u4f46\u5982\u679c\u4f60\u7684\u9879\u76ee\u7531\u6210\u767e\u4e0a\u5343\u4e2aC\u6e90\u6587\u4ef6\u7ec4\u6210\uff0c\u5e76\u4e14\u661f\u7f57\u68cb\u5e03\u5728\u5404\u4e2a\u5b50\u76ee\u5f55\u4e0b\uff0c\u4f60\u8be5\u5982\u4f55\u5c06\u5b83\u4eec\u7f16\u8bd1\u94fe\u63a5\u5230\u4e00\u8d77\u5462\uff1f\u5047\u5982\u4f60\u7684\u9879\u76ee\u7f16\u8bd1\u4e00\u6b21\u9700\u8981\u534a\u4e2a\u5c0f\u65f6\uff08\u5927\u578b\u9879\u76ee\u76f8\u5f53\u5e38\u89c1\uff09\uff0c\u800c\u4f60\u53ea\u4fee\u6539\u4e86\u4e00\u4e2a\u5206\u53f7\uff0c\u662f\u4e0d\u662f\u8fd8\u9700\u8981\u518d\u7b49\u534a\u4e2a\u5c0f\u65f6\u5462\uff1f \u8fd9\u65f6\u5019Makefile\u5c31\u95ea\u4eae\u767b\u573a\u4e86\uff0c\u5b83\u80fd\u8ba9\u4f60\u5728\u4e00\u4e2a\u811a\u672c\u91cc\uff08\u5373\u6240\u8c13\u7684Makefile\uff09\u5b9a\u4e49\u6574\u4e2a\u7f16\u8bd1\u6d41\u7a0b\u4ee5\u53ca\u5404\u4e2a\u76ee\u6807\u6587\u4ef6\u4e0e\u6e90\u6587\u4ef6\u4e4b\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5e76\u4e14\u53ea\u91cd\u65b0\u7f16\u8bd1\u4f60\u7684\u4fee\u6539\u4f1a\u5f71\u54cd\u5230\u7684\u90e8\u5206\uff0c\u4ece\u800c\u964d\u4f4e\u7f16\u8bd1\u7684\u65f6\u95f4\u3002","title":"\u4e3a\u4ec0\u4e48\u5b66Makefile"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Makefile/#makefile_1","text":"\u8fd9\u91cc\u6709\u4e00\u7bc7\u5199\u5f97\u6df1\u5165\u6d45\u51fa\u7684 \u6587\u6863 \u4f9b\u5927\u5bb6\u53c2\u8003\u3002 Makefile\u638c\u63e1\u8d77\u6765\u76f8\u5bf9\u5bb9\u6613\uff0c\u4f46\u7528\u597d\u5b83\u9700\u8981\u4e0d\u65ad\u7684\u7ec3\u4e60\u3002\u5c06\u5b83\u878d\u5165\u5230\u81ea\u5df1\u7684\u65e5\u5e38\u5f00\u53d1\u4e2d\uff0c\u52e4\u4e8e\u5b66\u4e60\u548c\u6a21\u4eff\u5176\u4ed6\u4f18\u79c0\u5f00\u6e90\u9879\u76ee\u91cc\u7684Makefile\u7684\u5199\u6cd5\uff0c\u603b\u7ed3\u51fa\u9002\u5408\u81ea\u5df1\u7684template\uff0c\u4e45\u800c\u4e45\u4e4b\uff0c\u4f60\u5bf9Makefile\u7684\u4f7f\u7528\u4f1a\u6108\u52a0\u7eaf\u719f\u3002","title":"\u5982\u4f55\u5b66\u4e60Makefile"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/","text":"\u4e3a\u4ec0\u4e48\u5b66\u4e60Vim \u5728\u6211\u770b\u6765Vim\u7f16\u8f91\u5668\u6709\u5982\u4e0b\u7684\u597d\u5904\uff1a \u8ba9\u4f60\u7684\u6574\u4e2a\u5f00\u53d1\u8fc7\u7a0b\u624b\u6307\u4e0d\u9700\u8981\u79bb\u5f00\u952e\u76d8\uff0c\u800c\u4e14\u5149\u6807\u7684\u79fb\u52a8\u4e0d\u9700\u8981\u65b9\u5411\u952e\u4f7f\u5f97\u4f60\u7684\u624b\u6307\u4e00\u76f4\u5904\u5728\u6253\u5b57\u7684\u6700\u4f73\u4f4d\u7f6e\u3002 \u65b9\u4fbf\u7684\u6587\u4ef6\u5207\u6362\u4ee5\u53ca\u9762\u677f\u63a7\u5236\u53ef\u4ee5\u8ba9\u4f60\u540c\u65f6\u5f00\u53d1\u591a\u4efd\u6587\u4ef6\u751a\u81f3\u540c\u4e00\u4e2a\u6587\u4ef6\u7684\u4e0d\u540c\u4f4d\u7f6e\u3002 Vim\u7684\u5b8f\u64cd\u4f5c\u53ef\u4ee5\u6279\u91cf\u5316\u5904\u7406\u91cd\u590d\u64cd\u4f5c\uff08\u4f8b\u5982\u591a\u884ctab\uff0c\u6279\u91cf\u52a0\u53cc\u5f15\u53f7\u7b49\u7b49\uff09 Vim\u662f\u5f88\u591a\u670d\u52a1\u5668\u81ea\u5e26\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\uff0c\u5f53\u4f60\u901a\u8fc7ssh\u8fde\u63a5\u8fdc\u7a0b\u670d\u52a1\u5668\u4e4b\u540e\uff0c\u7531\u4e8e\u6ca1\u6709\u56fe\u5f62\u754c\u9762\uff0c\u53ea\u80fd\u5728\u547d\u4ee4\u884c\u91cc\u8fdb\u884c\u5f00\u53d1\uff08\u5f53\u7136\u73b0\u5728\u5f88\u591aIDE\u5982vscode\u63d0\u4f9b\u4e86ssh\u63d2\u4ef6\u53ef\u4ee5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff09\u3002 \u5f02\u5e38\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u8ba9\u4f60\u62e5\u6709\u4e16\u754c\u4e0a\u6700\u82b1\u91cc\u80e1\u54e8\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\u3002 \u5982\u4f55\u5b66\u4e60Vim \u4e0d\u5e78\u7684\u662fVim\u7684\u5b66\u4e60\u66f2\u7ebf\u786e\u5b9e\u76f8\u5f53\u9661\u5ced\uff0c\u6211\u82b1\u4e86\u597d\u51e0\u4e2a\u661f\u671f\u624d\u6162\u6162\u9002\u5e94\u4e86\u7528Vim\u8fdb\u884c\u5f00\u53d1\u7684\u8fc7\u7a0b\u3002\u6700\u5f00\u59cb\u4f60\u4f1a\u89c9\u5f97\u975e\u5e38\u4e0d\u9002\u5e94\uff0c\u4f46\u4e00\u65e6\u71ac\u8fc7\u4e86\u521d\u59cb\u9636\u6bb5\uff0c\u76f8\u4fe1\u6211\uff0c\u4f60\u4f1a\u7231\u4e0aVim\u3002 Vim\u7684\u5b66\u4e60\u8d44\u6599\u6d69\u5982\u70df\u6d77\uff0c\u4f46\u638c\u63e1\u5b83\u6700\u597d\u7684\u65b9\u5f0f\u8fd8\u662f\u5c06\u5b83\u7528\u5728\u65e5\u5e38\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u800c\u4e0d\u662f\u4e00\u4e0a\u6765\u5c31\u53bb\u5b66\u5404\u79cd\u82b1\u91cc\u80e1\u54e8\u7684\u9ad8\u7ea7Vim\u6280\u5de7\u3002\u4e2a\u4eba\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u5148\u9605\u8bfb \u8fd9\u7bc7tutorial \uff0c\u638c\u63e1\u57fa\u672c\u7684Vim\u6982\u5ff5\u548c\u4f7f\u7528\u65b9\u5f0f\u3002 \u7528Vim\u81ea\u5e26\u7684vimtutor\u8fdb\u884c\u7ec3\u4e60\uff0c\u5b89\u88c5\u5b8cVim\u4e4b\u540e\u76f4\u63a5\u5728\u547d\u4ee4\u884c\u91cc\u8f93\u5165vimtutor\u5373\u53ef\u8fdb\u5165\u7ec3\u4e60\u7a0b\u5e8f\u3002 \u6700\u540e\u5c31\u662f\u5f3a\u8feb\u81ea\u5df1\u4f7f\u7528Vim\u8fdb\u884c\u5f00\u53d1\uff0cIDE\u91cc\u53ef\u4ee5\u5b89\u88c5Vim\u63d2\u4ef6\u3002 \u7b49\u4f60\u5b8c\u5168\u9002\u5e94Vim\u4e4b\u540e\u65b0\u7684\u4e16\u754c\u4fbf\u5411\u4f60\u655e\u5f00\u4e86\u5927\u95e8\uff0c\u4f60\u53ef\u4ee5\u6309\u9700\u914d\u7f6e\u81ea\u5df1\u7684Vim\uff08\u4fee\u6539.vimrc\u6587\u4ef6\uff09\uff0c\u7f51\u4e0a\u6709\u6570\u4e0d\u80dc\u6570\u7684\u8d44\u6e90\u53ef\u4ee5\u501f\u9274\u3002 \u63a8\u8350\u53c2\u8003\u8d44\u6599 Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.","title":"Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#vim","text":"\u5728\u6211\u770b\u6765Vim\u7f16\u8f91\u5668\u6709\u5982\u4e0b\u7684\u597d\u5904\uff1a \u8ba9\u4f60\u7684\u6574\u4e2a\u5f00\u53d1\u8fc7\u7a0b\u624b\u6307\u4e0d\u9700\u8981\u79bb\u5f00\u952e\u76d8\uff0c\u800c\u4e14\u5149\u6807\u7684\u79fb\u52a8\u4e0d\u9700\u8981\u65b9\u5411\u952e\u4f7f\u5f97\u4f60\u7684\u624b\u6307\u4e00\u76f4\u5904\u5728\u6253\u5b57\u7684\u6700\u4f73\u4f4d\u7f6e\u3002 \u65b9\u4fbf\u7684\u6587\u4ef6\u5207\u6362\u4ee5\u53ca\u9762\u677f\u63a7\u5236\u53ef\u4ee5\u8ba9\u4f60\u540c\u65f6\u5f00\u53d1\u591a\u4efd\u6587\u4ef6\u751a\u81f3\u540c\u4e00\u4e2a\u6587\u4ef6\u7684\u4e0d\u540c\u4f4d\u7f6e\u3002 Vim\u7684\u5b8f\u64cd\u4f5c\u53ef\u4ee5\u6279\u91cf\u5316\u5904\u7406\u91cd\u590d\u64cd\u4f5c\uff08\u4f8b\u5982\u591a\u884ctab\uff0c\u6279\u91cf\u52a0\u53cc\u5f15\u53f7\u7b49\u7b49\uff09 Vim\u662f\u5f88\u591a\u670d\u52a1\u5668\u81ea\u5e26\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\uff0c\u5f53\u4f60\u901a\u8fc7ssh\u8fde\u63a5\u8fdc\u7a0b\u670d\u52a1\u5668\u4e4b\u540e\uff0c\u7531\u4e8e\u6ca1\u6709\u56fe\u5f62\u754c\u9762\uff0c\u53ea\u80fd\u5728\u547d\u4ee4\u884c\u91cc\u8fdb\u884c\u5f00\u53d1\uff08\u5f53\u7136\u73b0\u5728\u5f88\u591aIDE\u5982vscode\u63d0\u4f9b\u4e86ssh\u63d2\u4ef6\u53ef\u4ee5\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff09\u3002 \u5f02\u5e38\u4e30\u5bcc\u7684\u63d2\u4ef6\u751f\u6001\uff0c\u8ba9\u4f60\u62e5\u6709\u4e16\u754c\u4e0a\u6700\u82b1\u91cc\u80e1\u54e8\u7684\u547d\u4ee4\u884c\u7f16\u8f91\u5668\u3002","title":"\u4e3a\u4ec0\u4e48\u5b66\u4e60Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#vim_1","text":"\u4e0d\u5e78\u7684\u662fVim\u7684\u5b66\u4e60\u66f2\u7ebf\u786e\u5b9e\u76f8\u5f53\u9661\u5ced\uff0c\u6211\u82b1\u4e86\u597d\u51e0\u4e2a\u661f\u671f\u624d\u6162\u6162\u9002\u5e94\u4e86\u7528Vim\u8fdb\u884c\u5f00\u53d1\u7684\u8fc7\u7a0b\u3002\u6700\u5f00\u59cb\u4f60\u4f1a\u89c9\u5f97\u975e\u5e38\u4e0d\u9002\u5e94\uff0c\u4f46\u4e00\u65e6\u71ac\u8fc7\u4e86\u521d\u59cb\u9636\u6bb5\uff0c\u76f8\u4fe1\u6211\uff0c\u4f60\u4f1a\u7231\u4e0aVim\u3002 Vim\u7684\u5b66\u4e60\u8d44\u6599\u6d69\u5982\u70df\u6d77\uff0c\u4f46\u638c\u63e1\u5b83\u6700\u597d\u7684\u65b9\u5f0f\u8fd8\u662f\u5c06\u5b83\u7528\u5728\u65e5\u5e38\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u800c\u4e0d\u662f\u4e00\u4e0a\u6765\u5c31\u53bb\u5b66\u5404\u79cd\u82b1\u91cc\u80e1\u54e8\u7684\u9ad8\u7ea7Vim\u6280\u5de7\u3002\u4e2a\u4eba\u63a8\u8350\u7684\u5b66\u4e60\u8def\u7ebf\u5982\u4e0b\uff1a \u5148\u9605\u8bfb \u8fd9\u7bc7tutorial \uff0c\u638c\u63e1\u57fa\u672c\u7684Vim\u6982\u5ff5\u548c\u4f7f\u7528\u65b9\u5f0f\u3002 \u7528Vim\u81ea\u5e26\u7684vimtutor\u8fdb\u884c\u7ec3\u4e60\uff0c\u5b89\u88c5\u5b8cVim\u4e4b\u540e\u76f4\u63a5\u5728\u547d\u4ee4\u884c\u91cc\u8f93\u5165vimtutor\u5373\u53ef\u8fdb\u5165\u7ec3\u4e60\u7a0b\u5e8f\u3002 \u6700\u540e\u5c31\u662f\u5f3a\u8feb\u81ea\u5df1\u4f7f\u7528Vim\u8fdb\u884c\u5f00\u53d1\uff0cIDE\u91cc\u53ef\u4ee5\u5b89\u88c5Vim\u63d2\u4ef6\u3002 \u7b49\u4f60\u5b8c\u5168\u9002\u5e94Vim\u4e4b\u540e\u65b0\u7684\u4e16\u754c\u4fbf\u5411\u4f60\u655e\u5f00\u4e86\u5927\u95e8\uff0c\u4f60\u53ef\u4ee5\u6309\u9700\u914d\u7f6e\u81ea\u5df1\u7684Vim\uff08\u4fee\u6539.vimrc\u6587\u4ef6\uff09\uff0c\u7f51\u4e0a\u6709\u6570\u4e0d\u80dc\u6570\u7684\u8d44\u6e90\u53ef\u4ee5\u501f\u9274\u3002","title":"\u5982\u4f55\u5b66\u4e60Vim"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/#_1","text":"Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015. Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.","title":"\u63a8\u8350\u53c2\u8003\u8d44\u6599"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/","text":"\u4e0b\u8f7d\u5de5\u5177 MacWk \uff1aMac\u8f6f\u4ef6\u7834\u89e3\u7248\u4e0b\u8f7d\u7f51\u7ad9\u3002 Libgen \uff1aPDF\u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 z-epub \uff1aePub\u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 bitdownloader \uff1a\u6cb9\u7ba1\u89c6\u9891\u4e0b\u8f7d\u5668\u3002 zlibrary \uff1a\u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9(\u53ef\u80fd\u9700\u8981\u7ffb\u5899)\u3002 \u8bbe\u8ba1\u5de5\u5177 excalidraw \uff1a\u4e00\u6b3e\u624b\u7ed8\u98ce\u683c\u7684\u7ed8\u56fe\u5de5\u5177\uff0c\u975e\u5e38\u9002\u5408\u7ed8\u5236\u8bfe\u7a0b\u62a5\u544a\u6216\u8005PPT\u5185\u7684\u793a\u610f\u56fe\u3002 origamiway \uff1a\u624b\u628a\u624b\u6559\u4f60\u600e\u4e48\u6298\u7eb8\u3002 thingiverse \uff1a\u56ca\u62ec\u5404\u7c7b2D/3D\u8bbe\u8ba1\u8d44\u6e90\uff0c\u5176STL\u6587\u4ef6\u4e0b\u8f7d\u53ef\u76f4\u63a53D\u6253\u5370\u3002 \u5b66\u4e60\u7f51\u7ad9 HFS \uff1a\u5404\u7c7b\u8f6f\u4ef6\u6559\u7a0b\u3002 os-wiki \uff1a\b\u64cd\u4f5c\u7cfb\u7edf\u6280\u672f\u8d44\u6e90\u767e\u79d1\u5168\u4e66\u3002","title":"\u5b9e\u7528\u5de5\u5177\u7bb1"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_1","text":"MacWk \uff1aMac\u8f6f\u4ef6\u7834\u89e3\u7248\u4e0b\u8f7d\u7f51\u7ad9\u3002 Libgen \uff1aPDF\u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 z-epub \uff1aePub\u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9\u3002 bitdownloader \uff1a\u6cb9\u7ba1\u89c6\u9891\u4e0b\u8f7d\u5668\u3002 zlibrary \uff1a\u7535\u5b50\u4e66\u4e0b\u8f7d\u7f51\u7ad9(\u53ef\u80fd\u9700\u8981\u7ffb\u5899)\u3002","title":"\u4e0b\u8f7d\u5de5\u5177"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_2","text":"excalidraw \uff1a\u4e00\u6b3e\u624b\u7ed8\u98ce\u683c\u7684\u7ed8\u56fe\u5de5\u5177\uff0c\u975e\u5e38\u9002\u5408\u7ed8\u5236\u8bfe\u7a0b\u62a5\u544a\u6216\u8005PPT\u5185\u7684\u793a\u610f\u56fe\u3002 origamiway \uff1a\u624b\u628a\u624b\u6559\u4f60\u600e\u4e48\u6298\u7eb8\u3002 thingiverse \uff1a\u56ca\u62ec\u5404\u7c7b2D/3D\u8bbe\u8ba1\u8d44\u6e90\uff0c\u5176STL\u6587\u4ef6\u4e0b\u8f7d\u53ef\u76f4\u63a53D\u6253\u5370\u3002","title":"\u8bbe\u8ba1\u5de5\u5177"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/#_3","text":"HFS \uff1a\u5404\u7c7b\u8f6f\u4ef6\u6559\u7a0b\u3002 os-wiki \uff1a\b\u64cd\u4f5c\u7cfb\u7edf\u6280\u672f\u8d44\u6e90\u767e\u79d1\u5168\u4e66\u3002","title":"\u5b66\u4e60\u7f51\u7ad9"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/","text":"\u7ffb\u5899 \u6b64\u94fe\u63a5 \u51fa\u73b0\u5728\u8fd9\u91cc\u7eaf\u5c5e\u4e8c\u8fdb\u5236bit\u7684\u968f\u610f\u7ec4\u5408\uff0c\u4e0e\u672c\u4eba\u6beb\u65e0\u5173\u7cfb\u3002","title":"\u7ffb\u5899"},{"location":"%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/#_1","text":"\u6b64\u94fe\u63a5 \u51fa\u73b0\u5728\u8fd9\u91cc\u7eaf\u5c5e\u4e8c\u8fdb\u5236bit\u7684\u968f\u610f\u7ec4\u5408\uff0c\u4e0e\u672c\u4eba\u6beb\u65e0\u5173\u7cfb\u3002","title":"\u7ffb\u5899"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/","text":"CS162: Operating System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1a\bC\uff0cX86\u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200\u5c0f\u65f6+\uff0c\u4e0a\u4e0d\u5c01\u9876 \u8fd9\u95e8\u8bfe\u8ba9\u6211\u8bb0\u5fc6\u72b9\u65b0\u7684\u6709\u4e24\u4e2a\u90e8\u5206\uff1a \u9996\u5148\u662f\u6559\u6750\uff0c\u8fd9\u672c\u4e66\u7528\u7684\u6559\u6750 Operating Systems: Principles and Practice (2nd Edition) \u4e00\u5171\u56db\u5377\uff0c\u5199\u5f97 \u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u5f88\u597d\u5730\u5f25\u8865\u4e86MIT6.S081\u5728\u7406\u8bba\u77e5\u8bc6\u4e0a\u4e9b\u8bb8\u7a7a\u767d\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u9605\u8bfb\u3002\u76f8\u5173\u8d44\u6e90\u4f1a\u5206\u4eab\u5728\u672c\u4e66\u7684\u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\u6a21\u5757\u3002 \u5176\u6b21\u662f\u8fd9\u95e8\u8bfe\u7684Project \u2014\u2014 Pintos\u3002Pintos\u662f\u7531Ben Pfaff\u7b49\u4eba\u57fa\u4e8eX86\u7f16\u5199\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf\uff0cBen Pfaff\u751a\u81f3\u4e13\u95e8\u53d1\u4e86\u7bc7 paper \u6765\u9610\u8ff0Pintos\u7684\u8bbe\u8ba1\u601d\u60f3\u3002\u548cMIT\u7684xv6\u5c0f\u800c\u7cbe\u7684lab\u8bbe\u8ba1\u7406\u5ff5\u4e0d\u540c\uff0c Pintos\u66f4\u6ce8\u91cd\u7cfb\u7edf\u7684Design and Implementation\u3002Pintos\u672c\u8eab\u4ec5\u4e00\u4e07\u884c\u5de6\u53f3\uff0c\u53ea\u63d0\u4f9b\u4e86\u64cd\u4f5c\u7cfb\u7edf\u6700\u57fa\u672c\u7684\u529f\u80fd\u3002\u800c4\u4e2aProject\uff0c\u5c31\u662f\u8ba9\u4f60\u5728\u8fd9\u4e2a\u6781\u4e3a\u7cbe\u7b80\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e0a\uff0c\u5206\u522b\u4e3a\u5176\u589e\u52a0\u7ebf\u7a0b\u8c03\u5ea6\u673a\u5236\uff08Project1\uff09\uff0c\u7cfb\u7edf\u8c03\u7528\uff08Project2\uff09\uff0c\u865a\u62df\u5185\u5b58\uff08Project3\uff09\u4ee5\u53ca\u6587\u4ef6\u7cfb\u7edf\uff08Project4\uff09\u3002\u6240\u6709\u7684Project\u90fd\u7ed9\u5b66\u751f\u7559\u6709\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\uff0c\u603b\u4ee3\u7801\u91cf\u57285000\u884c\u4ee5\u4e0a\u3002\u6839\u636eStanford\u5b66\u751f \u81ea\u5df1\u7684\u53cd\u9988 \uff0c\u57283-4\u4eba\u7ec4\u961f\u7684\u60c5\u51b5\u4e0b\uff0c\u540e\u4e24\u4e2aProject\u7684\u4eba\u5747\u8017\u65f6\u4e5f\u572840\u4e2a\u5c0f\u65f6\u4ee5\u4e0a\u3002 \u867d\u7136\u5176\u96be\u5ea6\u5f88\u5927\uff0c\u4f46Stanford\uff0cBerkeley\uff0cJHU\u7b49\u591a\u6240\u7f8e\u56fd\u9876\u5c16\u540d\u6821\u7684\u64cd\u7edf\u8bfe\u7a0b\u5747\u91c7\u7528\u4e86Pintos\u3002\u56e0\u4e3a\u5982\u679c\u4f60\u771f\u7684\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u5f88\u611f\u5174\u8da3\uff0cPintos\u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7f16\u5199\u548cdebug\u5e95\u5c42\u7cfb\u7edf\u4ee3\u7801\u7684\u80fd\u529b\u3002\u5728\u672c\u79d1\u9636\u6bb5\uff0c\u80fd\u81ea\u5df1\u8bbe\u8ba1\u3001\u5b9e\u73b0\u5e76debug\u4e00\u4e2a\u5927\u578b\u7cfb\u7edf\uff0c\u662f\u4e00\u6bb5\u975e\u5e38\u73cd\u8d35\u7684\u7ecf\u5386\u3002 \u5317\u59272022\u5e74\u6625\u5b63\u5b66\u671f\u7684\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u4e5f\u5c06\u4f1a\u9996\u6b21\u5f15\u5165Pintos\u4f5c\u4e3a\u8bfe\u7a0bproject\uff0c\u6211\u4f5c\u4e3a\u8fd9\u95e8\u8bfe\u7684TA\uff0c\u9876\u7740\u88ab\u53e3\u6c34\u6df9\u6ca1\u7684\u98ce\u9669\uff0c\u4f9d\u65e7\u5e0c\u671b\u80fd\u7528\u8fd9\u6837\u7684\u5c1d\u8bd5\uff0c\u8ba9\u66f4\u591a\u4eba\u7231\u4e0a\u7cfb\u7edf\u9886\u57df\uff0c\u4e3a\u56fd\u5185\u7684\u7cfb\u7edf\u7814\u7a76\u6dfb\u7816\u52a0\u74e6\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a Operating Systems: Principles and Practice (2nd Edition) \u8bfe\u7a0b\u4f5c\u4e1a \uff1a6\u4e2ahomework\uff0c3\u4e2aproject\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u7531\u4e8e\u5317\u5927\u7684\u64cd\u7edf\u5b9e\u9a8c\u73ed\u91c7\u7528\u4e86\u8be5\u8bfe\u7a0b\u7684project\uff0c\u4e3a\u4e86\u9632\u6b62\u4ee3\u7801\u6284\u88ad\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"UCB CS162: Operating System"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#cs162-operating-system","text":"","title":"CS162: Operating System"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1a\bC\uff0cX86\u6c47\u7f16 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a200\u5c0f\u65f6+\uff0c\u4e0a\u4e0d\u5c01\u9876 \u8fd9\u95e8\u8bfe\u8ba9\u6211\u8bb0\u5fc6\u72b9\u65b0\u7684\u6709\u4e24\u4e2a\u90e8\u5206\uff1a \u9996\u5148\u662f\u6559\u6750\uff0c\u8fd9\u672c\u4e66\u7528\u7684\u6559\u6750 Operating Systems: Principles and Practice (2nd Edition) \u4e00\u5171\u56db\u5377\uff0c\u5199\u5f97 \u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u5f88\u597d\u5730\u5f25\u8865\u4e86MIT6.S081\u5728\u7406\u8bba\u77e5\u8bc6\u4e0a\u4e9b\u8bb8\u7a7a\u767d\uff0c\u975e\u5e38\u5efa\u8bae\u5927\u5bb6\u9605\u8bfb\u3002\u76f8\u5173\u8d44\u6e90\u4f1a\u5206\u4eab\u5728\u672c\u4e66\u7684\u7ecf\u5178\u4e66\u7c4d\u63a8\u8350\u6a21\u5757\u3002 \u5176\u6b21\u662f\u8fd9\u95e8\u8bfe\u7684Project \u2014\u2014 Pintos\u3002Pintos\u662f\u7531Ben Pfaff\u7b49\u4eba\u57fa\u4e8eX86\u7f16\u5199\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edf\uff0cBen Pfaff\u751a\u81f3\u4e13\u95e8\u53d1\u4e86\u7bc7 paper \u6765\u9610\u8ff0Pintos\u7684\u8bbe\u8ba1\u601d\u60f3\u3002\u548cMIT\u7684xv6\u5c0f\u800c\u7cbe\u7684lab\u8bbe\u8ba1\u7406\u5ff5\u4e0d\u540c\uff0c Pintos\u66f4\u6ce8\u91cd\u7cfb\u7edf\u7684Design and Implementation\u3002Pintos\u672c\u8eab\u4ec5\u4e00\u4e07\u884c\u5de6\u53f3\uff0c\u53ea\u63d0\u4f9b\u4e86\u64cd\u4f5c\u7cfb\u7edf\u6700\u57fa\u672c\u7684\u529f\u80fd\u3002\u800c4\u4e2aProject\uff0c\u5c31\u662f\u8ba9\u4f60\u5728\u8fd9\u4e2a\u6781\u4e3a\u7cbe\u7b80\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e4b\u4e0a\uff0c\u5206\u522b\u4e3a\u5176\u589e\u52a0\u7ebf\u7a0b\u8c03\u5ea6\u673a\u5236\uff08Project1\uff09\uff0c\u7cfb\u7edf\u8c03\u7528\uff08Project2\uff09\uff0c\u865a\u62df\u5185\u5b58\uff08Project3\uff09\u4ee5\u53ca\u6587\u4ef6\u7cfb\u7edf\uff08Project4\uff09\u3002\u6240\u6709\u7684Project\u90fd\u7ed9\u5b66\u751f\u7559\u6709\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\uff0c\u603b\u4ee3\u7801\u91cf\u57285000\u884c\u4ee5\u4e0a\u3002\u6839\u636eStanford\u5b66\u751f \u81ea\u5df1\u7684\u53cd\u9988 \uff0c\u57283-4\u4eba\u7ec4\u961f\u7684\u60c5\u51b5\u4e0b\uff0c\u540e\u4e24\u4e2aProject\u7684\u4eba\u5747\u8017\u65f6\u4e5f\u572840\u4e2a\u5c0f\u65f6\u4ee5\u4e0a\u3002 \u867d\u7136\u5176\u96be\u5ea6\u5f88\u5927\uff0c\u4f46Stanford\uff0cBerkeley\uff0cJHU\u7b49\u591a\u6240\u7f8e\u56fd\u9876\u5c16\u540d\u6821\u7684\u64cd\u7edf\u8bfe\u7a0b\u5747\u91c7\u7528\u4e86Pintos\u3002\u56e0\u4e3a\u5982\u679c\u4f60\u771f\u7684\u5bf9\u64cd\u4f5c\u7cfb\u7edf\u5f88\u611f\u5174\u8da3\uff0cPintos\u4f1a\u6781\u5927\u5730\u63d0\u9ad8\u4f60\u7f16\u5199\u548cdebug\u5e95\u5c42\u7cfb\u7edf\u4ee3\u7801\u7684\u80fd\u529b\u3002\u5728\u672c\u79d1\u9636\u6bb5\uff0c\u80fd\u81ea\u5df1\u8bbe\u8ba1\u3001\u5b9e\u73b0\u5e76debug\u4e00\u4e2a\u5927\u578b\u7cfb\u7edf\uff0c\u662f\u4e00\u6bb5\u975e\u5e38\u73cd\u8d35\u7684\u7ecf\u5386\u3002 \u5317\u59272022\u5e74\u6625\u5b63\u5b66\u671f\u7684\u64cd\u4f5c\u7cfb\u7edf\u5b9e\u9a8c\u73ed\u4e5f\u5c06\u4f1a\u9996\u6b21\u5f15\u5165Pintos\u4f5c\u4e3a\u8bfe\u7a0bproject\uff0c\u6211\u4f5c\u4e3a\u8fd9\u95e8\u8bfe\u7684TA\uff0c\u9876\u7740\u88ab\u53e3\u6c34\u6df9\u6ca1\u7684\u98ce\u9669\uff0c\u4f9d\u65e7\u5e0c\u671b\u80fd\u7528\u8fd9\u6837\u7684\u5c1d\u8bd5\uff0c\u8ba9\u66f4\u591a\u4eba\u7231\u4e0a\u7cfb\u7edf\u9886\u57df\uff0c\u4e3a\u56fd\u5185\u7684\u7cfb\u7edf\u7814\u7a76\u6dfb\u7816\u52a0\u74e6\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a Operating Systems: Principles and Practice (2nd Edition) \u8bfe\u7a0b\u4f5c\u4e1a \uff1a6\u4e2ahomework\uff0c3\u4e2aproject\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/#_3","text":"\u7531\u4e8e\u5317\u5927\u7684\u64cd\u7edf\u5b9e\u9a8c\u73ed\u91c7\u7528\u4e86\u8be5\u8bfe\u7a0b\u7684project\uff0c\u4e3a\u4e86\u9632\u6b62\u4ee3\u7801\u6284\u88ad\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6ca1\u6709\u5f00\u6e90\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/","text":"MIT 6.S081: Operating System Engineering \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u9ebb\u7701\u7406\u5de5\u5b66\u9662 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684C\u8bed\u8a00\u529f\u5e95 + RISC-V\u6c47\u7f16\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC\uff0cRISC-V \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u5927\u540d\u9f0e\u9f0e\u7684PDOS\u5b9e\u9a8c\u5ba4\u5f00\u8bbe\u7684\u9762\u5411MIT\u672c\u79d1\u751f\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u5f00\u8bbe\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u4e4b\u4e00 \u2014\u2014 Robert Morris\u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2Morris\u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u7684\u524d\u8eab\u662fMIT\u8457\u540d\u7684\u8bfe\u7a0b6.828\uff0cMIT\u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u8fd9\u95e8\u8bfe\u66fe\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u57fa\u4e8eX86\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edfJOS\uff0c\u88ab\u4f17\u591a\u540d\u6821\u4f5c\u4e3a\u81ea\u5df1\u7684\u64cd\u7edf\u8bfe\u7a0b\u5b9e\u9a8c\u3002\u4f46\u968f\u7740RISC-V\u7684\u6a2a\u7a7a\u51fa\u4e16\uff0c\u8fd9\u51e0\u4f4d\u6559\u6388\u53c8\u57fa\u4e8eRISC-V\u5f00\u53d1\u4e86\u4e00\u4e2a\u65b0\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edfxv6\uff0c\u5e76\u5f00\u8bbe\u4e86MIT6.S081\u8fd9\u95e8\u8bfe\u3002\u7531\u4e8eRISC-V\u8f7b\u4fbf\u6613\u5b66\u7684\u7279\u70b9\uff0c\u5b66\u751f\u4e0d\u9700\u8981\u50cf\u6b64\u524dJOS\u4e00\u6837\u7ea0\u7ed3\u4e8e\u4f17\u591aX86\u201c\u7279\u6709\u7684\u201d\u4e3a\u4e86\u517c\u5bb9\u800c\u9057\u7559\u4e0b\u6765\u7684\u590d\u6742\u673a\u5236\uff0c\u800c \u53ef\u4ee5\u4e13\u6ce8\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u5c42\u9762\u7684\u5f00\u53d1\u3002 \u8fd9\u51e0\u4f4d\u6559\u6388\u8fd8\u4e13\u95e8\u5199\u4e86\u4e00\u672c \u6559\u7a0b \uff0c\u8be6\u7ec6\u8bb2\u89e3\u4e86xv6\u7684\u8bbe\u8ba1\u601d\u60f3\u548c\u5b9e\u73b0\u7ec6\u8282\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u4e5f\u5f88\u6709\u610f\u601d\uff0c\u8001\u5e08\u4f1a\u5e26\u7740\u5b66\u751f\u4f9d\u7167xv6\u7684\u6e90\u4ee3\u7801\u53bb\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f17\u591a\u673a\u5236\u548c\u8bbe\u8ba1\u7ec6\u8282\uff0c\u800c\u4e0d\u662f\u505c\u7559\u4e8e\u7406\u8bba\u77e5\u8bc6\u3002\u6bcf\u5468\u90fd\u4f1a\u6709\u4e00\u4e2alab\uff0c\u8ba9\u4f60\u5728xv6\u4e0a\u589e\u52a0\u4e00\u4e9b\u65b0\u7684\u673a\u5236\u548c\u7279\u6027\uff0c\u975e\u5e38\u6ce8\u91cd\u5b66\u751f\u52a8\u624b\u80fd\u529b\u7684\u57f9\u517b\u3002\u6574\u4e2a\u5b66\u671f\u4e00\u5171\u670911\u4e2alab\uff0c\u8ba9\u4f60\u5168\u65b9\u4f4d\u5730\u6df1\u523b\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u6bcf\u4e2a\u90e8\u5206\uff0c\u975e\u5e38\u6709\u6210\u5c31\u611f\u3002\u800c\u4e14\u6240\u6709\u7684lab\u90fd\u6709\u7740\u975e\u5e38\u5b8c\u5584\u7684\u6d4b\u8bd5\u6846\u67b6\uff0c\u6709\u7684\u6d4b\u8bd5\u4ee3\u7801\u751a\u81f3\u4e0a\u5343\u884c\uff0c\u8ba9\u4eba\u4e0d\u5f97\u4e0d\u4f69\u670dMIT\u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u6559\u597d\u8fd9\u95e8\u8bfe\u6240\u4ed8\u51fa\u7684\u5fc3\u8840\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u7a0b\u4f1a\u8bb2\u6388\u64cd\u4f5c\u7cfb\u7edf\u9886\u57df\u7684\u591a\u7bc7\u7ecf\u5178\u8bba\u6587\uff0c\u6d89\u53ca\u6587\u4ef6\u7cfb\u7edf\u3001\u7cfb\u7edf\u5b89\u5168\u3001\u7f51\u7edc\u3001\u865a\u62df\u5316\u7b49\u7b49\u591a\u4e2a\u4e3b\u9898\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u5230\u5b66\u754c \u6700\u524d\u6cbf\u7684\u7814\u7a76\u65b9\u5411\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a11\u4e2alab\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"MIT 6.S081: Operating System Engineering"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#mit-6s081-operating-system-engineering","text":"","title":"MIT 6.S081: Operating System Engineering"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u9ebb\u7701\u7406\u5de5\u5b66\u9662 \u5148\u4fee\u8981\u6c42\uff1a\u4f53\u7cfb\u7ed3\u6784 + \u624e\u5b9e\u7684C\u8bed\u8a00\u529f\u5e95 + RISC-V\u6c47\u7f16\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC\uff0cRISC-V \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u9ebb\u7701\u7406\u5de5\u5b66\u9662\u5927\u540d\u9f0e\u9f0e\u7684PDOS\u5b9e\u9a8c\u5ba4\u5f00\u8bbe\u7684\u9762\u5411MIT\u672c\u79d1\u751f\u7684\u64cd\u4f5c\u7cfb\u7edf\u8bfe\u7a0b\u3002\u5f00\u8bbe\u8fd9\u95e8\u8bfe\u7684\u6559\u6388\u4e4b\u4e00 \u2014\u2014 Robert Morris\u6559\u6388\u66fe\u662f\u4e00\u4f4d\u9876\u5c16\u9ed1\u5ba2\uff0c\u4e16\u754c\u4e0a\u7b2c\u4e00\u4e2a\u8815\u866b\u75c5\u6bd2Morris\u5c31\u662f\u51fa\u81ea\u4ed6\u4e4b\u624b\u3002 \u8fd9\u95e8\u8bfe\u7684\u524d\u8eab\u662fMIT\u8457\u540d\u7684\u8bfe\u7a0b6.828\uff0cMIT\u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u8fd9\u95e8\u8bfe\u66fe\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u57fa\u4e8eX86\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edfJOS\uff0c\u88ab\u4f17\u591a\u540d\u6821\u4f5c\u4e3a\u81ea\u5df1\u7684\u64cd\u7edf\u8bfe\u7a0b\u5b9e\u9a8c\u3002\u4f46\u968f\u7740RISC-V\u7684\u6a2a\u7a7a\u51fa\u4e16\uff0c\u8fd9\u51e0\u4f4d\u6559\u6388\u53c8\u57fa\u4e8eRISC-V\u5f00\u53d1\u4e86\u4e00\u4e2a\u65b0\u7684\u6559\u5b66\u7528\u64cd\u4f5c\u7cfb\u7edfxv6\uff0c\u5e76\u5f00\u8bbe\u4e86MIT6.S081\u8fd9\u95e8\u8bfe\u3002\u7531\u4e8eRISC-V\u8f7b\u4fbf\u6613\u5b66\u7684\u7279\u70b9\uff0c\u5b66\u751f\u4e0d\u9700\u8981\u50cf\u6b64\u524dJOS\u4e00\u6837\u7ea0\u7ed3\u4e8e\u4f17\u591aX86\u201c\u7279\u6709\u7684\u201d\u4e3a\u4e86\u517c\u5bb9\u800c\u9057\u7559\u4e0b\u6765\u7684\u590d\u6742\u673a\u5236\uff0c\u800c \u53ef\u4ee5\u4e13\u6ce8\u4e8e\u64cd\u4f5c\u7cfb\u7edf\u5c42\u9762\u7684\u5f00\u53d1\u3002 \u8fd9\u51e0\u4f4d\u6559\u6388\u8fd8\u4e13\u95e8\u5199\u4e86\u4e00\u672c \u6559\u7a0b \uff0c\u8be6\u7ec6\u8bb2\u89e3\u4e86xv6\u7684\u8bbe\u8ba1\u601d\u60f3\u548c\u5b9e\u73b0\u7ec6\u8282\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bb2\u6388\u4e5f\u5f88\u6709\u610f\u601d\uff0c\u8001\u5e08\u4f1a\u5e26\u7740\u5b66\u751f\u4f9d\u7167xv6\u7684\u6e90\u4ee3\u7801\u53bb\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u4f17\u591a\u673a\u5236\u548c\u8bbe\u8ba1\u7ec6\u8282\uff0c\u800c\u4e0d\u662f\u505c\u7559\u4e8e\u7406\u8bba\u77e5\u8bc6\u3002\u6bcf\u5468\u90fd\u4f1a\u6709\u4e00\u4e2alab\uff0c\u8ba9\u4f60\u5728xv6\u4e0a\u589e\u52a0\u4e00\u4e9b\u65b0\u7684\u673a\u5236\u548c\u7279\u6027\uff0c\u975e\u5e38\u6ce8\u91cd\u5b66\u751f\u52a8\u624b\u80fd\u529b\u7684\u57f9\u517b\u3002\u6574\u4e2a\u5b66\u671f\u4e00\u5171\u670911\u4e2alab\uff0c\u8ba9\u4f60\u5168\u65b9\u4f4d\u5730\u6df1\u523b\u7406\u89e3\u64cd\u4f5c\u7cfb\u7edf\u7684\u6bcf\u4e2a\u90e8\u5206\uff0c\u975e\u5e38\u6709\u6210\u5c31\u611f\u3002\u800c\u4e14\u6240\u6709\u7684lab\u90fd\u6709\u7740\u975e\u5e38\u5b8c\u5584\u7684\u6d4b\u8bd5\u6846\u67b6\uff0c\u6709\u7684\u6d4b\u8bd5\u4ee3\u7801\u751a\u81f3\u4e0a\u5343\u884c\uff0c\u8ba9\u4eba\u4e0d\u5f97\u4e0d\u4f69\u670dMIT\u7684\u51e0\u4f4d\u6559\u6388\u4e3a\u4e86\u6559\u597d\u8fd9\u95e8\u8bfe\u6240\u4ed8\u51fa\u7684\u5fc3\u8840\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u7a0b\u4f1a\u8bb2\u6388\u64cd\u4f5c\u7cfb\u7edf\u9886\u57df\u7684\u591a\u7bc7\u7ecf\u5178\u8bba\u6587\uff0c\u6d89\u53ca\u6587\u4ef6\u7cfb\u7edf\u3001\u7cfb\u7edf\u5b89\u5168\u3001\u7f51\u7edc\u3001\u865a\u62df\u5316\u7b49\u7b49\u591a\u4e2a\u4e3b\u9898\uff0c\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u5230\u5b66\u754c \u6700\u524d\u6cbf\u7684\u7814\u7a76\u65b9\u5411\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a11\u4e2alab\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/","text":"MIT18.06: Linear Algebra \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u6587 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u6570\u5b66\u5927\u725b Gilbert Strang \u8001\u5148\u751f\u5e74\u903e\u53e4\u7a00\u4ecd\u575a\u6301\u6388\u8bfe\uff0c\u5176\u7ecf\u5178\u6559\u6750 Introduction to Linear Algebra \u5df2\u88ab\u6e05\u534e\u91c7\u7528\u4e3a\u5b98\u65b9\u6559\u6750\u3002\u6211\u5f53\u65f6\u770b\u5b8c\u76d7\u7248PDF\u4e4b\u540e\u6df1\u611f\u6127\u759a\uff0c\u542b\u6cea\u82b1\u4e86\u4e24\u767e\u591a\u4e70\u4e86\u4e00\u672c\u82f1\u6587\u6b63\u7248\u6536\u85cf\u3002\u4e0b\u9762\u9644\u4e0a\u6b64\u4e66\u5c01\u9762\uff0c\u5982\u679c\u4f60\u80fd\u5b8c\u5168\u7406\u89e3\u5c01\u9762\u56fe\u7684\u6570\u5b66\u542b\u4e49\uff0c\u90a3\u4f60\u5bf9\u7ebf\u6027\u4ee3\u6570\u7684\u7406\u89e3\u4e00\u5b9a\u4f1a\u8fbe\u5230\u65b0\u7684\u9ad8\u5ea6\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u7ebf\u6027\u4ee3\u6570\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Linear Algebra. Gilbert Strang \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"MIT18.06: Linear Algebra"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#mit1806-linear-algebra","text":"","title":"MIT18.06: Linear Algebra"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u6587 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 \u6570\u5b66\u5927\u725b Gilbert Strang \u8001\u5148\u751f\u5e74\u903e\u53e4\u7a00\u4ecd\u575a\u6301\u6388\u8bfe\uff0c\u5176\u7ecf\u5178\u6559\u6750 Introduction to Linear Algebra \u5df2\u88ab\u6e05\u534e\u91c7\u7528\u4e3a\u5b98\u65b9\u6559\u6750\u3002\u6211\u5f53\u65f6\u770b\u5b8c\u76d7\u7248PDF\u4e4b\u540e\u6df1\u611f\u6127\u759a\uff0c\u542b\u6cea\u82b1\u4e86\u4e24\u767e\u591a\u4e70\u4e86\u4e00\u672c\u82f1\u6587\u6b63\u7248\u6536\u85cf\u3002\u4e0b\u9762\u9644\u4e0a\u6b64\u4e66\u5c01\u9762\uff0c\u5982\u679c\u4f60\u80fd\u5b8c\u5168\u7406\u89e3\u5c01\u9762\u56fe\u7684\u6570\u5b66\u542b\u4e49\uff0c\u90a3\u4f60\u5bf9\u7ebf\u6027\u4ee3\u6570\u7684\u7406\u89e3\u4e00\u5b9a\u4f1a\u8fbe\u5230\u65b0\u7684\u9ad8\u5ea6\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u7ebf\u6027\u4ee3\u6570\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1aIntroduction to Linear Algebra. Gilbert Strang \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/","text":"MIT Calculus Course \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u8bed \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT\u7684\u5fae\u79ef\u5206\u8bfe\u7531 MIT18.01: Single variable calculus \u548c MIT18.02: Multi variable calculus \u4e24\u95e8\u8bfe\u7ec4\u6210\u3002\u5bf9\u81ea\u5df1\u6570\u5b66\u57fa\u7840\u6bd4\u8f83\u81ea\u4fe1\u7684\u540c\u5b66\u53ef\u4ee5\u53ea\u770b\u8bfe\u7a0bnotes\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u751f\u52a8\u5e76\u4e14\u6293\u4f4f\u672c\u8d28\uff0c\u8ba9\u4f60\u4e0d\u518d\u75b2\u4e8e\u505a\u9898\u800c\u662f\u80fd\u591f\u771f\u6b63\u7aa5\u89c1\u5fae\u79ef\u5206\u7684\u672c\u8d28\u9b45\u529b\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u5fae\u79ef\u5206\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a 18.01 \uff0c 18.02 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e66\u9762\u4f5c\u4e1a\u53ca\u7b54\u6848\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"MIT18.01/18.02: Calculus"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#mit-calculus-course","text":"","title":"MIT Calculus Course"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u82f1\u8bed \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a\u56e0\u4eba\u800c\u5f02 MIT\u7684\u5fae\u79ef\u5206\u8bfe\u7531 MIT18.01: Single variable calculus \u548c MIT18.02: Multi variable calculus \u4e24\u95e8\u8bfe\u7ec4\u6210\u3002\u5bf9\u81ea\u5df1\u6570\u5b66\u57fa\u7840\u6bd4\u8f83\u81ea\u4fe1\u7684\u540c\u5b66\u53ef\u4ee5\u53ea\u770b\u8bfe\u7a0bnotes\uff0c\u5199\u5f97\u975e\u5e38\u6d45\u663e\u751f\u52a8\u5e76\u4e14\u6293\u4f4f\u672c\u8d28\uff0c\u8ba9\u4f60\u4e0d\u518d\u75b2\u4e8e\u505a\u9898\u800c\u662f\u80fd\u591f\u771f\u6b63\u7aa5\u89c1\u5fae\u79ef\u5206\u7684\u672c\u8d28\u9b45\u529b\u3002 \u914d\u5408\u6cb9\u7ba1\u6570\u5b66\u7f51\u7ea2 3Blue1Brown \u7684 \u5fae\u79ef\u5206\u7684\u672c\u8d28 \u7cfb\u5217\u89c6\u9891\u98df\u7528\u66f4\u4f73\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a 18.01 \uff0c 18.02 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e66\u9762\u4f5c\u4e1a\u53ca\u7b54\u6848\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/","text":"MIT6.050J: Information theory and Entropy \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 MIT\u9762\u5411\u5927\u4e00\u65b0\u751f\u7684\u4fe1\u606f\u8bba\u5165\u95e8\u8bfe\u7a0b\uff0cPenfield\u6559\u6388\u4e13\u95e8\u4e3a\u8fd9\u95e8\u8bfe\u5199\u4e86\u4e00\u672c \u6559\u6750 \u4f5c\u4e3a\u8bfe\u7a0bnotes\uff0c\u5185\u5bb9\u6df1\u5165\u6d45\u51fa\uff0c\u751f\u52a8\u6709\u8da3\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5305\u542b\u4e66\u9762\u4f5c\u4e1a\u4e0ematlab\u7f16\u7a0b\u4f5c\u4e1a\u3002","title":"MIT6.050J: Information theory and Entropy"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#mit6050j-information-theory-and-entropy","text":"","title":"MIT6.050J: Information theory and Entropy"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 MIT\u9762\u5411\u5927\u4e00\u65b0\u751f\u7684\u4fe1\u606f\u8bba\u5165\u95e8\u8bfe\u7a0b\uff0cPenfield\u6559\u6388\u4e13\u95e8\u4e3a\u8fd9\u95e8\u8bfe\u5199\u4e86\u4e00\u672c \u6559\u6750 \u4f5c\u4e3a\u8bfe\u7a0bnotes\uff0c\u5185\u5bb9\u6df1\u5165\u6d45\u51fa\uff0c\u751f\u52a8\u6709\u8da3\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5305\u542b\u4e66\u9762\u4f5c\u4e1a\u4e0ematlab\u7f16\u7a0b\u4f5c\u4e1a\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aPython preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 MIT \u7684\u79bb\u6563\u6570\u5b66\u4ee5\u53ca\u6982\u7387\u7efc\u5408\u8bfe\u7a0b\uff0c\u5bfc\u5e08\u662f\u5927\u540d\u9f0e\u9f0e\u7684 Tom Leighton ( Akamai \u7684\u8054\u5408\u521b\u59cb\u4eba\u4e4b\u4e00)\u3002\u5b66\u5b8c\u4e4b\u540e\u5bf9\u4e8e\u540e\u7eed\u7684\u7b97\u6cd5\u5b66\u4e60\u5927\u6709\u88e8\u76ca\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u4f5c\u4e1a","title":"MIT 6.042J: Mathematics for Computer Science"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aPython preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 MIT \u7684\u79bb\u6563\u6570\u5b66\u4ee5\u53ca\u6982\u7387\u7efc\u5408\u8bfe\u7a0b\uff0c\u5bfc\u5e08\u662f\u5927\u540d\u9f0e\u9f0e\u7684 Tom Leighton ( Akamai \u7684\u8054\u5408\u521b\u59cb\u4eba\u4e4b\u4e00)\u3002\u5b66\u5b8c\u4e4b\u540e\u5bf9\u4e8e\u540e\u7eed\u7684\u7b97\u6cd5\u5b66\u4e60\u5927\u6709\u88e8\u76ca\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/","text":"UCB CS126 : Probability theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70\u3001\u5fae\u79ef\u5206\u3001\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6982\u7387\u8bba\u8fdb\u9636\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5230\u7edf\u8ba1\u5b66\u3001\u968f\u673a\u8fc7\u7a0b\u7b49\u7406\u8bba\u76f8\u5bf9\u6df1\u5165\u7684\u5185\u5bb9\uff0c\u9700\u8981\u76f8\u5f53\u7684\u6570\u5b66\u57fa\u7840\uff0c\u6211\u5728\u4e0a\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\u4e5f\u611f\u5230\u6709\u4e9b\u5403\u529b\uff0c\u4e0d\u8fc7\u575a\u6301\u4e0b\u6765\u4e00\u5b9a\u4f1a\u8ba9\u4f60\u5bf9\u6982\u7387\u8bba\u7684\u638c\u63e1\u8fbe\u5230\u4e00\u4e2a\u65b0\u7684\u9ad8\u5ea6\u3002 \u540c\u65f6\u8fd9\u95e8\u8bfe\u975e\u5e38\u5f3a\u8c03\u7406\u8bba\u4e0e\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005Jean Walrand\u6559\u6388\u4e13\u95e8\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u6559\u6750 Probability in Electrical Engineering and Computer Science \uff0c\u4e66\u4e2d\u6bcf\u4e2a\u7ae0\u8282\u90fd\u4f1a\u4ee5\u4e00\u4e2a\u5177\u4f53\u7684\u7b97\u6cd5\u5b9e\u8df5\u4f5c\u4e3a\u4f8b\u5b50\u6765\u5c55\u793a\u7406\u8bba\u5728\u5b9e\u9645\u5f53\u4e2d\u7684\u8fd0\u7528\uff0c\u4f8b\u5982PageRank\uff0cRoute Planing\uff0cSpeech Recognition\u7b49\u7b49\uff0c\u5e76\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u514d\u8d39\u4e0b\u8f7dPDF\u6216\u8005Epub\u7248\u3002 \u8fd9\u8fd8\u4e0d\u7b97\u5b8c\uff0cJean Walrand\u8fd8\u4e3a\u6574\u672c\u4e66\u91cc\u7684\u4f8b\u5b50\u8bbe\u8ba1\u4e86\u914d\u5957\u7684Python\u5b9e\u73b0\uff0c\u4ee5 Jupyter Notebook \u7684\u5f62\u5f0f\u5728\u7ebf\u53d1\u5e03\uff0c\u8bfb\u8005\u53ef\u4ee5\u5728\u7ebf\u4fee\u6539\u3001\u8c03\u8bd5\u548c\u8fd0\u884c\u3002 \u4e0e\u6b64\u540c\u65f6\uff0c\u8fd9\u95e8\u8bfe\u9664\u4e86\u7406\u8bba\u4f5c\u4e1a\u4e4b\u5916\uff0c\u8fd8\u67099\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u4f1a\u8ba9\u4f60\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a PDF , Epub , Jupyter Notebook \u8bfe\u7a0b\u4f5c\u4e1a\uff1a14\u4e2a\u4e66\u9762\u4f5c\u4e1a + 9\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS126: probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#ucb-cs126-probability-theory","text":"","title":"UCB CS126 : Probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS70\u3001\u5fae\u79ef\u5206\u3001\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6982\u7387\u8bba\u8fdb\u9636\u8bfe\u7a0b\uff0c\u6d89\u53ca\u5230\u7edf\u8ba1\u5b66\u3001\u968f\u673a\u8fc7\u7a0b\u7b49\u7406\u8bba\u76f8\u5bf9\u6df1\u5165\u7684\u5185\u5bb9\uff0c\u9700\u8981\u76f8\u5f53\u7684\u6570\u5b66\u57fa\u7840\uff0c\u6211\u5728\u4e0a\u8fd9\u95e8\u8bfe\u7684\u65f6\u5019\u4e5f\u611f\u5230\u6709\u4e9b\u5403\u529b\uff0c\u4e0d\u8fc7\u575a\u6301\u4e0b\u6765\u4e00\u5b9a\u4f1a\u8ba9\u4f60\u5bf9\u6982\u7387\u8bba\u7684\u638c\u63e1\u8fbe\u5230\u4e00\u4e2a\u65b0\u7684\u9ad8\u5ea6\u3002 \u540c\u65f6\u8fd9\u95e8\u8bfe\u975e\u5e38\u5f3a\u8c03\u7406\u8bba\u4e0e\u5b9e\u8df5\u7684\u7ed3\u5408\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005Jean Walrand\u6559\u6388\u4e13\u95e8\u5199\u4e86\u4e00\u672c\u914d\u5957\u7684\u6559\u6750 Probability in Electrical Engineering and Computer Science \uff0c\u4e66\u4e2d\u6bcf\u4e2a\u7ae0\u8282\u90fd\u4f1a\u4ee5\u4e00\u4e2a\u5177\u4f53\u7684\u7b97\u6cd5\u5b9e\u8df5\u4f5c\u4e3a\u4f8b\u5b50\u6765\u5c55\u793a\u7406\u8bba\u5728\u5b9e\u9645\u5f53\u4e2d\u7684\u8fd0\u7528\uff0c\u4f8b\u5982PageRank\uff0cRoute Planing\uff0cSpeech Recognition\u7b49\u7b49\uff0c\u5e76\u4e14\u5168\u4e66\u5f00\u6e90\uff0c\u53ef\u4ee5\u514d\u8d39\u4e0b\u8f7dPDF\u6216\u8005Epub\u7248\u3002 \u8fd9\u8fd8\u4e0d\u7b97\u5b8c\uff0cJean Walrand\u8fd8\u4e3a\u6574\u672c\u4e66\u91cc\u7684\u4f8b\u5b50\u8bbe\u8ba1\u4e86\u914d\u5957\u7684Python\u5b9e\u73b0\uff0c\u4ee5 Jupyter Notebook \u7684\u5f62\u5f0f\u5728\u7ebf\u53d1\u5e03\uff0c\u8bfb\u8005\u53ef\u4ee5\u5728\u7ebf\u4fee\u6539\u3001\u8c03\u8bd5\u548c\u8fd0\u884c\u3002 \u4e0e\u6b64\u540c\u65f6\uff0c\u8fd9\u95e8\u8bfe\u9664\u4e86\u7406\u8bba\u4f5c\u4e1a\u4e4b\u5916\uff0c\u8fd8\u67099\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u4f1a\u8ba9\u4f60\u7528\u6982\u7387\u8bba\u7684\u77e5\u8bc6\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a PDF , Epub , Jupyter Notebook \u8bfe\u7a0b\u4f5c\u4e1a\uff1a14\u4e2a\u4e66\u9762\u4f5c\u4e1a + 9\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u5177\u4f53\u8981\u6c42\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/","text":"UCB CS70 : discrete Math and probability theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u79bb\u6563\u6570\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u4e2a\u4eba\u89c9\u5f97\u8fd9\u95e8\u8bfe\u6700\u5927\u7684\u4eae\u70b9\u5728\u4e8e\u5e76\u4e0d\u662f\u5355\u7eaf\u7684\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u800c\u662f\u5728\u6bcf\u4e2a\u6a21\u5757\u90fd\u4f1a\u4ecb\u7ecd\u7406\u8bba\u77e5\u8bc6\u5728\u5b9e\u9645\u7b97\u6cd5\u4e2d\u7684\u8fd0\u7528\uff0c\u8ba9\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\u5728\u592f\u5b9e\u7406\u8bba\u57fa\u7840\u7684\u540c\u65f6\uff0c\u8df3\u8131\u51fa\u51b0\u51b7\u5f62\u5f0f\u5316\u7684\u6570\u5b66\u7b26\u53f7\uff0c\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u611f\u53d7\u548c\u4f53\u4f1a\u7406\u8bba\u7684\u672c\u8d28\u3002 \u5177\u4f53\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u7684\u5bf9\u5e94\u5173\u7cfb\u5217\u4e3e\u5982\u4e0b\uff1a \u903b\u8f91\u8bc1\u660e\uff1a\u7a33\u5b9a\u5339\u914d\u7b97\u6cd5 \u56fe\u8bba\uff1a\u7f51\u7edc\u62d3\u6251\u8bbe\u8ba1 \u57fa\u7840\u6570\u8bba\uff1aRSA\u7b97\u6cd5 \u591a\u9879\u5f0f\u73af\uff1a\u7ea0\u9519\u7801\u8bbe\u8ba1 \u6982\u7387\u8bba\uff1a\u54c8\u5e0c\u8868\u8bbe\u8ba1\u3001\u8d1f\u8f7d\u5747\u8861\u7b49\u7b49 \u8bfe\u7a0bnotes\u4e5f\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u516c\u5f0f\u63a8\u5bfc\u4e0e\u5b9e\u9645\u4f8b\u5b50\u661f\u7f57\u68cb\u5e03\uff0c\u9605\u8bfb\u4f53\u9a8c\u5f88\u597d\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0bschedule \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS70: discrete Math and probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#ucb-cs70-discrete-math-and-probability-theory","text":"","title":"UCB CS70 : discrete Math and probability theory"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u79bb\u6563\u6570\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u4e2a\u4eba\u89c9\u5f97\u8fd9\u95e8\u8bfe\u6700\u5927\u7684\u4eae\u70b9\u5728\u4e8e\u5e76\u4e0d\u662f\u5355\u7eaf\u7684\u7406\u8bba\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u800c\u662f\u5728\u6bcf\u4e2a\u6a21\u5757\u90fd\u4f1a\u4ecb\u7ecd\u7406\u8bba\u77e5\u8bc6\u5728\u5b9e\u9645\u7b97\u6cd5\u4e2d\u7684\u8fd0\u7528\uff0c\u8ba9\u8ba1\u7b97\u673a\u7cfb\u7684\u5b66\u751f\u5728\u592f\u5b9e\u7406\u8bba\u57fa\u7840\u7684\u540c\u65f6\uff0c\u8df3\u8131\u51fa\u51b0\u51b7\u5f62\u5f0f\u5316\u7684\u6570\u5b66\u7b26\u53f7\uff0c\u5728\u5b9e\u9645\u5e94\u7528\u4e2d\u611f\u53d7\u548c\u4f53\u4f1a\u7406\u8bba\u7684\u672c\u8d28\u3002 \u5177\u4f53\u7684\u7406\u8bba\u4e0e\u7b97\u6cd5\u7684\u5bf9\u5e94\u5173\u7cfb\u5217\u4e3e\u5982\u4e0b\uff1a \u903b\u8f91\u8bc1\u660e\uff1a\u7a33\u5b9a\u5339\u914d\u7b97\u6cd5 \u56fe\u8bba\uff1a\u7f51\u7edc\u62d3\u6251\u8bbe\u8ba1 \u57fa\u7840\u6570\u8bba\uff1aRSA\u7b97\u6cd5 \u591a\u9879\u5f0f\u73af\uff1a\u7ea0\u9519\u7801\u8bbe\u8ba1 \u6982\u7387\u8bba\uff1a\u54c8\u5e0c\u8868\u8bbe\u8ba1\u3001\u8d1f\u8f7d\u5747\u8861\u7b49\u7b49 \u8bfe\u7a0bnotes\u4e5f\u5199\u5f97\u975e\u5e38\u6df1\u5165\u6d45\u51fa\uff0c\u516c\u5f0f\u63a8\u5bfc\u4e0e\u5b9e\u9645\u4f8b\u5b50\u661f\u7f57\u68cb\u5e03\uff0c\u9605\u8bfb\u4f53\u9a8c\u5f88\u597d\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0bschedule","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The%20Information%20Theory%2C%20Pattern%20Recognition%2C%20and%20Neural%20Networks/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCambridge \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra, Probabilities and Statistics \u7f16\u7a0b\u8bed\u8a00\uff1aAnything would be OK, Python preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30-50 \u5c0f\u65f6 \u5251\u6865\u5927\u5b66 Sir David MacKay \u6559\u6388\u7684\u4fe1\u606f\u8bba\u8bfe\u7a0b\u3002\u6559\u6388\u662f\u4e00\u4f4d\u5341\u5206\u7cbe\u901a\u4fe1\u606f\u8bba\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u5b66\u8005\uff0c\u8bfe\u7a0b\u5bf9\u5e94\u6559\u6750\u4e5f\u662f\u4fe1\u606f\u8bba\u9886\u57df\u7684\u4e00\u90e8\u7ecf\u5178\u8457\u4f5c\u3002\u53ef\u60dc\u5929\u5992\u82f1\u624d... \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aInformation Theory, Inference, and Learning Algorithms \u5728\u8bfe\u7a0b\u7f51\u7ad9\u53ef\u4ee5\u4e0b\u8f7d\u5230\u514d\u8d39\u7684\u7535\u5b50\u7248 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u6bcf\u4e00\u8282\u8bfe\u89c6\u9891\u7684\u6700\u540e\u4f1a\u7559\u6559\u6750\u4e0a\u7684\u8bfe\u540e\u4e60\u9898 R.I.P Prof. David MacKay","title":"The Information Theory, Patter Recognition, and Neural Networks"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The%20Information%20Theory%2C%20Pattern%20Recognition%2C%20and%20Neural%20Networks/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCambridge \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra, Probabilities and Statistics \u7f16\u7a0b\u8bed\u8a00\uff1aAnything would be OK, Python preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30-50 \u5c0f\u65f6 \u5251\u6865\u5927\u5b66 Sir David MacKay \u6559\u6388\u7684\u4fe1\u606f\u8bba\u8bfe\u7a0b\u3002\u6559\u6388\u662f\u4e00\u4f4d\u5341\u5206\u7cbe\u901a\u4fe1\u606f\u8bba\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u5b66\u8005\uff0c\u8bfe\u7a0b\u5bf9\u5e94\u6559\u6750\u4e5f\u662f\u4fe1\u606f\u8bba\u9886\u57df\u7684\u4e00\u90e8\u7ecf\u5178\u8457\u4f5c\u3002\u53ef\u60dc\u5929\u5992\u82f1\u624d...","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The%20Information%20Theory%2C%20Pattern%20Recognition%2C%20and%20Neural%20Networks/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aInformation Theory, Inference, and Learning Algorithms \u5728\u8bfe\u7a0b\u7f51\u7ad9\u53ef\u4ee5\u4e0b\u8f7d\u5230\u514d\u8d39\u7684\u7535\u5b50\u7248 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5728\u6bcf\u4e00\u8282\u8bfe\u89c6\u9891\u7684\u6700\u540e\u4f1a\u7559\u6559\u6750\u4e0a\u7684\u8bfe\u540e\u4e60\u9898","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The%20Information%20Theory%2C%20Pattern%20Recognition%2C%20and%20Neural%20Networks/#rip-prof-david-mackay","text":"","title":"R.I.P Prof. David MacKay"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/","text":"Standford EE364A: Convex Optimization \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aPython\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba\uff0c\u6570\u503c\u5206\u6790 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 Stephen Boyd \u6559\u6388\u662f\u51f8\u4f18\u5316\u9886\u57df\u7684\u5927\u725b\uff0c\u5176\u7f16\u5199\u7684 Convex Optimization \u8fd9\u672c\u6559\u6750\u88ab\u4f17\u591a\u540d\u6821\u91c7\u7528\u3002\u53e6\u5916\u5176\u7814\u7a76\u56e2\u961f\u8fd8\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u7528\u4e8e\u6c42\u89e3\u5e38\u89c1\u51f8\u4f18\u5316\u95ee\u9898\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u652f\u6301Python\uff0cJulia\u7b49\u4e3b\u6d41\u7f16\u7a0b\u8bed\u8a00\uff0c\u5176\u8bfe\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u91c7\u7528\u8fd9\u4e2a\u7f16\u7a0b\u6846\u67b6\u53bb\u89e3\u51b3\u5b9e\u9645\u751f\u6d3b\u5f53\u4e2d\u7684\u51f8\u4f18\u5316\u95ee\u9898\u3002 \u5728\u5b9e\u9645\u8fd0\u7528\u5f53\u4e2d\uff0c\u4f60\u4f1a\u6df1\u523b\u4f53\u4f1a\u5230\u5bf9\u4e8e\u540c\u4e00\u4e2a\u95ee\u9898\uff0c\u5efa\u6a21\u8fc7\u7a0b\u4e2d\u4e00\u4e2a\u7ec6\u5c0f\u7684\u6539\u53d8\uff0c\u5176\u65b9\u7a0b\u7684\u6c42\u89e3\u96be\u5ea6\u4f1a\u6709\u5929\u58e4\u4e4b\u522b\uff0c\u5982\u4f55\u8ba9\u4f60\u5efa\u6a21\u7684\u65b9\u7a0b\u662f\u201c\u51f8\u201d\u7684\uff0c\u662f\u4e00\u95e8\u827a\u672f\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a Convex Optimization \u8bfe\u7a0b\u4f5c\u4e1a\uff1a9\u4e2aPython\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Standford EE364A: Convex Optimization"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#standford-ee364a-convex-optimization","text":"","title":"Standford EE364A: Convex Optimization"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aPython\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba\uff0c\u6570\u503c\u5206\u6790 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 Stephen Boyd \u6559\u6388\u662f\u51f8\u4f18\u5316\u9886\u57df\u7684\u5927\u725b\uff0c\u5176\u7f16\u5199\u7684 Convex Optimization \u8fd9\u672c\u6559\u6750\u88ab\u4f17\u591a\u540d\u6821\u91c7\u7528\u3002\u53e6\u5916\u5176\u7814\u7a76\u56e2\u961f\u8fd8\u4e13\u95e8\u5f00\u53d1\u4e86\u4e00\u4e2a\u7528\u4e8e\u6c42\u89e3\u5e38\u89c1\u51f8\u4f18\u5316\u95ee\u9898\u7684\u7f16\u7a0b\u6846\u67b6\uff0c\u652f\u6301Python\uff0cJulia\u7b49\u4e3b\u6d41\u7f16\u7a0b\u8bed\u8a00\uff0c\u5176\u8bfe\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u91c7\u7528\u8fd9\u4e2a\u7f16\u7a0b\u6846\u67b6\u53bb\u89e3\u51b3\u5b9e\u9645\u751f\u6d3b\u5f53\u4e2d\u7684\u51f8\u4f18\u5316\u95ee\u9898\u3002 \u5728\u5b9e\u9645\u8fd0\u7528\u5f53\u4e2d\uff0c\u4f60\u4f1a\u6df1\u523b\u4f53\u4f1a\u5230\u5bf9\u4e8e\u540c\u4e00\u4e2a\u95ee\u9898\uff0c\u5efa\u6a21\u8fc7\u7a0b\u4e2d\u4e00\u4e2a\u7ec6\u5c0f\u7684\u6539\u53d8\uff0c\u5176\u65b9\u7a0b\u7684\u6c42\u89e3\u96be\u5ea6\u4f1a\u6709\u5929\u58e4\u4e4b\u522b\uff0c\u5982\u4f55\u8ba9\u4f60\u5efa\u6a21\u7684\u65b9\u7a0b\u662f\u201c\u51f8\u201d\u7684\uff0c\u662f\u4e00\u95e8\u827a\u672f\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a Convex Optimization \u8bfe\u7a0b\u4f5c\u4e1a\uff1a9\u4e2aPython\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/","text":"MIT18.330 : Introduction to numerical analysis \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba \u7f16\u7a0b\u8bed\u8a00\uff1aJulia \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u8ba1\u7b97\u673a\u5f3a\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u5e2e\u52a9\u4eba\u4eec\u5728\u79d1\u5b66\u9886\u57df\u4e0d\u65ad\u7a81\u7834\u8fb9\u754c\uff0c\u4e0d\u8fc7\u8ba1\u7b97\u673a\u7684\u79bb\u6563\u672c\u8d28\u548c\u8fd9\u4e2a\u8fde\u7eed\u7684\u4e16\u754c\u6709\u7740\u5929\u7136\u9e3f\u6c9f\uff0c\u800c\u5982\u4f55\u7528\u79bb\u6563\u7684\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u90a3\u4e9b\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\uff0c\u5219\u662f\u6570\u503c\u5206\u6790\u7684\u91cd\u8981\u4e3b\u9898\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5728\u6d6e\u70b9\u8868\u793a\u3001\u65b9\u7a0b\u6c42\u89e3\u3001\u7ebf\u6027\u4ee3\u6570\u3001\u5fae\u79ef\u5206\u3001\u7ebf\u6027\u4ee3\u6570\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u9886\u57df\u63a2\u8ba8\u5404\u7c7b\u6570\u503c\u5206\u6790\u65b9\u6cd5\uff0c\u8ba9\u4f60\u5728Julia\u7684\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u53cd\u590d\u4f53\u609f\uff081\uff09\u5982\u4f55\u5efa\u7acb\u4f30\u8ba1\uff082\uff09\u5982\u4f55\u4f30\u8ba1\u8bef\u5dee\uff083\uff09\u5982\u4f55\u7528\u7b97\u6cd5\u5b9e\u73b0\u4f30\u8ba1 \u8fd9\u4e00\u7cfb\u5217\u6b65\u9aa4\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u8fd8\u7f16\u5199\u4e86\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750\uff08\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\uff0c\u91cc\u9762\u6709\u4e30\u5bcc\u7684Julia\u5b9e\u4f8b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aJulia\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"MIT18.330: Introduction to numerical analysis"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#mit18330-introduction-to-numerical-analysis","text":"","title":"MIT18.330 : Introduction to numerical analysis"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570\uff0c\u6982\u7387\u8bba \u7f16\u7a0b\u8bed\u8a00\uff1aJulia \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u8ba1\u7b97\u673a\u5f3a\u5927\u7684\u8ba1\u7b97\u80fd\u529b\u5e2e\u52a9\u4eba\u4eec\u5728\u79d1\u5b66\u9886\u57df\u4e0d\u65ad\u7a81\u7834\u8fb9\u754c\uff0c\u4e0d\u8fc7\u8ba1\u7b97\u673a\u7684\u79bb\u6563\u672c\u8d28\u548c\u8fd9\u4e2a\u8fde\u7eed\u7684\u4e16\u754c\u6709\u7740\u5929\u7136\u9e3f\u6c9f\uff0c\u800c\u5982\u4f55\u7528\u79bb\u6563\u7684\u8868\u793a\u53bb\u4f30\u8ba1\u548c\u903c\u8fd1\u90a3\u4e9b\u6570\u5b66\u4e0a\u8fde\u7eed\u7684\u6982\u5ff5\uff0c\u5219\u662f\u6570\u503c\u5206\u6790\u7684\u91cd\u8981\u4e3b\u9898\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u5728\u6d6e\u70b9\u8868\u793a\u3001\u65b9\u7a0b\u6c42\u89e3\u3001\u7ebf\u6027\u4ee3\u6570\u3001\u5fae\u79ef\u5206\u3001\u7ebf\u6027\u4ee3\u6570\u3001\u5fae\u5206\u65b9\u7a0b\u7b49\u9886\u57df\u63a2\u8ba8\u5404\u7c7b\u6570\u503c\u5206\u6790\u65b9\u6cd5\uff0c\u8ba9\u4f60\u5728Julia\u7684\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u53cd\u590d\u4f53\u609f\uff081\uff09\u5982\u4f55\u5efa\u7acb\u4f30\u8ba1\uff082\uff09\u5982\u4f55\u4f30\u8ba1\u8bef\u5dee\uff083\uff09\u5982\u4f55\u7528\u7b97\u6cd5\u5b9e\u73b0\u4f30\u8ba1 \u8fd9\u4e00\u7cfb\u5217\u6b65\u9aa4\u3002 \u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u8fd8\u7f16\u5199\u4e86\u914d\u5957\u7684\u5f00\u6e90\u6559\u6750\uff08\u53c2\u89c1\u4e0b\u65b9\u94fe\u63a5\uff09\uff0c\u91cc\u9762\u6709\u4e30\u5bcc\u7684Julia\u5b9e\u4f8b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aJulia\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/","text":"CMU 15-445: Database Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aC++\uff0c\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f5c\u4e3aCMU\u6570\u636e\u5e93\u7684\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u7531\u6570\u636e\u5e93\u9886\u57df\u7684\u5927\u725b Andy Pavlo\u8bb2\u6388\uff08\u201c\u8fd9\u4e2a\u4e16\u754c\u4e0a\u6211\u53ea\u5728\u4e4e\u4e24\u4ef6\u4e8b\uff0c\u4e00\u662f\u6211\u7684\u8001\u5a46\uff0c\u4e8c\u5c31\u662f\u6570\u636e\u5e93\u201d\uff09\u300215-445\u4f1a\u81ea\u5e95\u5411\u4e0a\u5730\u6559\u4f60\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u7ec4\u6210\u90e8\u5206\uff1a\u5b58\u50a8\u3001\u7d22\u5f15\u3001\u67e5\u8be2\uff0c\u4ee5\u53ca\u5e76\u53d1\u4e8b\u52a1\u63a7\u5236\u3002 \u8fd9\u95e8\u8bfe\u7684\u4eae\u70b9\u5728\u4e8eCMU db\u4e13\u95e8\u4e3a\u6b64\u8bfe\u5f00\u53d1\u4e86\u4e00\u4e2a\u6559\u5b66\u7528\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \uff0c\u5e76\u8981\u6c42\u4f60\u5bf9\u8fd9\u4e2a\u6570\u636e\u5e93\u7684\u7ec4\u6210\u90e8\u5206\u8fdb\u884c\u4fee\u6539\uff0c\u5b9e\u73b0\u4e0a\u8ff0\u90e8\u4ef6\u7684\u529f\u80fd\u3002\u6b64\u5916 bustub\u4f5c\u4e3a\u4e00\u4e2aC++\u7f16\u5199\u7684\u4e2d\u5c0f\u578b\u9879\u76ee\u6db5\u76d6\u4e86\u7a0b\u5e8f\u6784\u5efa\u3001\u4ee3\u7801\u89c4\u8303\u3001\u5355\u5143\u6d4b\u8bd5\u7b49\u4f17\u591a\u8981\u6c42\uff0c\u53ef\u4ee5\u4f5c\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u5f00\u6e90\u9879\u76ee\u5b66\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9(Fall2019) , \u8bfe\u7a0b\u7f51\u7ad9(Fall2020) \u8bfe\u7a0b\u89c6\u9891\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u514d\u8d39\u89c2\u770b \u8bfe\u7a0b\u6559\u6750\uff1aDatabase System Concepts \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2aProject \u5728Fall2019\u4e2d\uff0c\u7b2c\u4e8c\u4e2aproject\u662f\u505a\u54c8\u5e0c\u7d22\u5f15\uff0c\u7b2c\u56db\u4e2aproject\u662f\u505a\u65e5\u5fd7\u4e0e\u6062\u590d \u5728Fall2020\u4e2d\uff0c\u7b2c\u4e8c\u4e2aproject\u662f\u505aB\u6811\uff0c\u7b2c\u56db\u4e2aproject\u662f\u505a\u5e76\u53d1\u63a7\u5236 \u5982\u679c\u5927\u5bb6\u6709\u7cbe\u529b\u7684\u8bdd\u53ef\u4ee5\u90fd\u53bb\u5c1d\u8bd5\u4e00\u4e0b\uff0c\u6216\u8005\u5728\u5bf9\u4e66\u4e2d\u5185\u5bb9\u7406\u89e3\u4e0d\u662f\u5f88\u900f\u5f7b\u7684\u65f6\u5019\uff0c\u5c1d\u8bd5\u7528\u4ee3\u7801\u5199\u4e00\u4e2a\u4f1a\u52a0\u6df1\u4f60\u7684\u7406\u89e3\u3002 \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002 \u7531\u4e8eAndy\u7684\u8981\u6c42\uff0c\u4ed3\u5e93\u4e2d\u6ca1\u6709project\u7684\u5b9e\u73b0\uff0c\u53ea\u6709homework\u7684solution\u3002\u7279\u522b\u7684\uff0c\u5bf9\u4e8ehomework1\uff0c\u6211\u8fd8\u5199\u4e86\u4e00\u4e2ashell\u811a\u672c\u6765\u5e2e\u5927\u5bb6\u6267\u884c\u81ea\u52a8\u5224\u5206 \u53e6\u5916\u5728\u8bfe\u7a0b\u7ed3\u675f\u540e\uff0c\u6211\u5341\u5206\u63a8\u8350\u9605\u8bfb\u4e00\u7bc7\u8bba\u6587 Architecture Of a Database System \uff0c\u5bf9\u5e94\u7684\u4e2d\u6587\u7248\u6211\u4e0a\u4f20\u5230\u4e86\u94fe\u63a5\u4e2d\u7684\u4ed3\u5e93\u3002\u8bba\u6587\u91cc\u7efc\u8ff0\u4e86\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u6574\u4f53\u67b6\u6784\uff0c\u8ba9\u5927\u5bb6\u53ef\u4ee5\u5bf9\u6570\u636e\u5e93\u6709\u4e00\u4e2a\u66f4\u52a0\u5168\u9762\u7684\u89c6\u91ce\u3002 \u540e\u7eed\u8bfe\u7a0b CMU15-721 \u4e3b\u8981\u8bb2\u4e3b\u5b58\u6570\u636e\u5e93\u6709\u5173\u7684\u5185\u5bb9\uff0c\u6bcf\u8282\u8bfe\u90fd\u6709\u5bf9\u5e94\u7684paper\u8981\u8bfb\uff0c\u63a8\u8350\u7ed9\u5e0c\u671b\u8fdb\u9636\u6570\u636e\u5e93\u7684\u5c0f\u4f19\u4f34 \u6211\u76ee\u524d\u4e5f\u5728\u8ddf\u8fdb\u8fd9\u95e8\u8bfe\uff0c\u5b8c\u6210\u540e\u4f1a\u5728\u8fd9\u91cc\u63d0PR\u4ee5\u63d0\u4f9b\u8fdb\u9636\u7684\u6307\u5bfc","title":"CMU 15-445: Database Systems"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#cmu-15-445-database-systems","text":"","title":"CMU 15-445: Database Systems"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aC++\uff0c\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f5c\u4e3aCMU\u6570\u636e\u5e93\u7684\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u7531\u6570\u636e\u5e93\u9886\u57df\u7684\u5927\u725b Andy Pavlo\u8bb2\u6388\uff08\u201c\u8fd9\u4e2a\u4e16\u754c\u4e0a\u6211\u53ea\u5728\u4e4e\u4e24\u4ef6\u4e8b\uff0c\u4e00\u662f\u6211\u7684\u8001\u5a46\uff0c\u4e8c\u5c31\u662f\u6570\u636e\u5e93\u201d\uff09\u300215-445\u4f1a\u81ea\u5e95\u5411\u4e0a\u5730\u6559\u4f60\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u57fa\u672c\u7ec4\u6210\u90e8\u5206\uff1a\u5b58\u50a8\u3001\u7d22\u5f15\u3001\u67e5\u8be2\uff0c\u4ee5\u53ca\u5e76\u53d1\u4e8b\u52a1\u63a7\u5236\u3002 \u8fd9\u95e8\u8bfe\u7684\u4eae\u70b9\u5728\u4e8eCMU db\u4e13\u95e8\u4e3a\u6b64\u8bfe\u5f00\u53d1\u4e86\u4e00\u4e2a\u6559\u5b66\u7528\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93 bustub \uff0c\u5e76\u8981\u6c42\u4f60\u5bf9\u8fd9\u4e2a\u6570\u636e\u5e93\u7684\u7ec4\u6210\u90e8\u5206\u8fdb\u884c\u4fee\u6539\uff0c\u5b9e\u73b0\u4e0a\u8ff0\u90e8\u4ef6\u7684\u529f\u80fd\u3002\u6b64\u5916 bustub\u4f5c\u4e3a\u4e00\u4e2aC++\u7f16\u5199\u7684\u4e2d\u5c0f\u578b\u9879\u76ee\u6db5\u76d6\u4e86\u7a0b\u5e8f\u6784\u5efa\u3001\u4ee3\u7801\u89c4\u8303\u3001\u5355\u5143\u6d4b\u8bd5\u7b49\u4f17\u591a\u8981\u6c42\uff0c\u53ef\u4ee5\u4f5c\u4e3a\u4e00\u4e2a\u4f18\u79c0\u7684\u5f00\u6e90\u9879\u76ee\u5b66\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9(Fall2019) , \u8bfe\u7a0b\u7f51\u7ad9(Fall2020) \u8bfe\u7a0b\u89c6\u9891\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u514d\u8d39\u89c2\u770b \u8bfe\u7a0b\u6559\u6750\uff1aDatabase System Concepts \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2aProject \u5728Fall2019\u4e2d\uff0c\u7b2c\u4e8c\u4e2aproject\u662f\u505a\u54c8\u5e0c\u7d22\u5f15\uff0c\u7b2c\u56db\u4e2aproject\u662f\u505a\u65e5\u5fd7\u4e0e\u6062\u590d \u5728Fall2020\u4e2d\uff0c\u7b2c\u4e8c\u4e2aproject\u662f\u505aB\u6811\uff0c\u7b2c\u56db\u4e2aproject\u662f\u505a\u5e76\u53d1\u63a7\u5236 \u5982\u679c\u5927\u5bb6\u6709\u7cbe\u529b\u7684\u8bdd\u53ef\u4ee5\u90fd\u53bb\u5c1d\u8bd5\u4e00\u4e0b\uff0c\u6216\u8005\u5728\u5bf9\u4e66\u4e2d\u5185\u5bb9\u7406\u89e3\u4e0d\u662f\u5f88\u900f\u5f7b\u7684\u65f6\u5019\uff0c\u5c1d\u8bd5\u7528\u4ee3\u7801\u5199\u4e00\u4e2a\u4f1a\u52a0\u6df1\u4f60\u7684\u7406\u89e3\u3002 \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002 \u7531\u4e8eAndy\u7684\u8981\u6c42\uff0c\u4ed3\u5e93\u4e2d\u6ca1\u6709project\u7684\u5b9e\u73b0\uff0c\u53ea\u6709homework\u7684solution\u3002\u7279\u522b\u7684\uff0c\u5bf9\u4e8ehomework1\uff0c\u6211\u8fd8\u5199\u4e86\u4e00\u4e2ashell\u811a\u672c\u6765\u5e2e\u5927\u5bb6\u6267\u884c\u81ea\u52a8\u5224\u5206 \u53e6\u5916\u5728\u8bfe\u7a0b\u7ed3\u675f\u540e\uff0c\u6211\u5341\u5206\u63a8\u8350\u9605\u8bfb\u4e00\u7bc7\u8bba\u6587 Architecture Of a Database System \uff0c\u5bf9\u5e94\u7684\u4e2d\u6587\u7248\u6211\u4e0a\u4f20\u5230\u4e86\u94fe\u63a5\u4e2d\u7684\u4ed3\u5e93\u3002\u8bba\u6587\u91cc\u7efc\u8ff0\u4e86\u6570\u636e\u5e93\u7cfb\u7edf\u7684\u6574\u4f53\u67b6\u6784\uff0c\u8ba9\u5927\u5bb6\u53ef\u4ee5\u5bf9\u6570\u636e\u5e93\u6709\u4e00\u4e2a\u66f4\u52a0\u5168\u9762\u7684\u89c6\u91ce\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/#_3","text":"CMU15-721 \u4e3b\u8981\u8bb2\u4e3b\u5b58\u6570\u636e\u5e93\u6709\u5173\u7684\u5185\u5bb9\uff0c\u6bcf\u8282\u8bfe\u90fd\u6709\u5bf9\u5e94\u7684paper\u8981\u8bfb\uff0c\u63a8\u8350\u7ed9\u5e0c\u671b\u8fdb\u9636\u6570\u636e\u5e93\u7684\u5c0f\u4f19\u4f34 \u6211\u76ee\u524d\u4e5f\u5728\u8ddf\u8fdb\u8fd9\u95e8\u8bfe\uff0c\u5b8c\u6210\u540e\u4f1a\u5728\u8fd9\u91cc\u63d0PR\u4ee5\u63d0\u4f9b\u8fdb\u9636\u7684\u6307\u5bfc","title":"\u540e\u7eed\u8bfe\u7a0b"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/","text":"UCB CS186: Introduction to Database System \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u5982\u4f55\u7f16\u5199SQL\u67e5\u8be2\uff1fSQL\u547d\u4ee4\u662f\u5982\u4f55\u88ab\u4e00\u6b65\u6b65\u62c6\u89e3\u3001\u4f18\u5316\u3001\u8f6c\u53d8\u4e3a\u4e00\u4e2a\u4e2a\u78c1\u76d8\u67e5\u8be2\u6307\u4ee4\u7684\uff1f\u5982\u4f55\u5b9e\u73b0\u9ad8\u5e76\u53d1\u7684\u6570\u636e\u5e93\uff1f\u5982\u4f55\u5b9e\u73b0\u6570\u636e\u5e93\u7684\u6545\u969c\u6062\u590d\uff1f\u4ec0\u4e48\u53c8\u662f\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff1f\u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u5185\u90e8\u7ec6\u8282\uff0c\u5e76\u5728\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u52a8\u624b\u7528Java\u5b9e\u73b0\u4e00\u4e2a\u652f\u6301SQL\u5e76\u53d1\u67e5\u8be2\u3001B+\u6811Index\u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 \u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u5728\u7f16\u7a0b\u4f5c\u4e1a\u4e2d\u953b\u70bc\u4f60\u7f16\u5199SQL\u67e5\u8be2\u4ee5\u53caNoSQL\u67e5\u8be2\u7684\u80fd\u529b\uff0c\u5bf9\u4e8e\u6784\u5efa\u4e00\u4e9b\u5168\u6808\u7684\u5de5\u7a0b\u9879\u76ee\u5f88\u6709\u5e2e\u52a9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6\u4e2aProject \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS186: Introduction to Database System"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#ucb-cs186-introduction-to-database-system","text":"","title":"UCB CS186: Introduction to Database System"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u5982\u4f55\u7f16\u5199SQL\u67e5\u8be2\uff1fSQL\u547d\u4ee4\u662f\u5982\u4f55\u88ab\u4e00\u6b65\u6b65\u62c6\u89e3\u3001\u4f18\u5316\u3001\u8f6c\u53d8\u4e3a\u4e00\u4e2a\u4e2a\u78c1\u76d8\u67e5\u8be2\u6307\u4ee4\u7684\uff1f\u5982\u4f55\u5b9e\u73b0\u9ad8\u5e76\u53d1\u7684\u6570\u636e\u5e93\uff1f\u5982\u4f55\u5b9e\u73b0\u6570\u636e\u5e93\u7684\u6545\u969c\u6062\u590d\uff1f\u4ec0\u4e48\u53c8\u662f\u975e\u5173\u7cfb\u578b\u6570\u636e\u5e93\uff1f\u8fd9\u95e8\u8bfe\u4f1a\u5e26\u4f60\u6df1\u5165\u7406\u89e3\u5173\u7cfb\u578b\u6570\u636e\u5e93\u7684\u5185\u90e8\u7ec6\u8282\uff0c\u5e76\u5728\u638c\u63e1\u7406\u8bba\u77e5\u8bc6\u4e4b\u540e\uff0c\u52a8\u624b\u7528Java\u5b9e\u73b0\u4e00\u4e2a\u652f\u6301SQL\u5e76\u53d1\u67e5\u8be2\u3001B+\u6811Index\u548c\u6545\u969c\u6062\u590d\u7684\u5173\u7cfb\u578b\u6570\u636e\u5e93\u3002 \u4ece\u5b9e\u7528\u89d2\u5ea6\u6765\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u8fd8\u4f1a\u5728\u7f16\u7a0b\u4f5c\u4e1a\u4e2d\u953b\u70bc\u4f60\u7f16\u5199SQL\u67e5\u8be2\u4ee5\u53caNoSQL\u67e5\u8be2\u7684\u80fd\u529b\uff0c\u5bf9\u4e8e\u6784\u5efa\u4e00\u4e9b\u5168\u6808\u7684\u5de5\u7a0b\u9879\u76ee\u5f88\u6709\u5e2e\u52a9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a6\u4e2aProject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6570\u636e\u79d1\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\uff0c\u8986\u76d6\u4e86\u6570\u636e\u6e05\u6d17\u3001\u7279\u5f81\u63d0\u53d6\u3001\u6570\u636e\u53ef\u89c6\u5316\u4ee5\u53ca\u673a\u5668\u5b66\u4e60\u548c\u63a8\u7406\u7684\u57fa\u7840\u5185\u5bb9\uff0c\u4e5f\u4f1a\u8bb2\u6388Pandas\uff0cNumpy\uff0cMatplotlib\u7b49\u6570\u636e\u79d1\u5b66\u5e38\u7528\u5de5\u5177\u3002\u5176\u4e30\u5bcc\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4eae\u70b9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"UCB Data100: Principles and Techniques of Data Science"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u6570\u636e\u79d1\u5b66\u5165\u95e8\u8bfe\u7a0b\uff0c\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\uff0c\u8986\u76d6\u4e86\u6570\u636e\u6e05\u6d17\u3001\u7279\u5f81\u63d0\u53d6\u3001\u6570\u636e\u53ef\u89c6\u5316\u4ee5\u53ca\u673a\u5668\u5b66\u4e60\u548c\u63a8\u7406\u7684\u57fa\u7840\u5185\u5bb9\uff0c\u4e5f\u4f1a\u8bb2\u6388Pandas\uff0cNumpy\uff0cMatplotlib\u7b49\u6570\u636e\u79d1\u5b66\u5e38\u7528\u5de5\u5177\u3002\u5176\u4e30\u5bcc\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4eae\u70b9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/","text":"Coursera: Algorithms I & II \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aPrinceton \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u8fd9\u662f Coursera \u4e0a\u8bc4\u5206\u6700\u9ad8\u7684\u7b97\u6cd5\u8bfe\u7a0b\u3002Robert Sedgewick\u6559\u6388\u6709\u4e00\u79cd\u9b54\u529b\uff0c\u53ef\u4ee5\u5c06\u65e0\u8bba\u591a\u4e48\u590d\u6742\u7684\u7b97\u6cd5\u8bb2\u5f97\u6781\u4e3a\u751f\u52a8\u6d45\u663e\u3002\u5b9e\u4e0d\u76f8\u7792\uff0c\u56f0\u6270\u6211 \u591a\u5e74\u7684KMP\u4ee5\u53ca\u7f51\u7edc\u6d41\u7b97\u6cd5\u90fd\u662f\u5728\u8fd9\u95e8\u8bfe\u4e0a\u8ba9\u6211\u8305\u585e\u987f\u5f00\u7684\uff0c\u65f6\u9694\u4e24\u5e74\u6211\u751a\u81f3\u8fd8\u80fd\u5199\u51fa\u8fd9\u4e24\u4e2a\u7b97\u6cd5\u7684\u63a8\u5bfc\u4e0e\u8bc1\u660e\u3002 \u4f60\u662f\u5426\u89c9\u5f97\u7b97\u6cd5\u5b66\u4e86\u5c31\u5fd8\u5462\uff1f\u6211\u89c9\u5f97\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u4e00\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u5728\u4e8e\u7406\u89e3\u4e09\u70b9\uff1a \u4e3a\u4ec0\u4e48\u8fd9\u4e48\u505a\uff1f\uff08\u6b63\u786e\u6027\u63a8\u5bfc\uff0c\u6291\u6216\u662f\u6574\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u672c\u8d28\uff09 \u5982\u4f55\u5b9e\u73b0\u5b83\uff1f\uff08\u5149\u5b66\u4e0d\u7528\u5047\u628a\u5f0f\uff09 \u7528\u5b83\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff08\u5b66\u4ee5\u81f4\u7528\u624d\u662f\u771f\u672c\u4e8b\uff09 \u8fd9\u95e8\u8bfe\u7684\u6784\u6210\u5c31\u975e\u5e38\u597d\u5730\u5951\u5408\u4e86\u4e0a\u8ff0\u4e09\u4e2a\u6b65\u9aa4\u3002\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u5e76\u4e14\u9605\u8bfb\u6559\u6388\u7684 \u5f00\u6e90\u8bfe\u672c \u6709\u52a9\u4e8e\u4f60\u7406\u89e3\u7b97\u6cd5\u7684\u672c\u8d28\uff0c\u8ba9\u4f60\u4e5f\u53ef\u4ee5\u7528\u975e\u5e38 \u751f\u52a8\u6d45\u663e\u7684\u8bdd\u8bed\u5411\u522b\u4eba\u8bb2\u8ff0\u4e3a\u4ec0\u4e48\u8fd9\u4e2a\u7b97\u6cd5\u5f97\u957f\u8fd9\u4e2a\u6837\u5b50\u3002 \u5728\u7406\u89e3\u7b97\u6cd5\u4e4b\u540e\uff0c\u4f60\u53ef\u4ee5\u9605\u8bfb\u6559\u6388\u5bf9\u4e8e\u8bfe\u7a0b\u4e2d\u8bb2\u6388\u7684\u6240\u6709\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684 \u4ee3\u7801\u5b9e\u73b0 \u3002 \u6ce8\u610f\uff0c\u8fd9\u4e9b\u5b9e\u73b0\u53ef\u4e0d\u662fdemo\u6027\u8d28\u7684\uff0c\u800c\u662f\u5de5\u4e1a\u7ea7\u7684\u9ad8\u6548\u5b9e\u73b0\uff0c\u4ece\u6ce8\u91ca\u5230\u53d8\u91cf\u547d\u540d\u90fd\u975e\u5e38\u4e25\u8c28\uff0c\u6a21\u5757\u5316\u4e5f\u505a\u5f97\u76f8\u5f53\u597d\uff0c\u662f\u8d28\u91cf\u5f88\u9ad8\u7684\u4ee3\u7801\u3002\u6211\u4ece\u8fd9\u4e9b\u4ee3\u7801\u4e2d\u6536\u83b7\u826f\u591a\u3002 \u6700\u540e\uff0c\u5c31\u662f\u8fd9\u95e8\u8bfe\u6700\u6fc0\u52a8\u4eba\u5fc3\u7684\u90e8\u5206\u4e86\uff0c10\u4e2a\u9ad8\u8d28\u91cf\u7684Project\uff0c\u5e76\u4e14\u5168\u90fd\u6709\u5b9e\u9645\u95ee\u9898\u7684\u80cc\u666f\u63cf\u8ff0\uff0c\u4e30\u5bcc\u7684\u6d4b\u8bd5\u6837\u4f8b\uff0c\u81ea\u52a8\u7684\u8bc4\u5206\u7cfb\u7edf\uff08\u4ee3\u7801\u98ce\u683c\u4e5f\u662f\u8bc4\u5206\u7684\u4e00\u73af\uff09\u3002\u8ba9\u4f60\u5728\u5b9e\u9645\u751f\u6d3b\u4e2d \u9886\u7565\u7b97\u6cd5\u7684\u9b45\u529b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a Algorithm I , Algorithm II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aProject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Coursera: Algorithms I & II"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#coursera-algorithms-i-ii","text":"","title":"Coursera: Algorithms I & II"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aPrinceton \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u8fd9\u662f Coursera \u4e0a\u8bc4\u5206\u6700\u9ad8\u7684\u7b97\u6cd5\u8bfe\u7a0b\u3002Robert Sedgewick\u6559\u6388\u6709\u4e00\u79cd\u9b54\u529b\uff0c\u53ef\u4ee5\u5c06\u65e0\u8bba\u591a\u4e48\u590d\u6742\u7684\u7b97\u6cd5\u8bb2\u5f97\u6781\u4e3a\u751f\u52a8\u6d45\u663e\u3002\u5b9e\u4e0d\u76f8\u7792\uff0c\u56f0\u6270\u6211 \u591a\u5e74\u7684KMP\u4ee5\u53ca\u7f51\u7edc\u6d41\u7b97\u6cd5\u90fd\u662f\u5728\u8fd9\u95e8\u8bfe\u4e0a\u8ba9\u6211\u8305\u585e\u987f\u5f00\u7684\uff0c\u65f6\u9694\u4e24\u5e74\u6211\u751a\u81f3\u8fd8\u80fd\u5199\u51fa\u8fd9\u4e24\u4e2a\u7b97\u6cd5\u7684\u63a8\u5bfc\u4e0e\u8bc1\u660e\u3002 \u4f60\u662f\u5426\u89c9\u5f97\u7b97\u6cd5\u5b66\u4e86\u5c31\u5fd8\u5462\uff1f\u6211\u89c9\u5f97\u8ba9\u4f60\u5b8c\u5168\u638c\u63e1\u4e00\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u5728\u4e8e\u7406\u89e3\u4e09\u70b9\uff1a \u4e3a\u4ec0\u4e48\u8fd9\u4e48\u505a\uff1f\uff08\u6b63\u786e\u6027\u63a8\u5bfc\uff0c\u6291\u6216\u662f\u6574\u4e2a\u7b97\u6cd5\u7684\u6838\u5fc3\u672c\u8d28\uff09 \u5982\u4f55\u5b9e\u73b0\u5b83\uff1f\uff08\u5149\u5b66\u4e0d\u7528\u5047\u628a\u5f0f\uff09 \u7528\u5b83\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff08\u5b66\u4ee5\u81f4\u7528\u624d\u662f\u771f\u672c\u4e8b\uff09 \u8fd9\u95e8\u8bfe\u7684\u6784\u6210\u5c31\u975e\u5e38\u597d\u5730\u5951\u5408\u4e86\u4e0a\u8ff0\u4e09\u4e2a\u6b65\u9aa4\u3002\u89c2\u770b\u8bfe\u7a0b\u89c6\u9891\u5e76\u4e14\u9605\u8bfb\u6559\u6388\u7684 \u5f00\u6e90\u8bfe\u672c \u6709\u52a9\u4e8e\u4f60\u7406\u89e3\u7b97\u6cd5\u7684\u672c\u8d28\uff0c\u8ba9\u4f60\u4e5f\u53ef\u4ee5\u7528\u975e\u5e38 \u751f\u52a8\u6d45\u663e\u7684\u8bdd\u8bed\u5411\u522b\u4eba\u8bb2\u8ff0\u4e3a\u4ec0\u4e48\u8fd9\u4e2a\u7b97\u6cd5\u5f97\u957f\u8fd9\u4e2a\u6837\u5b50\u3002 \u5728\u7406\u89e3\u7b97\u6cd5\u4e4b\u540e\uff0c\u4f60\u53ef\u4ee5\u9605\u8bfb\u6559\u6388\u5bf9\u4e8e\u8bfe\u7a0b\u4e2d\u8bb2\u6388\u7684\u6240\u6709\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684 \u4ee3\u7801\u5b9e\u73b0 \u3002 \u6ce8\u610f\uff0c\u8fd9\u4e9b\u5b9e\u73b0\u53ef\u4e0d\u662fdemo\u6027\u8d28\u7684\uff0c\u800c\u662f\u5de5\u4e1a\u7ea7\u7684\u9ad8\u6548\u5b9e\u73b0\uff0c\u4ece\u6ce8\u91ca\u5230\u53d8\u91cf\u547d\u540d\u90fd\u975e\u5e38\u4e25\u8c28\uff0c\u6a21\u5757\u5316\u4e5f\u505a\u5f97\u76f8\u5f53\u597d\uff0c\u662f\u8d28\u91cf\u5f88\u9ad8\u7684\u4ee3\u7801\u3002\u6211\u4ece\u8fd9\u4e9b\u4ee3\u7801\u4e2d\u6536\u83b7\u826f\u591a\u3002 \u6700\u540e\uff0c\u5c31\u662f\u8fd9\u95e8\u8bfe\u6700\u6fc0\u52a8\u4eba\u5fc3\u7684\u90e8\u5206\u4e86\uff0c10\u4e2a\u9ad8\u8d28\u91cf\u7684Project\uff0c\u5e76\u4e14\u5168\u90fd\u6709\u5b9e\u9645\u95ee\u9898\u7684\u80cc\u666f\u63cf\u8ff0\uff0c\u4e30\u5bcc\u7684\u6d4b\u8bd5\u6837\u4f8b\uff0c\u81ea\u52a8\u7684\u8bc4\u5206\u7cfb\u7edf\uff08\u4ee3\u7801\u98ce\u683c\u4e5f\u662f\u8bc4\u5206\u7684\u4e00\u73af\uff09\u3002\u8ba9\u4f60\u5728\u5b9e\u9645\u751f\u6d3b\u4e2d \u9886\u7565\u7b97\u6cd5\u7684\u9b45\u529b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a Algorithm I , Algorithm II \u8bfe\u7a0b\u89c6\u9891\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a10\u4e2aProject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS106B_CS106X/","text":"Stanford CS106B/X: Programming Abstractions in C++ \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u57fa\u7840(CS50/CS106A/CS61A or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 Stanford\u7684\u8fdb\u9636\u7f16\u7a0b\u8bfe\uff0cCS106X\u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u4f1a\u6bd4CS106B\u6709\u6240\u63d0\u9ad8\uff0c\u4f46\u4e3b\u4f53\u5185\u5bb9\u7c7b\u4f3c\u3002\u4e3b\u8981\u901a\u8fc7C++\u8bed\u8a00\u8ba9\u5b66\u751f\u5728\u5b9e\u9645\u7684\u7f16\u7a0b\u4f5c\u4e1a\u91cc\u57f9\u517b\u901a\u8fc7\u7f16\u7a0b\u62bd\u8c61\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u7684\u80fd\u529b\uff0c\u540c\u65f6\u4e5f\u4f1a\u6d89\u53ca\u4e00\u4e9b\u7b80\u5355\u7684\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u7684\u77e5\u8bc6\uff0c\u4f46\u603b\u4f53\u6765\u8bf4\u6ca1\u6709\u4e00\u95e8\u4e13\u95e8\u7684\u6570\u636e\u7ed3\u6784\u8bfe\u90a3\u4e48\u7cfb\u7edf\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a CS106B , CS106X \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u89c6\u9891","title":"Stanford CS106B/X"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS106B_CS106X/#stanford-cs106bx-programming-abstractions-in-c","text":"","title":"Stanford CS106B/X: Programming Abstractions in C++"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS106B_CS106X/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u57fa\u7840(CS50/CS106A/CS61A or equivalent) \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 Stanford\u7684\u8fdb\u9636\u7f16\u7a0b\u8bfe\uff0cCS106X\u5728\u96be\u5ea6\u548c\u6df1\u5ea6\u4e0a\u4f1a\u6bd4CS106B\u6709\u6240\u63d0\u9ad8\uff0c\u4f46\u4e3b\u4f53\u5185\u5bb9\u7c7b\u4f3c\u3002\u4e3b\u8981\u901a\u8fc7C++\u8bed\u8a00\u8ba9\u5b66\u751f\u5728\u5b9e\u9645\u7684\u7f16\u7a0b\u4f5c\u4e1a\u91cc\u57f9\u517b\u901a\u8fc7\u7f16\u7a0b\u62bd\u8c61\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\u7684\u80fd\u529b\uff0c\u540c\u65f6\u4e5f\u4f1a\u6d89\u53ca\u4e00\u4e9b\u7b80\u5355\u7684\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u7684\u77e5\u8bc6\uff0c\u4f46\u603b\u4f53\u6765\u8bf4\u6ca1\u6709\u4e00\u95e8\u4e13\u95e8\u7684\u6570\u636e\u7ed3\u6784\u8bfe\u90a3\u4e48\u7cfb\u7edf\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS106B_CS106X/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a CS106B , CS106X \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u89c6\u9891","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/","text":"CS170: Efficient Algorithms and Intractable Problems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61B, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aLatex \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u8bfe\uff0c\u66f4\u6ce8\u91cd\u7b97\u6cd5\u7684\u7406\u8bba\u57fa\u7840\u4e0e\u590d\u6742\u5ea6\u5206\u6790\u3002\u8bfe\u7a0b\u5185\u5bb9\u6db5\u76d6\u4e86\u5206\u6cbb\u3001\u56fe\u7b97\u6cd5\u3001\u6700\u77ed\u8def\u3001\u751f\u6210\u6811\u3001\u8d2a\u5fc3\u3001\u52a8\u89c4\u3001\u5e76\u67e5\u96c6\u3001\u7ebf\u6027\u89c4\u5212\u3001\u7f51\u7edc\u6d41\u3001 NP\u95ee\u9898\u3001\u968f\u673a\u7b97\u6cd5\u3001\u54c8\u5e0c\u7b97\u6cd5\u7b49\u7b49\u3002 \u8fd9\u95e8\u8bfe\u7684\u6559\u6750\u5199\u7684\u5f88\u597d\uff0c\u8bc1\u660e\u6d45\u663e\u6613\u61c2\uff0c\u975e\u5e38\u9002\u5408\u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u53e6\u5916\uff0c\u8fd9\u95e8\u8bfe\u53ea\u6709\u4e66\u9762\u4f5c\u4e1a\uff0c\u5e76\u4e14\u63a8\u8350\u7528Latex\u7f16\u5199\uff0c\u5927\u5bb6\u53ef\u4ee5\u501f\u6b64\u673a\u4f1a\u953b\u70bc\u81ea\u5df1\u7684 Latex\u6280\u5de7\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a13\u6b21\u4e66\u9762\u4f5c\u4e1a\uff0c\u7528Latex\u7f16\u5199 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS170: Efficient Algorithms and Intractable Problems"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#cs170-efficient-algorithms-and-intractable-problems","text":"","title":"CS170: Efficient Algorithms and Intractable Problems"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61B, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aLatex \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u7b97\u6cd5\u8bbe\u8ba1\u8bfe\uff0c\u66f4\u6ce8\u91cd\u7b97\u6cd5\u7684\u7406\u8bba\u57fa\u7840\u4e0e\u590d\u6742\u5ea6\u5206\u6790\u3002\u8bfe\u7a0b\u5185\u5bb9\u6db5\u76d6\u4e86\u5206\u6cbb\u3001\u56fe\u7b97\u6cd5\u3001\u6700\u77ed\u8def\u3001\u751f\u6210\u6811\u3001\u8d2a\u5fc3\u3001\u52a8\u89c4\u3001\u5e76\u67e5\u96c6\u3001\u7ebf\u6027\u89c4\u5212\u3001\u7f51\u7edc\u6d41\u3001 NP\u95ee\u9898\u3001\u968f\u673a\u7b97\u6cd5\u3001\u54c8\u5e0c\u7b97\u6cd5\u7b49\u7b49\u3002 \u8fd9\u95e8\u8bfe\u7684\u6559\u6750\u5199\u7684\u5f88\u597d\uff0c\u8bc1\u660e\u6d45\u663e\u6613\u61c2\uff0c\u975e\u5e38\u9002\u5408\u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u53e6\u5916\uff0c\u8fd9\u95e8\u8bfe\u53ea\u6709\u4e66\u9762\u4f5c\u4e1a\uff0c\u5e76\u4e14\u63a8\u8350\u7528Latex\u7f16\u5199\uff0c\u5927\u5bb6\u53ef\u4ee5\u501f\u6b64\u673a\u4f1a\u953b\u70bc\u81ea\u5df1\u7684 Latex\u6280\u5de7\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9notes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a13\u6b21\u4e66\u9762\u4f5c\u4e1a\uff0c\u7528Latex\u7f16\u5199","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/","text":"CS61B: Data Structures and Algorithms \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u4f2f\u514b\u5229CS61\u7cfb\u5217\u7684\u7b2c\u4e8c\u95e8\u8bfe\u7a0b\uff0c\u6ce8\u91cd\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u8bbe\u8ba1\uff0c\u540c\u65f6\u8ba9\u5b66\u751f\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u901a\u8fc7Java\u521d\u6b65\u9886\u4f1a\u8f6f\u4ef6\u5de5\u7a0b\u7684\u601d\u60f3\u3002 \u6211\u4e0a\u7684\u662f2018\u5e74\u6625\u5b63\u5b66\u671f\u7684\u7248\u672c\uff0c\u8be5\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08Josh Hug\u6559\u6388\u6177\u6168\u5730\u5c06autograder\u5f00\u6e90\u4e86\uff0c\u5927\u5bb6\u53ef\u4ee5\u901a\u8fc7\u7f51\u7ad9\u516c\u5f00\u7684\u9080\u8bf7\u7801\u5728 gradescope \u514d\u8d39\u52a0\u5165\u8bfe\u7a0b\uff0c\u4ece\u800c\u65b9\u4fbf\u5730\u6d4b\u8bc4\u81ea\u5df1\u7684\u4ee3\u7801\u3002 \u8fd9\u95e8\u8bfe\u6240\u6709\u7684\u7f16\u7a0b\u4f5c\u4e1a\u90fd\u662f\u4f7f\u7528Java\u5b8c\u6210\u7684\u3002\u6ca1\u6709Java\u57fa\u7840\u7684\u540c\u5b66\u4e5f\u4e0d\u7528\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u4f1a\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\uff0c\u4eceIDEA\uff08\u4e00\u6b3e\u4e3b\u6d41\u7684Java\u7f16\u7a0b\u73af\u5883\uff09 \u7684\u914d\u7f6e\u8bb2\u8d77\uff0c\u628aJava\u7684\u6838\u5fc3\u8bed\u6cd5\u4e0e\u7279\u6027\u4e8b\u65e0\u5de8\u7ec6\u5730\u8bb2\u6388\uff0c\u5927\u5bb6\u5b8c\u5168\u4e0d\u7528\u62c5\u5fc3\u8ddf\u4e0d\u4e0a\u7684\u95ee\u9898\u3002 \u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u8d28\u91cf\u4e5f\u662f\u7edd\u7edd\u5b50\u300214\u4e2alab\u4f1a\u8ba9\u4f60\u81ea\u5df1\u5b9e\u73b0\u8bfe\u4e0a\u6240\u8bb2\u7684\u7edd\u5927\u90e8\u5206\u6570\u636e\u7ed3\u6784\uff0c10\u4e2ahomework\u4f1a\u8ba9\u4f60\u8fd0\u7528\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c \u53e6\u5916\u8fd8\u67093\u4e2aProject\u66f4\u662f\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u5728\u5b9e\u6218\u4e2d\u78e8\u7ec3\u81ea\u5df1\u7684Java\u80fd\u529b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u6bcf\u5e74\u7565\u6709\u4e0d\u540c\uff0c18\u5e74\u6625\u5b63\u5b66\u671f\u670914\u4e2alab\uff0c10\u4e2ahomework\u4ee5\u53ca3\u4e2aproject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS61B: Data Structures and Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#cs61b-data-structures-and-algorithms","text":"","title":"CS61B: Data Structures and Algorithms"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a60\u5c0f\u65f6 \u4f2f\u514b\u5229CS61\u7cfb\u5217\u7684\u7b2c\u4e8c\u95e8\u8bfe\u7a0b\uff0c\u6ce8\u91cd\u6570\u636e\u7ed3\u6784\u4e0e\u7b97\u6cd5\u7684\u8bbe\u8ba1\uff0c\u540c\u65f6\u8ba9\u5b66\u751f\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u901a\u8fc7Java\u521d\u6b65\u9886\u4f1a\u8f6f\u4ef6\u5de5\u7a0b\u7684\u601d\u60f3\u3002 \u6211\u4e0a\u7684\u662f2018\u5e74\u6625\u5b63\u5b66\u671f\u7684\u7248\u672c\uff0c\u8be5\u8bfe\u7684\u5f00\u8bfe\u8001\u5e08Josh Hug\u6559\u6388\u6177\u6168\u5730\u5c06autograder\u5f00\u6e90\u4e86\uff0c\u5927\u5bb6\u53ef\u4ee5\u901a\u8fc7\u7f51\u7ad9\u516c\u5f00\u7684\u9080\u8bf7\u7801\u5728 gradescope \u514d\u8d39\u52a0\u5165\u8bfe\u7a0b\uff0c\u4ece\u800c\u65b9\u4fbf\u5730\u6d4b\u8bc4\u81ea\u5df1\u7684\u4ee3\u7801\u3002 \u8fd9\u95e8\u8bfe\u6240\u6709\u7684\u7f16\u7a0b\u4f5c\u4e1a\u90fd\u662f\u4f7f\u7528Java\u5b8c\u6210\u7684\u3002\u6ca1\u6709Java\u57fa\u7840\u7684\u540c\u5b66\u4e5f\u4e0d\u7528\u62c5\u5fc3\uff0c\u8bfe\u7a0b\u4f1a\u6709\u4fdd\u59c6\u7ea7\u7684\u6559\u7a0b\uff0c\u4eceIDEA\uff08\u4e00\u6b3e\u4e3b\u6d41\u7684Java\u7f16\u7a0b\u73af\u5883\uff09 \u7684\u914d\u7f6e\u8bb2\u8d77\uff0c\u628aJava\u7684\u6838\u5fc3\u8bed\u6cd5\u4e0e\u7279\u6027\u4e8b\u65e0\u5de8\u7ec6\u5730\u8bb2\u6388\uff0c\u5927\u5bb6\u5b8c\u5168\u4e0d\u7528\u62c5\u5fc3\u8ddf\u4e0d\u4e0a\u7684\u95ee\u9898\u3002 \u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u8d28\u91cf\u4e5f\u662f\u7edd\u7edd\u5b50\u300214\u4e2alab\u4f1a\u8ba9\u4f60\u81ea\u5df1\u5b9e\u73b0\u8bfe\u4e0a\u6240\u8bb2\u7684\u7edd\u5927\u90e8\u5206\u6570\u636e\u7ed3\u6784\uff0c10\u4e2ahomework\u4f1a\u8ba9\u4f60\u8fd0\u7528\u6570\u636e\u7ed3\u6784\u548c\u7b97\u6cd5\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c \u53e6\u5916\u8fd8\u67093\u4e2aProject\u66f4\u662f\u8ba9\u4f60\u6709\u673a\u4f1a\u63a5\u89e6\u4e0a\u5343\u884c\u7684\u5de5\u7a0b\u4ee3\u7801\uff0c\u5728\u5b9e\u6218\u4e2d\u78e8\u7ec3\u81ea\u5df1\u7684Java\u80fd\u529b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u6bcf\u5e74\u7565\u6709\u4e0d\u540c\uff0c18\u5e74\u6625\u5b63\u5b66\u671f\u670914\u4e2alab\uff0c10\u4e2ahomework\u4ee5\u53ca3\u4e2aproject\uff0c\u5177\u4f53\u8981\u6c42\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/","text":"CS189: Introduction to Machine Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u7cfb\u7edf\u4e0a\u8fc7\uff0c\u53ea\u662f\u628a\u5b83\u7684\u8bfe\u7a0bnotes\u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u4e0d\u8fc7\u4ece\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u6765\u770b\uff0c\u5b83\u6bd4CS229\u597d\u7684\u662f\u5f00\u6e90\u4e86\u6240\u6709homeword\u7684\u4ee3\u7801\u4ee5\u53cagradescope\u7684autograder\u3002\u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u8bb2\u5f97\u76f8\u5f53\u7406\u8bba\u4e14\u6df1\u5165\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a","title":"UCB CS189: Introduction to Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#cs189-introduction-to-machine-learning","text":"","title":"CS189: Introduction to Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS70 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u7cfb\u7edf\u4e0a\u8fc7\uff0c\u53ea\u662f\u628a\u5b83\u7684\u8bfe\u7a0bnotes\u4f5c\u4e3a\u5de5\u5177\u4e66\u67e5\u9605\u3002\u4e0d\u8fc7\u4ece\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u6765\u770b\uff0c\u5b83\u6bd4CS229\u597d\u7684\u662f\u5f00\u6e90\u4e86\u6240\u6709homeword\u7684\u4ee3\u7801\u4ee5\u53cagradescope\u7684autograder\u3002\u540c\u6837\uff0c\u8fd9\u95e8\u8bfe\u8bb2\u5f97\u76f8\u5f53\u7406\u8bba\u4e14\u6df1\u5165\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/","text":"CS229: Machine Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u9ad8\u6570\uff0c\u6982\u7387\u8bba\uff0cPython\uff0c\u9700\u8981\u8f83\u6df1\u539a\u7684\u6570\u5b66\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u540c\u6837\u662f\u5434\u6069\u8fbe\u8bb2\u6388\uff0c\u4f46\u662f\u8fd9\u662f\u4e00\u95e8\u7814\u7a76\u751f\u8bfe\u7a0b\uff0c\u6240\u4ee5\u66f4\u504f\u91cd\u6570\u5b66\u7406\u8bba\uff0c\u4e0d\u6ee1\u8db3\u4e8e\u8c03\u5305\u800c\u60f3\u6df1\u5165\u7406\u89e3\u7b97\u6cd5\u672c\u8d28\uff0c\u6216\u8005\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u8fd9\u95e8\u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u63d0\u4f9b\u4e86\u6240\u6709\u7684\u8bfe\u7a0bnotes\uff0c\u5199\u5f97\u975e\u5e38\u4e13\u4e1a\u4e14\u7406\u8bba\uff0c\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u529f\u5e95\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u8bfe\u7a0bnotes\u5199\u5f97\u975e\u5e38\u597d \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e0d\u5bf9\u516c\u4f17\u5f00\u653e \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Stanford CS229: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#cs229-machine-learning","text":"","title":"CS229: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u9ad8\u6570\uff0c\u6982\u7387\u8bba\uff0cPython\uff0c\u9700\u8981\u8f83\u6df1\u539a\u7684\u6570\u5b66\u529f\u5e95 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u540c\u6837\u662f\u5434\u6069\u8fbe\u8bb2\u6388\uff0c\u4f46\u662f\u8fd9\u662f\u4e00\u95e8\u7814\u7a76\u751f\u8bfe\u7a0b\uff0c\u6240\u4ee5\u66f4\u504f\u91cd\u6570\u5b66\u7406\u8bba\uff0c\u4e0d\u6ee1\u8db3\u4e8e\u8c03\u5305\u800c\u60f3\u6df1\u5165\u7406\u89e3\u7b97\u6cd5\u672c\u8d28\uff0c\u6216\u8005\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\u7684\u540c\u5b66\u53ef\u4ee5\u5b66\u4e60\u8fd9\u95e8\u8bfe\u7a0b\u3002\u8bfe\u7a0b\u7f51\u7ad9\u4e0a\u63d0\u4f9b\u4e86\u6240\u6709\u7684\u8bfe\u7a0bnotes\uff0c\u5199\u5f97\u975e\u5e38\u4e13\u4e1a\u4e14\u7406\u8bba\uff0c\u9700\u8981\u4e00\u5b9a\u7684\u6570\u5b66\u529f\u5e95\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0\uff0c\u8bfe\u7a0bnotes\u5199\u5f97\u975e\u5e38\u597d \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e0d\u5bf9\u516c\u4f17\u5f00\u653e","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/","text":"Coursera: Machine Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aAI\u5165\u95e8 + \u719f\u7ec3\u4f7f\u7528Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8bf4\u8d77\u5434\u6069\u8fbe\uff0c\u5728AI\u5c4a\u5e94\u8be5\u65e0\u4eba\u4e0d\u6653\u3002\u4ed6\u662f\u8457\u540d\u5728\u7ebf\u6559\u80b2\u5e73\u53f0 Coursera \u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff0c\u540c\u65f6\u4e5f\u662fStanford\u7684\u7f51\u7ea2\u6559\u6388\u3002\u8fd9\u95e8\u673a\u5668\u5b66\u4e60\u5165\u95e8\u8bfe\u5e94\u8be5\u7b97\u5f97\u4e0a\u662f\u4ed6\u7684\u6210\u540d\u4f5c\u4e4b\u4e00\uff08\u53e6\u4e00\u4e2a\u662f\u6df1\u5ea6\u5b66\u4e60\u8bfe\u7a0b\uff09\uff0c\u5728Coursera\u4e0a\u62e5\u6709\u6570\u5341\u4e07\u7684\u5b66\u4e60\u8005\uff08\u6ce8\u610f\u8fd9\u662f\u82b1\u94b1\u4e70\u4e86\u8bc1\u4e66\u7684\u4eba\uff0c\u4e00\u4e2a\u8bc1\u4e66\u51e0\u767e\u5200\uff09\uff0c\u767d\u5ad6\u5b66\u4e60\u8005\u6570\u91cf\u5e94\u8be5\u662f\u53e6\u4e00\u4e2a\u6570\u91cf\u7ea7\u4e86\u3002 \u8fd9\u95e8\u8bfe\u5bf9\u65b0\u624b\u6781\u5176\u53cb\u597d\uff0c\u5434\u6069\u8fbe\u62e5\u6709\u628a\u673a\u5668\u5b66\u4e60\u8bb2\u62101+1=2\u4e00\u6837\u76f4\u767d\u7684\u80fd\u529b\u3002\u4f60\u5c06\u4f1a\u5b66\u4e60\u5230\u7ebf\u6027\u56de\u5f52\u3001\u903b\u8f91\u56de\u5f52\u3001\u652f\u6301\u5411\u91cf\u673a\u3001\u65e0\u76d1\u7763\u5b66\u4e60\u3001\u964d\u7ef4\u3001\u5f02\u5e38\u68c0\u6d4b\u548c\u63a8\u8350\u7cfb\u7edf\u7b49\u7b49\u77e5\u8bc6\uff0c\u5e76\u4e14\u5728\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u592f\u5b9e\u81ea\u5df1\u7684\u7406\u89e3\u3002\u4f5c\u4e1a\u8d28\u91cf\u81ea\u7136\u4e0d\u5fc5\u591a\u8a00\uff0c\u4fdd\u59c6\u7ea7\u4ee3\u7801\u6846\u67b6\uff0c\u4f5c\u4e1a\u80cc\u666f\u4e5f\u591a\u53d6\u81ea\u751f\u6d3b\uff0c\u8ba9\u4eba\u5b66\u4ee5\u81f4\u7528\u3002 \u5f53\u7136\uff0c\u8fd9\u95e8\u8bfe\u4f5c\u4e3a\u4e00\u4e2a\u516c\u5f00\u6155\u8bfe\uff0c\u96be\u5ea6\u4e0a\u523b\u610f\u653e\u4f4e\u4e86\u4e9b\uff0c\u5f88\u591a\u6570\u5b66\u63a8\u5bfc\u5927\u591a\u4e00\u5e26\u800c\u8fc7\uff0c\u5982\u679c\u4f60\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\uff0c\u60f3\u8981\u6df1\u7a76\u8fd9\u4e9b\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u7406\u8bba\uff0c\u53ef\u4ee5\u53c2\u8003 CS229 \u548c CS189 \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8d44\u6e90\u6c47\u603b \u5f53\u65f6\u91cd\u88c5\u7cfb\u7edf\u8bef\u5220\u4e86\u6587\u4ef6\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6d88\u5931\u5728\u4e86\u78c1\u76d8\u768401\u4e32\u4e2d\u3002\u4e0d\u8fc7\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u60f3\u641c\u4e0d\u5230\u7b54\u6848\u90fd\u96be\uff0c\u76f8\u5173\u8bfe\u7a0b\u8d44\u6599Coursera\u4e0a\u4e5f\u4e00\u5e94\u4ff1\u5168\u3002","title":"Coursera: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#coursera-machine-learning","text":"","title":"Coursera: Machine Learning"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aAI\u5165\u95e8 + \u719f\u7ec3\u4f7f\u7528Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8bf4\u8d77\u5434\u6069\u8fbe\uff0c\u5728AI\u5c4a\u5e94\u8be5\u65e0\u4eba\u4e0d\u6653\u3002\u4ed6\u662f\u8457\u540d\u5728\u7ebf\u6559\u80b2\u5e73\u53f0 Coursera \u7684\u521b\u59cb\u4eba\u4e4b\u4e00\uff0c\u540c\u65f6\u4e5f\u662fStanford\u7684\u7f51\u7ea2\u6559\u6388\u3002\u8fd9\u95e8\u673a\u5668\u5b66\u4e60\u5165\u95e8\u8bfe\u5e94\u8be5\u7b97\u5f97\u4e0a\u662f\u4ed6\u7684\u6210\u540d\u4f5c\u4e4b\u4e00\uff08\u53e6\u4e00\u4e2a\u662f\u6df1\u5ea6\u5b66\u4e60\u8bfe\u7a0b\uff09\uff0c\u5728Coursera\u4e0a\u62e5\u6709\u6570\u5341\u4e07\u7684\u5b66\u4e60\u8005\uff08\u6ce8\u610f\u8fd9\u662f\u82b1\u94b1\u4e70\u4e86\u8bc1\u4e66\u7684\u4eba\uff0c\u4e00\u4e2a\u8bc1\u4e66\u51e0\u767e\u5200\uff09\uff0c\u767d\u5ad6\u5b66\u4e60\u8005\u6570\u91cf\u5e94\u8be5\u662f\u53e6\u4e00\u4e2a\u6570\u91cf\u7ea7\u4e86\u3002 \u8fd9\u95e8\u8bfe\u5bf9\u65b0\u624b\u6781\u5176\u53cb\u597d\uff0c\u5434\u6069\u8fbe\u62e5\u6709\u628a\u673a\u5668\u5b66\u4e60\u8bb2\u62101+1=2\u4e00\u6837\u76f4\u767d\u7684\u80fd\u529b\u3002\u4f60\u5c06\u4f1a\u5b66\u4e60\u5230\u7ebf\u6027\u56de\u5f52\u3001\u903b\u8f91\u56de\u5f52\u3001\u652f\u6301\u5411\u91cf\u673a\u3001\u65e0\u76d1\u7763\u5b66\u4e60\u3001\u964d\u7ef4\u3001\u5f02\u5e38\u68c0\u6d4b\u548c\u63a8\u8350\u7cfb\u7edf\u7b49\u7b49\u77e5\u8bc6\uff0c\u5e76\u4e14\u5728\u7f16\u7a0b\u5b9e\u8df5\u4e2d\u592f\u5b9e\u81ea\u5df1\u7684\u7406\u89e3\u3002\u4f5c\u4e1a\u8d28\u91cf\u81ea\u7136\u4e0d\u5fc5\u591a\u8a00\uff0c\u4fdd\u59c6\u7ea7\u4ee3\u7801\u6846\u67b6\uff0c\u4f5c\u4e1a\u80cc\u666f\u4e5f\u591a\u53d6\u81ea\u751f\u6d3b\uff0c\u8ba9\u4eba\u5b66\u4ee5\u81f4\u7528\u3002 \u5f53\u7136\uff0c\u8fd9\u95e8\u8bfe\u4f5c\u4e3a\u4e00\u4e2a\u516c\u5f00\u6155\u8bfe\uff0c\u96be\u5ea6\u4e0a\u523b\u610f\u653e\u4f4e\u4e86\u4e9b\uff0c\u5f88\u591a\u6570\u5b66\u63a8\u5bfc\u5927\u591a\u4e00\u5e26\u800c\u8fc7\uff0c\u5982\u679c\u4f60\u6709\u5fd7\u4e8e\u4ece\u4e8b\u673a\u5668\u5b66\u4e60\u7406\u8bba\u7814\u7a76\uff0c\u60f3\u8981\u6df1\u7a76\u8fd9\u4e9b\u7b97\u6cd5\u80cc\u540e\u7684\u6570\u5b66\u7406\u8bba\uff0c\u53ef\u4ee5\u53c2\u8003 CS229 \u548c CS189 \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/#_3","text":"\u5f53\u65f6\u91cd\u88c5\u7cfb\u7edf\u8bef\u5220\u4e86\u6587\u4ef6\uff0c\u6211\u7684\u4ee3\u7801\u5b9e\u73b0\u6d88\u5931\u5728\u4e86\u78c1\u76d8\u768401\u4e32\u4e2d\u3002\u4e0d\u8fc7\u8fd9\u95e8\u8bfe\u7531\u4e8e\u592a\u8fc7\u51fa\u540d\uff0c\u7f51\u4e0a\u60f3\u641c\u4e0d\u5230\u7b54\u6848\u90fd\u96be\uff0c\u76f8\u5173\u8bfe\u7a0b\u8d44\u6599Coursera\u4e0a\u4e5f\u4e00\u5e94\u4ff1\u5168\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/","text":"CMU 10-708: Probabilistic Graphical Models \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttps://sailinglab.github.io/pgm-spring-2019/ \u8fd9\u4e2a\u7f51\u7ad9\u5305\u542b\u4e86\u6240\u6709\u7684\u8d44\u6e90\uff1aslides, nots, video, homework, project \u8fd9\u95e8\u8bfe\u7a0b\u662f CMU \u7684\u56fe\u6a21\u578b\u57fa\u7840 + \u8fdb\u9636\u8bfe\uff0c\u6388\u8bfe\u8001\u5e08\u4e3a Eric P. Xing\uff0c\u6db5\u76d6\u4e86\u56fe\u6a21\u578b\u57fa\u7840\uff0c\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u5728\u5f3a\u5316\u5b66\u4e60\u4e2d\u7684\u5e94\u7528\uff0c\u4ee5\u53ca\u975e\u53c2\u6570\u65b9\u6cd5\u3002\u76f8\u5f53\u786c\u6838","title":"CMU 10-708: Probabilistic Graphical Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/#cmu-10-708-probabilistic-graphical-models","text":"","title":"CMU 10-708: Probabilistic Graphical Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aCMU \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttps://sailinglab.github.io/pgm-spring-2019/ \u8fd9\u4e2a\u7f51\u7ad9\u5305\u542b\u4e86\u6240\u6709\u7684\u8d44\u6e90\uff1aslides, nots, video, homework, project \u8fd9\u95e8\u8bfe\u7a0b\u662f CMU \u7684\u56fe\u6a21\u578b\u57fa\u7840 + \u8fdb\u9636\u8bfe\uff0c\u6388\u8bfe\u8001\u5e08\u4e3a Eric P. Xing\uff0c\u6db5\u76d6\u4e86\u56fe\u6a21\u578b\u57fa\u7840\uff0c\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u5728\u5f3a\u5316\u5b66\u4e60\u4e2d\u7684\u5e94\u7528\uff0c\u4ee5\u53ca\u975e\u53c2\u6570\u65b9\u6cd5\u3002\u76f8\u5f53\u786c\u6838","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/","text":"STATS214 / CS229M: Machine Learning Theory \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Statistics \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttp://web.stanford.edu/class/stats214/ \u7ecf\u5178\u5b66\u4e60\u7406\u8bba + \u6700\u65b0\u6df1\u5ea6\u5b66\u4e60\u7406\u8bba\uff0c\u975e\u5e38\u786c\u6838\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u524d\u662f Percy Liang\uff0c\u73b0\u5728\u662f Tengyu Ma","title":"Stanford STATS214 / CS229M: Machine Learning Theory"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/#stats214-cs229m-machine-learning-theory","text":"","title":"STATS214 / CS229M: Machine Learning Theory"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Statistics \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttp://web.stanford.edu/class/stats214/ \u7ecf\u5178\u5b66\u4e60\u7406\u8bba + \u6700\u65b0\u6df1\u5ea6\u5b66\u4e60\u7406\u8bba\uff0c\u975e\u5e38\u786c\u6838\u3002\u6388\u8bfe\u8001\u5e08\u4e4b\u524d\u662f Percy Liang\uff0c\u73b0\u5728\u662f Tengyu Ma","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/","text":"STA 4273 Winter 2021: Minimizing Expectations \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aU Toronto \u5148\u4fee\u8981\u6c42\uff1aBayesian Inference, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttps://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/ \u8fd9\u662f\u4e00\u95e8\u8f83\u4e3a\u8fdb\u9636\u7684 Ph.D. \u7814\u7a76\u8bfe\u7a0b\uff0c\u6838\u5fc3\u5185\u5bb9\u662f inference \u548c control \u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6388\u8bfe\u8001\u5e08\u4e3a Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)","title":"U Toronto STA 4273 Winter 2021: Minimizing Expectations"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/#sta-4273-winter-2021-minimizing-expectations","text":"","title":"STA 4273 Winter 2021: Minimizing Expectations"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aU Toronto \u5148\u4fee\u8981\u6c42\uff1aBayesian Inference, Reinforcement Learning \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttps://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/ \u8fd9\u662f\u4e00\u95e8\u8f83\u4e3a\u8fdb\u9636\u7684 Ph.D. \u7814\u7a76\u8bfe\u7a0b\uff0c\u6838\u5fc3\u5185\u5bb9\u662f inference \u548c control \u4e4b\u95f4\u7684\u5173\u7cfb\u3002\u6388\u8bfe\u8001\u5e08\u4e3a Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/","text":"Columbia STAT 8201: Deep Generative Models \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aColumbia University \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Graphical Models \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttp://stat.columbia.edu/~cunningham/teaching/GR8201/ \u8fd9\u95e8\u8bfe\u662f\u4e00\u95e8 PhD \u8ba8\u8bba\u73ed\uff0c\u6bcf\u5468\u7684\u5185\u5bb9\u662f\u5c55\u793a + \u8ba8\u8bba\u8bba\u6587\uff0c\u6388\u8bfe\u8001\u5e08\u662f John Cunningham\u3002Deep Generative Models \uff08\u6df1\u5ea6\u751f\u6210\u6a21\u578b\uff09 \u662f\u56fe\u6a21\u578b\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u4e5f\u662f\u73b0\u4ee3\u673a\u5668\u5b66\u4e60\u6700\u91cd\u8981\u7684\u65b9\u5411\u4e4b\u4e00","title":"Columbia STAT 8201: Deep Generative Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/#columbia-stat-8201-deep-generative-models","text":"","title":"Columbia STAT 8201: Deep Generative Models"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aColumbia University \u5148\u4fee\u8981\u6c42\uff1aMachine Learning, Deep Learning, Graphical Models \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u8bfe\u7a0b\u7f51\u7ad9\uff1ahttp://stat.columbia.edu/~cunningham/teaching/GR8201/ \u8fd9\u95e8\u8bfe\u662f\u4e00\u95e8 PhD \u8ba8\u8bba\u73ed\uff0c\u6bcf\u5468\u7684\u5185\u5bb9\u662f\u5c55\u793a + \u8ba8\u8bba\u8bba\u6587\uff0c\u6388\u8bfe\u8001\u5e08\u662f John Cunningham\u3002Deep Generative Models \uff08\u6df1\u5ea6\u751f\u6210\u6a21\u578b\uff09 \u662f\u56fe\u6a21\u578b\u4e0e\u795e\u7ecf\u7f51\u7edc\u7684\u7ed3\u5408\uff0c\u4e5f\u662f\u73b0\u4ee3\u673a\u5668\u5b66\u4e60\u6700\u91cd\u8981\u7684\u65b9\u5411\u4e4b\u4e00","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/","text":"\u673a\u5668\u5b66\u4e60\u8fdb\u9636 \u6b64\u8def\u7ebf\u56fe\u9002\u7528\u4e8e\u5df2\u7ecf\u5b66\u8fc7\u4e86\u57fa\u7840\u673a\u5668\u5b66\u4e60 (ML, NLP, CV, RL) \u7684\u540c\u5b66 (\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u6216\u4f4e\u5e74\u7ea7\u7814\u7a76\u751f)\uff0c\u5df2\u7ecf\u53d1\u8868\u8fc7\u81f3\u5c11\u4e00\u7bc7\u9876\u4f1a\u8bba\u6587 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) \u60f3\u8981\u8d70\u673a\u5668\u5b66\u4e60\u79d1\u7814\u8def\u7ebf\u7684\u9009\u624b\u3002 \u6b64\u8def\u7ebf\u7684\u76ee\u6807\u662f\u4e3a\u8bfb\u61c2\u4e0e\u53d1\u8868\u673a\u5668\u5b66\u4e60\u9876\u4f1a\u8bba\u6587\u6253\u4e0b\u7406\u8bba\u57fa\u7840\uff0c\u7279\u522b\u662f Probabilistic Methods \u8fd9\u4e2a track \u4e0b\u7684\u6587\u7ae0 \u673a\u5668\u5b66\u4e60\u8fdb\u9636\u53ef\u80fd\u5b58\u5728\u591a\u79cd\u4e0d\u540c\u7684\u5b66\u4e60\u8def\u7ebf\uff0c\u6b64\u8def\u7ebf\u53ea\u80fd\u4ee3\u8868\u4f5c\u8005 Yao Fu \u6240\u7406\u89e3\u7684\u6700\u4f73\u8def\u5f84\uff0c\u4fa7\u91cd\u4e8e\u8d1d\u53f6\u65af\u5b66\u6d3e\u4e0b\u7684\u6982\u7387\u5efa\u6a21\u65b9\u6cd5\uff0c\u4e5f\u4f1a\u6d89\u53ca\u5230\u5404\u9879\u76f8\u5173\u5b66\u79d1\u7684\u4ea4\u53c9\u77e5\u8bc6\u3002 \u5fc5\u8bfb\u6559\u6750 PRML: Pattern Recognition and Machine Learning. Christopher Bishop \u7ecf\u5178\u8d1d\u53f6\u65af\u5b66\u6d3e\u6559\u6750 AoS: All of Statistics. Larry Wasserman \u7ecf\u5178\u9891\u7387\u5b66\u6d3e\u6559\u6750 \u6240\u4ee5\u8fd9\u4e24\u672c\u4e66\u521a\u597d\u76f8\u8f85\u76f8\u6210 \u5b57\u5178 MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy Convex Optimization. Stephen Boyd and Lieven Vandenberghe \u8fdb\u9636\u4e66\u7c4d W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan Theory of Point Estimation. E. L. Lehmann and George Casella \u5982\u4f55\u9605\u8bfb Guidelines \u5fc5\u8bfb\u6559\u6750\u5c31\u662f\u4e00\u5b9a\u8981\u8bfb\u7684\u6559\u6750 \u5b57\u5178\u7684\u610f\u601d\u662f\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u7ba1\u5b83\uff0c\u4f46\u5f53\u9047\u5230\u4e86\u4e0d\u61c2\u7684\u6982\u5ff5\u7684\u65f6\u5019\uff0c\u5c31\u53bb\u5b57\u5178\u91cc\u9762\u67e5\uff08\u800c\u4e0d\u662f\u7ef4\u57fa\u767e\u79d1\uff09 \u8fdb\u9636\u4e66\u7c4d\u5148\u4e0d\u8bfb\uff0c\u5148\u8bfb\u5b8c\u5fc5\u8bfb\u4e66\u7c4d\u3002\u5fc5\u8bfb\u4e66\u7c4d\u4e00\u822c\u90fd\u662f\u8981\u524d\u524d\u540e\u540e\u53cd\u590d\u770b\u8fc7 N \u904d\u624d\u7b97\u8bfb\u5b8c \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u8bfb\u6cd5\u5c31\u662f\u5bf9\u6bd4\u9605\u8bfb (contrastive-comparative reading)\uff1a\u540c\u65f6\u6253\u5f00\u4e24\u672c\u4e66\u8bb2\u540c\u4e00\u4e3b\u9898\u7684\u7ae0\u8282\uff0c\u7136\u540e\u5bf9\u6bd4\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c3d\u91cf\u53bb\u56de\u60f3\u4e4b\u524d\u8bfb\u8fc7\u7684\u8bba\u6587\uff0c\u6bd4\u8f83\u8bba\u6587\u548c\u6559\u6750\u7684\u76f8\u540c\u70b9\u4e0e\u4e0d\u540c\u70b9 \u57fa\u7840\u8def\u5f84 \u5148\u8bfb AoS \u7b2c\u516d\u7ae0: Models, Statistical Inference and Learning\uff0c\u8fd9\u4e00\u90e8\u5206\u662f\u6700\u57fa\u7840\u7684\u79d1\u666e \u7136\u540e\u8bfb PRML \u7b2c 10, 11 \u7ae0 \u7b2c 10 \u7ae0\u7684\u5185\u5bb9\u662f Variational Inference, \u7b2c 11 \u7ae0\u7684\u5185\u5bb9\u662f MCMC, \u8fd9\u4e24\u79cd\u65b9\u6cd5\u662f\u8d1d\u53f6\u65af\u63a8\u65ad\u7684\u4e24\u6761\u6700\u4e3b\u8981\u8def\u7ebf \u5982\u679c\u5728\u8bfb PRML \u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u6709\u4efb\u4f55\u4e0d\u61c2\u7684\u540d\u8bcd\uff0c\u5c31\u53bb\u7ffb\u524d\u9762\u7684\u7ae0\u8282\u3002\u5f88\u5927\u6982\u7387\u80fd\u591f\u5728\u7b2c 3\uff0c4 \u7ae0\u627e\u5230\u76f8\u5bf9\u5e94\u7684\u5b9a\u4e49\uff1b\u5982\u679c\u627e\u4e0d\u5230\u6216\u8005\u4e0d\u591f\u8be6\u7ec6\uff0c\u5c31\u53bb\u67e5 MLAPP AoS \u7b2c 8 \u7ae0 (Parametric Inference) \u548c\u7b2c 11 \u7ae0 (Bayesian Inference) \u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\u6700\u597d\u7684\u65b9\u6cd5\u662f\u591a\u672c\u4e66\u5bf9\u6bd4\u9605\u8bfb\uff0c\u6d41\u7a0b\u5982\u4e0b \u5047\u8bbe\u6211\u5728\u8bfb PRML \u7b2c 10 \u7ae0\u7684\u65f6\u5019\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e0d\u61c2\u7684\u8bcd\uff1aposterior inference \u4e8e\u662f\u6211\u5f80\u524d\u7ffb\uff0c\u7ffb\u5230\u4e86\u7b2c 3 \u7ae0 (Linear Model for Regression)\uff0c\u770b\u5230\u4e86\u6700\u7b80\u5355\u7684 posterior \u7136\u540e\u6211\u63a5\u7740\u7ffb AoS\uff0c\u7ffb\u5230\u4e86\u7b2c 11 \u7ae0\uff0c\u4e5f\u6709\u5bf9 posterior \u7684\u63cf\u8ff0 \u7136\u540e\u6211\u5bf9\u6bd4 PRML \u7b2c 10 \u7ae0\uff0c\u7b2c 3 \u7ae0\uff0cAoS \u7b2c 11 \u7ae0\uff0c\u4e09\u5904\u4e0d\u540c\u5730\u65b9\u5bf9 posterior \u7684\u89e3\u8bfb\uff0c\u6bd4\u8f83\u5176\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u5b8c PRML \u7b2c 10 \u548c 11 \u7ae0\u4e4b\u540e\uff0c\u63a5\u7740\u8bfb AoS \u7b2c 24 \u7ae0 (Simulation Methods)\uff0c\u7136\u540e\u628a\u5b83\u548c PRML \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb -- \u8fd9\u4fe9\u90fd\u662f\u8bb2 MCMC \u5982\u679c\u5230\u6b64\u5904\u53d1\u73b0\u8fd8\u6709\u57fa\u7840\u6982\u5ff5\u8bfb\u4e0d\u61c2\uff0c\u5c31\u56de\u5230 PRML \u7b2c 3 \u7ae0\uff0c\u628a\u5b83\u548c AoS \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb Again\uff0c\u5bf9\u6bd4\u9605\u8bfb\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u628a\u4e0d\u540c\u672c\u4e66\u7684\u7c7b\u4f3c\u5185\u5bb9\u540c\u65f6\u6446\u5728\u9762\u524d\u76f8\u4e92\u5bf9\u6bd4\uff0c\u8fd9\u6837\u53ef\u4ee5\u663e\u8457\u589e\u5f3a\u8bb0\u5fc6 \u7136\u540e\u8bfb PRML \u7b2c 13 \u7ae0\uff08\u8df3\u8fc7\u7b2c 12 \u7ae0\uff09\uff0c\u8fd9\u4e00\u7ae0\u53ef\u4ee5\u548c MLAPP \u7684\u7b2c 17, 18 \u7ae0\u5bf9\u6bd4\u9605\u8bfb MLAPP \u7b2c 17 \u7ae0\u662f PRML \u7b2c 13.2 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 HMM MLAPP \u7b2c 18 \u7ae0\u662f PRML \u7b2c 13.3 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 LDS \u8bfb\u5b8c PRML \u7b2c 13 \u7ae0\u4e4b\u540e\uff0c\u518d\u53bb\u8bfb PRML \u7b2c 8 \u7ae0 (Graphical Models) -- \u6b64\u65f6\u8fd9\u90e8\u5206\u5e94\u8be5\u4f1a\u8bfb\u5f97\u5f88\u8f7b\u677e \u4ee5\u4e0a\u7684\u5185\u5bb9\u53ef\u4ee5\u8fdb\u4e00\u6b65\u5bf9\u7167 CMU 10-708 PGM \u8bfe\u7a0b\u6750\u6599 \u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u5e94\u8be5\u80fd\u591f\u638c\u63e1 - \u6982\u7387\u6a21\u578b\u7684\u57fa\u7840\u5b9a\u4e49 - \u7cbe\u51c6\u63a8\u65ad - Sum-Product - \u8fd1\u4f3c\u63a8\u65ad - MCMC - \u8fd1\u4f3c\u63a8\u65ad - VI \u7136\u540e\u5c31\u53ef\u4ee5\u53bb\u505a\u66f4\u8fdb\u9636\u7684\u5185\u5bb9","title":"\u8fdb\u9636\u8def\u7ebf\u56fe"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_1","text":"\u6b64\u8def\u7ebf\u56fe\u9002\u7528\u4e8e\u5df2\u7ecf\u5b66\u8fc7\u4e86\u57fa\u7840\u673a\u5668\u5b66\u4e60 (ML, NLP, CV, RL) \u7684\u540c\u5b66 (\u9ad8\u5e74\u7ea7\u672c\u79d1\u751f\u6216\u4f4e\u5e74\u7ea7\u7814\u7a76\u751f)\uff0c\u5df2\u7ecf\u53d1\u8868\u8fc7\u81f3\u5c11\u4e00\u7bc7\u9876\u4f1a\u8bba\u6587 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) \u60f3\u8981\u8d70\u673a\u5668\u5b66\u4e60\u79d1\u7814\u8def\u7ebf\u7684\u9009\u624b\u3002 \u6b64\u8def\u7ebf\u7684\u76ee\u6807\u662f\u4e3a\u8bfb\u61c2\u4e0e\u53d1\u8868\u673a\u5668\u5b66\u4e60\u9876\u4f1a\u8bba\u6587\u6253\u4e0b\u7406\u8bba\u57fa\u7840\uff0c\u7279\u522b\u662f Probabilistic Methods \u8fd9\u4e2a track \u4e0b\u7684\u6587\u7ae0 \u673a\u5668\u5b66\u4e60\u8fdb\u9636\u53ef\u80fd\u5b58\u5728\u591a\u79cd\u4e0d\u540c\u7684\u5b66\u4e60\u8def\u7ebf\uff0c\u6b64\u8def\u7ebf\u53ea\u80fd\u4ee3\u8868\u4f5c\u8005 Yao Fu \u6240\u7406\u89e3\u7684\u6700\u4f73\u8def\u5f84\uff0c\u4fa7\u91cd\u4e8e\u8d1d\u53f6\u65af\u5b66\u6d3e\u4e0b\u7684\u6982\u7387\u5efa\u6a21\u65b9\u6cd5\uff0c\u4e5f\u4f1a\u6d89\u53ca\u5230\u5404\u9879\u76f8\u5173\u5b66\u79d1\u7684\u4ea4\u53c9\u77e5\u8bc6\u3002","title":"\u673a\u5668\u5b66\u4e60\u8fdb\u9636"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_2","text":"PRML: Pattern Recognition and Machine Learning. Christopher Bishop \u7ecf\u5178\u8d1d\u53f6\u65af\u5b66\u6d3e\u6559\u6750 AoS: All of Statistics. Larry Wasserman \u7ecf\u5178\u9891\u7387\u5b66\u6d3e\u6559\u6750 \u6240\u4ee5\u8fd9\u4e24\u672c\u4e66\u521a\u597d\u76f8\u8f85\u76f8\u6210","title":"\u5fc5\u8bfb\u6559\u6750"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_3","text":"MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy Convex Optimization. Stephen Boyd and Lieven Vandenberghe","title":"\u5b57\u5178"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_4","text":"W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan Theory of Point Estimation. E. L. Lehmann and George Casella","title":"\u8fdb\u9636\u4e66\u7c4d"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_5","text":"","title":"\u5982\u4f55\u9605\u8bfb"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#guidelines","text":"\u5fc5\u8bfb\u6559\u6750\u5c31\u662f\u4e00\u5b9a\u8981\u8bfb\u7684\u6559\u6750 \u5b57\u5178\u7684\u610f\u601d\u662f\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u7ba1\u5b83\uff0c\u4f46\u5f53\u9047\u5230\u4e86\u4e0d\u61c2\u7684\u6982\u5ff5\u7684\u65f6\u5019\uff0c\u5c31\u53bb\u5b57\u5178\u91cc\u9762\u67e5\uff08\u800c\u4e0d\u662f\u7ef4\u57fa\u767e\u79d1\uff09 \u8fdb\u9636\u4e66\u7c4d\u5148\u4e0d\u8bfb\uff0c\u5148\u8bfb\u5b8c\u5fc5\u8bfb\u4e66\u7c4d\u3002\u5fc5\u8bfb\u4e66\u7c4d\u4e00\u822c\u90fd\u662f\u8981\u524d\u524d\u540e\u540e\u53cd\u590d\u770b\u8fc7 N \u904d\u624d\u7b97\u8bfb\u5b8c \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6700\u91cd\u8981\u7684\u8bfb\u6cd5\u5c31\u662f\u5bf9\u6bd4\u9605\u8bfb (contrastive-comparative reading)\uff1a\u540c\u65f6\u6253\u5f00\u4e24\u672c\u4e66\u8bb2\u540c\u4e00\u4e3b\u9898\u7684\u7ae0\u8282\uff0c\u7136\u540e\u5bf9\u6bd4\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5c3d\u91cf\u53bb\u56de\u60f3\u4e4b\u524d\u8bfb\u8fc7\u7684\u8bba\u6587\uff0c\u6bd4\u8f83\u8bba\u6587\u548c\u6559\u6750\u7684\u76f8\u540c\u70b9\u4e0e\u4e0d\u540c\u70b9","title":"Guidelines"},{"location":"%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/#_6","text":"\u5148\u8bfb AoS \u7b2c\u516d\u7ae0: Models, Statistical Inference and Learning\uff0c\u8fd9\u4e00\u90e8\u5206\u662f\u6700\u57fa\u7840\u7684\u79d1\u666e \u7136\u540e\u8bfb PRML \u7b2c 10, 11 \u7ae0 \u7b2c 10 \u7ae0\u7684\u5185\u5bb9\u662f Variational Inference, \u7b2c 11 \u7ae0\u7684\u5185\u5bb9\u662f MCMC, \u8fd9\u4e24\u79cd\u65b9\u6cd5\u662f\u8d1d\u53f6\u65af\u63a8\u65ad\u7684\u4e24\u6761\u6700\u4e3b\u8981\u8def\u7ebf \u5982\u679c\u5728\u8bfb PRML \u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u6709\u4efb\u4f55\u4e0d\u61c2\u7684\u540d\u8bcd\uff0c\u5c31\u53bb\u7ffb\u524d\u9762\u7684\u7ae0\u8282\u3002\u5f88\u5927\u6982\u7387\u80fd\u591f\u5728\u7b2c 3\uff0c4 \u7ae0\u627e\u5230\u76f8\u5bf9\u5e94\u7684\u5b9a\u4e49\uff1b\u5982\u679c\u627e\u4e0d\u5230\u6216\u8005\u4e0d\u591f\u8be6\u7ec6\uff0c\u5c31\u53bb\u67e5 MLAPP AoS \u7b2c 8 \u7ae0 (Parametric Inference) \u548c\u7b2c 11 \u7ae0 (Bayesian Inference) \u4e5f\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u8003\u3002\u6700\u597d\u7684\u65b9\u6cd5\u662f\u591a\u672c\u4e66\u5bf9\u6bd4\u9605\u8bfb\uff0c\u6d41\u7a0b\u5982\u4e0b \u5047\u8bbe\u6211\u5728\u8bfb PRML \u7b2c 10 \u7ae0\u7684\u65f6\u5019\u53d1\u73b0\u4e86\u4e00\u4e2a\u4e0d\u61c2\u7684\u8bcd\uff1aposterior inference \u4e8e\u662f\u6211\u5f80\u524d\u7ffb\uff0c\u7ffb\u5230\u4e86\u7b2c 3 \u7ae0 (Linear Model for Regression)\uff0c\u770b\u5230\u4e86\u6700\u7b80\u5355\u7684 posterior \u7136\u540e\u6211\u63a5\u7740\u7ffb AoS\uff0c\u7ffb\u5230\u4e86\u7b2c 11 \u7ae0\uff0c\u4e5f\u6709\u5bf9 posterior \u7684\u63cf\u8ff0 \u7136\u540e\u6211\u5bf9\u6bd4 PRML \u7b2c 10 \u7ae0\uff0c\u7b2c 3 \u7ae0\uff0cAoS \u7b2c 11 \u7ae0\uff0c\u4e09\u5904\u4e0d\u540c\u5730\u65b9\u5bf9 posterior \u7684\u89e3\u8bfb\uff0c\u6bd4\u8f83\u5176\u76f8\u540c\u70b9\u548c\u4e0d\u540c\u70b9\u548c\u8054\u7cfb \u8bfb\u5b8c PRML \u7b2c 10 \u548c 11 \u7ae0\u4e4b\u540e\uff0c\u63a5\u7740\u8bfb AoS \u7b2c 24 \u7ae0 (Simulation Methods)\uff0c\u7136\u540e\u628a\u5b83\u548c PRML \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb -- \u8fd9\u4fe9\u90fd\u662f\u8bb2 MCMC \u5982\u679c\u5230\u6b64\u5904\u53d1\u73b0\u8fd8\u6709\u57fa\u7840\u6982\u5ff5\u8bfb\u4e0d\u61c2\uff0c\u5c31\u56de\u5230 PRML \u7b2c 3 \u7ae0\uff0c\u628a\u5b83\u548c AoS \u7b2c 11 \u7ae0\u5bf9\u6bd4\u9605\u8bfb Again\uff0c\u5bf9\u6bd4\u9605\u8bfb\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u628a\u4e0d\u540c\u672c\u4e66\u7684\u7c7b\u4f3c\u5185\u5bb9\u540c\u65f6\u6446\u5728\u9762\u524d\u76f8\u4e92\u5bf9\u6bd4\uff0c\u8fd9\u6837\u53ef\u4ee5\u663e\u8457\u589e\u5f3a\u8bb0\u5fc6 \u7136\u540e\u8bfb PRML \u7b2c 13 \u7ae0\uff08\u8df3\u8fc7\u7b2c 12 \u7ae0\uff09\uff0c\u8fd9\u4e00\u7ae0\u53ef\u4ee5\u548c MLAPP \u7684\u7b2c 17, 18 \u7ae0\u5bf9\u6bd4\u9605\u8bfb MLAPP \u7b2c 17 \u7ae0\u662f PRML \u7b2c 13.2 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 HMM MLAPP \u7b2c 18 \u7ae0\u662f PRML \u7b2c 13.3 \u7ae0\u7684\u8be6\u7ec6\u7248\uff0c\u4e3b\u8981\u8bb2 LDS \u8bfb\u5b8c PRML \u7b2c 13 \u7ae0\u4e4b\u540e\uff0c\u518d\u53bb\u8bfb PRML \u7b2c 8 \u7ae0 (Graphical Models) -- \u6b64\u65f6\u8fd9\u90e8\u5206\u5e94\u8be5\u4f1a\u8bfb\u5f97\u5f88\u8f7b\u677e \u4ee5\u4e0a\u7684\u5185\u5bb9\u53ef\u4ee5\u8fdb\u4e00\u6b65\u5bf9\u7167 CMU 10-708 PGM \u8bfe\u7a0b\u6750\u6599 \u5230\u76ee\u524d\u4e3a\u6b62\uff0c\u5e94\u8be5\u80fd\u591f\u638c\u63e1 - \u6982\u7387\u6a21\u578b\u7684\u57fa\u7840\u5b9a\u4e49 - \u7cbe\u51c6\u63a8\u65ad - Sum-Product - \u8fd1\u4f3c\u63a8\u65ad - MCMC - \u8fd1\u4f3c\u63a8\u65ad - VI \u7136\u540e\u5c31\u53ef\u4ee5\u53bb\u505a\u66f4\u8fdb\u9636\u7684\u5185\u5bb9","title":"\u57fa\u7840\u8def\u5f84"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/","text":"CS224n: Natural Language Processing \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 Stanford\u7684NLP\u5165\u95e8\u8bfe\u7a0b\uff0c\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u9886\u57df\u7684\u5de8\u4f6cChris Manning\u9886\u8854\u6559\u6388\uff08word2vec\u7b97\u6cd5\u7684\u5f00\u521b\u8005\uff09\u3002\u5185\u5bb9\u8986\u76d6\u4e86\u8bcd\u5411\u91cf\u3001RNN\u3001LSTM\u3001Seq2Seq\u6a21\u578b\u3001\u673a\u5668\u7ffb\u8bd1\u3001\u6ce8\u610f\u529b\u673a\u5236\u3001Transformer\u7b49\u7b49NLP\u9886\u57df\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\u3002 5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5206\u522b\u662f\u8bcd\u5411\u91cf\u3001word2vec\u7b97\u6cd5\u3001Dependency parsing\u3001\u673a\u5668\u7ffb\u8bd1\u4ee5\u53caTransformer\u7684fine-tune\u3002 \u6700\u7ec8\u7684\u5927\u4f5c\u4e1a\u662f\u5728Stanford\u8457\u540d\u7684SQuAD\u6570\u636e\u96c6\u4e0a\u8bad\u7ec3QA\u6a21\u578b\uff0c\u6709\u5b66\u751f\u7684\u5927\u4f5c\u4e1a\u751a\u81f3\u76f4\u63a5\u53d1\u8868\u4e86\u9876\u4f1a\u8bba\u6587\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1aB\u7ad9\u641c\u7d22CS224n \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1\u4e2aFinal Project \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Stanford CS224n: Natural Language Processing"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#cs224n-natural-language-processing","text":"","title":"CS224n: Natural Language Processing"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 Stanford\u7684NLP\u5165\u95e8\u8bfe\u7a0b\uff0c\u7531\u81ea\u7136\u8bed\u8a00\u5904\u7406\u9886\u57df\u7684\u5de8\u4f6cChris Manning\u9886\u8854\u6559\u6388\uff08word2vec\u7b97\u6cd5\u7684\u5f00\u521b\u8005\uff09\u3002\u5185\u5bb9\u8986\u76d6\u4e86\u8bcd\u5411\u91cf\u3001RNN\u3001LSTM\u3001Seq2Seq\u6a21\u578b\u3001\u673a\u5668\u7ffb\u8bd1\u3001\u6ce8\u610f\u529b\u673a\u5236\u3001Transformer\u7b49\u7b49NLP\u9886\u57df\u7684\u6838\u5fc3\u77e5\u8bc6\u70b9\u3002 5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5206\u522b\u662f\u8bcd\u5411\u91cf\u3001word2vec\u7b97\u6cd5\u3001Dependency parsing\u3001\u673a\u5668\u7ffb\u8bd1\u4ee5\u53caTransformer\u7684fine-tune\u3002 \u6700\u7ec8\u7684\u5927\u4f5c\u4e1a\u662f\u5728Stanford\u8457\u540d\u7684SQuAD\u6570\u636e\u96c6\u4e0a\u8bad\u7ec3QA\u6a21\u578b\uff0c\u6709\u5b66\u751f\u7684\u5927\u4f5c\u4e1a\u751a\u81f3\u76f4\u63a5\u53d1\u8868\u4e86\u9876\u4f1a\u8bba\u6587\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1aB\u7ad9\u641c\u7d22CS224n \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1\u4e2aFinal Project","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/","text":"CS224w: Machine Learning with Graphs \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython, Latex \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 Stanford\u7684\u56fe\u795e\u7ecf\u7f51\u7edc\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u4e0a\u8fc7\uff0c\u4f46\u4f17\u591a\u505aGNN\u7684\u670b\u53cb\u90fd\u5411\u6211\u529b\u8350\u8fc7\u8fd9\u95e8\u8bfe\uff0c\u60f3\u5fc5Stanford\u7684\u8bfe\u8d28\u91cf\u8fd8\u662f\u4e00\u5982\u65e2\u5f80\u5730\u6709\u4fdd\u8bc1\u7684\u3002\u53e6\u5916\u5c31\u662f\u8fd9\u95e8\u8bfe\u7684\u6388\u8bfe\u8001\u5e08\u975e\u5e38\u5e74\u8f7b\u5e05\u6c14:) \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a6\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c3\u4e2aLatex\u4e66\u9762\u4f5c\u4e1a","title":"Stanford CS224w: Machine Learning with Graphs"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#cs224w-machine-learning-with-graphs","text":"","title":"CS224w: Machine Learning with Graphs"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6df1\u5ea6\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython, Latex \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 Stanford\u7684\u56fe\u795e\u7ecf\u7f51\u7edc\u5165\u95e8\u8bfe\uff0c\u8fd9\u95e8\u8bfe\u6211\u6ca1\u6709\u4e0a\u8fc7\uff0c\u4f46\u4f17\u591a\u505aGNN\u7684\u670b\u53cb\u90fd\u5411\u6211\u529b\u8350\u8fc7\u8fd9\u95e8\u8bfe\uff0c\u60f3\u5fc5Stanford\u7684\u8bfe\u8d28\u91cf\u8fd8\u662f\u4e00\u5982\u65e2\u5f80\u5730\u6709\u4fdd\u8bc1\u7684\u3002\u53e6\u5916\u5c31\u662f\u8fd9\u95e8\u8bfe\u7684\u6388\u8bfe\u8001\u5e08\u975e\u5e38\u5e74\u8f7b\u5e05\u6c14:)","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a6\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\uff0c3\u4e2aLatex\u4e66\u9762\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/","text":"Coursera: Deep Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u5434\u6069\u8fbe\u5728Coursera\u5f00\u8bbe\u7684\u53e6\u4e00\u95e8\u7f51\u7ea2\u8bfe\u7a0b\uff0c\u5b66\u4e60\u8005\u65e0\u6570\uff0c\u582a\u79f0\u5723\u7ecf\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u8bfe\u3002\u6df1\u5165\u6d45\u51fa\u7684\u8bb2\u89e3\uff0c\u773c\u82b1\u7f2d\u4e71\u7684Project\u3002\u4ece\u6700\u57fa\u7840\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5230CNN\uff0cRNN\uff0c\u518d\u5230\u6700\u8fd1\u5927\u70ed\u7684Transformer\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\uff0c\u4f60\u5c06\u521d\u6b65\u638c\u63e1\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u5fc5\u5907\u7684\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728 Kaggle \u4e2d\u53c2\u52a0\u81ea\u5df1\u611f\u5174\u8da3\u7684\u6bd4\u8d5b\uff0c\u5728\u5b9e\u8df5\u4e2d\u953b\u70bc\u81ea\u5df1\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1aB\u7ad9\u6709\u642c\u8fd0 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a","title":"Coursera: Deep Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#coursera-deep-learning","text":"","title":"Coursera: Deep Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 + Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u5434\u6069\u8fbe\u5728Coursera\u5f00\u8bbe\u7684\u53e6\u4e00\u95e8\u7f51\u7ea2\u8bfe\u7a0b\uff0c\u5b66\u4e60\u8005\u65e0\u6570\uff0c\u582a\u79f0\u5723\u7ecf\u7ea7\u7684\u6df1\u5ea6\u5b66\u4e60\u5165\u95e8\u8bfe\u3002\u6df1\u5165\u6d45\u51fa\u7684\u8bb2\u89e3\uff0c\u773c\u82b1\u7f2d\u4e71\u7684Project\u3002\u4ece\u6700\u57fa\u7840\u7684\u795e\u7ecf\u7f51\u7edc\uff0c\u5230CNN\uff0cRNN\uff0c\u518d\u5230\u6700\u8fd1\u5927\u70ed\u7684Transformer\u3002\u5b66\u5b8c\u8fd9\u95e8\u8bfe\uff0c\u4f60\u5c06\u521d\u6b65\u638c\u63e1\u6df1\u5ea6\u5b66\u4e60\u9886\u57df\u5fc5\u5907\u7684\u77e5\u8bc6\u548c\u6280\u80fd\uff0c\u5e76\u4e14\u53ef\u4ee5\u5728 Kaggle \u4e2d\u53c2\u52a0\u81ea\u5df1\u611f\u5174\u8da3\u7684\u6bd4\u8d5b\uff0c\u5728\u5b9e\u8df5\u4e2d\u953b\u70bc\u81ea\u5df1\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1aB\u7ad9\u6709\u642c\u8fd0 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/","text":"CS231n: CNN for Visual Recognition \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 Stanford\u7684CV\u5165\u95e8\u8bfe\uff0c\u7531\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5de8\u4f6c\u674e\u98de\u98de\u9662\u58eb\u9886\u8854\u6559\u6388\uff08CV\u9886\u57df\u5212\u65f6\u4ee3\u7684\u8457\u540d\u6570\u636e\u96c6ImageNet\u7684\u7814\u7a76\u56e2\u961f\uff09\uff0c\u4f46\u5176\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\u4e14\u53cb\u597d\uff0c\u5982\u679c\u4e0a\u8fc7CS230\u7684\u8bdd\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624bProject\u4f5c\u4e3a\u7ec3\u4e60\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a3\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"Stanford CS231n: CNN for Visual Recognition"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#cs231n-cnn-for-visual-recognition","text":"","title":"CS231n: CNN for Visual Recognition"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u673a\u5668\u5b66\u4e60\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 Stanford\u7684CV\u5165\u95e8\u8bfe\uff0c\u7531\u8ba1\u7b97\u673a\u9886\u57df\u7684\u5de8\u4f6c\u674e\u98de\u98de\u9662\u58eb\u9886\u8854\u6559\u6388\uff08CV\u9886\u57df\u5212\u65f6\u4ee3\u7684\u8457\u540d\u6570\u636e\u96c6ImageNet\u7684\u7814\u7a76\u56e2\u961f\uff09\uff0c\u4f46\u5176\u5185\u5bb9\u76f8\u5bf9\u57fa\u7840\u4e14\u53cb\u597d\uff0c\u5982\u679c\u4e0a\u8fc7CS230\u7684\u8bdd\u53ef\u4ee5\u76f4\u63a5\u4e0a\u624bProject\u4f5c\u4e3a\u7ec3\u4e60\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a3\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/","text":"CS285: Deep Reinforcement Learning \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS189 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u5f3a\u5316\u5b66\u4e60\u7814\u7a76\u751f\u8bfe\u7a0b\uff0c\u6240\u6709\u8bfe\u7a0b\u5f55\u5f71\u3001slides\u3001\u4f5c\u4e1a\u4ee3\u7801\u5747\u5728\u7f51\u7ad9\u5f00\u6e90\u3002\u5728\u6211\u7684\u6536\u85cf\u5939\u91cc\u5403\u7070\u5f88\u4e45\u4e86\uff0c\u4e00\u76f4\u60f3\u627e\u673a\u4f1a\u5b66\u4e60\u4e00\u4e0b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"UCB CS285: Deep Reinforcement Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#cs285-deep-reinforcement-learning","text":"","title":"CS285: Deep Reinforcement Learning"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS188, CS189 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u5f3a\u5316\u5b66\u4e60\u7814\u7a76\u751f\u8bfe\u7a0b\uff0c\u6240\u6709\u8bfe\u7a0b\u5f55\u5f71\u3001slides\u3001\u4f5c\u4e1a\u4ee3\u7801\u5747\u5728\u7f51\u7ad9\u5f00\u6e90\u3002\u5728\u6211\u7684\u6536\u85cf\u5939\u91cc\u5403\u7070\u5f88\u4e45\u4e86\uff0c\u4e00\u76f4\u60f3\u627e\u673a\u4f1a\u5b66\u4e60\u4e00\u4e0b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/","text":"\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60 \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u719f\u7ec3\u638c\u63e1Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u674e\u5b8f\u6bc5\u8001\u5e08\u662f\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\u7684\u6559\u6388\uff0c\u5176\u98ce\u8da3\u5e7d\u9ed8\u7684\u6388\u8bfe\u98ce\u683c\u6df1\u53d7\u5927\u5bb6\u559c\u7231\uff0c\u5e76\u4e14\u5c24\u5176\u559c\u6b22\u5728PPT\u4e2d\u63d2\u5165\u5b9d\u53ef\u68a6\u7b49\u52a8\u6f2b\u5143\u7d20\uff0c\u662f\u4e2a\u975e\u5e38\u53ef\u7231\u7684\u8001\u5e08\u3002 \u8fd9\u95e8\u8bfe\u6302\u7740\u673a\u5668\u5b66\u4e60\u7684\u724c\u5b50\uff0c\u4f46\u5176\u8bfe\u7a0b\u5185\u5bb9\u4e4b\u5e7f\u5b9e\u5728\u4ee4\u4eba\u548b\u820c\uff0c\u5176\u4f5c\u4e1a\u4e00\u5171\u5305\u542b15\u4e2alab\uff0c\u5206\u522b\u662fRegression\u3001Classification\u3001CNN\u3001Self-Attention\u3001Transformer\u3001GAN\u3001BERT\u3001Anomaly Detection\u3001Explainable AI\u3001Attack\u3001Adaptation\u3001 RL\u3001Compression\u3001Life-Long Learning\u4ee5\u53caMeta Learning\u3002\u53ef\u8c13\u662f\u5305\u7f57\u4e07\u8c61\uff0c\u80fd\u8ba9\u5b66\u751f\u5bf9\u4e8e\u6df1\u5ea6\u5b66\u4e60\u7684\u7edd\u5927\u591a\u6570\u9886\u57df\u90fd\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u4ece\u800c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u9009\u62e9\u60f3\u8981\u6df1\u5165\u7684\u65b9\u5411\u8fdb\u884c\u5b66\u4e60\u3002 \u5927\u5bb6\u4e5f\u5927\u53ef\u4e0d\u5fc5\u62c5\u5fc3\u4f5c\u4e1a\u7684\u96be\u5ea6\uff0c\u56e0\u4e3a\u6240\u6709\u4f5c\u4e1a\u90fd\u4f1a\u63d0\u4f9b\u52a9\u6559\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u4f60\u5b8c\u6210\u6570\u636e\u5904\u7406\u3001\u6a21\u578b\u642d\u5efa\u7b49\uff0c\u4f60\u53ea\u9700\u8981\u5728\u5176\u57fa\u7840\u4e0a\u8fdb\u884c\u9002\u91cf\u7684\u4fee\u6539\u5373\u53ef\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u5b66\u4e60\u522b\u4eba\u4f18\u8d28\u4ee3\u7801\u7684\u6781\u597d\u673a\u4f1a\uff0c\u5927\u5bb6\u9700\u8981\u6c34\u8bfe\u7a0b\u5927\u4f5c\u4e1a\u7684\u8bdd\uff0c\u8fd9\u91cc\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u8d44\u6599\u6765\u6e90\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a15\u4e2alab\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u4e3b\u6d41\u6df1\u5ea6\u5b66\u4e60\u7684\u6240\u6709\u9886\u57df","title":"\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_1","text":"","title":"\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\uff1a\u674e\u5b8f\u6bc5\u673a\u5668\u5b66\u4e60"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_2","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u719f\u7ec3\u638c\u63e1Python \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u674e\u5b8f\u6bc5\u8001\u5e08\u662f\u53f0\u6e7e\u56fd\u7acb\u5927\u5b66\u7684\u6559\u6388\uff0c\u5176\u98ce\u8da3\u5e7d\u9ed8\u7684\u6388\u8bfe\u98ce\u683c\u6df1\u53d7\u5927\u5bb6\u559c\u7231\uff0c\u5e76\u4e14\u5c24\u5176\u559c\u6b22\u5728PPT\u4e2d\u63d2\u5165\u5b9d\u53ef\u68a6\u7b49\u52a8\u6f2b\u5143\u7d20\uff0c\u662f\u4e2a\u975e\u5e38\u53ef\u7231\u7684\u8001\u5e08\u3002 \u8fd9\u95e8\u8bfe\u6302\u7740\u673a\u5668\u5b66\u4e60\u7684\u724c\u5b50\uff0c\u4f46\u5176\u8bfe\u7a0b\u5185\u5bb9\u4e4b\u5e7f\u5b9e\u5728\u4ee4\u4eba\u548b\u820c\uff0c\u5176\u4f5c\u4e1a\u4e00\u5171\u5305\u542b15\u4e2alab\uff0c\u5206\u522b\u662fRegression\u3001Classification\u3001CNN\u3001Self-Attention\u3001Transformer\u3001GAN\u3001BERT\u3001Anomaly Detection\u3001Explainable AI\u3001Attack\u3001Adaptation\u3001 RL\u3001Compression\u3001Life-Long Learning\u4ee5\u53caMeta Learning\u3002\u53ef\u8c13\u662f\u5305\u7f57\u4e07\u8c61\uff0c\u80fd\u8ba9\u5b66\u751f\u5bf9\u4e8e\u6df1\u5ea6\u5b66\u4e60\u7684\u7edd\u5927\u591a\u6570\u9886\u57df\u90fd\u6709\u4e00\u5b9a\u4e86\u89e3\uff0c\u4ece\u800c\u53ef\u4ee5\u8fdb\u4e00\u6b65\u9009\u62e9\u60f3\u8981\u6df1\u5165\u7684\u65b9\u5411\u8fdb\u884c\u5b66\u4e60\u3002 \u5927\u5bb6\u4e5f\u5927\u53ef\u4e0d\u5fc5\u62c5\u5fc3\u4f5c\u4e1a\u7684\u96be\u5ea6\uff0c\u56e0\u4e3a\u6240\u6709\u4f5c\u4e1a\u90fd\u4f1a\u63d0\u4f9b\u52a9\u6559\u7684\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u4f60\u5b8c\u6210\u6570\u636e\u5904\u7406\u3001\u6a21\u578b\u642d\u5efa\u7b49\uff0c\u4f60\u53ea\u9700\u8981\u5728\u5176\u57fa\u7840\u4e0a\u8fdb\u884c\u9002\u91cf\u7684\u4fee\u6539\u5373\u53ef\u3002\u8fd9\u4e5f\u662f\u4e00\u4e2a\u5b66\u4e60\u522b\u4eba\u4f18\u8d28\u4ee3\u7801\u7684\u6781\u597d\u673a\u4f1a\uff0c\u5927\u5bb6\u9700\u8981\u6c34\u8bfe\u7a0b\u5927\u4f5c\u4e1a\u7684\u8bdd\uff0c\u8fd9\u91cc\u4e5f\u662f\u4e00\u4e2a\u4e0d\u9519\u7684\u8d44\u6599\u6765\u6e90\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/#_3","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \uff1a\u6bcf\u8282\u8bfe\u7684\u94fe\u63a5\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a15\u4e2alab\uff0c\u51e0\u4e4e\u8986\u76d6\u4e86\u4e3b\u6d41\u6df1\u5ea6\u5b66\u4e60\u7684\u6240\u6709\u9886\u57df","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/","text":"UCB EE16A&B: Designing Information Devices and Systems I&II \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 UC Berkeley\u7535\u5b50\u7cfb\u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u901a\u8fc7\u7535\u8def\u57fa\u7840\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u914d\u5408\u5404\u7c7b\u52a8\u624b\u5b9e\u64cd\u7684lab\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u901a\u8fc7\u7535\u8def\u4ece\u73af\u5883\u4e2d\u6536\u96c6\u4fe1\u606f\u5e76\u8fdb\u884c\u5206\u6790\uff0c\u4f5c\u51fa\u9884\u6d4b\u548c\u53cd\u9988\u3002\u7531\u4e8e\u75ab\u60c5\u7684\u7f18\u6545\uff0c\u6240\u6709lab\u90fd\u6709\u8fdc\u7a0b\u5728\u7ebf\u7248\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u5728\u5bb6\u81ea\u5b66\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a EE16A , EE16B \u8bfe\u7a0b\u89c6\u9891\uff1aB\u7ad9\u641c\u7d22 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u4e3b\u9875 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"EE16A&B: Designing Information Devices and Systems I&II"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#ucb-ee16ab-designing-information-devices-and-systems-iii","text":"","title":"UCB EE16A&B: Designing Information Devices and Systems I&II"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 UC Berkeley\u7535\u5b50\u7cfb\u5b66\u751f\u7684\u5927\u4e00\u5165\u95e8\u8bfe\uff0c\u901a\u8fc7\u7535\u8def\u57fa\u7840\u77e5\u8bc6\u7684\u8bb2\u6388\uff0c\u914d\u5408\u5404\u7c7b\u52a8\u624b\u5b9e\u64cd\u7684lab\uff0c\u8ba9\u5b66\u751f\u4f53\u9a8c\u901a\u8fc7\u7535\u8def\u4ece\u73af\u5883\u4e2d\u6536\u96c6\u4fe1\u606f\u5e76\u8fdb\u884c\u5206\u6790\uff0c\u4f5c\u51fa\u9884\u6d4b\u548c\u53cd\u9988\u3002\u7531\u4e8e\u75ab\u60c5\u7684\u7f18\u6545\uff0c\u6240\u6709lab\u90fd\u6709\u8fdc\u7a0b\u5728\u7ebf\u7248\uff0c\u975e\u5e38\u9002\u5408\u5927\u5bb6\u5728\u5bb6\u81ea\u5b66\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a EE16A , EE16B \u8bfe\u7a0b\u89c6\u9891\uff1aB\u7ad9\u641c\u7d22 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1\u8bfe\u7a0b\u4e3b\u9875","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals%20and%20Systems_AVO/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aMatlab Preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 \u770b\u5230\u8bfe\u7a0b\u8001\u5e08\u7684\u540d\u5b57\uff1aProf. Alan V. Oppenheim \u597d\u7684\uff0c\u4e0a\u8fd9\u95e8\u8bfe\u7684\u7406\u7531\u5df2\u7ecf\u8db3\u591f\u4e86\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aSignals and Systems, 2nd Edition \u8bfe\u7a0b\u4f5c\u4e1a","title":"MIT 6.007 Signals and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals%20and%20Systems_AVO/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1aCalculus, Linear Algebra \u7f16\u7a0b\u8bed\u8a00\uff1aMatlab Preferred \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50-70 \u5c0f\u65f6 \u770b\u5230\u8bfe\u7a0b\u8001\u5e08\u7684\u540d\u5b57\uff1aProf. Alan V. Oppenheim \u597d\u7684\uff0c\u4e0a\u8fd9\u95e8\u8bfe\u7684\u7406\u7531\u5df2\u7ecf\u8db3\u591f\u4e86\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals%20and%20Systems_AVO/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aSignals and Systems, 2nd Edition \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/","text":"UCB EE120 : Signal and Systems \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A\uff0cCS70\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6700\u7cbe\u534e\u7684\u90e8\u5206\u5c31\u662f6\u4e2a\u8d85\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7528Python\u901a\u8fc7\u5b66\u4e60\u5230\u7684\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u89e3\u51b3\u5404\u7c7b\u5b9e\u9645\u95ee\u9898\u3002\u4f8b\u5982lab3\u4f1a\u8ba9\u4f60\u5b9e\u73b0FFT\u7b97\u6cd5\uff0c\u5e76\u548cNumpy\u7684\u5b98\u65b9\u5b9e\u73b0\u8fdb\u884c\u6027\u80fd\u5bf9\u6bd4\uff1blab4\u4f1a\u901a\u8fc7\u5206\u6790\u624b\u6307\u5934\u7684\u5f71\u50cf\u6570\u636e\u63a8\u65ad\u5fc3\u7387\uff1blab5\u5c31\u66f4\u725b\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7ed9\u54c8\u52c3\u671b\u8fdc\u955c\u62cd\u5230\u7684\u7167\u7247\u8fdb\u884c\u964d\u566a\u5904\u7406\uff0c\u6062\u590d\u7eda\u70c2\u6e05\u6670\u7684\u661f\u7a7a\uff1blab6\u4f1a\u8ba9\u4f60\u6784\u9020\u4e00\u4e2a\u53cd\u9988\u7cfb\u7edf\uff0c\u5e73\u8861\u5c0f\u8f66\u4e0a\u7684\u7ec6\u6746\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5\u4e2a\u4e66\u9762\u4f5c\u4e1a + 6\u4e2a\u7f16\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB EE120 : Signal and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#ucb-ee120-signal-and-systems","text":"","title":"UCB EE120 : Signal and Systems"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A\uff0cCS70\uff0c\u5fae\u79ef\u5206\uff0c\u7ebf\u6027\u4ee3\u6570 \u7f16\u7a0b\u8bed\u8a00\uff1aPython \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u6700\u7cbe\u534e\u7684\u90e8\u5206\u5c31\u662f6\u4e2a\u8d85\u6709\u8da3\u7684\u7f16\u7a0b\u4f5c\u4e1a\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7528Python\u901a\u8fc7\u5b66\u4e60\u5230\u7684\u4fe1\u53f7\u4e0e\u7cfb\u7edf\u7684\u7406\u8bba\u77e5\u8bc6\uff0c\u89e3\u51b3\u5404\u7c7b\u5b9e\u9645\u95ee\u9898\u3002\u4f8b\u5982lab3\u4f1a\u8ba9\u4f60\u5b9e\u73b0FFT\u7b97\u6cd5\uff0c\u5e76\u548cNumpy\u7684\u5b98\u65b9\u5b9e\u73b0\u8fdb\u884c\u6027\u80fd\u5bf9\u6bd4\uff1blab4\u4f1a\u901a\u8fc7\u5206\u6790\u624b\u6307\u5934\u7684\u5f71\u50cf\u6570\u636e\u63a8\u65ad\u5fc3\u7387\uff1blab5\u5c31\u66f4\u725b\u4e86\uff0c\u4f1a\u8ba9\u4f60\u7ed9\u54c8\u52c3\u671b\u8fdc\u955c\u62cd\u5230\u7684\u7167\u7247\u8fdb\u884c\u964d\u566a\u5904\u7406\uff0c\u6062\u590d\u7eda\u70c2\u6e05\u6670\u7684\u661f\u7a7a\uff1blab6\u4f1a\u8ba9\u4f60\u6784\u9020\u4e00\u4e2a\u53cd\u9988\u7cfb\u7edf\uff0c\u5e73\u8861\u5c0f\u8f66\u4e0a\u7684\u7ec6\u6746\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5\u4e2a\u4e66\u9762\u4f5c\u4e1a + 6\u4e2a\u7f16\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%A8%8B%E5%BA%8F%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1/CS242/","text":"","title":"CS242"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aC, Go \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u8bfe\u7a0b\u5185\u5bb9\u5206\u4e3a5\u4e2a\u90e8\u5206\uff1a Security principles : how to design a secure system Memory safety : buffer overflow attack Cryptography : symmetric encryption, asymmetric encryption, MAC, digital signature ......... Web : SQL-injection, XSS, XSRF ....... Networking : attacks for each layer \u8fd9\u95e8\u8bfe\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u90e8\u5206\u662fProject2\uff0c\u8ba9\u4f60\u7528Go\u8bed\u8a00\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7684\u6587\u4ef6\u5206\u4eab\u7cfb\u7edf\u3002\u6211\u82b1\u4e86\u6574\u6574\u4e09\u5929\u624d\u5b8c\u6210\u4e86\u8fd9\u4e2a\u975e\u5e38\u8650\u7684Project\uff0c\u603b\u4ee3\u7801\u91cf\u8d85\u8fc73k\u884c\u3002\u5728\u8fd9\u6837\u5bc6\u96c6\u578b\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u80fd\u6781\u5927\u5730\u953b\u70bc\u4f60\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7cfb\u7edf\u7684\u80fd\u529b\u3002 2020\u5e74\u590f\u5b63\u5b66\u671f\u7684\u7248\u672c\u5f00\u6e90\u4e86\u8bfe\u7a0b\u5f55\u5f71\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e0b\u9762\u7684\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5\u91cc\u627e\u5230\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7\u4e2a\u5728\u7ebfHW + 3\u4e2alab + 3\u4e2aProject \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS161: Computer Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1aCS61A, CS61B, CS61C \u7f16\u7a0b\u8bed\u8a00\uff1aC, Go \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u8bfe\u7a0b\u5185\u5bb9\u5206\u4e3a5\u4e2a\u90e8\u5206\uff1a Security principles : how to design a secure system Memory safety : buffer overflow attack Cryptography : symmetric encryption, asymmetric encryption, MAC, digital signature ......... Web : SQL-injection, XSS, XSRF ....... Networking : attacks for each layer \u8fd9\u95e8\u8bfe\u8ba9\u6211\u5370\u8c61\u6700\u4e3a\u6df1\u523b\u7684\u90e8\u5206\u662fProject2\uff0c\u8ba9\u4f60\u7528Go\u8bed\u8a00\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7684\u6587\u4ef6\u5206\u4eab\u7cfb\u7edf\u3002\u6211\u82b1\u4e86\u6574\u6574\u4e09\u5929\u624d\u5b8c\u6210\u4e86\u8fd9\u4e2a\u975e\u5e38\u8650\u7684Project\uff0c\u603b\u4ee3\u7801\u91cf\u8d85\u8fc73k\u884c\u3002\u5728\u8fd9\u6837\u5bc6\u96c6\u578b\u7684\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u80fd\u6781\u5927\u5730\u953b\u70bc\u4f60\u8bbe\u8ba1\u548c\u5b9e\u73b0\u4e00\u4e2a\u5b89\u5168\u7cfb\u7edf\u7684\u80fd\u529b\u3002 2020\u5e74\u590f\u5b63\u5b66\u671f\u7684\u7248\u672c\u5f00\u6e90\u4e86\u8bfe\u7a0b\u5f55\u5f71\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728\u4e0b\u9762\u7684\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5\u91cc\u627e\u5230\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a7\u4e2a\u5728\u7ebfHW + 3\u4e2alab + 3\u4e2aProject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u4e86\u89e3 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 MIT\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u5b9e\u9a8c\u73af\u5883\u662f\u4e00\u4e2aWeb Application Zoobar. \u5b66\u751f\u5b66\u4e60\u653b\u9632\u6280\u672f\u5e76\u5e94\u7528\u4e8e\u8be5Web Application. Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties. Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application. Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application. Lab 4: you will improve the zoobar application against browser attacks. \u8fd9\u4e2a\u8bfe\u6211\u4e3b\u8981\u662f\u505a\u4e86lab3\u3002lab3\u662f\u901a\u8fc7\u6df7\u5408\u7b26\u53f7\u6267\u884c\u6765\u904d\u5386\u7a0b\u5e8f\u7684\u6240\u6709\u5206\u652f\uff0c\u7406\u89e3\u4e86\u7b26\u53f7\u6267\u884c\u7684\u601d\u60f3\u540elab\u5e76\u4e0d\u96be\u505a\u3002\u8fd9\u4e2alab\u76f4\u89c2\u5c55\u793a\u7b26\u53f7\u6267\u884c\u8fd9\u79cd\u6280\u672f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002 \u8fd9\u4e2a\u8bfe\u7684Final Project\u662f\u5b9e\u73b0 SecFS \uff0c\u4e00\u4e2a\u8fdc\u7aef\u6587\u4ef6\u7cfb\u7edf\uff0c\u9762\u5bf9\u5b8c\u5168\u4e0d\u53ef\u4fe1\u7684\u670d\u52a1\u5668\uff0c\u63d0\u4f9b\u673a\u5bc6\u6027\u548c\u5b8c\u6574\u6027\u3002\u53c2\u8003\u8bba\u6587\u4e3a SUNDR \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2alab + Final Project / Lab5","title":"MIT 6.858: Computer System Security"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u4e86\u89e3 \u7f16\u7a0b\u8bed\u8a00\uff1aC, Python \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 MIT\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u5b89\u5168\u8bfe\u7a0b\uff0c\u5b9e\u9a8c\u73af\u5883\u662f\u4e00\u4e2aWeb Application Zoobar. \u5b66\u751f\u5b66\u4e60\u653b\u9632\u6280\u672f\u5e76\u5e94\u7528\u4e8e\u8be5Web Application. Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties. Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application. Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application. Lab 4: you will improve the zoobar application against browser attacks. \u8fd9\u4e2a\u8bfe\u6211\u4e3b\u8981\u662f\u505a\u4e86lab3\u3002lab3\u662f\u901a\u8fc7\u6df7\u5408\u7b26\u53f7\u6267\u884c\u6765\u904d\u5386\u7a0b\u5e8f\u7684\u6240\u6709\u5206\u652f\uff0c\u7406\u89e3\u4e86\u7b26\u53f7\u6267\u884c\u7684\u601d\u60f3\u540elab\u5e76\u4e0d\u96be\u505a\u3002\u8fd9\u4e2alab\u76f4\u89c2\u5c55\u793a\u7b26\u53f7\u6267\u884c\u8fd9\u79cd\u6280\u672f\u7684\u4f7f\u7528\u65b9\u6cd5\u3002 \u8fd9\u4e2a\u8bfe\u7684Final Project\u662f\u5b9e\u73b0 SecFS \uff0c\u4e00\u4e2a\u8fdc\u7aef\u6587\u4ef6\u7cfb\u7edf\uff0c\u9762\u5bf9\u5b8c\u5168\u4e0d\u53ef\u4fe1\u7684\u670d\u52a1\u5668\uff0c\u63d0\u4f9b\u673a\u5bc6\u6027\u548c\u5b8c\u6574\u6027\u3002\u53c2\u8003\u8bba\u6587\u4e3a SUNDR","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2alab + Final Project / Lab5","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/","text":"CS106L: Standard C++ Programming \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20\u5c0f\u65f6 \u6211\u4ece\u5927\u4e00\u5f00\u59cb\u4e00\u76f4\u90fd\u662f\u5199\u7684C++\u4ee3\u7801\uff0c\u76f4\u5230\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u6211\u624d\u610f\u8bc6\u5230\uff0c\u6211\u5199\u7684C++\u4ee3\u7801\u5927\u6982\u53ea\u662fC\u8bed\u8a00 + cin/cout\u800c\u5df2\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u6df1\u5165\u5230\u5f88\u591a\u6807\u51c6C++\u7684\u7279\u6027\u548c\u8bed\u6cd5\uff0c\u8ba9\u4f60\u7f16\u5199\u51fa\u9ad8\u8d28\u91cf\u7684C++\u4ee3\u7801\u3002\u4f8b\u5982auto binding\uff0cuniform initialization\uff0clambda function\uff0cmove semantics\uff0cRAII\u7b49\u6280\u5de7\u90fd\u5728\u6211\u6b64\u540e\u7684\u4ee3\u7801\u751f\u6daf\u4e2d\u88ab\u53cd\u590d\u7528\u5230\uff0c\u975e\u5e38\u5b9e\u7528\u3002 \u503c\u5f97\u4e00\u63d0\u7684\u662f\uff0c\u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u91cc\u4f60\u4f1a\u5b9e\u73b0\u4e00\u4e2aHashMap\uff08\u7c7b\u4f3c\u4e8eSTL\u4e2d\u7684unordered map), \u8fd9\u4e2a\u4f5c\u4e1a\u51e0\u4e4e\u628a\u6574\u4e2a\u8bfe\u7a0b\u4e32\u8054\u4e86\u8d77\u6765\uff0c\u975e\u5e38\u8003\u9a8c\u4ee3\u7801\u80fd\u529b\u3002\u7279\u522b\u662fiterator\u7684\u5b9e\u73b0\uff0c\u505a\u5b8c\u8fd9\u4e2a\u4f5c\u4e1a\u6211\u5f00\u59cb\u7406\u89e3\u4e3a\u4ec0\u4e48Linus\u5bf9C/C++\u55e4\u4e4b\u4ee5\u9f3b\u4e86\uff0c\u56e0\u4e3a\u771f\u7684\u5f88\u96be\u5199\u5bf9\u3002 \u603b\u7684\u6765\u8bb2\u8fd9\u95e8\u8bfe\u5e76\u4e0d\u96be\uff0c\u4f46\u662f\u4fe1\u606f\u91cf\u5f88\u5927\uff0c\u9700\u8981\u4f60\u5728\u4e4b\u540e\u7684\u5f00\u53d1\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56fa\u3002Stanford\u4e4b\u6240\u4ee5\u5355\u5f00\u4e00\u95e8C++\u7684\u7f16\u7a0b\u8bfe\uff0c\u662f\u56e0\u4e3a\u5b83\u540e\u7eed\u7684\u5f88\u591aCS\u8bfe\u7a0bProject\u90fd\u662f\u57fa\u4e8eC++\u7684\u3002\u4f8b\u5982CS144\u8ba1\u7b97\u673a\u7f51\u7edc\u548cCS143\u7f16\u8bd1\u5668\u3002\u8fd9\u4e24\u95e8\u8bfe\u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5177\u4f53\u5185\u5bb9\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u6211\u505a\u7684\u65f6\u5019\u4e00\u5171\u662f\u4e24\u4e2a\uff1a (1\uff09\u5b9e\u73b0\u4e00\u4e2aWikiRacer\u7684\u5c0f\u6e38\u620f (2\uff09\u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3cSTL\u5e93\u7684HashMap \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Stanford CS106L: Standard C++ Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#cs106l-standard-c-programming","text":"","title":"CS106L: Standard C++ Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20\u5c0f\u65f6 \u6211\u4ece\u5927\u4e00\u5f00\u59cb\u4e00\u76f4\u90fd\u662f\u5199\u7684C++\u4ee3\u7801\uff0c\u76f4\u5230\u5b66\u5b8c\u8fd9\u95e8\u8bfe\u6211\u624d\u610f\u8bc6\u5230\uff0c\u6211\u5199\u7684C++\u4ee3\u7801\u5927\u6982\u53ea\u662fC\u8bed\u8a00 + cin/cout\u800c\u5df2\u3002 \u8fd9\u95e8\u8bfe\u4f1a\u6df1\u5165\u5230\u5f88\u591a\u6807\u51c6C++\u7684\u7279\u6027\u548c\u8bed\u6cd5\uff0c\u8ba9\u4f60\u7f16\u5199\u51fa\u9ad8\u8d28\u91cf\u7684C++\u4ee3\u7801\u3002\u4f8b\u5982auto binding\uff0cuniform initialization\uff0clambda function\uff0cmove semantics\uff0cRAII\u7b49\u6280\u5de7\u90fd\u5728\u6211\u6b64\u540e\u7684\u4ee3\u7801\u751f\u6daf\u4e2d\u88ab\u53cd\u590d\u7528\u5230\uff0c\u975e\u5e38\u5b9e\u7528\u3002 \u503c\u5f97\u4e00\u63d0\u7684\u662f\uff0c\u8fd9\u95e8\u8bfe\u7684\u4f5c\u4e1a\u91cc\u4f60\u4f1a\u5b9e\u73b0\u4e00\u4e2aHashMap\uff08\u7c7b\u4f3c\u4e8eSTL\u4e2d\u7684unordered map), \u8fd9\u4e2a\u4f5c\u4e1a\u51e0\u4e4e\u628a\u6574\u4e2a\u8bfe\u7a0b\u4e32\u8054\u4e86\u8d77\u6765\uff0c\u975e\u5e38\u8003\u9a8c\u4ee3\u7801\u80fd\u529b\u3002\u7279\u522b\u662fiterator\u7684\u5b9e\u73b0\uff0c\u505a\u5b8c\u8fd9\u4e2a\u4f5c\u4e1a\u6211\u5f00\u59cb\u7406\u89e3\u4e3a\u4ec0\u4e48Linus\u5bf9C/C++\u55e4\u4e4b\u4ee5\u9f3b\u4e86\uff0c\u56e0\u4e3a\u771f\u7684\u5f88\u96be\u5199\u5bf9\u3002 \u603b\u7684\u6765\u8bb2\u8fd9\u95e8\u8bfe\u5e76\u4e0d\u96be\uff0c\u4f46\u662f\u4fe1\u606f\u91cf\u5f88\u5927\uff0c\u9700\u8981\u4f60\u5728\u4e4b\u540e\u7684\u5f00\u53d1\u5b9e\u8df5\u4e2d\u53cd\u590d\u5de9\u56fa\u3002Stanford\u4e4b\u6240\u4ee5\u5355\u5f00\u4e00\u95e8C++\u7684\u7f16\u7a0b\u8bfe\uff0c\u662f\u56e0\u4e3a\u5b83\u540e\u7eed\u7684\u5f88\u591aCS\u8bfe\u7a0bProject\u90fd\u662f\u57fa\u4e8eC++\u7684\u3002\u4f8b\u5982CS144\u8ba1\u7b97\u673a\u7f51\u7edc\u548cCS143\u7f16\u8bd1\u5668\u3002\u8fd9\u4e24\u95e8\u8bfe\u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u5177\u4f53\u5185\u5bb9\u89c1\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u6211\u505a\u7684\u65f6\u5019\u4e00\u5171\u662f\u4e24\u4e2a\uff1a (1\uff09\u5b9e\u73b0\u4e00\u4e2aWikiRacer\u7684\u5c0f\u6e38\u620f (2\uff09\u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3cSTL\u5e93\u7684HashMap","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/","text":"CS110L: Safety in Systems Programming \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u80cc\u666f\u5e76\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u7684\u8ba4\u8bc6\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aRust \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u5728\u8fd9\u95e8\u8bfe\u4e2d\u4f60\u5c06\u4f1a\u5b66\u4e60Rust\u8fd9\u95e8\u795e\u5947\u7684\u8bed\u8a00\u3002 \u5982\u679c\u4f60\u5b66\u8fc7C\u5e76\u63a5\u89e6\u8fc7\u4e00\u4e9b\u7cfb\u7edf\u7f16\u7a0b\u7684\u8bdd\uff0c\u5e94\u8be5\u5bf9C\u7684\u5185\u5b58\u6cc4\u6f0f\u4ee5\u53ca\u6307\u9488\u7684\u5371\u9669\u6709\u6240\u8033\u95fb\uff0c\u4f46C\u7684\u5e95\u5c42\u7279\u6027\u4ee5\u53ca\u9ad8\u6548\u4ecd\u7136\u8ba9\u5b83\u5728\u7cfb\u7edf\u7ea7\u7f16\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u4f8b\u5982Java\u7b49\u81ea\u5e26\u5783\u573e\u6536\u96c6\u673a\u5236\u7684\u9ad8\u7ea7\u8bed\u8a00\u6240\u66ff\u4ee3\u3002\u800cRust\u7684\u76ee\u6807\u5219\u662f\u5e0c\u671b\u5728C\u7684\u9ad8\u6548\u57fa\u7840\u4e0a\uff0c\u5f25\u8865\u5176\u5b89\u5168\u4e0d\u8db3\u7684\u7f3a\u70b9\u3002\u56e0\u6b64Rust\u5728\u8bbe\u8ba1\u4e4b\u521d\uff0c\u5c31\u6709\u5e26\u6709\u5f88\u591a\u7cfb\u7edf\u7f16\u7a0b\u7684\u89c2\u70b9\u3002\u5b66\u4e60Rust\uff0c\u4e5f\u80fd\u8ba9\u4f60\u4e4b\u540e\u80fd\u7528C\u8bed\u8a00\u7f16\u5199\u51fa\u66f4\u5b89\u5168\u66f4\u4f18\u96c5\u7684\u7cfb\u7edf\u7ea7\u4ee3\u7801\uff08\u4f8b\u5982\u64cd\u4f5c\u7cfb\u7edf\u7b49\uff09\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u90e8\u5206\u5173\u6ce8\u5728\u5e76\u53d1\uff08concurrency\uff09\u8fd9\u4e00\u4e3b\u9898\u4e0a\uff0c\u4f60\u5c06\u4f1a\u7cfb\u7edf\u5730\u638c\u63e1\u591a\u8fdb\u7a0b\u3001\u591a\u7ebf\u7a0b\u3001\u57fa\u4e8e\u4e8b\u4ef6\u9a71\u52a8\u7684\u5e76\u53d1\u7b49\u82e5\u5e72\u5e76\u53d1\u6280\u672f\uff0c\u5e76\u5728\u7b2c\u4e8c\u4e2aproject\u4e2d\u6bd4\u8f83\u5b83\u4eec\u5404\u81ea\u7684\u4f18\u52a3\u3002Rust\u4e2d\u201cfutures\u201d\u7684\u6982\u5ff5\u975e\u5e38\u6709\u8da3\u548c\u4f18\u96c5\uff0c\u8fd9\u4e9b\u57fa\u7840\u77e5\u8bc6\u5bf9\u4f60\u540e\u7eed\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u76f8\u5173\u8bfe\u7a0b\u7684\u5b66\u4e60\u5f88\u6709\u5e2e\u52a9\u3002\u53e6\u5916\uff0c\u6e05\u534e\u5927\u5b66\u7684\u64cd\u7edf\u5b9e\u9a8crCore\u5c31\u662f\u57fa\u4e8eRust\u7f16\u5199\u7684\uff0c\u5177\u4f53\u53c2\u89c1 \u6587\u6863 \u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u51716\u4e2alab\u548c2\u4e2aproject\uff0c\u4f5c\u4e1a\u6587\u6863\u548c\u4ee3\u7801\u6846\u67b6\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002\u5176\u4e2d\u4e24\u4e2aproject\u975e\u5e38\u6709\u8da3\uff0c\u5206\u522b\u662f\uff1a \uff081\uff09\u7528Rust\u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3c\u4e8egdb\u7684debugger \uff082\uff09\u7528Rust\u5b9e\u73b0\u4e00\u4e2a\u8d1f\u8f7d\u5747\u8861\u5668 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Stanford CS110L: Safety in Systems Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#cs110l-safety-in-systems-programming","text":"","title":"CS110L: Safety in Systems Programming"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u6700\u597d\u6709\u4e00\u5b9a\u7684\u7f16\u7a0b\u80cc\u666f\u5e76\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u6709\u521d\u6b65\u7684\u8ba4\u8bc6\u3002 \u7f16\u7a0b\u8bed\u8a00\uff1aRust \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a30\u5c0f\u65f6 \u5728\u8fd9\u95e8\u8bfe\u4e2d\u4f60\u5c06\u4f1a\u5b66\u4e60Rust\u8fd9\u95e8\u795e\u5947\u7684\u8bed\u8a00\u3002 \u5982\u679c\u4f60\u5b66\u8fc7C\u5e76\u63a5\u89e6\u8fc7\u4e00\u4e9b\u7cfb\u7edf\u7f16\u7a0b\u7684\u8bdd\uff0c\u5e94\u8be5\u5bf9C\u7684\u5185\u5b58\u6cc4\u6f0f\u4ee5\u53ca\u6307\u9488\u7684\u5371\u9669\u6709\u6240\u8033\u95fb\uff0c\u4f46C\u7684\u5e95\u5c42\u7279\u6027\u4ee5\u53ca\u9ad8\u6548\u4ecd\u7136\u8ba9\u5b83\u5728\u7cfb\u7edf\u7ea7\u7f16\u7a0b\u4e2d\u65e0\u6cd5\u88ab\u4f8b\u5982Java\u7b49\u81ea\u5e26\u5783\u573e\u6536\u96c6\u673a\u5236\u7684\u9ad8\u7ea7\u8bed\u8a00\u6240\u66ff\u4ee3\u3002\u800cRust\u7684\u76ee\u6807\u5219\u662f\u5e0c\u671b\u5728C\u7684\u9ad8\u6548\u57fa\u7840\u4e0a\uff0c\u5f25\u8865\u5176\u5b89\u5168\u4e0d\u8db3\u7684\u7f3a\u70b9\u3002\u56e0\u6b64Rust\u5728\u8bbe\u8ba1\u4e4b\u521d\uff0c\u5c31\u6709\u5e26\u6709\u5f88\u591a\u7cfb\u7edf\u7f16\u7a0b\u7684\u89c2\u70b9\u3002\u5b66\u4e60Rust\uff0c\u4e5f\u80fd\u8ba9\u4f60\u4e4b\u540e\u80fd\u7528C\u8bed\u8a00\u7f16\u5199\u51fa\u66f4\u5b89\u5168\u66f4\u4f18\u96c5\u7684\u7cfb\u7edf\u7ea7\u4ee3\u7801\uff08\u4f8b\u5982\u64cd\u4f5c\u7cfb\u7edf\u7b49\uff09\u3002 \u8fd9\u95e8\u8bfe\u7684\u540e\u534a\u90e8\u5206\u5173\u6ce8\u5728\u5e76\u53d1\uff08concurrency\uff09\u8fd9\u4e00\u4e3b\u9898\u4e0a\uff0c\u4f60\u5c06\u4f1a\u7cfb\u7edf\u5730\u638c\u63e1\u591a\u8fdb\u7a0b\u3001\u591a\u7ebf\u7a0b\u3001\u57fa\u4e8e\u4e8b\u4ef6\u9a71\u52a8\u7684\u5e76\u53d1\u7b49\u82e5\u5e72\u5e76\u53d1\u6280\u672f\uff0c\u5e76\u5728\u7b2c\u4e8c\u4e2aproject\u4e2d\u6bd4\u8f83\u5b83\u4eec\u5404\u81ea\u7684\u4f18\u52a3\u3002Rust\u4e2d\u201cfutures\u201d\u7684\u6982\u5ff5\u975e\u5e38\u6709\u8da3\u548c\u4f18\u96c5\uff0c\u8fd9\u4e9b\u57fa\u7840\u77e5\u8bc6\u5bf9\u4f60\u540e\u7eed\u5bf9\u8ba1\u7b97\u673a\u7cfb\u7edf\u76f8\u5173\u8bfe\u7a0b\u7684\u5b66\u4e60\u5f88\u6709\u5e2e\u52a9\u3002\u53e6\u5916\uff0c\u6e05\u534e\u5927\u5b66\u7684\u64cd\u7edf\u5b9e\u9a8crCore\u5c31\u662f\u57fa\u4e8eRust\u7f16\u5199\u7684\uff0c\u5177\u4f53\u53c2\u89c1 \u6587\u6863 \u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u51716\u4e2alab\u548c2\u4e2aproject\uff0c\u4f5c\u4e1a\u6587\u6863\u548c\u4ee3\u7801\u6846\u67b6\u8be6\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002\u5176\u4e2d\u4e24\u4e2aproject\u975e\u5e38\u6709\u8da3\uff0c\u5206\u522b\u662f\uff1a \uff081\uff09\u7528Rust\u5b9e\u73b0\u4e00\u4e2a\u7c7b\u4f3c\u4e8egdb\u7684debugger \uff082\uff09\u7528Rust\u5b9e\u73b0\u4e00\u4e2a\u8d1f\u8f7d\u5747\u8861\u5668","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/","text":"CS50: This is CS50x \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u54c8\u4f5b\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC\uff0cPython\uff0cSQL\uff0cHTML\uff0cCSS\uff0cJavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20\u5c0f\u65f6 \u8fde\u7eed\u591a\u5e74\u88ab\u54c8\u4f5b\u5927\u5b66\u5b66\u751f\u8bc4\u4e3a\u6700\u53d7\u6b22\u8fce\u7684\u516c\u9009\u8bfe\u7a0b\u3002Malan\u6559\u6388\u4e0a\u8bfe\u975e\u5e38\u6709\u6fc0\u60c5\uff0c\u6495\u9ec4\u9875\u8bb2\u4e8c\u5206\u6cd5\u7684\u573a\u9762\u8ba9\u4eba\u8bb0\u5fc6\u72b9\u65b0\uff08\u7b11\uff09\u3002\u4f46\u56e0\u4e3a\u5b83\u7684\u5165\u95e8\u4ee5\u53ca\u5168\u6821\u516c\u9009\u7684\u5c5e\u6027\uff0c\u8bfe\u7a0b\u5185\u5bb9\u96be\u5ea6\u6bd4\u8f83\u6e29\u548c\uff0c\u4f46\u662f\u8bfe\u7a0b\u4f5c\u4e1a\u8d28\u91cf\u975e\u5e38\u9ad8\u800c\u4e14\u5168\u90e8\u514d\u8d39\u5f00\u6e90\uff0c\u975e\u5e38\u9002\u5408\u5c0f\u767d\u5165\u95e8\uff0c\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a","title":"Harvard CS50: This is CS50x"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#cs50-this-is-cs50x","text":"","title":"CS50: This is CS50x"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u54c8\u4f5b\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aC\uff0cPython\uff0cSQL\uff0cHTML\uff0cCSS\uff0cJavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a20\u5c0f\u65f6 \u8fde\u7eed\u591a\u5e74\u88ab\u54c8\u4f5b\u5927\u5b66\u5b66\u751f\u8bc4\u4e3a\u6700\u53d7\u6b22\u8fce\u7684\u516c\u9009\u8bfe\u7a0b\u3002Malan\u6559\u6388\u4e0a\u8bfe\u975e\u5e38\u6709\u6fc0\u60c5\uff0c\u6495\u9ec4\u9875\u8bb2\u4e8c\u5206\u6cd5\u7684\u573a\u9762\u8ba9\u4eba\u8bb0\u5fc6\u72b9\u65b0\uff08\u7b11\uff09\u3002\u4f46\u56e0\u4e3a\u5b83\u7684\u5165\u95e8\u4ee5\u53ca\u5168\u6821\u516c\u9009\u7684\u5c5e\u6027\uff0c\u8bfe\u7a0b\u5185\u5bb9\u96be\u5ea6\u6bd4\u8f83\u6e29\u548c\uff0c\u4f46\u662f\u8bfe\u7a0b\u4f5c\u4e1a\u8d28\u91cf\u975e\u5e38\u9ad8\u800c\u4e14\u5168\u90e8\u514d\u8d39\u5f00\u6e90\uff0c\u975e\u5e38\u9002\u5408\u5c0f\u767d\u5165\u95e8\uff0c\u6216\u8005\u5927\u4f6c\u4f11\u95f2\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/","text":"CS61A: Structure and Interpretation of Computer Programs \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython\uff0cScheme\uff0cSQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50\u5c0f\u65f6 \u4f2f\u514b\u5229CS61\u7cfb\u5217\u7684\u7b2c\u4e00\u95e8\u8bfe\u7a0b\uff0c\u4e5f\u662f\u6211\u7684Python\u5165\u95e8\u8bfe\u3002 CS61\u7cfb\u5217\u662f\u4f2f\u514b\u5229CS\u4e13\u4e1a\u7684\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d\uff1a CS61A\uff1a\u5f3a\u8c03\u62bd\u8c61\uff0c\u8ba9\u5b66\u751f\u638c\u63e1\u7528\u7a0b\u5e8f\u6765\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c\u800c\u4e0d\u5173\u6ce8\u5e95\u5c42\u7684\u786c\u4ef6\u7ec6\u8282\u3002 CS61B\uff1a\u6ce8\u91cd\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u5927\u89c4\u6a21\u7a0b\u5e8f\u7684\u6784\u5efa\uff0c\u5b66\u751f\u4f1a\u7528Java\u8bed\u8a00\u7ed3\u5408\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u77e5\u8bc6\u6765\u6784\u5efa\u5343\u884c\u4ee3\u7801\u7ea7\u522b\u7684\u5927\u578b\u9879\u76ee\uff08\u4e00\u4e2a\u7b80\u6613\u7684\u8c37\u6b4c\u5730\u56fe\uff0c\u4e00\u4e2a\u4e8c\u7ef4\u7248\u7684Minecraft\uff09\u3002 CS61C\uff1a\u5173\u6ce8\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u8ba9\u5b66\u751f\u7406\u89e3\u9ad8\u7ea7\u8bed\u8a00\uff08\u4f8b\u5982C\uff09\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u6362\u4e3a\u673a\u5668\u53ef\u4ee5\u7406\u89e3\u768401\u4e32\u5e76\u5728CPU\u6267\u884c\u7684\uff0c\u5b66\u751f\u5c06\u4f1a\u5b66\u4e60RISC-V\u67b6\u6784\u5e76\u81ea\u5df1\u7528Logism\u5b9e\u73b0\u4e00\u4e2aCPU\u3002 CS61B\u548cCS61C\u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 \u56de\u5230CS61A\uff0c\u6ce8\u610f\u8fd9\u4e0d\u4ec5\u4ec5\u662f\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u8bfe\uff0c\u800c\u662f\u4f1a\u6df1\u5165\u5230\u7a0b\u5e8f\u6784\u9020\u4e0e\u8fd0\u884c\u7684\u539f\u7406\u3002\u6700\u540e\u4f60\u5c06\u5728\u7b2c4\u4e2aProject\u4e2d\u7528Python\u5b9e\u73b0\u4e00\u4e2aScheme\u7684\u89e3\u91ca\u5668\u3002\u6b64\u5916\uff0c\u62bd\u8c61\u5c06\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4e3b\u9898\uff0c\u4f60\u5c06\u5b66\u4e60\u5230\u51fd\u6570\u5f0f\u7f16\u7a0b\u3001\u6570\u636e\u62bd\u8c61\u3001\u9762\u5411\u5bf9\u8c61\u7b49\u7b49\u77e5\u8bc6\u6765\u8ba9\u4f60\u7684\u4ee3\u7801\u66f4\u6613\u8bfb\uff0c\u66f4\u6a21\u5757\u5316\u3002\u5f53\u7136\uff0c\u5b66\u4e60\u7f16\u7a0b\u8bed\u8a00\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u5185\u5bb9\uff0c\u4f60\u5c06\u4f1a\u638c\u63e1Python\u3001Scheme\u548cSQL\u8fd9\u4e09\u79cd\u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u5b83\u4eec\u7684\u5b66\u4e60\u548c\u6bd4\u8f83\u4e2d\uff0c\u76f8\u4fe1\u4f60\u4f1a\u62e5\u6709\u5feb\u901f\u638c\u63e1\u4e00\u95e8\u65b0\u7684\u7f16\u7a0b\u8bed\u8a00\u7684\u80fd\u529b\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891: \u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u4f1a\u6709\u6bcf\u4e2a\u4f5c\u4e1a\u5bf9\u5e94\u7684\u6587\u6863\u94fe\u63a5\u4ee5\u53ca\u4ee3\u7801\u6846\u67b6\u7684\u4e0b\u8f7d\u94fe\u63a5\u3002 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS61A: Structure and Interpretation of Computer Programs"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#cs61a-structure-and-interpretation-of-computer-programs","text":"","title":"CS61A: Structure and Interpretation of Computer Programs"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aPython\uff0cScheme\uff0cSQL \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a50\u5c0f\u65f6 \u4f2f\u514b\u5229CS61\u7cfb\u5217\u7684\u7b2c\u4e00\u95e8\u8bfe\u7a0b\uff0c\u4e5f\u662f\u6211\u7684Python\u5165\u95e8\u8bfe\u3002 CS61\u7cfb\u5217\u662f\u4f2f\u514b\u5229CS\u4e13\u4e1a\u7684\u5165\u95e8\u8bfe\uff0c\u5176\u4e2d\uff1a CS61A\uff1a\u5f3a\u8c03\u62bd\u8c61\uff0c\u8ba9\u5b66\u751f\u638c\u63e1\u7528\u7a0b\u5e8f\u6765\u89e3\u51b3\u5b9e\u9645\u95ee\u9898\uff0c\u800c\u4e0d\u5173\u6ce8\u5e95\u5c42\u7684\u786c\u4ef6\u7ec6\u8282\u3002 CS61B\uff1a\u6ce8\u91cd\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u5927\u89c4\u6a21\u7a0b\u5e8f\u7684\u6784\u5efa\uff0c\u5b66\u751f\u4f1a\u7528Java\u8bed\u8a00\u7ed3\u5408\u7b97\u6cd5\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u77e5\u8bc6\u6765\u6784\u5efa\u5343\u884c\u4ee3\u7801\u7ea7\u522b\u7684\u5927\u578b\u9879\u76ee\uff08\u4e00\u4e2a\u7b80\u6613\u7684\u8c37\u6b4c\u5730\u56fe\uff0c\u4e00\u4e2a\u4e8c\u7ef4\u7248\u7684Minecraft\uff09\u3002 CS61C\uff1a\u5173\u6ce8\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784\uff0c\u8ba9\u5b66\u751f\u7406\u89e3\u9ad8\u7ea7\u8bed\u8a00\uff08\u4f8b\u5982C\uff09\u662f\u5982\u4f55\u4e00\u6b65\u6b65\u8f6c\u6362\u4e3a\u673a\u5668\u53ef\u4ee5\u7406\u89e3\u768401\u4e32\u5e76\u5728CPU\u6267\u884c\u7684\uff0c\u5b66\u751f\u5c06\u4f1a\u5b66\u4e60RISC-V\u67b6\u6784\u5e76\u81ea\u5df1\u7528Logism\u5b9e\u73b0\u4e00\u4e2aCPU\u3002 CS61B\u548cCS61C\u5728\u672c\u4e66\u4e2d\u5747\u6709\u6536\u5f55\u3002 \u56de\u5230CS61A\uff0c\u6ce8\u610f\u8fd9\u4e0d\u4ec5\u4ec5\u662f\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\u8bfe\uff0c\u800c\u662f\u4f1a\u6df1\u5165\u5230\u7a0b\u5e8f\u6784\u9020\u4e0e\u8fd0\u884c\u7684\u539f\u7406\u3002\u6700\u540e\u4f60\u5c06\u5728\u7b2c4\u4e2aProject\u4e2d\u7528Python\u5b9e\u73b0\u4e00\u4e2aScheme\u7684\u89e3\u91ca\u5668\u3002\u6b64\u5916\uff0c\u62bd\u8c61\u5c06\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u4e3b\u9898\uff0c\u4f60\u5c06\u5b66\u4e60\u5230\u51fd\u6570\u5f0f\u7f16\u7a0b\u3001\u6570\u636e\u62bd\u8c61\u3001\u9762\u5411\u5bf9\u8c61\u7b49\u7b49\u77e5\u8bc6\u6765\u8ba9\u4f60\u7684\u4ee3\u7801\u66f4\u6613\u8bfb\uff0c\u66f4\u6a21\u5757\u5316\u3002\u5f53\u7136\uff0c\u5b66\u4e60\u7f16\u7a0b\u8bed\u8a00\u4e5f\u662f\u8fd9\u95e8\u8bfe\u7684\u4e00\u5927\u5185\u5bb9\uff0c\u4f60\u5c06\u4f1a\u638c\u63e1Python\u3001Scheme\u548cSQL\u8fd9\u4e09\u79cd\u7f16\u7a0b\u8bed\u8a00\uff0c\u5728\u5b83\u4eec\u7684\u5b66\u4e60\u548c\u6bd4\u8f83\u4e2d\uff0c\u76f8\u4fe1\u4f60\u4f1a\u62e5\u6709\u5feb\u901f\u638c\u63e1\u4e00\u95e8\u65b0\u7684\u7f16\u7a0b\u8bed\u8a00\u7684\u80fd\u529b\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891: \u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u94fe\u63a5 \u8bfe\u7a0b\u6559\u6750 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u8bfe\u7a0b\u7f51\u7ad9\u4f1a\u6709\u6bcf\u4e2a\u4f5c\u4e1a\u5bf9\u5e94\u7684\u6587\u6863\u94fe\u63a5\u4ee5\u53ca\u4ee3\u7801\u6846\u67b6\u7684\u4e0b\u8f7d\u94fe\u63a5\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1ashell \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a10\u5c0f\u65f6 \u6b63\u5982\u8bfe\u7a0b\u540d\u5b57\u6240\u8a00\uff1a\u201c\u8ba1\u7b97\u673a\u6559\u5b66\u4e2d\u6d88\u5931\u7684\u4e00\u4e2a\u5b66\u671f\u201d\uff0c\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u6559\u4f1a\u4f60\u8bb8\u591a\u5927\u5b66\u7684\u8bfe\u5802\u4e0a\u4e0d\u4f1a\u6d89\u53ca\u4f46\u5374\u5bf9\u6bcf\u4e2aCSer\u65e0\u6bd4\u91cd\u8981\u7684\u5de5\u5177\u6216\u8005\u77e5\u8bc6\u70b9\u3002\u4f8b\u5982Shell\u7f16\u7a0b\u3001\u547d\u4ee4\u884c\u914d\u7f6e\u3001Git\u3001Vim\u3001tmux\u3001ssh\u7b49\u7b49\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u8ba1\u7b97\u673a\u5c0f\u767d\uff0c\u90a3\u4e48\u6211\u975e\u5e38\u5efa\u8bae\u4f60\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\uff0c\u56e0\u4e3a\u5b83\u57fa\u672c\u6d89\u53ca\u4e86\u672c\u4e66\u5fc5\u5b66\u5de5\u5177\u4e2d\u7684\u7edd\u5927\u90e8\u5206\u5185\u5bb9\u3002 \u9664\u4e86MIT\u5b98\u65b9\u7684\u5b66\u4e60\u8d44\u6599\u5916\uff0c\u5317\u4eac\u5927\u5b66\u56fe\u7075\u73ed\u5f00\u8bbe\u7684\u524d\u6cbf\u8ba1\u7b97\u5b9e\u8df5\u4e2d\u4e5f\u5f00\u8bbe\u4e86\u76f8\u5173\u8bfe\u7a0b\uff0c\u8d44\u6599\u4f4d\u4e8e \u8fd9\u4e2a\u7f51\u7ad9 \u4e0b\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e00\u4e9b\u968f\u5802\u5c0f\u7ec3\u4e60\uff0c\u5177\u4f53\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"MIT-Missing-Semester"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#_1","text":"\u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1ashell \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a10\u5c0f\u65f6 \u6b63\u5982\u8bfe\u7a0b\u540d\u5b57\u6240\u8a00\uff1a\u201c\u8ba1\u7b97\u673a\u6559\u5b66\u4e2d\u6d88\u5931\u7684\u4e00\u4e2a\u5b66\u671f\u201d\uff0c\u8fd9\u95e8\u8bfe\u5c06\u4f1a\u6559\u4f1a\u4f60\u8bb8\u591a\u5927\u5b66\u7684\u8bfe\u5802\u4e0a\u4e0d\u4f1a\u6d89\u53ca\u4f46\u5374\u5bf9\u6bcf\u4e2aCSer\u65e0\u6bd4\u91cd\u8981\u7684\u5de5\u5177\u6216\u8005\u77e5\u8bc6\u70b9\u3002\u4f8b\u5982Shell\u7f16\u7a0b\u3001\u547d\u4ee4\u884c\u914d\u7f6e\u3001Git\u3001Vim\u3001tmux\u3001ssh\u7b49\u7b49\u3002\u5982\u679c\u4f60\u662f\u4e00\u4e2a\u8ba1\u7b97\u673a\u5c0f\u767d\uff0c\u90a3\u4e48\u6211\u975e\u5e38\u5efa\u8bae\u4f60\u5b66\u4e60\u4e00\u4e0b\u8fd9\u95e8\u8bfe\uff0c\u56e0\u4e3a\u5b83\u57fa\u672c\u6d89\u53ca\u4e86\u672c\u4e66\u5fc5\u5b66\u5de5\u5177\u4e2d\u7684\u7edd\u5927\u90e8\u5206\u5185\u5bb9\u3002 \u9664\u4e86MIT\u5b98\u65b9\u7684\u5b66\u4e60\u8d44\u6599\u5916\uff0c\u5317\u4eac\u5927\u5b66\u56fe\u7075\u73ed\u5f00\u8bbe\u7684\u524d\u6cbf\u8ba1\u7b97\u5b9e\u8df5\u4e2d\u4e5f\u5f00\u8bbe\u4e86\u76f8\u5173\u8bfe\u7a0b\uff0c\u8d44\u6599\u4f4d\u4e8e \u8fd9\u4e2a\u7f51\u7ad9 \u4e0b\uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u4e00\u4e9b\u968f\u5802\u5c0f\u7ec3\u4e60\uff0c\u5177\u4f53\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/6035/","text":"","title":"6035"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/","text":"Stanford CS143: Compilers \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784 \u7f16\u7a0b\u8bed\u8a00\uff1aJava\u6216C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u65af\u5766\u798f\u7684\u7f16\u8bd1\u539f\u7406\u8bfe\u7a0b\uff0c\u8bbe\u8ba1\u8005\u5f00\u53d1\u4e86\u4e00\u4e2aClass-Object-Oriented-Language\uff0c\u7b80\u79f0COOL\u8bed\u8a00\u3002\u8fd9\u95e8\u8bfe\u7684\u6838\u5fc3\u5c31\u662f\u901a\u8fc7\u7406\u8bba\u77e5\u8bc6\u7684\u5b66\u4e60\uff0c\u4e3aCOOL\u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06COOL\u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3aMIPS\u6c47\u7f16\u5e76\u5728Spim\u8fd9\u4e2aMIPS\u6a21\u62df\u5668\u4e0a\u6210\u529f\u6267\u884c\u3002 \u7406\u8bba\u90e8\u5206\u57fa\u672c\u6309\u7167\u9f99\u4e66\u7684\u987a\u5e8f\u8986\u76d6\u4e86\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u8fd0\u884c\u65f6\u73af\u5883\u3001\u5bc4\u5b58\u5668\u5206\u914d\u3001\u4ee3\u7801\u4f18\u5316\u4e0e\u751f\u6210\u7b49\u5185\u5bb9\uff0c\u5b9e\u8df5\u90e8\u5206\u5219\u76f8\u5e94\u5730\u5206\u4e3a\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u4ee3\u7801\u751f\u6210\u56db\u4e2a\u9636\u6bb5\uff0c\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5e76\u5728\u4f18\u5316\u90e8\u5206\u7ed9\u5b66\u751f\u7559\u4e0b\u4e86\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u9f99\u4e66 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5\u4e2a\u4e66\u9762\u4f5c\u4e1a + 5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Stanford CS143: Compilers"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#stanford-cs143-compilers","text":"","title":"Stanford CS143: Compilers"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u8ba1\u7b97\u673a\u4f53\u7cfb\u7ed3\u6784 \u7f16\u7a0b\u8bed\u8a00\uff1aJava\u6216C++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a150\u5c0f\u65f6 \u65af\u5766\u798f\u7684\u7f16\u8bd1\u539f\u7406\u8bfe\u7a0b\uff0c\u8bbe\u8ba1\u8005\u5f00\u53d1\u4e86\u4e00\u4e2aClass-Object-Oriented-Language\uff0c\u7b80\u79f0COOL\u8bed\u8a00\u3002\u8fd9\u95e8\u8bfe\u7684\u6838\u5fc3\u5c31\u662f\u901a\u8fc7\u7406\u8bba\u77e5\u8bc6\u7684\u5b66\u4e60\uff0c\u4e3aCOOL\u8bed\u8a00\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668\uff0c\u5c06COOL\u9ad8\u7ea7\u8bed\u8a00\u7f16\u8bd1\u4e3aMIPS\u6c47\u7f16\u5e76\u5728Spim\u8fd9\u4e2aMIPS\u6a21\u62df\u5668\u4e0a\u6210\u529f\u6267\u884c\u3002 \u7406\u8bba\u90e8\u5206\u57fa\u672c\u6309\u7167\u9f99\u4e66\u7684\u987a\u5e8f\u8986\u76d6\u4e86\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u8fd0\u884c\u65f6\u73af\u5883\u3001\u5bc4\u5b58\u5668\u5206\u914d\u3001\u4ee3\u7801\u4f18\u5316\u4e0e\u751f\u6210\u7b49\u5185\u5bb9\uff0c\u5b9e\u8df5\u90e8\u5206\u5219\u76f8\u5e94\u5730\u5206\u4e3a\u8bcd\u6cd5\u5206\u6790\u3001\u8bed\u6cd5\u5206\u6790\u3001\u8bed\u4e49\u5206\u6790\u3001\u4ee3\u7801\u751f\u6210\u56db\u4e2a\u9636\u6bb5\uff0c\u96be\u5ea6\u5faa\u5e8f\u6e10\u8fdb\uff0c\u5e76\u5728\u4f18\u5316\u90e8\u5206\u7ed9\u5b66\u751f\u7559\u4e0b\u4e86\u5f88\u5927\u7684\u8bbe\u8ba1\u7a7a\u95f4\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u9f99\u4e66 \u8bfe\u7a0b\u4f5c\u4e1a\uff1a5\u4e2a\u4e66\u9762\u4f5c\u4e1a + 5\u4e2a\u7f16\u7a0b\u4f5c\u4e1a\u5e26\u4f60\u5b9e\u73b0\u4e00\u4e2a\u7f16\u8bd1\u5668","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS184/","text":"","title":"CS184"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u800c\u7cfb\u7edf\u5730\u4ecb\u7ecd\u73b0\u4ee3\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u56db\u5927\u7ec4\u6210\u90e8\u5206\uff1a\uff081\uff09\u5149\u6805\u5316\u6210\u50cf\uff0c\uff082\uff09\u51e0\u4f55\u8868\u793a\uff0c\uff083\uff09\u5149\u7684\u4f20\u64ad\u7406\u8bba\uff0c\u4ee5\u53ca\uff084\uff09\u52a8\u753b\u4e0e\u6a21\u62df\u3002\u6bcf\u4e2a\u65b9\u9762\u90fd\u4f1a\u4ece\u57fa\u7840\u539f\u7406\u51fa\u53d1\u8bb2\u89e3\u5230\u5b9e\u9645\u5e94\u7528\uff0c\u5e76\u4ecb\u7ecd\u524d\u6cbf\u7684\u7406\u8bba\u7814\u7a76\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\uff0c\u4f60\u53ef\u4ee5\u5b66\u4e60\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u80cc\u540e\u7684\u6570\u5b66\u548c\u7269\u7406\u77e5\u8bc6\uff0c\u5e76\u953b\u70bc\u5b9e\u9645\u7684\u7f16\u7a0b\u80fd\u529b\u3002 \u987e\u540d\u601d\u4e49\uff0c\u4f5c\u4e3a\u5165\u95e8\uff0c\u672c\u8bfe\u7a0b\u4f1a\u5c3d\u53ef\u80fd\u7684\u8986\u76d6\u56fe\u5f62\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff0c\u628a\u6bcf\u4e00\u90e8\u5206\u7684\u57fa\u672c\u6982\u5ff5\u90fd\u5c3d\u53ef\u80fd\u8bf4\u6e05\u695a\uff0c\u8ba9\u5927\u5bb6\u5bf9\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u6709\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u81ea\u4e0a\u800c\u4e0b\u7684\u5168\u5c40\u628a\u63e1\u3002\u5168\u5c40\u7684\u7406\u89e3\u5f88\u91cd\u8981\uff0c\u5b66\u5b8c\u672c\u8bfe\u7a0b\u540e\uff0c\u4f60\u4f1a\u4e86\u89e3\u5230\u56fe\u5f62\u5b66\u4e0d\u7b49\u4e8e OpenGL\uff0c\u4e0d\u7b49\u4e8e\u5149\u7ebf\u8ffd\u8e2a\uff0c\u800c\u662f\u4e00\u5957\u751f\u6210\u6574\u4e2a\u865a\u62df\u4e16\u754c\u7684\u65b9\u6cd5\u3002\u4ece\u672c\u8bfe\u7a0b\u7684\u6807\u9898\uff0c\u5927\u5bb6\u8fd8\u53ef\u4ee5\u770b\u5230\u201c\u73b0\u4ee3\u201d\u4e8c\u5b57\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u6240\u8981\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u7684\u90fd\u662f\u73b0\u4ee3\u5316\u7684\u77e5\u8bc6\uff0c\u4e5f\u90fd\u662f\u73b0\u4ee3\u56fe\u5f62\u5b66\u5de5\u4e1a\u754c\u9700\u8981\u7684\u56fe\u5f62\u5b66\u57fa\u7840\u3002 \u56fd\u5185\u76f8\u5f53\u6709\u540d\u7684\u56fe\u5f62\u5b66\u516c\u5f00\u8bfe\u3002\u548c\u5927\u5bb6\u5370\u8c61\u4e2d\u7684\u56fe\u5f62\u5b66\u91cc\u5168\u90fd\u662f\u6570\u5b66\u548c\u5947\u602a\u7684\u7b97\u6cd5\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4ee5\u5341\u5206\u751f\u52a8\u7684\u65b9\u5f0f\u5e26\u6211\u4eec\u8fdb\u5165\u4e86\u56fe\u5f62\u5b66\u8fd9\u4e2a\u9886\u57df\u7684\u5927\u95e8\u3002 \u6bcf\u4e2aproject\u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u5374\u90fd\u5341\u5206\u6709\u8da3\u3002\u5728\u505a\u8fd9\u4e9bproject\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4f1a\u5b9e\u73b0\u7b80\u5355\u7684\u5149\u6805\u5316\uff0c\u5e76\u6e32\u67d3\u4e00\u4e2a\u7b80\u6613\u7684\u6a21\u578b\uff0c\u6211\u4eec\u8fd8\u4f1a\u5b9e\u73b0\u5149\u7ebf\u8ffd\u8e2a\uff0c\u4ee5\u8ffd\u6c42\u6e32\u67d3\u66f4\u597d\u7684\u8d28\u91cf\u3002\u6bcf\u4e2aproject\u4e2d\u8fd8\u6709\u9009\u505a\u7b49\u62d3\u5c55\u4f5c\u4e1a\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u6e32\u67d3\u7684\u6a21\u578b\u5177\u6709\u66f4\u597d\u7684\u8d28\u91cf\uff0c\u66f4\u5feb\u7684\u6e32\u67d3\u901f\u5ea6\u3002 \u559c\u6b22\u73a9\u6e38\u620f\u7684\u540c\u5b66\u5e94\u8be5\u5bf9\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\uff0c\u8fd9\u95e8\u8bfe\u7684\u8001\u5e08\u95eb\u4ee4\u742a\u5c31\u5bf9\u8fd9\u4e00\u6280\u672f\u6709\u76f4\u63a5\u7684\u63a8\u52a8\u4f5c\u7528\u3002 \u8ddf\u7740\u8bfe\u7a0b\u7684\u89c6\u9891\uff0c\u505a\u5b8c\u6bcf\u4e00\u4e2aproject\uff0c\u76f8\u4fe1\u4f60\u4f1a\u548c\u6211\u4e00\u6837\u5bf9\u56fe\u5f62\u5b66\uff0c\u4ee5\u53ca\u73b0\u4ee3\u7684\u6e32\u67d3\u6280\u672f\u4ea7\u751f\u6d53\u539a\u7684\u5174\u8da3\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES101 \uff0c GAMES101 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \uff0c \u5b98\u7f51 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8\u4e2aproject \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"GAMES101"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUCSB \u5148\u4fee\u8981\u6c42\uff1a\u7ebf\u6027\u4ee3\u6570\uff0c\u9ad8\u7b49\u6570\u5b66\uff0cC++ \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a80\u5c0f\u65f6 \u5b98\u65b9\u4ecb\u7ecd: \u672c\u8bfe\u7a0b\u5c06\u5168\u9762\u800c\u7cfb\u7edf\u5730\u4ecb\u7ecd\u73b0\u4ee3\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u7684\u56db\u5927\u7ec4\u6210\u90e8\u5206\uff1a\uff081\uff09\u5149\u6805\u5316\u6210\u50cf\uff0c\uff082\uff09\u51e0\u4f55\u8868\u793a\uff0c\uff083\uff09\u5149\u7684\u4f20\u64ad\u7406\u8bba\uff0c\u4ee5\u53ca\uff084\uff09\u52a8\u753b\u4e0e\u6a21\u62df\u3002\u6bcf\u4e2a\u65b9\u9762\u90fd\u4f1a\u4ece\u57fa\u7840\u539f\u7406\u51fa\u53d1\u8bb2\u89e3\u5230\u5b9e\u9645\u5e94\u7528\uff0c\u5e76\u4ecb\u7ecd\u524d\u6cbf\u7684\u7406\u8bba\u7814\u7a76\u3002\u901a\u8fc7\u672c\u8bfe\u7a0b\uff0c\u4f60\u53ef\u4ee5\u5b66\u4e60\u5230\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u80cc\u540e\u7684\u6570\u5b66\u548c\u7269\u7406\u77e5\u8bc6\uff0c\u5e76\u953b\u70bc\u5b9e\u9645\u7684\u7f16\u7a0b\u80fd\u529b\u3002 \u987e\u540d\u601d\u4e49\uff0c\u4f5c\u4e3a\u5165\u95e8\uff0c\u672c\u8bfe\u7a0b\u4f1a\u5c3d\u53ef\u80fd\u7684\u8986\u76d6\u56fe\u5f62\u5b66\u7684\u65b9\u65b9\u9762\u9762\uff0c\u628a\u6bcf\u4e00\u90e8\u5206\u7684\u57fa\u672c\u6982\u5ff5\u90fd\u5c3d\u53ef\u80fd\u8bf4\u6e05\u695a\uff0c\u8ba9\u5927\u5bb6\u5bf9\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u6709\u4e00\u4e2a\u5b8c\u6574\u7684\u3001\u81ea\u4e0a\u800c\u4e0b\u7684\u5168\u5c40\u628a\u63e1\u3002\u5168\u5c40\u7684\u7406\u89e3\u5f88\u91cd\u8981\uff0c\u5b66\u5b8c\u672c\u8bfe\u7a0b\u540e\uff0c\u4f60\u4f1a\u4e86\u89e3\u5230\u56fe\u5f62\u5b66\u4e0d\u7b49\u4e8e OpenGL\uff0c\u4e0d\u7b49\u4e8e\u5149\u7ebf\u8ffd\u8e2a\uff0c\u800c\u662f\u4e00\u5957\u751f\u6210\u6574\u4e2a\u865a\u62df\u4e16\u754c\u7684\u65b9\u6cd5\u3002\u4ece\u672c\u8bfe\u7a0b\u7684\u6807\u9898\uff0c\u5927\u5bb6\u8fd8\u53ef\u4ee5\u770b\u5230\u201c\u73b0\u4ee3\u201d\u4e8c\u5b57\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u8fd9\u95e8\u8bfe\u6240\u8981\u7ed9\u5927\u5bb6\u4ecb\u7ecd\u7684\u90fd\u662f\u73b0\u4ee3\u5316\u7684\u77e5\u8bc6\uff0c\u4e5f\u90fd\u662f\u73b0\u4ee3\u56fe\u5f62\u5b66\u5de5\u4e1a\u754c\u9700\u8981\u7684\u56fe\u5f62\u5b66\u57fa\u7840\u3002 \u56fd\u5185\u76f8\u5f53\u6709\u540d\u7684\u56fe\u5f62\u5b66\u516c\u5f00\u8bfe\u3002\u548c\u5927\u5bb6\u5370\u8c61\u4e2d\u7684\u56fe\u5f62\u5b66\u91cc\u5168\u90fd\u662f\u6570\u5b66\u548c\u5947\u602a\u7684\u7b97\u6cd5\u4e0d\u540c\uff0c\u8fd9\u95e8\u8bfe\u4ee5\u5341\u5206\u751f\u52a8\u7684\u65b9\u5f0f\u5e26\u6211\u4eec\u8fdb\u5165\u4e86\u56fe\u5f62\u5b66\u8fd9\u4e2a\u9886\u57df\u7684\u5927\u95e8\u3002 \u6bcf\u4e2aproject\u4ee3\u7801\u91cf\u90fd\u4e0d\u4f1a\u5f88\u591a\uff0c\u4f46\u662f\u5374\u90fd\u5341\u5206\u6709\u8da3\u3002\u5728\u505a\u8fd9\u4e9bproject\u7684\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u4f1a\u5b9e\u73b0\u7b80\u5355\u7684\u5149\u6805\u5316\uff0c\u5e76\u6e32\u67d3\u4e00\u4e2a\u7b80\u6613\u7684\u6a21\u578b\uff0c\u6211\u4eec\u8fd8\u4f1a\u5b9e\u73b0\u5149\u7ebf\u8ffd\u8e2a\uff0c\u4ee5\u8ffd\u6c42\u6e32\u67d3\u66f4\u597d\u7684\u8d28\u91cf\u3002\u6bcf\u4e2aproject\u4e2d\u8fd8\u6709\u9009\u505a\u7b49\u62d3\u5c55\u4f5c\u4e1a\uff0c\u53ef\u4ee5\u8ba9\u6211\u4eec\u6e32\u67d3\u7684\u6a21\u578b\u5177\u6709\u66f4\u597d\u7684\u8d28\u91cf\uff0c\u66f4\u5feb\u7684\u6e32\u67d3\u901f\u5ea6\u3002 \u559c\u6b22\u73a9\u6e38\u620f\u7684\u540c\u5b66\u5e94\u8be5\u5bf9\u5b9e\u65f6\u5149\u7ebf\u8ffd\u8e2a\u6709\u4e00\u5b9a\u7684\u4e86\u89e3\uff0c\u8fd9\u95e8\u8bfe\u7684\u8001\u5e08\u95eb\u4ee4\u742a\u5c31\u5bf9\u8fd9\u4e00\u6280\u672f\u6709\u76f4\u63a5\u7684\u63a8\u52a8\u4f5c\u7528\u3002 \u8ddf\u7740\u8bfe\u7a0b\u7684\u89c6\u9891\uff0c\u505a\u5b8c\u6bcf\u4e00\u4e2aproject\uff0c\u76f8\u4fe1\u4f60\u4f1a\u548c\u6211\u4e00\u6837\u5bf9\u56fe\u5f62\u5b66\uff0c\u4ee5\u53ca\u73b0\u4ee3\u7684\u6e32\u67d3\u6280\u672f\u4ea7\u751f\u6d53\u539a\u7684\u5174\u8da3\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a GAMES101 \uff0c GAMES101 \u8bfe\u7a0b\u89c6\u9891\uff1a bilibili \uff0c \u5b98\u7f51 \u8bfe\u7a0b\u6559\u6750\uff1aFundamentals of Computer Graphics \u8bfe\u7a0b\u4f5c\u4e1a\uff1a 8\u4e2aproject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/","text":"CS144: Computer Network \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840\uff0cCS106L \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u4e3b\u8bb2\u4eba\u4e4b\u4e00\u662f\u7f51\u7edc\u9886\u57df\u7684\u5de8\u64d8 Nick McKeown \u6559\u6388\u3002\u8fd9\u4f4d\u62e5\u6709\u81ea\u5df1\u521b\u4e1a\u516c\u53f8\u7684\u5b66\u754c\u4e1a\u754c\u53cc\u5de8\u4f6c\u4f1a\u5728\u4ed6\u6155\u8bfe\u6bcf\u4e00\u7ae0\u8282\u7684\u6700\u540e\u91c7\u8bbf\u4e00\u4f4d\u4e1a\u754c\u7684\u9ad8\u7ba1\u6216\u8005\u5b66\u754c\u7684\u9ad8\u4eba\uff0c\u975e\u5e38\u5f00\u9614\u773c\u754c\u3002 \u5728\u8fd9\u95e8\u8bfe\u7684Project\u4e2d\uff0c\u4f60\u5c06\u7528C++\u5faa\u5e8f\u6e10\u8fdb\u5730\u642d\u5efa\u51fa\u6574\u4e2aTCP/IP\u534f\u8bae\u6808\uff0c\u5b9e\u73b0IP\u8def\u7531\u4ee5\u53caARP\u534f\u8bae\uff0c\u6700\u540e\u5229\u7528\u4f60\u81ea\u5df1\u7684\u534f\u8bae\u6808\u4ee3\u66ffLinux Kernel\u7684\u7f51\u7edc\u534f\u8bae\u6808\u548c\u5176\u4ed6\u5b66\u751f\u7684\u8ba1\u7b97\u673a\u8fdb\u884c\u901a\u4fe1\uff0c\u975e\u5e38amazing\uff01 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a8\u4e2aProject\u5e26\u4f60\u5b9e\u73b0\u6574\u4e2aTCP/IP\u534f\u8bae\u6808 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Stanford CS144: Computer Network"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#cs144-computer-network","text":"","title":"CS144: Computer Network"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aStanford \u5148\u4fee\u8981\u6c42\uff1a\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840\uff0cCS106L \u7f16\u7a0b\u8bed\u8a00\uff1aC++ \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u4e3b\u8bb2\u4eba\u4e4b\u4e00\u662f\u7f51\u7edc\u9886\u57df\u7684\u5de8\u64d8 Nick McKeown \u6559\u6388\u3002\u8fd9\u4f4d\u62e5\u6709\u81ea\u5df1\u521b\u4e1a\u516c\u53f8\u7684\u5b66\u754c\u4e1a\u754c\u53cc\u5de8\u4f6c\u4f1a\u5728\u4ed6\u6155\u8bfe\u6bcf\u4e00\u7ae0\u8282\u7684\u6700\u540e\u91c7\u8bbf\u4e00\u4f4d\u4e1a\u754c\u7684\u9ad8\u7ba1\u6216\u8005\u5b66\u754c\u7684\u9ad8\u4eba\uff0c\u975e\u5e38\u5f00\u9614\u773c\u754c\u3002 \u5728\u8fd9\u95e8\u8bfe\u7684Project\u4e2d\uff0c\u4f60\u5c06\u7528C++\u5faa\u5e8f\u6e10\u8fdb\u5730\u642d\u5efa\u51fa\u6574\u4e2aTCP/IP\u534f\u8bae\u6808\uff0c\u5b9e\u73b0IP\u8def\u7531\u4ee5\u53caARP\u534f\u8bae\uff0c\u6700\u540e\u5229\u7528\u4f60\u81ea\u5df1\u7684\u534f\u8bae\u6808\u4ee3\u66ffLinux Kernel\u7684\u7f51\u7edc\u534f\u8bae\u6808\u548c\u5176\u4ed6\u5b66\u751f\u7684\u8ba1\u7b97\u673a\u8fdb\u884c\u901a\u4fe1\uff0c\u975e\u5e38amazing\uff01","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1a\u65e0 \u8bfe\u7a0b\u4f5c\u4e1a \uff1a8\u4e2aProject\u5e26\u4f60\u5b9e\u73b0\u6574\u4e2aTCP/IP\u534f\u8bae\u6808","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/","text":"Computer Networking: A Top-Down Approach \u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1a\u9a6c\u8428\u8bf8\u585e\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40\u5c0f\u65f6 \u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u662f\u8ba1\u7b97\u673a\u7f51\u7edc\u9886\u57df\u7684\u4e00\u672c\u7ecf\u5178\u6559\u6750\uff0c\u4e24\u4f4d\u4f5c\u8005Jim Kurose\u548cKeith Ross\u7cbe\u5fc3\u5236\u4f5c\u4e86\u6559\u6750\u914d\u5957\u7684\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5e76\u4e14\u516c\u5f00\u4e86\u81ea\u5df1\u5f55\u5236\u7684\u7f51\u8bfe\u89c6\u9891\uff0c\u4ea4\u4e92\u5f0f\u7684\u5728\u7ebf\u7ae0\u8282\u6d4b\u8bd5\uff0c\u4ee5\u53ca\u5229\u7528wireshark\u8fdb\u884c\u6293\u5305\u5206\u6790\u7684lab\u3002\u552f\u4e00\u9057\u61be\u7684\u662f\u8fd9\u95e8\u8bfe\u5e76\u6ca1\u6709\u786c\u6838\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u800cStanford\u7684 CS144 \u80fd\u5f88\u597d\u5730\u5f25\u8865\u8fd9\u4e00\u70b9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aComputer Networking: A Top-Down Approach \u8bfe\u7a0b\u4f5c\u4e1a \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"Computer Networking: A Top-Down Approach"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#computer-networking-a-top-down-approach","text":"","title":"Computer Networking: A Top-Down Approach"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1a\u9a6c\u8428\u8bf8\u585e\u5927\u5b66 \u5148\u4fee\u8981\u6c42\uff1a\u6709\u4e00\u5b9a\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u57fa\u7840 \u7f16\u7a0b\u8bed\u8a00\uff1a\u65e0 \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a40\u5c0f\u65f6 \u300a\u81ea\u9876\u5411\u4e0b\u65b9\u6cd5\u300b\u662f\u8ba1\u7b97\u673a\u7f51\u7edc\u9886\u57df\u7684\u4e00\u672c\u7ecf\u5178\u6559\u6750\uff0c\u4e24\u4f4d\u4f5c\u8005Jim Kurose\u548cKeith Ross\u7cbe\u5fc3\u5236\u4f5c\u4e86\u6559\u6750\u914d\u5957\u7684\u8bfe\u7a0b\u7f51\u7ad9\uff0c\u5e76\u4e14\u516c\u5f00\u4e86\u81ea\u5df1\u5f55\u5236\u7684\u7f51\u8bfe\u89c6\u9891\uff0c\u4ea4\u4e92\u5f0f\u7684\u5728\u7ebf\u7ae0\u8282\u6d4b\u8bd5\uff0c\u4ee5\u53ca\u5229\u7528wireshark\u8fdb\u884c\u6293\u5305\u5206\u6790\u7684lab\u3002\u552f\u4e00\u9057\u61be\u7684\u662f\u8fd9\u95e8\u8bfe\u5e76\u6ca1\u6709\u786c\u6838\u7684\u7f16\u7a0b\u4f5c\u4e1a\uff0c\u800cStanford\u7684 CS144 \u80fd\u5f88\u597d\u5730\u5f25\u8865\u8fd9\u4e00\u70b9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891 \u8bfe\u7a0b\u6559\u6750\uff1aComputer Networking: A Top-Down Approach \u8bfe\u7a0b\u4f5c\u4e1a","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u76ee\u6807\u5c31\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u5982\u4f55\u5199\u51fa\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u6240\u8c13\u9ad8\u8d28\u91cf\uff0c\u5219\u662f\u6ee1\u8db3\u4e0b\u9762\u4e09\u4e2a\u76ee\u6807\uff08\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u539f\u8bdd\u590d\u5236\uff0c\u4ee5\u9632\u81ea\u5df1\u7ffb\u8bd1\u66f2\u89e3\u672c\u610f\uff09\uff1a Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build. Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You\u2019ll be surprised how much you forget if you don\u2019t write it down, and how much it helps your own future self to have a good design. Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code. \u4e3a\u6b64\uff0c\u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u4eec\u7cbe\u5fc3\u7f16\u5199\u4e86\u4e00\u672c\u4e66\u6765\u9610\u91ca\u8bf8\u591a\u8f6f\u4ef6\u6784\u5efa\u7684\u6838\u5fc3\u539f\u5219\u4e0e\u524d\u4eba\u603b\u7ed3\u4e0b\u6765\u7684\u5b9d\u8d35\u7ecf\u9a8c\uff0c\u5185\u5bb9\u7ec6\u8282\u5230\u5982\u4f55\u7f16\u5199\u6ce8\u91ca\u548c\u51fd\u6570Specification\uff0c\u5982\u4f55\u8bbe\u8ba1\u62bd\u8c61\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u8bf8\u591a\u5e76\u884c\u7f16\u7a0b\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4f1a\u8ba9\u4f60\u5728\u7cbe\u5fc3\u8bbe\u8ba1\u7684Java\u7f16\u7a0b\u9879\u76ee\u91cc\u4f53\u9a8c\u548c\u7ec3\u4e60\u8fd9\u4e9b\u7f16\u7a0b\u6a21\u5f0f\u3002 2016\u5e74\u6625\u5b63\u5b66\u671f\u8fd9\u95e8\u8bfe\u5f00\u6e90\u4e86\u5176\u6240\u6709\u7f16\u7a0b\u4f5c\u4e1a\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u800c\u6700\u65b0\u7684\u8bfe\u7a0b\u6559\u6750\u53ef\u4ee5\u5728\u5176\u6700\u65b0\u7684\u6559\u5b66\u7f51\u7ad9\u4e0a\u627e\u5230\uff0c\u5177\u4f53\u94fe\u63a5\u53c2\u89c1\u4e0b\u65b9\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9\uff1a 2021spring \uff0c 2016spring \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u7684\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1\u4e2aProject \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"MIT 6.031: Software Construction"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aMIT \u5148\u4fee\u8981\u6c42\uff1a\u638c\u63e1\u81f3\u5c11\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00 \u7f16\u7a0b\u8bed\u8a00\uff1aJava \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u8fd9\u95e8\u8bfe\u7684\u76ee\u6807\u5c31\u662f\u8ba9\u5b66\u751f\u5b66\u4f1a\u5982\u4f55\u5199\u51fa\u9ad8\u8d28\u91cf\u7684\u4ee3\u7801\uff0c\u6240\u8c13\u9ad8\u8d28\u91cf\uff0c\u5219\u662f\u6ee1\u8db3\u4e0b\u9762\u4e09\u4e2a\u76ee\u6807\uff08\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u539f\u8bdd\u590d\u5236\uff0c\u4ee5\u9632\u81ea\u5df1\u7ffb\u8bd1\u66f2\u89e3\u672c\u610f\uff09\uff1a Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build. Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You\u2019ll be surprised how much you forget if you don\u2019t write it down, and how much it helps your own future self to have a good design. Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code. \u4e3a\u6b64\uff0c\u8fd9\u95e8\u8bfe\u7684\u8bbe\u8ba1\u8005\u4eec\u7cbe\u5fc3\u7f16\u5199\u4e86\u4e00\u672c\u4e66\u6765\u9610\u91ca\u8bf8\u591a\u8f6f\u4ef6\u6784\u5efa\u7684\u6838\u5fc3\u539f\u5219\u4e0e\u524d\u4eba\u603b\u7ed3\u4e0b\u6765\u7684\u5b9d\u8d35\u7ecf\u9a8c\uff0c\u5185\u5bb9\u7ec6\u8282\u5230\u5982\u4f55\u7f16\u5199\u6ce8\u91ca\u548c\u51fd\u6570Specification\uff0c\u5982\u4f55\u8bbe\u8ba1\u62bd\u8c61\u6570\u636e\u7ed3\u6784\u4ee5\u53ca\u8bf8\u591a\u5e76\u884c\u7f16\u7a0b\u7684\u5185\u5bb9\uff0c\u5e76\u4e14\u4f1a\u8ba9\u4f60\u5728\u7cbe\u5fc3\u8bbe\u8ba1\u7684Java\u7f16\u7a0b\u9879\u76ee\u91cc\u4f53\u9a8c\u548c\u7ec3\u4e60\u8fd9\u4e9b\u7f16\u7a0b\u6a21\u5f0f\u3002 2016\u5e74\u6625\u5b63\u5b66\u671f\u8fd9\u95e8\u8bfe\u5f00\u6e90\u4e86\u5176\u6240\u6709\u7f16\u7a0b\u4f5c\u4e1a\u7684\u4ee3\u7801\u6846\u67b6\uff0c\u800c\u6700\u65b0\u7684\u8bfe\u7a0b\u6559\u6750\u53ef\u4ee5\u5728\u5176\u6700\u65b0\u7684\u6559\u5b66\u7f51\u7ad9\u4e0a\u627e\u5230\uff0c\u5177\u4f53\u94fe\u63a5\u53c2\u89c1\u4e0b\u65b9\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9\uff1a 2021spring \uff0c 2016spring \u8bfe\u7a0b\u89c6\u9891\uff1a\u65e0 \u8bfe\u7a0b\u6559\u6750\uff1a\u53c2\u89c1\u8bfe\u7a0b\u7f51\u7ad9\u7684\u8bfe\u7a0bnotes \u8bfe\u7a0b\u4f5c\u4e1a\uff1a4\u4e2a\u7f16\u7a0b\u4f5c\u4e1a + 1\u4e2aProject","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/","text":"\u8bfe\u7a0b\u7b80\u4ecb \u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aRuby/JavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\uff0c\u4e0d\u540c\u4e8e\u5f88\u591a\u4f20\u7edf\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6587\u6863\u8bbe\u8ba1(plan and document\u6a21\u5f0f)\uff0c\u8fd9\u95e8\u8bfe\u4e13\u6ce8\u4e8e\u6700\u8fd1\u9010\u6e10\u6d41\u884c\u8d77\u6765\u7684\u654f\u6377\u5f00\u53d1(Agile Development)\u6a21\u5f0f\uff0c\u5229\u7528\u4e91\u5e73\u53f0\u63d0\u4f9b\u8f6f\u4ef6\u5373\u670d\u52a1(software as a service)\u3002\u4e3a\u6b64\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u7f16\u5199\u4e86 Software as a service \u8fd9\u672c\u6559\u6750\uff0c\u901a\u8fc7Ruby/Rails\u6846\u67b6\u6765\u9610\u91casaas\u8fd9\u4e2a\u6982\u5ff5\uff0c\u5e76\u4e14\u6709\u4e30\u5bcc\u7684\u914d\u5957\u7f16\u7a0b\u7ec3\u4e60\u3002 \u8fd9\u95e8\u8bfe\u5728 Edx \u8fd9\u4e2a\u7531MIT\u548cHavard\u5927\u5b66\u53d1\u8d77\u7684\u5728\u7ebf\u6559\u80b2\u5e73\u53f0\u5168\u8d44\u6599\u5f00\u6e90\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728Edx\u81ea\u884c\u641c\u7d22 Agile SaaS Development \u8fd9\u95e8\u8bfe\u7a0b\u8fdb\u884c\u5b66\u4e60\u3002\u8bfe\u7a0b\u5185\u5bb9\u57fa\u672c\u6309\u7167\u6559\u6750\u7684\u987a\u5e8f\u5e26\u4f60\u4e00\u6b65\u6b65\u4ee5\u654f\u6377\u5f00\u53d1\u7684\u65b9\u5f0f\u642d\u5efa\u4e00\u4e2a\u8f6f\u4ef6\u5e76\u514d\u8d39\u90e8\u7f72\u5728\u4e91\u5e73\u53f0\u4e0a\u3002 \u8bfe\u7a0b\u8d44\u6e90 \u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1Edx\u8bfe\u7a0b\u4e3b\u9875\u3002 \u8bfe\u7a0b\u6559\u6750\uff1a Software as a service \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1Edx\u8bfe\u7a0b\u4e3b\u9875\u3002 \u8d44\u6e90\u6c47\u603b \u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"UCB CS169: software engineering"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#_1","text":"\u6240\u5c5e\u5927\u5b66\uff1aUC Berkeley \u5148\u4fee\u8981\u6c42\uff1a\u65e0 \u7f16\u7a0b\u8bed\u8a00\uff1aRuby/JavaScript \u8bfe\u7a0b\u96be\u5ea6\uff1a\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f\ud83c\udf1f \u9884\u8ba1\u5b66\u65f6\uff1a100\u5c0f\u65f6 \u4f2f\u514b\u5229\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u7a0b\uff0c\u4e0d\u540c\u4e8e\u5f88\u591a\u4f20\u7edf\u7684\u8f6f\u4ef6\u5de5\u7a0b\u8bfe\u5f3a\u8c03\u5404\u79cd\u7c7b\u56fe\u3001\u6587\u6863\u8bbe\u8ba1(plan and document\u6a21\u5f0f)\uff0c\u8fd9\u95e8\u8bfe\u4e13\u6ce8\u4e8e\u6700\u8fd1\u9010\u6e10\u6d41\u884c\u8d77\u6765\u7684\u654f\u6377\u5f00\u53d1(Agile Development)\u6a21\u5f0f\uff0c\u5229\u7528\u4e91\u5e73\u53f0\u63d0\u4f9b\u8f6f\u4ef6\u5373\u670d\u52a1(software as a service)\u3002\u4e3a\u6b64\uff0c\u8bfe\u7a0b\u8bbe\u8ba1\u8005\u7f16\u5199\u4e86 Software as a service \u8fd9\u672c\u6559\u6750\uff0c\u901a\u8fc7Ruby/Rails\u6846\u67b6\u6765\u9610\u91casaas\u8fd9\u4e2a\u6982\u5ff5\uff0c\u5e76\u4e14\u6709\u4e30\u5bcc\u7684\u914d\u5957\u7f16\u7a0b\u7ec3\u4e60\u3002 \u8fd9\u95e8\u8bfe\u5728 Edx \u8fd9\u4e2a\u7531MIT\u548cHavard\u5927\u5b66\u53d1\u8d77\u7684\u5728\u7ebf\u6559\u80b2\u5e73\u53f0\u5168\u8d44\u6599\u5f00\u6e90\uff0c\u5927\u5bb6\u53ef\u4ee5\u5728Edx\u81ea\u884c\u641c\u7d22 Agile SaaS Development \u8fd9\u95e8\u8bfe\u7a0b\u8fdb\u884c\u5b66\u4e60\u3002\u8bfe\u7a0b\u5185\u5bb9\u57fa\u672c\u6309\u7167\u6559\u6750\u7684\u987a\u5e8f\u5e26\u4f60\u4e00\u6b65\u6b65\u4ee5\u654f\u6377\u5f00\u53d1\u7684\u65b9\u5f0f\u642d\u5efa\u4e00\u4e2a\u8f6f\u4ef6\u5e76\u514d\u8d39\u90e8\u7f72\u5728\u4e91\u5e73\u53f0\u4e0a\u3002","title":"\u8bfe\u7a0b\u7b80\u4ecb"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#_2","text":"\u8bfe\u7a0b\u7f51\u7ad9 \u8bfe\u7a0b\u89c6\u9891\uff1a\u53c2\u89c1Edx\u8bfe\u7a0b\u4e3b\u9875\u3002 \u8bfe\u7a0b\u6559\u6750\uff1a Software as a service \u8bfe\u7a0b\u4f5c\u4e1a\uff1a\u53c2\u89c1Edx\u8bfe\u7a0b\u4e3b\u9875\u3002","title":"\u8bfe\u7a0b\u8d44\u6e90"},{"location":"%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/#_3","text":"\u6211\u5728\u5b66\u4e60\u8fd9\u95e8\u8bfe\u4e2d\u7528\u5230\u7684\u6240\u6709\u8d44\u6e90\u548c\u4f5c\u4e1a\u5b9e\u73b0\u90fd\u6c47\u603b\u5728 \u8fd9\u4e2aGithub\u4ed3\u5e93 \u4e2d\u3002","title":"\u8d44\u6e90\u6c47\u603b"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 80d24237..f950b52b 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,377 +1,377 @@ - None + https://csdiy.wiki/ 2022-02-15 daily - None + https://csdiy.wiki/CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%90%8E%E8%AE%B0/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%9F%B9%E5%85%BB%E6%96%B9%E6%A1%88Pro/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/ 2022-02-15 daily - None + https://csdiy.wiki/Web%E5%BC%80%E5%8F%91/CS142/ 2022-02-15 daily - None + https://csdiy.wiki/Web%E5%BC%80%E5%8F%91/mitweb/ 2022-02-15 daily - None + https://csdiy.wiki/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/ 2022-02-15 daily - None + https://csdiy.wiki/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/ 2022-02-15 daily - None + https://csdiy.wiki/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CYJ/ 2022-02-15 daily - None + https://csdiy.wiki/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/ 2022-02-15 daily - None + https://csdiy.wiki/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/ 2022-02-15 daily - None + https://csdiy.wiki/%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Github/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Latex/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Makefile/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/ 2022-02-15 daily - None + https://csdiy.wiki/%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The%20Information%20Theory%2C%20Pattern%20Recognition%2C%20and%20Neural%20Networks/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS106B_CS106X/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/ 2022-02-15 daily - None + https://csdiy.wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals%20and%20Systems_AVO/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%A8%8B%E5%BA%8F%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1/CS242/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS106L/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS110L/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS50/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/6035/ 2022-02-15 daily - None + https://csdiy.wiki/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/ 2022-02-15 daily - None + https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS184/ 2022-02-15 daily - None + https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/ 2022-02-15 daily - None + https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/ 2022-02-15 daily - None + https://csdiy.wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/ 2022-02-15 daily - None + https://csdiy.wiki/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/ 2022-02-15 daily - None + https://csdiy.wiki/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/ 2022-02-15 daily diff --git a/sitemap.xml.gz b/sitemap.xml.gz index f98c6aa9..21db4671 100644 Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ diff --git a/人工智能/CS188/index.html b/人工智能/CS188/index.html index 036e809e..b5ed91b6 100644 --- a/人工智能/CS188/index.html +++ b/人工智能/CS188/index.html @@ -1,2105 +1 @@ - - - - - - - - - - - - - - - - UCB CS188: Introduction to Artificial Intelligence - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS188: Introduction to Artificial Intelligence

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:CS70
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:50小时
  • -
-

伯克利的人工智能入门课,课程notes写得非常深入浅出,基本不需要观看课程视频。课程内容的安排基本按照人工智能的经典教材Artificial intelligence: A Modern Approach的章节顺序,覆盖了搜索剪枝、约束满足问题、马尔可夫决策过程、强化学习、贝叶斯网络、隐马尔可夫模型以及基础的机器学习和神经网络的相关内容。

-

2018年秋季学期的版本免费开放了gradescope,大家可以在线完成书面作业并实时得到测评结果。同时课程的6个Project也是质量爆炸,复现了经典的Packman(吃豆人)小游戏,会让你利用学到的AI知识,去实现相关算法,让你的吃豆人在迷宫里自由穿梭,躲避鬼怪,收集豆子。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频:每节课的链接详见课程网站
  • -
  • 课程教材:Artificial intelligence: A Modern Approach
  • -
  • 课程作业:14个在线测评书面作业和6个Project
  • -
- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS188: Introduction to Artificial Intelligence - CS自学指南
跳转至

CS188: Introduction to Artificial Intelligence

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:CS70
  • 编程语言:Python
  • 课程难度:🌟🌟🌟
  • 预计学时:50小时

伯克利的人工智能入门课,课程notes写得非常深入浅出,基本不需要观看课程视频。课程内容的安排基本按照人工智能的经典教材Artificial intelligence: A Modern Approach的章节顺序,覆盖了搜索剪枝、约束满足问题、马尔可夫决策过程、强化学习、贝叶斯网络、隐马尔可夫模型以及基础的机器学习和神经网络的相关内容。

2018年秋季学期的版本免费开放了gradescope,大家可以在线完成书面作业并实时得到测评结果。同时课程的6个Project也是质量爆炸,复现了经典的Packman(吃豆人)小游戏,会让你利用学到的AI知识,去实现相关算法,让你的吃豆人在迷宫里自由穿梭,躲避鬼怪,收集豆子。

课程资源

  • 课程网站
  • 课程视频:每节课的链接详见课程网站
  • 课程教材:Artificial intelligence: A Modern Approach
  • 课程作业:14个在线测评书面作业和6个Project

最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/人工智能/CS50/index.html b/人工智能/CS50/index.html index 35cb64db..d007d1d0 100644 --- a/人工智能/CS50/index.html +++ b/人工智能/CS50/index.html @@ -1,2120 +1 @@ - - - - - - - - - - - - - - - - Harvard CS50’s Introduction to AI with Python - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS50’s Introduction to AI with Python

-

课程简介

-
    -
  • 所属大学:Harvard
  • -
  • 先修要求:基本概率论 + Python基础
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:30小时
  • -
-

一门非常基础的AI入门课,让人眼前一亮的是12个设计精巧的编程作业,都会用学到的AI知识去实现一个简易的游戏AI,比如用强化学习训练一个Nim游戏的AI,用alpha-beta剪枝去扫雷等等,非常适合新手入门或者大佬休闲。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Harvard CS50’s Introduction to AI with Python - CS自学指南
跳转至

CS50’s Introduction to AI with Python

课程简介

  • 所属大学:Harvard
  • 先修要求:基本概率论 + Python基础
  • 编程语言:Python
  • 课程难度:🌟🌟🌟
  • 预计学时:30小时

一门非常基础的AI入门课,让人眼前一亮的是12个设计精巧的编程作业,都会用学到的AI知识去实现一个简易的游戏AI,比如用强化学习训练一个Nim游戏的AI,用alpha-beta剪枝去扫雷等等,非常适合新手入门或者大佬休闲。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/人工智能/CYJ/index.html b/人工智能/CYJ/index.html index 6d60de7a..dccccdaf 100644 --- a/人工智能/CYJ/index.html +++ b/人工智能/CYJ/index.html @@ -1,2122 +1 @@ - - - - - - - - - - - - - - - - 智能计算系统 - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

智能计算系统

- -

课程简介

-
    -
  • 所属大学:中国科学院大学
  • -
  • 先修要求:体系结构,深度学习
  • -
  • 编程语言:Python,C++,BCL
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:100小时+
  • -
-

智能计算系统是智能的核心物质载体,每年全球要制造数以十亿计的智能计算系统(包括智能手机、智能服务器、智能可穿戴设备等),需要大量的智能计算系统的设计者和开发者。智能计算系统人才的培养直接关系到我国智能产业的核心竞争力。因此,对智能计算系统的认识和理解是智能时代计算机类专业学生培养方案中不可或缺的重要组成部分,是计算机类专业学生的核心竞争力。

-

国内的陈云霁老师开的课,在其他若干个大学也都有开对应的课程(比如我们这里)。这门课用一个个实验带大家以一个完整的视野理解人工智能的技术栈。从上层的深度学习框架,到用底层语言编写算子,再到硬件中MLU的设计,让大家形成系统思维,体会自上而下,融会贯通的乐趣。

-

课程资源

-
    -
  • 课程网站:官网
  • -
  • 课程视频:bilibili
  • -
  • 课程教材:智能计算系统(陈云霁)
  • -
  • 课程作业:6个实验(包括编写卷积算子,为tensorflow添加算子,用BCL编写算子并集成到tensorflow中等)(具体内容在官网可以找到)
  • -
  • 实验手册:实验2.0指导手册
  • -
  • 学习笔记:参考实验手册总结的笔记
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

-

我做了其中的2,3,4,5这几个实验,其中综合实验和硬件实验没有做,如果有做了的同学欢迎大家补上你的链接

-

个人体会是第三章实现算子的实验让我对深度学习框架的了解加深了很多。第五章的实验BCL语言编写算子如果了解CUDA的话会感觉很熟悉。

-

推荐去买一本教材看一看,会让我们理解整体的技术栈。熟悉深度学习的同学可以直接从第五章开始看,看看深度学习框架底层到底是什么样的。

-

我因为这门课的启发,参考一本书(书名在仓库中)写了一个简易的深度学习框架。在这个框架里可以看到智能计算系统实验中的一些影子。同时受到build-your-own-x系列的启发,我也打算写一下教程,教大家写一个自己的深度学习框架。代码用python写的,代码量较少,适合有一定基础的同学阅读。之后打算添加更多的算子,有望实现一个较为全面的框架,并希望移植到C++中,以兼顾性能与开发效率。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + 智能计算系统 - CS自学指南
跳转至

智能计算系统

课程简介

  • 所属大学:中国科学院大学
  • 先修要求:体系结构,深度学习
  • 编程语言:Python,C++,BCL
  • 课程难度:🌟🌟🌟
  • 预计学时:100小时+

智能计算系统是智能的核心物质载体,每年全球要制造数以十亿计的智能计算系统(包括智能手机、智能服务器、智能可穿戴设备等),需要大量的智能计算系统的设计者和开发者。智能计算系统人才的培养直接关系到我国智能产业的核心竞争力。因此,对智能计算系统的认识和理解是智能时代计算机类专业学生培养方案中不可或缺的重要组成部分,是计算机类专业学生的核心竞争力。

国内的陈云霁老师开的课,在其他若干个大学也都有开对应的课程(比如我们这里)。这门课用一个个实验带大家以一个完整的视野理解人工智能的技术栈。从上层的深度学习框架,到用底层语言编写算子,再到硬件中MLU的设计,让大家形成系统思维,体会自上而下,融会贯通的乐趣。

课程资源

  • 课程网站:官网
  • 课程视频:bilibili
  • 课程教材:智能计算系统(陈云霁)
  • 课程作业:6个实验(包括编写卷积算子,为tensorflow添加算子,用BCL编写算子并集成到tensorflow中等)(具体内容在官网可以找到)
  • 实验手册:实验2.0指导手册
  • 学习笔记:参考实验手册总结的笔记

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

我做了其中的2,3,4,5这几个实验,其中综合实验和硬件实验没有做,如果有做了的同学欢迎大家补上你的链接

个人体会是第三章实现算子的实验让我对深度学习框架的了解加深了很多。第五章的实验BCL语言编写算子如果了解CUDA的话会感觉很熟悉。

推荐去买一本教材看一看,会让我们理解整体的技术栈。熟悉深度学习的同学可以直接从第五章开始看,看看深度学习框架底层到底是什么样的。

我因为这门课的启发,参考一本书(书名在仓库中)写了一个简易的深度学习框架。在这个框架里可以看到智能计算系统实验中的一些影子。同时受到build-your-own-x系列的启发,我也打算写一下教程,教大家写一个自己的深度学习框架。代码用python写的,代码量较少,适合有一定基础的同学阅读。之后打算添加更多的算子,有望实现一个较为全面的框架,并希望移植到C++中,以兼顾性能与开发效率。


最后更新: December 19, 2021
回到页面顶部
\ No newline at end of file diff --git a/体系结构/CS61C/index.html b/体系结构/CS61C/index.html index 3022478b..0cac6ac5 100644 --- a/体系结构/CS61C/index.html +++ b/体系结构/CS61C/index.html @@ -1,2125 +1 @@ - - - - - - - - - - - - - - - - UCB CS61C: Great Ideas in Computer Architecture - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS61C: Great Ideas in Computer Architecture

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:CS61A, CS61B
  • -
  • 编程语言:C
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:100小时
  • -
-

伯克利CS61系列的最后一门课程,深入计算机的硬件细节,带领学生逐步理解C语言是如何一步步转化为RISC-V汇编并在CPU上执行的。和Nand2Tetris不同,这门课 -在难度和深度上都会大很多,具体会涉及到流水线、Cache、虚存以及并发相关的内容。

-

这门课的Project也非常新颖有趣。Project1会让你用C语言写一个小程序,20年秋季学期是著名的游戏Game of Life。Project2会让你用RISC-V汇编编写一个神经网络,用来 -识别MNIST手写数字,非常锻炼你对汇编代码的理解和运用。Project3中你会用Logism这个数字电路模拟软件搭建出一个二级流水线的CPU,并在上面运行RISC-V汇编代码。Project4 -会让你使用OpenMP,SIMD等方法并行优化矩阵运算,实现一个简易的Numpy。

-

总而言之,这是个人上过的最好的计算机体系结构的课程。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频:B站, Youtube
  • -
  • 课程教材:无
  • -
  • 课程作业:11个lab,4个project,具体要求详见课程网站
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS61C: Great Ideas in Computer Architecture - CS自学指南
跳转至

CS61C: Great Ideas in Computer Architecture

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:CS61A, CS61B
  • 编程语言:C
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:100小时

伯克利CS61系列的最后一门课程,深入计算机的硬件细节,带领学生逐步理解C语言是如何一步步转化为RISC-V汇编并在CPU上执行的。和Nand2Tetris不同,这门课 在难度和深度上都会大很多,具体会涉及到流水线、Cache、虚存以及并发相关的内容。

这门课的Project也非常新颖有趣。Project1会让你用C语言写一个小程序,20年秋季学期是著名的游戏Game of Life。Project2会让你用RISC-V汇编编写一个神经网络,用来 识别MNIST手写数字,非常锻炼你对汇编代码的理解和运用。Project3中你会用Logism这个数字电路模拟软件搭建出一个二级流水线的CPU,并在上面运行RISC-V汇编代码。Project4 会让你使用OpenMP,SIMD等方法并行优化矩阵运算,实现一个简易的Numpy。

总而言之,这是个人上过的最好的计算机体系结构的课程。

课程资源

  • 课程网站
  • 课程视频:B站, Youtube
  • 课程教材:无
  • 课程作业:11个lab,4个project,具体要求详见课程网站

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/体系结构/CSAPP/index.html b/体系结构/CSAPP/index.html index e5f01c68..2d8fc770 100644 --- a/体系结构/CSAPP/index.html +++ b/体系结构/CSAPP/index.html @@ -1,2109 +1 @@ - - - - - - - - - - - - - - - - CMU 15-213: CSAPP - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CMU CS15213: CSAPP

-

课程简介

-
    -
  • 所属大学:CMU
  • -
  • 先修要求:CS61A, CS61B
  • -
  • 编程语言:C
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 预计学时:150小时
  • -
-

CMU大名鼎鼎的镇系神课,以其内容庞杂,project巨难而闻名遐迩。课程内容覆盖了汇编语言、体系结构、操作系统、编译链接、并行、网络等,作为系统入门课,兼具深度和广度,如果自学确实需要相当的毅力和代码功底。

-

这门课配合的教材由CMU计算机系主任Bryant教授执笔,也即所谓的CSAPP。这也是我第一本认认真真一页一页读过去的计算机教材,虽然很难啃,但着实收获良多。

-

北大购买了这门课的版权并开设了Introduction to Computer System这门课,但其实CSAPP所有的课程资源和实验代码都能在它的官方主页上访问到(具体参见下方链接)。

-

这门课由于过于出名,全世界的码农争相学习,导致其Project的答案在网上几乎唾手可得。但如果你真的想锻炼自己的代码能力,希望你不要借鉴任何第三方代码。

-

认真学完这一门课,你对计算机系统的理解绝对会上升一个台阶。

-

课程资源

- -

补充:相信大家在看完CSAPP这本书以后,可能会对书中的第七章链接有一定的疑问。这里推荐一本书《程序员的自我修养》,书的副标题是链接,装载与库。这本书能够帮助我们完善对程序链接的理解,以及对CSAPP第七章部分知识点的一个详细的阐述。相信你在看完这本书以后可以对程序的链接,ELF文件,动态库有一个更加深入的理解。十分推荐在读完CSAPP,对计算机系统有一定的了解以后作为补充资料来阅读。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + CMU 15-213: CSAPP - CS自学指南
跳转至

CMU CS15213: CSAPP

课程简介

  • 所属大学:CMU
  • 先修要求:CS61A, CS61B
  • 编程语言:C
  • 课程难度:🌟🌟🌟🌟🌟
  • 预计学时:150小时

CMU大名鼎鼎的镇系神课,以其内容庞杂,project巨难而闻名遐迩。课程内容覆盖了汇编语言、体系结构、操作系统、编译链接、并行、网络等,作为系统入门课,兼具深度和广度,如果自学确实需要相当的毅力和代码功底。

这门课配合的教材由CMU计算机系主任Bryant教授执笔,也即所谓的CSAPP。这也是我第一本认认真真一页一页读过去的计算机教材,虽然很难啃,但着实收获良多。

北大购买了这门课的版权并开设了Introduction to Computer System这门课,但其实CSAPP所有的课程资源和实验代码都能在它的官方主页上访问到(具体参见下方链接)。

这门课由于过于出名,全世界的码农争相学习,导致其Project的答案在网上几乎唾手可得。但如果你真的想锻炼自己的代码能力,希望你不要借鉴任何第三方代码。

认真学完这一门课,你对计算机系统的理解绝对会上升一个台阶。

课程资源

补充:相信大家在看完CSAPP这本书以后,可能会对书中的第七章链接有一定的疑问。这里推荐一本书《程序员的自我修养》,书的副标题是链接,装载与库。这本书能够帮助我们完善对程序链接的理解,以及对CSAPP第七章部分知识点的一个详细的阐述。相信你在看完这本书以后可以对程序的链接,ELF文件,动态库有一个更加深入的理解。十分推荐在读完CSAPP,对计算机系统有一定的了解以后作为补充资料来阅读。


最后更新: December 22, 2021
回到页面顶部
\ No newline at end of file diff --git a/体系结构/N2T/index.html b/体系结构/N2T/index.html index 02568212..f4abb58d 100644 --- a/体系结构/N2T/index.html +++ b/体系结构/N2T/index.html @@ -1,2129 +1 @@ - - - - - - - - - - - - - - - - Coursera: Nand2Tetris - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Coursera: Nand2Tetris

-

课程简介

-
    -
  • 所属大学:希伯来大学
  • -
  • 先修要求:无
  • -
  • 编程语言:任选一个编程语言
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:40小时
  • -
-

Coursera上被数万人评为满分,在全球四百多所高校、高中被采用,让一个完全没有计算机基础的人从与非门开始 -造一台计算机,并在上面运行俄罗斯方块小游戏。

-

听起来就很酷对不对?实现起来更酷!这门课分为硬件和软件两个部分。在硬件部分,你将进入01的世界,用与非门构造出逻辑电路,并逐步搭建出一个CPU -来运行一套课程作者定义的简易汇编代码。在软件部分,你将编写一个编译器,将作者开发的一个名为Jack的高级语言编译为可以运行在虚拟机上的字节码,然后进一步翻译 -为汇编代码。你还将开发一个简易的OS,让你的计算机支持输入输出图形界面。至此,你可以用Jack开发一个俄罗斯方块的小游戏,将它 -编译为汇编代码,运行在你用与非门搭建出的CPU上,通过你开发的OS进行交互。学完这门课程,你将对整个计算机的体系结构有一个全局 -且深刻的理解,对于你后续课程的学习有着莫大的帮助。

-

你也许会担心课程会不会很难,但这门课面向的人群是完全没有计算机基础的人,课程作者的目标是让高中生都能理解。因此,只要你按部就班跟着 -课程规划走,一个月内学完应该绰绰有余。麻雀虽小但是五脏俱全,这门课很好地提取出了计算机的本质,而不过多地陷于现代计算机为了性能而 -设计出的众多复杂细节。让学习者能在轻松愉快的学习体验中感受计算机的优雅与神奇。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Coursera: Nand2Tetris - CS自学指南
跳转至

Coursera: Nand2Tetris

课程简介

  • 所属大学:希伯来大学
  • 先修要求:无
  • 编程语言:任选一个编程语言
  • 课程难度:🌟🌟🌟
  • 预计学时:40小时

Coursera上被数万人评为满分,在全球四百多所高校、高中被采用,让一个完全没有计算机基础的人从与非门开始 造一台计算机,并在上面运行俄罗斯方块小游戏。

听起来就很酷对不对?实现起来更酷!这门课分为硬件和软件两个部分。在硬件部分,你将进入01的世界,用与非门构造出逻辑电路,并逐步搭建出一个CPU 来运行一套课程作者定义的简易汇编代码。在软件部分,你将编写一个编译器,将作者开发的一个名为Jack的高级语言编译为可以运行在虚拟机上的字节码,然后进一步翻译 为汇编代码。你还将开发一个简易的OS,让你的计算机支持输入输出图形界面。至此,你可以用Jack开发一个俄罗斯方块的小游戏,将它 编译为汇编代码,运行在你用与非门搭建出的CPU上,通过你开发的OS进行交互。学完这门课程,你将对整个计算机的体系结构有一个全局 且深刻的理解,对于你后续课程的学习有着莫大的帮助。

你也许会担心课程会不会很难,但这门课面向的人群是完全没有计算机基础的人,课程作者的目标是让高中生都能理解。因此,只要你按部就班跟着 课程规划走,一个月内学完应该绰绰有余。麻雀虽小但是五脏俱全,这门课很好地提取出了计算机的本质,而不过多地陷于现代计算机为了性能而 设计出的众多复杂细节。让学习者能在轻松愉快的学习体验中感受计算机的优雅与神奇。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/后记/index.html b/后记/index.html index a10ad5d5..08a170cf 100644 --- a/后记/index.html +++ b/后记/index.html @@ -1,1995 +1 @@ - - - - - - - - - - - - - - - - 后记 - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
- - - - - - - -

后记

- -

从最初的想法开始,到断断续续完成这本书,再到树洞的热烈反响,我很激动,但也五味杂陈。原来在北大这个园子里,也有那么多人,对自己的本科生涯并不满意。而这里,可是囊括了中国非常优秀的一帮年轻人。所以问题出在哪里?我不知道。

-

我只是个籍籍无名的本科生呀,只是一个单纯的求学者,我的目标只是想快乐地、自由地、高质量地掌握那些专业知识,我想,正在看这本书的大多数本科生也是如此,谁想付出时间但却收效甚微呢?又是谁迫使大家带着痛苦去应付呢?我不知道。

-

我写这本书绝不是为了鼓励大家翘课自学,试问谁不想在课堂上和那么多优秀的同学济济一堂,热烈讨论呢?谁不想遇到问题直接找老师答疑解惑呢?谁不想辛苦学习的成果可以直接化作学校承认的学分绩点呢?可如果一个兢兢业业、按时到堂的学生收获的却是痛苦,而那个一学期只有考试会出席的学生却学得自得其乐,这公平吗?我不知道。

-

我只是不甘,不甘心这些通过高考战胜无数人进入高校的学子本可以收获一个更快乐的本科生涯,但现实却留给了他们遗憾。我反问自己,本科教育究竟应该带给我们什么呢?是学完所有这些课程吗?倒也未必,它也许只适合我这种nerd。但我觉得,本科教育至少得展现它应有的诚意,一种分享知识的诚意,一种以人为本的诚意,一种注重学生体验的诚意。它至少不应该是一种恶意,一种拼比知识的恶意,一种胜者为王的恶意,一种让人学无所得的恶意。但这一切能改变吗?我不知道。

-

我只知道我做了应该做的事情,学生们会用脚投票,树洞的关注量和回帖数证明了这样一份资料是有价值的,也道出了国内CS本科教育和国外的差距。也许这样的改变是微乎其微的,但别忘了我只是一个籍籍无名的本科生,是北大信科一千多名本科生中的普通一员,是中国几百万在读本科生中的一分子,如果有更多的人站出来,每个人做一点点,也许是分享一个帖子,也许是当一门课的助教,也许是精心设计一门课的lab,更或许是将来获得教职之后开设一门高质量的课程,出版一本经典的教材。本科教育真的有什么技术壁垒吗?我看未必,教育靠的是诚意,靠的是育人之心。

-

今天是2021年12月12日,我期待在不久的将来这个帖子会被遗忘,大家可以满心欢喜地选着自己培养方案上的课程,做着学校自行设计的各类编程实验,课堂没有签到也能济济一堂,学生踊跃地发言互动,大家的收获可以和努力成正比,那些曾经的遗憾和痛苦可以永远成为历史。我真的很期待那一天,真的真的真的很期待。

-

PKUFlyingPig

-

2021年12月12日写于燕园

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + 后记 - CS自学指南

后记

从最初的想法开始,到断断续续完成这本书,再到树洞的热烈反响,我很激动,但也五味杂陈。原来在北大这个园子里,也有那么多人,对自己的本科生涯并不满意。而这里,可是囊括了中国非常优秀的一帮年轻人。所以问题出在哪里?我不知道。

我只是个籍籍无名的本科生呀,只是一个单纯的求学者,我的目标只是想快乐地、自由地、高质量地掌握那些专业知识,我想,正在看这本书的大多数本科生也是如此,谁想付出时间但却收效甚微呢?又是谁迫使大家带着痛苦去应付呢?我不知道。

我写这本书绝不是为了鼓励大家翘课自学,试问谁不想在课堂上和那么多优秀的同学济济一堂,热烈讨论呢?谁不想遇到问题直接找老师答疑解惑呢?谁不想辛苦学习的成果可以直接化作学校承认的学分绩点呢?可如果一个兢兢业业、按时到堂的学生收获的却是痛苦,而那个一学期只有考试会出席的学生却学得自得其乐,这公平吗?我不知道。

我只是不甘,不甘心这些通过高考战胜无数人进入高校的学子本可以收获一个更快乐的本科生涯,但现实却留给了他们遗憾。我反问自己,本科教育究竟应该带给我们什么呢?是学完所有这些课程吗?倒也未必,它也许只适合我这种nerd。但我觉得,本科教育至少得展现它应有的诚意,一种分享知识的诚意,一种以人为本的诚意,一种注重学生体验的诚意。它至少不应该是一种恶意,一种拼比知识的恶意,一种胜者为王的恶意,一种让人学无所得的恶意。但这一切能改变吗?我不知道。

我只知道我做了应该做的事情,学生们会用脚投票,树洞的关注量和回帖数证明了这样一份资料是有价值的,也道出了国内CS本科教育和国外的差距。也许这样的改变是微乎其微的,但别忘了我只是一个籍籍无名的本科生,是北大信科一千多名本科生中的普通一员,是中国几百万在读本科生中的一分子,如果有更多的人站出来,每个人做一点点,也许是分享一个帖子,也许是当一门课的助教,也许是精心设计一门课的lab,更或许是将来获得教职之后开设一门高质量的课程,出版一本经典的教材。本科教育真的有什么技术壁垒吗?我看未必,教育靠的是诚意,靠的是育人之心。

今天是2021年12月12日,我期待在不久的将来这个帖子会被遗忘,大家可以满心欢喜地选着自己培养方案上的课程,做着学校自行设计的各类编程实验,课堂没有签到也能济济一堂,学生踊跃地发言互动,大家的收获可以和努力成正比,那些曾经的遗憾和痛苦可以永远成为历史。我真的很期待那一天,真的真的真的很期待。

PKUFlyingPig

2021年12月12日写于燕园


最后更新: December 12, 2021
回到页面顶部
\ No newline at end of file diff --git a/培养方案Pro/index.html b/培养方案Pro/index.html index ed56e16c..589e4785 100644 --- a/培养方案Pro/index.html +++ b/培养方案Pro/index.html @@ -1,1960 +1 @@ - - - - - - - - - - - - - - - - 培养方案Pro - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
- - - - - - - -

培养方案Pro

- -

under construction.

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + 培养方案Pro - CS自学指南

培养方案Pro

under construction.


最后更新: November 30, 2021
回到页面顶部
\ No newline at end of file diff --git a/好书推荐/index.html b/好书推荐/index.html index 155fcf1d..0c72c3b4 100644 --- a/好书推荐/index.html +++ b/好书推荐/index.html @@ -1,2289 +1 @@ - - - - - - - - - - - - - - - - 好书推荐 - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
- -
- - -
-
- - - - - - - -

好书推荐

-

由于版权原因,下面列举的图书中除了开源书籍提供了链接,其他的资源请大家自行通过libgen查找。

-

另外再安利一个Github顶流热门项目free-programming-books,收集了非常多的免费开源编程书籍。

-

系统入门

-
    -
  • Principles of Computer System Design: An Introduction
  • -
  • Computer Systems: A Programmer's Perspective
  • -
-

操作系统

- -

计算机网络

- -

编译原理

- -

计算机语言(PL)

- -

体系结构

-
    -
  • Computer Architecture: A Quantitative Approach 5th Edition
  • -
-

分布式系统

- -

数据密集型系统设计

-
    -
  • Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems (开源中文翻译)
  • -
-

密码学

-
    -
  • Cryptography Engineering: Design Principles and Practical Applications
  • -
  • Introduction to modern cryptography (second edition) - By Jonathon Katz & Yehuda Lindell - 从密码学的最基础开始讲起,对传统密码学的各方面都有涉及,课程内容全面,是密码学入门很好的一本书
  • -
-

数据库系统

- -

计算机图形学

-
    -
  • Fundamentals of Computer Graphics
  • -
-

深度学习

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + 好书推荐 - CS自学指南
跳转至

好书推荐

由于版权原因,下面列举的图书中除了开源书籍提供了链接,其他的资源请大家自行通过libgen查找。

另外再安利一个Github顶流热门项目free-programming-books,收集了非常多的免费开源编程书籍。

系统入门

  • Principles of Computer System Design: An Introduction
  • Computer Systems: A Programmer's Perspective

操作系统

计算机网络

编译原理

计算机语言(PL)

体系结构

  • Computer Architecture: A Quantitative Approach 5th Edition

分布式系统

数据密集型系统设计

  • Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems (开源中文翻译)

密码学

  • Cryptography Engineering: Design Principles and Practical Applications
  • Introduction to modern cryptography (second edition) By Jonathon Katz & Yehuda Lindell 从密码学的最基础开始讲起,对传统密码学的各方面都有涉及,课程内容全面,是密码学入门很好的一本书

数据库系统

计算机图形学

  • Fundamentals of Computer Graphics

深度学习


最后更新: December 16, 2021
回到页面顶部
\ No newline at end of file diff --git a/并行与分布式系统/CS149/index.html b/并行与分布式系统/CS149/index.html index 9727195c..4fd2ad0a 100644 --- a/并行与分布式系统/CS149/index.html +++ b/并行与分布式系统/CS149/index.html @@ -1,2116 +1 @@ - - - - - - - - - - - - - - - - CMU 15-418/Stanford CS149: Parallel Computing - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CMU 15-418/Stanford CS149: Parallel Computing

- -

课程简介

-
    -
  • 所属大学:CMU 和 Stanford
  • -
  • 先修要求:计算机体系结构,熟悉C++
  • -
  • 编程语言:C++
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 预计学时:150小时
  • -
-

Kayvon Fatahalian教授此前在CMU开了15-418这门课,后来他成为Stanford的助理教授后又开了类似的课程CS149。但总体来说,15-418包含的课程内容更丰富,并且有课程回放,但CS149的编程作业更fashion一些。我个人是观看的15-418的课程录影但完成的CS149的作业。

-

这门课会带你深入理解现代并行计算架构的设计原则与必要权衡,并学会如何充分利用硬件资源以及软件编程框架(例如CUDA,MPI,OpenMP等)编写高性能的并行程序。由于并行计算架构的复杂性,这门课会涉及诸多高级体系结构与网络通信的内容,知识点相当底层且硬核。与此同时,5个编程作业则是从软件的层面培养学生对上层抽象的理解与运用,具体会让你分析并行程序的瓶颈、编写多线程同步代码、学习CUDA编程、OpenMP编程以及前段时间大热的Spark框架等等。真正意义上将理论与实践完美地结合在了一起。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + CMU 15-418/Stanford CS149: Parallel Computing - CS自学指南
跳转至

CMU 15-418/Stanford CS149: Parallel Computing

课程简介

  • 所属大学:CMU 和 Stanford
  • 先修要求:计算机体系结构,熟悉C++
  • 编程语言:C++
  • 课程难度:🌟🌟🌟🌟🌟
  • 预计学时:150小时

Kayvon Fatahalian教授此前在CMU开了15-418这门课,后来他成为Stanford的助理教授后又开了类似的课程CS149。但总体来说,15-418包含的课程内容更丰富,并且有课程回放,但CS149的编程作业更fashion一些。我个人是观看的15-418的课程录影但完成的CS149的作业。

这门课会带你深入理解现代并行计算架构的设计原则与必要权衡,并学会如何充分利用硬件资源以及软件编程框架(例如CUDA,MPI,OpenMP等)编写高性能的并行程序。由于并行计算架构的复杂性,这门课会涉及诸多高级体系结构与网络通信的内容,知识点相当底层且硬核。与此同时,5个编程作业则是从软件的层面培养学生对上层抽象的理解与运用,具体会让你分析并行程序的瓶颈、编写多线程同步代码、学习CUDA编程、OpenMP编程以及前段时间大热的Spark框架等等。真正意义上将理论与实践完美地结合在了一起。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/并行与分布式系统/MIT6.824/index.html b/并行与分布式系统/MIT6.824/index.html index 61b70f6a..829045ba 100644 --- a/并行与分布式系统/MIT6.824/index.html +++ b/并行与分布式系统/MIT6.824/index.html @@ -1,2122 +1 @@ - - - - - - - - - - - - - - - - MIT 6.824: Distributed System - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

MIT6.824: Distributed System

-

课程简介

-
    -
  • 所属大学:MIT
  • -
  • 先修要求:计算机体系结构,并行编程
  • -
  • 编程语言:Go
  • -
  • 课程难度:🌟🌟🌟🌟🌟🌟
  • -
  • 预计学时:200小时
  • -
-

这门课和MIT6.S081一样,出品自MIT大名鼎鼎的PDOS实验室,授课老师Robert Morris教授曾是一位顶尖黑客,世界上第一个蠕虫病毒Morris病毒就是出自他之手。

-

这门课每节课都会精读一篇分布式系统领域的经典论文,并由此传授分布式系统设计与实现的重要原则和关键技术。同时其课程Project也是以其难度之大而闻名遐迩,4个编程作业循序渐进带你实现一个基于Raft共识算法的KV-store框架,让你在痛苦的debug中体会并行与分布式带来的随机性和复杂性。

-

同样,这门课由于太过出名,网上答案无数,希望大家不要参考,而是力图自主实现整个Project。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频:参见课程网站链接
  • -
  • 课程教材:无,以阅读论文为主
  • -
  • 课程作业:4个非常虐的Project,具体要求参见课程网站
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。此外也可以参考 OneSizeFitsQuorumlab 文档,其较为清晰地介绍了实现 lab1-4 和 challenge1-2 需要考虑的许多细节,在遇到瓶颈期时可以阅读一下~

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + MIT 6.824: Distributed System - CS自学指南
跳转至

MIT6.824: Distributed System

课程简介

  • 所属大学:MIT
  • 先修要求:计算机体系结构,并行编程
  • 编程语言:Go
  • 课程难度:🌟🌟🌟🌟🌟🌟
  • 预计学时:200小时

这门课和MIT6.S081一样,出品自MIT大名鼎鼎的PDOS实验室,授课老师Robert Morris教授曾是一位顶尖黑客,世界上第一个蠕虫病毒Morris病毒就是出自他之手。

这门课每节课都会精读一篇分布式系统领域的经典论文,并由此传授分布式系统设计与实现的重要原则和关键技术。同时其课程Project也是以其难度之大而闻名遐迩,4个编程作业循序渐进带你实现一个基于Raft共识算法的KV-store框架,让你在痛苦的debug中体会并行与分布式带来的随机性和复杂性。

同样,这门课由于太过出名,网上答案无数,希望大家不要参考,而是力图自主实现整个Project。

课程资源

  • 课程网站
  • 课程视频:参见课程网站链接
  • 课程教材:无,以阅读论文为主
  • 课程作业:4个非常虐的Project,具体要求参见课程网站

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。此外也可以参考 OneSizeFitsQuorumlab 文档,其较为清晰地介绍了实现 lab1-4 和 challenge1-2 需要考虑的许多细节,在遇到瓶颈期时可以阅读一下~


最后更新: February 15, 2022
回到页面顶部
\ No newline at end of file diff --git a/必学工具/CMake/index.html b/必学工具/CMake/index.html index f1c37ba6..b2de0b81 100644 --- a/必学工具/CMake/index.html +++ b/必学工具/CMake/index.html @@ -1,2087 +1 @@ - - - - - - - - - - - - - - - - CMake - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CMake

- -

为什么学习CMake

-

CMake 是类似于 GNU make 的跨平台自动软件构件工具,使用 CMakeLists.txt 定义构建规则,相比于 make 它提供了更多的功能,在各种软件构建上广泛使用。强烈建议学习使用 make 和熟悉 Makefile 后再学习CMake

-

如何学习CMake

-

CMakeLists.txt 比 Makefile 更为抽象,理解和使用难度也更大。现阶段很多 IDE (如 Visual Studio, CLion)提供了自动生成 CMakeLists.txt 的功能,但掌握 CMakeLists.txt 的基本用法仍然很有必要。除了CMake 官方 Tutorial外,上海交通大学 IPADS 组新人培训也提供了大约一小时的视频教程

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + CMake - CS自学指南
跳转至

CMake

为什么学习CMake

CMake 是类似于 GNU make 的跨平台自动软件构件工具,使用 CMakeLists.txt 定义构建规则,相比于 make 它提供了更多的功能,在各种软件构建上广泛使用。强烈建议学习使用 make 和熟悉 Makefile 后再学习CMake

如何学习CMake

CMakeLists.txt 比 Makefile 更为抽象,理解和使用难度也更大。现阶段很多 IDE (如 Visual Studio, CLion)提供了自动生成 CMakeLists.txt 的功能,但掌握 CMakeLists.txt 的基本用法仍然很有必要。除了CMake 官方 Tutorial外,上海交通大学 IPADS 组新人培训也提供了大约一小时的视频教程


最后更新: December 12, 2021
回到页面顶部
\ No newline at end of file diff --git a/必学工具/Docker/index.html b/必学工具/Docker/index.html index d6ed39b2..3b70ffe4 100644 --- a/必学工具/Docker/index.html +++ b/必学工具/Docker/index.html @@ -1,2090 +1 @@ - - - - - - - - - - - - - - - - Docker - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Docker

- -

为什么使用 Docker

-

使用别人写好的软件/工具最大的障碍是什么——必然是配环境。配环境带来的折磨会极大地消解你对软件、编程本身的兴趣。虚拟机可以解决配环境的一部分问题,但它庞大笨重,且为了某个应用的环境配置好像也不值得模拟一个全新的操作系统。

-

Docker的出现让环境配置变得(或许)不再折磨。简单来说Docker使用轻量级的“容器”(container)而不是整个操作系统去支持一个应用的配置。应用自身连同它的环境配置被打包为一个个image可以自由运行在不同平台的一个个container中,这极大地节省了所有人的时间成本。

-

如何学习Docker

-

Docker 官方文档当然是最好的初学教材,但最好的导师一定是你自己——尝试去使用Docker才能享受它带来的便利。Docker在工业界发展迅猛并已经非常成熟,你可以下载它的桌面端并使用图形界面。

-

当然,如果你像我一样,是一个疯狂的造轮子爱好者,那不妨自己亲手写一个迷你Docker来加深理解。

-

KodeKloud Docker for the Absolute Beginner 全面的介绍了Docker的基础功能,并且有大量的配套练习,同时提供免费的云环境来完成练习。其余的云相关的课程如Kubernetes需要付费,但个人强烈推荐:讲解非常仔细,适合从0开始的新手;有配套的Kubernetes的实验环境,不用被搭建环境劝退。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Docker - CS自学指南
跳转至

Docker

为什么使用 Docker

使用别人写好的软件/工具最大的障碍是什么——必然是配环境。配环境带来的折磨会极大地消解你对软件、编程本身的兴趣。虚拟机可以解决配环境的一部分问题,但它庞大笨重,且为了某个应用的环境配置好像也不值得模拟一个全新的操作系统。

Docker的出现让环境配置变得(或许)不再折磨。简单来说Docker使用轻量级的“容器”(container)而不是整个操作系统去支持一个应用的配置。应用自身连同它的环境配置被打包为一个个image可以自由运行在不同平台的一个个container中,这极大地节省了所有人的时间成本。

如何学习Docker

Docker 官方文档当然是最好的初学教材,但最好的导师一定是你自己——尝试去使用Docker才能享受它带来的便利。Docker在工业界发展迅猛并已经非常成熟,你可以下载它的桌面端并使用图形界面。

当然,如果你像我一样,是一个疯狂的造轮子爱好者,那不妨自己亲手写一个迷你Docker来加深理解。

KodeKloud Docker for the Absolute Beginner 全面的介绍了Docker的基础功能,并且有大量的配套练习,同时提供免费的云环境来完成练习。其余的云相关的课程如Kubernetes需要付费,但个人强烈推荐:讲解非常仔细,适合从0开始的新手;有配套的Kubernetes的实验环境,不用被搭建环境劝退。


最后更新: January 21, 2022
回到页面顶部
\ No newline at end of file diff --git a/必学工具/Git/index.html b/必学工具/Git/index.html index 1a53819d..bf3e9f6e 100644 --- a/必学工具/Git/index.html +++ b/必学工具/Git/index.html @@ -1,2096 +1 @@ - - - - - - - - - - - - - - - - Git - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Git

- -

为什么使用Git

-

Git是一款分布式的代码版本控制工具,Linux之父Linus嫌弃当时主流的中心式的版本控制工具太难用还要花钱,就自己开发出了Git用来维护Linux的版本(给大佬跪了)。

-

Git的设计非常优雅,但初学者通常因为很难理解其内部逻辑因此会觉得非常难用。对Git不熟悉的初学者很容易出现因为误用命令将代码给控制版本控制没了的状况(好吧是我)。

-

但相信我,和Vim一样,Git是一款你最终掌握之后会感叹“它值得!”的神器。

-

如何学习Git

-

和Vim不同,我不建议初学者在一知半解的情况下贸然使用Git,因为它的内部逻辑并不能熟能生巧,而是需要花时间去理解。我推荐的学习路线如下:

-
    -
  • 阅读这篇Git tutorial
  • -
  • 阅读这本开源书籍Pro Git的Chapter1 - Chapter5,是的没错,学Git需要读一本书(捂脸)。
  • -
  • 此时你已经掌握了Git的原理和绝大部分用法,接下来就可以在实践中反复巩固Git的命令了。但用好它同样是一门哲学,我个人觉得这篇如何写好 Commit Message的博客非常值得一读。
  • -
  • 好的此时你已经爱上了Git,你已经不满足于学会它了,你想自己实现一个Git!巧了,我当年也有这样的想法,这篇tutorial可以满足你!
  • -
  • 什么?光实现一个Git无法满足你?小伙子/小仙女有前途,巧的是我也喜欢造轮子,这两个Github项目build-your-own-xproject-based-learning收录了你能想到的各种造轮子教程,比如:自己造个编辑器、自己写个虚拟机、自己写个docker、自己写个TCP等等等等。
  • -
- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Git - CS自学指南
跳转至

Git

为什么使用Git

Git是一款分布式的代码版本控制工具,Linux之父Linus嫌弃当时主流的中心式的版本控制工具太难用还要花钱,就自己开发出了Git用来维护Linux的版本(给大佬跪了)。

Git的设计非常优雅,但初学者通常因为很难理解其内部逻辑因此会觉得非常难用。对Git不熟悉的初学者很容易出现因为误用命令将代码给控制版本控制没了的状况(好吧是我)。

但相信我,和Vim一样,Git是一款你最终掌握之后会感叹“它值得!”的神器。

如何学习Git

和Vim不同,我不建议初学者在一知半解的情况下贸然使用Git,因为它的内部逻辑并不能熟能生巧,而是需要花时间去理解。我推荐的学习路线如下:

  • 阅读这篇Git tutorial
  • 阅读这本开源书籍Pro Git的Chapter1 - Chapter5,是的没错,学Git需要读一本书(捂脸)。
  • 此时你已经掌握了Git的原理和绝大部分用法,接下来就可以在实践中反复巩固Git的命令了。但用好它同样是一门哲学,我个人觉得这篇如何写好 Commit Message的博客非常值得一读。
  • 好的此时你已经爱上了Git,你已经不满足于学会它了,你想自己实现一个Git!巧了,我当年也有这样的想法,这篇tutorial可以满足你!
  • 什么?光实现一个Git无法满足你?小伙子/小仙女有前途,巧的是我也喜欢造轮子,这两个Github项目build-your-own-xproject-based-learning收录了你能想到的各种造轮子教程,比如:自己造个编辑器、自己写个虚拟机、自己写个docker、自己写个TCP等等等等。

最后更新: November 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/必学工具/Github/index.html b/必学工具/Github/index.html index acdbb485..0b2cd8a5 100644 --- a/必学工具/Github/index.html +++ b/必学工具/Github/index.html @@ -1,2091 +1 @@ - - - - - - - - - - - - - - - - Github - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Github

- -

Github是什么

-

从功能上来说,Github是一个在线代码托管平台。你可以将你的本地Git仓库托管到Github上,供多人同时开发浏览。但现如今Github的意义已远不止如此,它已经演变为一个非常活跃且资源极为丰富的开源交流社区。全世界的软件开发者在Github上分享各式各样种类繁多的开源软件。大到工业级的深度学习框架pytorch、tensorflow,小到几十行的实用脚本,既有硬核的知识分享,也有保姆级的教程指导,甚至很多技术书籍也在github上开源(例如诸位正在看的这本——如果我厚着脸皮勉强称之为书的话)。闲来无事逛逛Github已经成为了我日常生活的一部分。

-

在Github里,星星是对一个项目至高无上的肯定,如果你觉得这本书对你有用的话,欢迎通过右上角的链接进入仓库主页献出你宝贵的星星✨。

-

如何使用Github

-

如果你还从未在Github上建立过自己的远程仓库,也没有克隆过别人的代码,那么我建议你从Github的官方教程开始自己的开源之旅。

-

如果你想时刻关注Github上一些有趣的开源项目,那么我向你重磅推荐HelloGithub这个网站以及它的同名微信公众号。它会定期收录Github上近期开始流行的或者非常有趣的开源项目,让你有机会第一时间接触各类优质资源。

-

Github之所以成功,我想是得益于“我为人人,人人为我”的开源精神,得益于知识分享的快乐。如果你也想成为下一个万人敬仰的开源大佬,或者下一个star破万的项目作者。那就把你在开发过程中灵感一现的idea化作代码,展示在Github上吧~

-

不过需要提醒的是,开源社区不是法外之地,很多开源软件并不是可以随意复制分发甚至贩卖的,了解各类开源协议并遵守,不仅是法律的要求,更是每个开源社区成员的责任。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Github - CS自学指南
跳转至

Github

Github是什么

从功能上来说,Github是一个在线代码托管平台。你可以将你的本地Git仓库托管到Github上,供多人同时开发浏览。但现如今Github的意义已远不止如此,它已经演变为一个非常活跃且资源极为丰富的开源交流社区。全世界的软件开发者在Github上分享各式各样种类繁多的开源软件。大到工业级的深度学习框架pytorch、tensorflow,小到几十行的实用脚本,既有硬核的知识分享,也有保姆级的教程指导,甚至很多技术书籍也在github上开源(例如诸位正在看的这本——如果我厚着脸皮勉强称之为书的话)。闲来无事逛逛Github已经成为了我日常生活的一部分。

在Github里,星星是对一个项目至高无上的肯定,如果你觉得这本书对你有用的话,欢迎通过右上角的链接进入仓库主页献出你宝贵的星星✨。

如何使用Github

如果你还从未在Github上建立过自己的远程仓库,也没有克隆过别人的代码,那么我建议你从Github的官方教程开始自己的开源之旅。

如果你想时刻关注Github上一些有趣的开源项目,那么我向你重磅推荐HelloGithub这个网站以及它的同名微信公众号。它会定期收录Github上近期开始流行的或者非常有趣的开源项目,让你有机会第一时间接触各类优质资源。

Github之所以成功,我想是得益于“我为人人,人人为我”的开源精神,得益于知识分享的快乐。如果你也想成为下一个万人敬仰的开源大佬,或者下一个star破万的项目作者。那就把你在开发过程中灵感一现的idea化作代码,展示在Github上吧~

不过需要提醒的是,开源社区不是法外之地,很多开源软件并不是可以随意复制分发甚至贩卖的,了解各类开源协议并遵守,不仅是法律的要求,更是每个开源社区成员的责任。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/必学工具/Latex/index.html b/必学工具/Latex/index.html index f1d38d8a..34ea4923 100644 --- a/必学工具/Latex/index.html +++ b/必学工具/Latex/index.html @@ -1,2097 +1 @@ - - - - - - - - - - - - - - - - Latex - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Latex

- -

为什么学Latex

-

如果你需要写论文,那么请直接跳到下一节,因为你不学也得学。

-

LaTex是一种基于Tex的排版系统,由图灵奖得主Lamport开发,而Tex则是由Knuth最初开发,这两位都是计算机界的巨擘。当然开发者强并不是我们学习LaTex的理由,LaTex和常见的所见即所得的Word文档最大的区别就是用户只需要关注写作的内容,而排版则完全交给软件自动完成。这让没有任何排版经验的普通人得以写出排版非常专业的论文或文章。

-

Berkeley计算机系教授Christos Papadimitriou曾说过一句半开玩笑的话:

-
-

Every time I read a LaTeX document, I think, wow, this must be correct!

-
-

如何学习LaTex

-

推荐的学习路线如下:

-
    -
  • LaTex的环境配置是个比较头疼的问题。如果你本地配置LaTex环境出现了问题,可以考虑使用Overleaf这个在线LaTex编辑网站。站内不仅有各种各样的LaTex模版供你选择还免去了环境配置的难题。
  • -
  • 阅读下面三篇Tutorial: Part-1, Part-2, Part-3.
  • -
  • 学习LaTex最好的方式当然是写论文,不过从一门数学课入手用LaTex写作业也是一个不错的选择。
  • -
- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Latex - CS自学指南
跳转至

Latex

为什么学Latex

如果你需要写论文,那么请直接跳到下一节,因为你不学也得学。

LaTex是一种基于Tex的排版系统,由图灵奖得主Lamport开发,而Tex则是由Knuth最初开发,这两位都是计算机界的巨擘。当然开发者强并不是我们学习LaTex的理由,LaTex和常见的所见即所得的Word文档最大的区别就是用户只需要关注写作的内容,而排版则完全交给软件自动完成。这让没有任何排版经验的普通人得以写出排版非常专业的论文或文章。

Berkeley计算机系教授Christos Papadimitriou曾说过一句半开玩笑的话:

Every time I read a LaTeX document, I think, wow, this must be correct!

如何学习LaTex

推荐的学习路线如下:

  • LaTex的环境配置是个比较头疼的问题。如果你本地配置LaTex环境出现了问题,可以考虑使用Overleaf这个在线LaTex编辑网站。站内不仅有各种各样的LaTex模版供你选择还免去了环境配置的难题。
  • 阅读下面三篇Tutorial: Part-1, Part-2, Part-3.
  • 学习LaTex最好的方式当然是写论文,不过从一门数学课入手用LaTex写作业也是一个不错的选择。

最后更新: November 30, 2021
回到页面顶部
\ No newline at end of file diff --git a/必学工具/Makefile/index.html b/必学工具/Makefile/index.html index 5520d30e..3eb44a22 100644 --- a/必学工具/Makefile/index.html +++ b/必学工具/Makefile/index.html @@ -1,2089 +1 @@ - - - - - - - - - - - - - - - - Makefile - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Makefile

- -

为什么学Makefile

-

大家第一次写hello world程序的时候一定都记得,在编辑完helloworld.c之后,需要用gcc编译生成可执行文件,然后再执行(如果你不理解前面这段话,请先自行谷歌gcc 编译并理解相关内容)。但如果你的项目由成百上千个C源文件组成,并且星罗棋布在各个子目录下,你该如何将它们编译链接到一起呢?假如你的项目编译一次需要半个小时(大型项目相当常见),而你只修改了一个分号,是不是还需要再等半个小时呢?

-

这时候Makefile就闪亮登场了,它能让你在一个脚本里(即所谓的Makefile)定义整个编译流程以及各个目标文件与源文件之间的依赖关系,并且只重新编译你的修改会影响到的部分,从而降低编译的时间。

-

如何学习Makefile

-

这里有一篇写得深入浅出的文档供大家参考。

-

Makefile掌握起来相对容易,但用好它需要不断的练习。将它融入到自己的日常开发中,勤于学习和模仿其他优秀开源项目里的Makefile的写法,总结出适合自己的template,久而久之,你对Makefile的使用会愈加纯熟。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Makefile - CS自学指南
跳转至

Makefile

为什么学Makefile

大家第一次写hello world程序的时候一定都记得,在编辑完helloworld.c之后,需要用gcc编译生成可执行文件,然后再执行(如果你不理解前面这段话,请先自行谷歌gcc 编译并理解相关内容)。但如果你的项目由成百上千个C源文件组成,并且星罗棋布在各个子目录下,你该如何将它们编译链接到一起呢?假如你的项目编译一次需要半个小时(大型项目相当常见),而你只修改了一个分号,是不是还需要再等半个小时呢?

这时候Makefile就闪亮登场了,它能让你在一个脚本里(即所谓的Makefile)定义整个编译流程以及各个目标文件与源文件之间的依赖关系,并且只重新编译你的修改会影响到的部分,从而降低编译的时间。

如何学习Makefile

这里有一篇写得深入浅出的文档供大家参考。

Makefile掌握起来相对容易,但用好它需要不断的练习。将它融入到自己的日常开发中,勤于学习和模仿其他优秀开源项目里的Makefile的写法,总结出适合自己的template,久而久之,你对Makefile的使用会愈加纯熟。


最后更新: November 30, 2021
回到页面顶部
\ No newline at end of file diff --git a/必学工具/Vim/index.html b/必学工具/Vim/index.html index ea27f26d..dbc0f21b 100644 --- a/必学工具/Vim/index.html +++ b/必学工具/Vim/index.html @@ -1,2120 +1 @@ - - - - - - - - - - - - - - - - Vim - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Vim

- -

为什么学习Vim

-

在我看来Vim编辑器有如下的好处:

-
    -
  • 让你的整个开发过程手指不需要离开键盘,而且光标的移动不需要方向键使得你的手指一直处在打字的最佳位置。
  • -
  • 方便的文件切换以及面板控制可以让你同时开发多份文件甚至同一个文件的不同位置。
  • -
  • Vim的宏操作可以批量化处理重复操作(例如多行tab,批量加双引号等等)
  • -
  • Vim是很多服务器自带的命令行编辑器,当你通过ssh连接远程服务器之后,由于没有图形界面,只能在命令行里进行开发(当然现在很多IDE如vscode提供了ssh插件可以解决这个问题)。
  • -
  • 异常丰富的插件生态,让你拥有世界上最花里胡哨的命令行编辑器。
  • -
-

如何学习Vim

-

不幸的是Vim的学习曲线确实相当陡峭,我花了好几个星期才慢慢适应了用Vim进行开发的过程。最开始你会觉得非常不适应,但一旦熬过了初始阶段,相信我,你会爱上Vim。

-

Vim的学习资料浩如烟海,但掌握它最好的方式还是将它用在日常的开发过程中,而不是一上来就去学各种花里胡哨的高级Vim技巧。个人推荐的学习路线如下:

-
    -
  • 先阅读这篇tutorial,掌握基本的Vim概念和使用方式。
  • -
  • 用Vim自带的vimtutor进行练习,安装完Vim之后直接在命令行里输入vimtutor即可进入练习程序。
  • -
  • 最后就是强迫自己使用Vim进行开发,IDE里可以安装Vim插件。
  • -
  • 等你完全适应Vim之后新的世界便向你敞开了大门,你可以按需配置自己的Vim(修改.vimrc文件),网上有数不胜数的资源可以借鉴。
  • -
-

推荐参考资料

-
    -
  • Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015.
  • -
  • Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.
  • -
- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Vim - CS自学指南
跳转至

Vim

为什么学习Vim

在我看来Vim编辑器有如下的好处:

  • 让你的整个开发过程手指不需要离开键盘,而且光标的移动不需要方向键使得你的手指一直处在打字的最佳位置。
  • 方便的文件切换以及面板控制可以让你同时开发多份文件甚至同一个文件的不同位置。
  • Vim的宏操作可以批量化处理重复操作(例如多行tab,批量加双引号等等)
  • Vim是很多服务器自带的命令行编辑器,当你通过ssh连接远程服务器之后,由于没有图形界面,只能在命令行里进行开发(当然现在很多IDE如vscode提供了ssh插件可以解决这个问题)。
  • 异常丰富的插件生态,让你拥有世界上最花里胡哨的命令行编辑器。

如何学习Vim

不幸的是Vim的学习曲线确实相当陡峭,我花了好几个星期才慢慢适应了用Vim进行开发的过程。最开始你会觉得非常不适应,但一旦熬过了初始阶段,相信我,你会爱上Vim。

Vim的学习资料浩如烟海,但掌握它最好的方式还是将它用在日常的开发过程中,而不是一上来就去学各种花里胡哨的高级Vim技巧。个人推荐的学习路线如下:

  • 先阅读这篇tutorial,掌握基本的Vim概念和使用方式。
  • 用Vim自带的vimtutor进行练习,安装完Vim之后直接在命令行里输入vimtutor即可进入练习程序。
  • 最后就是强迫自己使用Vim进行开发,IDE里可以安装Vim插件。
  • 等你完全适应Vim之后新的世界便向你敞开了大门,你可以按需配置自己的Vim(修改.vimrc文件),网上有数不胜数的资源可以借鉴。

推荐参考资料

  • Neil, Drew. Practical Vim: Edit Text at the Speed of Thought. N.p., Pragmatic Bookshelf, 2015.
  • Neil, Drew. Modern Vim: Craft Your Development Environment with Vim 8 and Neovim. United States, Pragmatic Bookshelf.

最后更新: December 13, 2021
回到页面顶部
\ No newline at end of file diff --git a/必学工具/tools/index.html b/必学工具/tools/index.html index 9fef65d6..9840bf2f 100644 --- a/必学工具/tools/index.html +++ b/必学工具/tools/index.html @@ -1,2116 +1 @@ - - - - - - - - - - - - - - - - 实用工具箱 - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

实用工具箱

- -

下载工具

-
    -
  • MacWk:Mac软件破解版下载网站。
  • -
  • Libgen:PDF电子书下载网站。
  • -
  • z-epub:ePub电子书下载网站。
  • -
  • bitdownloader:油管视频下载器。
  • -
  • zlibrary:电子书下载网站(可能需要翻墙)。
  • -
-

设计工具

-
    -
  • excalidraw:一款手绘风格的绘图工具,非常适合绘制课程报告或者PPT内的示意图。
  • -
  • origamiway:手把手教你怎么折纸。
  • -
  • thingiverse:囊括各类2D/3D设计资源,其STL文件下载可直接3D打印。
  • -
-

学习网站

-
    -
  • HFS:各类软件教程。
  • -
  • os-wiki:操作系统技术资源百科全书。
  • -
- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + 实用工具箱 - CS自学指南
跳转至

实用工具箱

下载工具

  • MacWk:Mac软件破解版下载网站。
  • Libgen:PDF电子书下载网站。
  • z-epub:ePub电子书下载网站。
  • bitdownloader:油管视频下载器。
  • zlibrary:电子书下载网站(可能需要翻墙)。

设计工具

  • excalidraw:一款手绘风格的绘图工具,非常适合绘制课程报告或者PPT内的示意图。
  • origamiway:手把手教你怎么折纸。
  • thingiverse:囊括各类2D/3D设计资源,其STL文件下载可直接3D打印。

学习网站

  • HFS:各类软件教程。
  • os-wiki:操作系统技术资源百科全书。

最后更新: December 15, 2021
回到页面顶部
\ No newline at end of file diff --git a/必学工具/翻墙/index.html b/必学工具/翻墙/index.html index b200dd42..5b0cb555 100644 --- a/必学工具/翻墙/index.html +++ b/必学工具/翻墙/index.html @@ -1,2029 +1 @@ - - - - - - - - - - - - - - - - 翻墙 - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

翻墙

-

此链接出现在这里纯属二进制bit的随意组合,与本人毫无关系。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + 翻墙 - CS自学指南
跳转至

翻墙

此链接出现在这里纯属二进制bit的随意组合,与本人毫无关系。


最后更新: November 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/操作系统/CS162/index.html b/操作系统/CS162/index.html index bf59f120..e3026be3 100644 --- a/操作系统/CS162/index.html +++ b/操作系统/CS162/index.html @@ -1,2127 +1 @@ - - - - - - - - - - - - - - - - UCB CS162: Operating System - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS162: Operating System

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:CS61A, CS61B, CS61C
  • -
  • 编程语言:C,X86汇编
  • -
  • 课程难度:🌟🌟🌟🌟🌟🌟
  • -
  • 预计学时:200小时+,上不封顶
  • -
-

这门课让我记忆犹新的有两个部分:

-

首先是教材,这本书用的教材Operating Systems: Principles and Practice (2nd Edition)一共四卷,写得 -非常深入浅出,很好地弥补了MIT6.S081在理论知识上些许空白,非常建议大家阅读。相关资源会分享在本书的经典书籍推荐模块。

-

其次是这门课的Project —— Pintos。Pintos是由Ben Pfaff等人基于X86编写的教学用操作系统,Ben Pfaff甚至专门发了篇 -paper来阐述Pintos的设计思想。和MIT的xv6小而精的lab设计理念不同, -Pintos更注重系统的Design and Implementation。Pintos本身仅一万行左右,只提供了操作系统最基本的功能。而4个Project,就是让你在这个极为精简的操作系统之上,分别为其增加线程调度机制(Project1),系统调用(Project2),虚拟内存(Project3)以及文件系统(Project4)。所有的Project都给学生留有很大的设计空间,总代码量在5000行以上。根据Stanford学生自己的反馈,在3-4人组队的情况下,后两个Project的人均耗时也在40个小时以上。

-

虽然其难度很大,但Stanford,Berkeley,JHU等多所美国顶尖名校的操统课程均采用了Pintos。因为如果你真的对操作系统很感兴趣,Pintos会极大地提高你编写和debug底层系统代码的能力。在本科阶段,能自己设计、实现并debug一个大型系统,是一段非常珍贵的经历。

-

北大2022年春季学期的操作系统实验班也将会首次引入Pintos作为课程project,我作为这门课的TA,顶着被口水淹没的风险,依旧希望能用这样的尝试,让更多人爱上系统领域,为国内的系统研究添砖加瓦。

-

课程资源

- -

资源汇总

-

由于北大的操统实验班采用了该课程的project,为了防止代码抄袭,我的代码实现没有开源。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS162: Operating System - CS自学指南
跳转至

CS162: Operating System

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:CS61A, CS61B, CS61C
  • 编程语言:C,X86汇编
  • 课程难度:🌟🌟🌟🌟🌟🌟
  • 预计学时:200小时+,上不封顶

这门课让我记忆犹新的有两个部分:

首先是教材,这本书用的教材Operating Systems: Principles and Practice (2nd Edition)一共四卷,写得 非常深入浅出,很好地弥补了MIT6.S081在理论知识上些许空白,非常建议大家阅读。相关资源会分享在本书的经典书籍推荐模块。

其次是这门课的Project —— Pintos。Pintos是由Ben Pfaff等人基于X86编写的教学用操作系统,Ben Pfaff甚至专门发了篇 paper来阐述Pintos的设计思想。和MIT的xv6小而精的lab设计理念不同, Pintos更注重系统的Design and Implementation。Pintos本身仅一万行左右,只提供了操作系统最基本的功能。而4个Project,就是让你在这个极为精简的操作系统之上,分别为其增加线程调度机制(Project1),系统调用(Project2),虚拟内存(Project3)以及文件系统(Project4)。所有的Project都给学生留有很大的设计空间,总代码量在5000行以上。根据Stanford学生自己的反馈,在3-4人组队的情况下,后两个Project的人均耗时也在40个小时以上。

虽然其难度很大,但Stanford,Berkeley,JHU等多所美国顶尖名校的操统课程均采用了Pintos。因为如果你真的对操作系统很感兴趣,Pintos会极大地提高你编写和debug底层系统代码的能力。在本科阶段,能自己设计、实现并debug一个大型系统,是一段非常珍贵的经历。

北大2022年春季学期的操作系统实验班也将会首次引入Pintos作为课程project,我作为这门课的TA,顶着被口水淹没的风险,依旧希望能用这样的尝试,让更多人爱上系统领域,为国内的系统研究添砖加瓦。

课程资源

资源汇总

由于北大的操统实验班采用了该课程的project,为了防止代码抄袭,我的代码实现没有开源。


最后更新: December 14, 2021
回到页面顶部
\ No newline at end of file diff --git a/操作系统/MIT6.S081/index.html b/操作系统/MIT6.S081/index.html index 6b1bb931..d6d2f512 100644 --- a/操作系统/MIT6.S081/index.html +++ b/操作系统/MIT6.S081/index.html @@ -1,2126 +1 @@ - - - - - - - - - - - - - - - - MIT 6.S081: Operating System Engineering - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

MIT 6.S081: Operating System Engineering

-

课程简介

-
    -
  • 所属大学:麻省理工学院
  • -
  • 先修要求:体系结构 + 扎实的C语言功底 + RISC-V汇编语言
  • -
  • 编程语言:C,RISC-V
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 预计学时:150小时
  • -
-

麻省理工学院大名鼎鼎的PDOS实验室开设的面向MIT本科生的操作系统课程。开设这门课的教授之一 —— Robert Morris教授曾是一位顶尖黑客,世界上第一个蠕虫病毒Morris就是出自他之手。

-

这门课的前身是MIT著名的课程6.828,MIT的几位教授为了这门课曾专门开发了一个基于X86的教学用操作系统JOS,被众多名校作为自己的操统课程实验。但随着RISC-V的横空出世,这几位教授又基于RISC-V开发了一个新的教学用操作系统xv6,并开设了MIT6.S081这门课。由于RISC-V轻便易学的特点,学生不需要像此前JOS一样纠结于众多X86“特有的”为了兼容而遗留下来的复杂机制,而 -可以专注于操作系统层面的开发。

-

这几位教授还专门写了一本教程,详细讲解了xv6的设计思想和实现细节。

-

这门课的讲授也很有意思,老师会带着学生依照xv6的源代码去理解操作系统的众多机制和设计细节,而不是停留于理论知识。每周都会有一个lab,让你在xv6上增加一些新的机制和特性,非常注重学生动手能力的培养。整个学期一共有11个lab,让你全方位地深刻理解操作系统的每个部分,非常有成就感。而且所有的lab都有着非常完善的测试框架,有的测试代码甚至上千行,让人不得不佩服MIT的几位教授为了教好这门课所付出的心血。

-

这门课的后半程会讲授操作系统领域的多篇经典论文,涉及文件系统、系统安全、网络、虚拟化等等多个主题,让你有机会接触到学界 -最前沿的研究方向。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + MIT 6.S081: Operating System Engineering - CS自学指南
跳转至

MIT 6.S081: Operating System Engineering

课程简介

  • 所属大学:麻省理工学院
  • 先修要求:体系结构 + 扎实的C语言功底 + RISC-V汇编语言
  • 编程语言:C,RISC-V
  • 课程难度:🌟🌟🌟🌟🌟
  • 预计学时:150小时

麻省理工学院大名鼎鼎的PDOS实验室开设的面向MIT本科生的操作系统课程。开设这门课的教授之一 —— Robert Morris教授曾是一位顶尖黑客,世界上第一个蠕虫病毒Morris就是出自他之手。

这门课的前身是MIT著名的课程6.828,MIT的几位教授为了这门课曾专门开发了一个基于X86的教学用操作系统JOS,被众多名校作为自己的操统课程实验。但随着RISC-V的横空出世,这几位教授又基于RISC-V开发了一个新的教学用操作系统xv6,并开设了MIT6.S081这门课。由于RISC-V轻便易学的特点,学生不需要像此前JOS一样纠结于众多X86“特有的”为了兼容而遗留下来的复杂机制,而 可以专注于操作系统层面的开发。

这几位教授还专门写了一本教程,详细讲解了xv6的设计思想和实现细节。

这门课的讲授也很有意思,老师会带着学生依照xv6的源代码去理解操作系统的众多机制和设计细节,而不是停留于理论知识。每周都会有一个lab,让你在xv6上增加一些新的机制和特性,非常注重学生动手能力的培养。整个学期一共有11个lab,让你全方位地深刻理解操作系统的每个部分,非常有成就感。而且所有的lab都有着非常完善的测试框架,有的测试代码甚至上千行,让人不得不佩服MIT的几位教授为了教好这门课所付出的心血。

这门课的后半程会讲授操作系统领域的多篇经典论文,涉及文件系统、系统安全、网络、虚拟化等等多个主题,让你有机会接触到学界 最前沿的研究方向。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/数学基础/MITLA/index.html b/数学基础/MITLA/index.html index 0d5336e7..084f4bce 100644 --- a/数学基础/MITLA/index.html +++ b/数学基础/MITLA/index.html @@ -1,2106 +1 @@ - - - - - - - - - - - - - - - - MIT18.06: Linear Algebra - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

MIT18.06: Linear Algebra

-

课程简介

-
    -
  • 所属大学:MIT
  • -
  • 先修要求:英文
  • -
  • 编程语言:无
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:因人而异
  • -
-

数学大牛Gilbert Strang老先生年逾古稀仍坚持授课,其经典教材Introduction to Linear Algebra已被清华采用为官方教材。我当时看完盗版PDF之后深感愧疚,含泪花了两百多买了一本英文正版收藏。下面附上此书封面,如果你能完全理解封面图的数学含义,那你对线性代数的理解一定会达到新的高度。 -image

-

配合油管数学网红3Blue1Brown线性代数的本质系列视频食用更佳。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频:参见课程网站
  • -
  • 课程教材:Introduction to Linear Algebra. Gilbert Strang
  • -
  • 课程作业:参见课程网站
  • -
- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + MIT18.06: Linear Algebra - CS自学指南
跳转至

MIT18.06: Linear Algebra

课程简介

  • 所属大学:MIT
  • 先修要求:英文
  • 编程语言:无
  • 课程难度:🌟🌟🌟
  • 预计学时:因人而异

数学大牛Gilbert Strang老先生年逾古稀仍坚持授课,其经典教材Introduction to Linear Algebra已被清华采用为官方教材。我当时看完盗版PDF之后深感愧疚,含泪花了两百多买了一本英文正版收藏。下面附上此书封面,如果你能完全理解封面图的数学含义,那你对线性代数的理解一定会达到新的高度。 image

配合油管数学网红3Blue1Brown线性代数的本质系列视频食用更佳。

课程资源

  • 课程网站
  • 课程视频:参见课程网站
  • 课程教材:Introduction to Linear Algebra. Gilbert Strang
  • 课程作业:参见课程网站

最后更新: December 11, 2021
回到页面顶部
\ No newline at end of file diff --git a/数学基础/MITmaths/index.html b/数学基础/MITmaths/index.html index ed0f1629..4bf05b27 100644 --- a/数学基础/MITmaths/index.html +++ b/数学基础/MITmaths/index.html @@ -1,2105 +1 @@ - - - - - - - - - - - - - - - - MIT18.01/18.02: Calculus - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

MIT Calculus Course

-

课程简介

-
    -
  • 所属大学:MIT
  • -
  • 先修要求:英语
  • -
  • 编程语言:无
  • -
  • 课程难度:🌟🌟
  • -
  • 预计学时:因人而异
  • -
-

MIT的微积分课由MIT18.01: Single variable calculusMIT18.02: Multi variable calculus两门课组成。对自己数学基础比较自信的同学可以只看课程notes,写得非常浅显生动并且抓住本质,让你不再疲于做题而是能够真正窥见微积分的本质魅力。

-

配合油管数学网红3Blue1Brown微积分的本质系列视频食用更佳。

-

课程资源

-
    -
  • 课程网站:18.0118.02
  • -
  • 课程视频:参见课程网站
  • -
  • 课程教材:参见课程notes
  • -
  • 课程作业:书面作业及答案参见课程网站
  • -
- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + MIT18.01/18.02: Calculus - CS自学指南
跳转至

MIT Calculus Course

课程简介

  • 所属大学:MIT
  • 先修要求:英语
  • 编程语言:无
  • 课程难度:🌟🌟
  • 预计学时:因人而异

MIT的微积分课由MIT18.01: Single variable calculusMIT18.02: Multi variable calculus两门课组成。对自己数学基础比较自信的同学可以只看课程notes,写得非常浅显生动并且抓住本质,让你不再疲于做题而是能够真正窥见微积分的本质魅力。

配合油管数学网红3Blue1Brown微积分的本质系列视频食用更佳。

课程资源

  • 课程网站:18.0118.02
  • 课程视频:参见课程网站
  • 课程教材:参见课程notes
  • 课程作业:书面作业及答案参见课程网站

最后更新: December 11, 2021
回到页面顶部
\ No newline at end of file diff --git a/数学基础/information/index.html b/数学基础/information/index.html index fc81a574..e743a2cf 100644 --- a/数学基础/information/index.html +++ b/数学基础/information/index.html @@ -1,2103 +1 @@ - - - - - - - - - - - - - - - - MIT6.050J: Information theory and Entropy - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

MIT6.050J: Information theory and Entropy

-

课程简介

-
    -
  • 所属大学:MIT
  • -
  • 先修要求:无
  • -
  • 编程语言:无
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:100小时
  • -
-

MIT面向大一新生的信息论入门课程,Penfield教授专门为这门课写了一本教材作为课程notes,内容深入浅出,生动有趣。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + MIT6.050J: Information theory and Entropy - CS自学指南
跳转至

MIT6.050J: Information theory and Entropy

课程简介

  • 所属大学:MIT
  • 先修要求:无
  • 编程语言:无
  • 课程难度:🌟🌟🌟
  • 预计学时:100小时

MIT面向大一新生的信息论入门课程,Penfield教授专门为这门课写了一本教材作为课程notes,内容深入浅出,生动有趣。

课程资源


最后更新: December 10, 2021
回到页面顶部
\ No newline at end of file diff --git a/数学进阶/6.042J/index.html b/数学进阶/6.042J/index.html index 435672f8..73789bba 100644 --- a/数学进阶/6.042J/index.html +++ b/数学进阶/6.042J/index.html @@ -1,2098 +1 @@ - - - - - - - - - - - - - - - - MIT 6.042J: Mathematics for Computer Science - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

MIT 6.042J: Mathematics for Computer Science

- -

课程简介

-
    -
  • 所属大学:MIT
  • -
  • 先修要求:Calculus, Linear Algebra
  • -
  • 编程语言:Python preferred
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:50-70 小时
  • -
-

MIT 的离散数学以及概率综合课程,导师是大名鼎鼎的 Tom Leighton (Akamai的联合创始人之一)。学完之后对于后续的算法学习大有裨益。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + MIT 6.042J: Mathematics for Computer Science - CS自学指南
跳转至

MIT 6.042J: Mathematics for Computer Science

课程简介

  • 所属大学:MIT
  • 先修要求:Calculus, Linear Algebra
  • 编程语言:Python preferred
  • 课程难度:🌟🌟🌟
  • 预计学时:50-70 小时

MIT 的离散数学以及概率综合课程,导师是大名鼎鼎的 Tom Leighton (Akamai的联合创始人之一)。学完之后对于后续的算法学习大有裨益。

课程资源


最后更新: December 23, 2021
回到页面顶部
\ No newline at end of file diff --git a/数学进阶/CS126/index.html b/数学进阶/CS126/index.html index 05f948dc..2239c860 100644 --- a/数学进阶/CS126/index.html +++ b/数学进阶/CS126/index.html @@ -1,2122 +1 @@ - - - - - - - - - - - - - - - - UCB CS126: probability theory - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

UCB CS126 : Probability theory

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:CS70、微积分、线性代数
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 预计学时:100小时
  • -
-

伯克利的概率论进阶课程,涉及到统计学、随机过程等理论相对深入的内容,需要相当的数学基础,我在上这门课的时候也感到有些吃力,不过坚持下来一定会让你对概率论的掌握达到一个新的高度。

-

同时这门课非常强调理论与实践的结合,课程设计者Jean Walrand教授专门写了一本配套的教材Probability in Electrical Engineering and Computer Science,书中每个章节都会以一个具体的算法实践作为例子来展示理论在实际当中的运用,例如PageRank,Route Planing,Speech Recognition等等,并且全书开源,可以免费下载PDF或者Epub版。

-

这还不算完,Jean Walrand还为整本书里的例子设计了配套的Python实现,以Jupyter Notebook的形式在线发布,读者可以在线修改、调试和运行。

-

与此同时,这门课除了理论作业之外,还有9个编程作业,会让你用概率论的知识解决实际问题。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS126: probability theory - CS自学指南
跳转至

UCB CS126 : Probability theory

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:CS70、微积分、线性代数
  • 编程语言:Python
  • 课程难度:🌟🌟🌟🌟🌟
  • 预计学时:100小时

伯克利的概率论进阶课程,涉及到统计学、随机过程等理论相对深入的内容,需要相当的数学基础,我在上这门课的时候也感到有些吃力,不过坚持下来一定会让你对概率论的掌握达到一个新的高度。

同时这门课非常强调理论与实践的结合,课程设计者Jean Walrand教授专门写了一本配套的教材Probability in Electrical Engineering and Computer Science,书中每个章节都会以一个具体的算法实践作为例子来展示理论在实际当中的运用,例如PageRank,Route Planing,Speech Recognition等等,并且全书开源,可以免费下载PDF或者Epub版。

这还不算完,Jean Walrand还为整本书里的例子设计了配套的Python实现,以Jupyter Notebook的形式在线发布,读者可以在线修改、调试和运行。

与此同时,这门课除了理论作业之外,还有9个编程作业,会让你用概率论的知识解决实际问题。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 11, 2021
回到页面顶部
\ No newline at end of file diff --git a/数学进阶/CS70/index.html b/数学进阶/CS70/index.html index 2694b870..cc5dbb9e 100644 --- a/数学进阶/CS70/index.html +++ b/数学进阶/CS70/index.html @@ -1,2128 +1 @@ - - - - - - - - - - - - - - - - UCB CS70: discrete Math and probability theory - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

UCB CS70 : discrete Math and probability theory

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:无
  • -
  • 编程语言:无
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:60小时
  • -
-

伯克利的离散数学入门课程,个人觉得这门课最大的亮点在于并不是单纯的理论知识的讲授,而是在每个模块都会介绍理论知识在实际算法中的运用,让计算机系的学生在夯实理论基础的同时,跳脱出冰冷形式化的数学符号,在实际应用中感受和体会理论的本质。

-

具体的理论与算法的对应关系列举如下:

-
    -
  • 逻辑证明:稳定匹配算法
  • -
  • 图论:网络拓扑设计
  • -
  • 基础数论:RSA算法
  • -
  • 多项式环:纠错码设计
  • -
  • 概率论:哈希表设计、负载均衡等等
  • -
-

课程notes也写得非常深入浅出,公式推导与实际例子星罗棋布,阅读体验很好。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程教材:参见课程notes
  • -
  • 课程作业:参见课程schedule
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS70: discrete Math and probability theory - CS自学指南
跳转至

UCB CS70 : discrete Math and probability theory

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:无
  • 编程语言:无
  • 课程难度:🌟🌟🌟
  • 预计学时:60小时

伯克利的离散数学入门课程,个人觉得这门课最大的亮点在于并不是单纯的理论知识的讲授,而是在每个模块都会介绍理论知识在实际算法中的运用,让计算机系的学生在夯实理论基础的同时,跳脱出冰冷形式化的数学符号,在实际应用中感受和体会理论的本质。

具体的理论与算法的对应关系列举如下:

  • 逻辑证明:稳定匹配算法
  • 图论:网络拓扑设计
  • 基础数论:RSA算法
  • 多项式环:纠错码设计
  • 概率论:哈希表设计、负载均衡等等

课程notes也写得非常深入浅出,公式推导与实际例子星罗棋布,阅读体验很好。

课程资源

  • 课程网站
  • 课程教材:参见课程notes
  • 课程作业:参见课程schedule

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 11, 2021
回到页面顶部
\ No newline at end of file diff --git a/数学进阶/The Information Theory, Pattern Recognition, and Neural Networks/index.html b/数学进阶/The Information Theory, Pattern Recognition, and Neural Networks/index.html index 77c6acc4..856c3cec 100644 --- a/数学进阶/The Information Theory, Pattern Recognition, and Neural Networks/index.html +++ b/数学进阶/The Information Theory, Pattern Recognition, and Neural Networks/index.html @@ -1,2114 +1 @@ - - - - - - - - - - - - - - - - The Information Theory, Patter Recognition, and Neural Networks - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

The Information Theory, Patter Recognition, and Neural Networks

- -

课程简介

-
    -
  • 所属大学:Cambridge
  • -
  • 先修要求:Calculus, Linear Algebra, Probabilities and Statistics
  • -
  • 编程语言:Anything would be OK, Python preferred
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:30-50 小时
  • -
-

剑桥大学 Sir David MacKay 教授的信息论课程。教授是一位十分精通信息论与神经网络的学者,课程对应教材也是信息论领域的一部经典著作。可惜天妒英才...

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频
  • -
  • 课程教材:Information Theory, Inference, and Learning Algorithms 在课程网站可以下载到免费的电子版
  • -
  • 课程作业:在每一节课视频的最后会留教材上的课后习题
  • -
-

R.I.P Prof. David MacKay

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + The Information Theory, Patter Recognition, and Neural Networks - CS自学指南
跳转至

The Information Theory, Patter Recognition, and Neural Networks

课程简介

  • 所属大学:Cambridge
  • 先修要求:Calculus, Linear Algebra, Probabilities and Statistics
  • 编程语言:Anything would be OK, Python preferred
  • 课程难度:🌟🌟🌟
  • 预计学时:30-50 小时

剑桥大学 Sir David MacKay 教授的信息论课程。教授是一位十分精通信息论与神经网络的学者,课程对应教材也是信息论领域的一部经典著作。可惜天妒英才...

课程资源

  • 课程网站
  • 课程视频
  • 课程教材:Information Theory, Inference, and Learning Algorithms 在课程网站可以下载到免费的电子版
  • 课程作业:在每一节课视频的最后会留教材上的课后习题

R.I.P Prof. David MacKay


最后更新: December 23, 2021
回到页面顶部
\ No newline at end of file diff --git a/数学进阶/convex/index.html b/数学进阶/convex/index.html index 35adf449..2c3982fc 100644 --- a/数学进阶/convex/index.html +++ b/数学进阶/convex/index.html @@ -1,2121 +1 @@ - - - - - - - - - - - - - - - - Standford EE364A: Convex Optimization - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Standford EE364A: Convex Optimization

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:Python,微积分,线性代数,概率论,数值分析
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 预计学时:150小时
  • -
-

Stephen Boyd教授是凸优化领域的大牛,其编写的Convex Optimization这本教材被众多名校采用。另外其研究团队还专门开发了一个用于求解常见凸优化问题的编程框架,支持Python,Julia等主流编程语言,其课程作业也是采用这个编程框架去解决实际生活当中的凸优化问题。

-

在实际运用当中,你会深刻体会到对于同一个问题,建模过程中一个细小的改变,其方程的求解难度会有天壤之别,如何让你建模的方程是“凸”的,是一门艺术。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Standford EE364A: Convex Optimization - CS自学指南
跳转至

Standford EE364A: Convex Optimization

课程简介

  • 所属大学:Stanford
  • 先修要求:Python,微积分,线性代数,概率论,数值分析
  • 编程语言:Python
  • 课程难度:🌟🌟🌟🌟🌟
  • 预计学时:150小时

Stephen Boyd教授是凸优化领域的大牛,其编写的Convex Optimization这本教材被众多名校采用。另外其研究团队还专门开发了一个用于求解常见凸优化问题的编程框架,支持Python,Julia等主流编程语言,其课程作业也是采用这个编程框架去解决实际生活当中的凸优化问题。

在实际运用当中,你会深刻体会到对于同一个问题,建模过程中一个细小的改变,其方程的求解难度会有天壤之别,如何让你建模的方程是“凸”的,是一门艺术。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 11, 2021
回到页面顶部
\ No newline at end of file diff --git a/数学进阶/numerical/index.html b/数学进阶/numerical/index.html index 39c275e6..259619cf 100644 --- a/数学进阶/numerical/index.html +++ b/数学进阶/numerical/index.html @@ -1,2121 +1 @@ - - - - - - - - - - - - - - - - MIT18.330: Introduction to numerical analysis - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

MIT18.330 : Introduction to numerical analysis

-

课程简介

-
    -
  • 所属大学:MIT
  • -
  • 先修要求:微积分,线性代数,概率论
  • -
  • 编程语言:Julia
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 预计学时:150小时
  • -
-

计算机强大的计算能力帮助人们在科学领域不断突破边界,不过计算机的离散本质和这个连续的世界有着天然鸿沟,而如何用离散的表示去估计和逼近那些数学上连续的概念,则是数值分析的重要主题。

-

这门课会在浮点表示、方程求解、线性代数、微积分、线性代数、微分方程等领域探讨各类数值分析方法,让你在Julia的编程实践中反复体悟(1)如何建立估计(2)如何估计误差(3)如何用算法实现估计 这一系列步骤。

-

这门课的设计者还编写了配套的开源教材(参见下方链接),里面有丰富的Julia实例。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + MIT18.330: Introduction to numerical analysis - CS自学指南
跳转至

MIT18.330 : Introduction to numerical analysis

课程简介

  • 所属大学:MIT
  • 先修要求:微积分,线性代数,概率论
  • 编程语言:Julia
  • 课程难度:🌟🌟🌟🌟🌟
  • 预计学时:150小时

计算机强大的计算能力帮助人们在科学领域不断突破边界,不过计算机的离散本质和这个连续的世界有着天然鸿沟,而如何用离散的表示去估计和逼近那些数学上连续的概念,则是数值分析的重要主题。

这门课会在浮点表示、方程求解、线性代数、微积分、线性代数、微分方程等领域探讨各类数值分析方法,让你在Julia的编程实践中反复体悟(1)如何建立估计(2)如何估计误差(3)如何用算法实现估计 这一系列步骤。

这门课的设计者还编写了配套的开源教材(参见下方链接),里面有丰富的Julia实例。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 11, 2021
回到页面顶部
\ No newline at end of file diff --git a/数据库系统/15445/index.html b/数据库系统/15445/index.html index 0683a973..1618e3a3 100644 --- a/数据库系统/15445/index.html +++ b/数据库系统/15445/index.html @@ -1,2129 +1 @@ - - - - - - - - - - - - - - - - CMU 15-445: Database Systems - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CMU 15-445: Database Systems

-

课程简介

-
    -
  • 所属大学:CMU
  • -
  • 先修要求:C++,数据结构与算法
  • -
  • 编程语言:C++
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:100小时
  • -
-

作为CMU数据库的入门课,这门课由数据库领域的大牛 Andy Pavlo讲授(“这个世界上我只在乎两件事,一是我的老婆,二就是数据库”)。15-445会自底向上地教你数据库系统的基本组成部分:存储、索引、查询,以及并发事务控制。 -这门课的亮点在于CMU db专门为此课开发了一个教学用的关系型数据库bustub,并要求你对这个数据库的组成部分进行修改,实现上述部件的功能。此外 bustub作为一个C++编写的中小型项目涵盖了程序构建、代码规范、单元测试等众多要求,可以作为一个优秀的开源项目学习。

-

课程资源

- -

在Fall2019中,第二个project是做哈希索引,第四个project是做日志与恢复

-

在Fall2020中,第二个project是做B树,第四个project是做并发控制

-

如果大家有精力的话可以都去尝试一下,或者在对书中内容理解不是很透彻的时候,尝试用代码写一个会加深你的理解。

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

-

由于Andy的要求,仓库中没有project的实现,只有homework的solution。特别的,对于homework1,我还写了一个shell脚本来帮大家执行自动判分

-

另外在课程结束后,我十分推荐阅读一篇论文Architecture Of a Database System,对应的中文版我上传到了链接中的仓库。论文里综述了数据库系统的整体架构,让大家可以对数据库有一个更加全面的视野。

-

后续课程

-

CMU15-721

-

主要讲主存数据库有关的内容,每节课都有对应的paper要读,推荐给希望进阶数据库的小伙伴

-

我目前也在跟进这门课,完成后会在这里提PR以提供进阶的指导

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + CMU 15-445: Database Systems - CS自学指南
跳转至

CMU 15-445: Database Systems

课程简介

  • 所属大学:CMU
  • 先修要求:C++,数据结构与算法
  • 编程语言:C++
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:100小时

作为CMU数据库的入门课,这门课由数据库领域的大牛 Andy Pavlo讲授(“这个世界上我只在乎两件事,一是我的老婆,二就是数据库”)。15-445会自底向上地教你数据库系统的基本组成部分:存储、索引、查询,以及并发事务控制。 这门课的亮点在于CMU db专门为此课开发了一个教学用的关系型数据库bustub,并要求你对这个数据库的组成部分进行修改,实现上述部件的功能。此外 bustub作为一个C++编写的中小型项目涵盖了程序构建、代码规范、单元测试等众多要求,可以作为一个优秀的开源项目学习。

课程资源

在Fall2019中,第二个project是做哈希索引,第四个project是做日志与恢复

在Fall2020中,第二个project是做B树,第四个project是做并发控制

如果大家有精力的话可以都去尝试一下,或者在对书中内容理解不是很透彻的时候,尝试用代码写一个会加深你的理解。

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

由于Andy的要求,仓库中没有project的实现,只有homework的solution。特别的,对于homework1,我还写了一个shell脚本来帮大家执行自动判分

另外在课程结束后,我十分推荐阅读一篇论文Architecture Of a Database System,对应的中文版我上传到了链接中的仓库。论文里综述了数据库系统的整体架构,让大家可以对数据库有一个更加全面的视野。

后续课程

CMU15-721

主要讲主存数据库有关的内容,每节课都有对应的paper要读,推荐给希望进阶数据库的小伙伴

我目前也在跟进这门课,完成后会在这里提PR以提供进阶的指导


最后更新: December 22, 2021
回到页面顶部
\ No newline at end of file diff --git a/数据库系统/CS186/index.html b/数据库系统/CS186/index.html index 6f894fd6..2257a6a9 100644 --- a/数据库系统/CS186/index.html +++ b/数据库系统/CS186/index.html @@ -1,2121 +1 @@ - - - - - - - - - - - - - - - - UCB CS186: Introduction to Database System - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

UCB CS186: Introduction to Database System

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:CS61A, CS61B, CS61C
  • -
  • 编程语言:Java
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 预计学时:150小时
  • -
-

如何编写SQL查询?SQL命令是如何被一步步拆解、优化、转变为一个个磁盘查询指令的?如何实现高并发的数据库?如何实现数据库的故障恢复?什么又是非关系型数据库?这门课会带你深入理解关系型数据库的内部细节,并在掌握理论知识之后,动手用Java实现一个支持SQL并发查询、B+树Index和故障恢复的关系型数据库。

-

从实用角度来说,这门课还会在编程作业中锻炼你编写SQL查询以及NoSQL查询的能力,对于构建一些全栈的工程项目很有帮助。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS186: Introduction to Database System - CS自学指南
跳转至

UCB CS186: Introduction to Database System

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:CS61A, CS61B, CS61C
  • 编程语言:Java
  • 课程难度:🌟🌟🌟🌟🌟
  • 预计学时:150小时

如何编写SQL查询?SQL命令是如何被一步步拆解、优化、转变为一个个磁盘查询指令的?如何实现高并发的数据库?如何实现数据库的故障恢复?什么又是非关系型数据库?这门课会带你深入理解关系型数据库的内部细节,并在掌握理论知识之后,动手用Java实现一个支持SQL并发查询、B+树Index和故障恢复的关系型数据库。

从实用角度来说,这门课还会在编程作业中锻炼你编写SQL查询以及NoSQL查询的能力,对于构建一些全栈的工程项目很有帮助。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 21, 2021
回到页面顶部
\ No newline at end of file diff --git a/数据科学/Data100/index.html b/数据科学/Data100/index.html index 949dd5d8..5aabf1ed 100644 --- a/数据科学/Data100/index.html +++ b/数据科学/Data100/index.html @@ -1,2099 +1 @@ - - - - - - - - - - - - - - - - UCB Data100: Principles and Techniques of Data Science - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

UCB Data100: Principles and Techniques of Data Science

- -

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:CS61A,线性代数
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:80小时
  • -
-

伯克利的数据科学入门课程,内容相对基础,覆盖了数据清洗、特征提取、数据可视化以及机器学习和推理的基础内容,也会讲授Pandas,Numpy,Matplotlib等数据科学常用工具。其丰富有趣的编程作业也是这门课的一大亮点。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB Data100: Principles and Techniques of Data Science - CS自学指南
跳转至

UCB Data100: Principles and Techniques of Data Science

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:CS61A,线性代数
  • 编程语言:Python
  • 课程难度:🌟🌟🌟
  • 预计学时:80小时

伯克利的数据科学入门课程,内容相对基础,覆盖了数据清洗、特征提取、数据可视化以及机器学习和推理的基础内容,也会讲授Pandas,Numpy,Matplotlib等数据科学常用工具。其丰富有趣的编程作业也是这门课的一大亮点。

课程资源


最后更新: December 11, 2021
回到页面顶部
\ No newline at end of file diff --git a/数据结构与算法/Algo/index.html b/数据结构与算法/Algo/index.html index f484c17f..3f7bbea0 100644 --- a/数据结构与算法/Algo/index.html +++ b/数据结构与算法/Algo/index.html @@ -1,2133 +1 @@ - - - - - - - - - - - - - - - - Coursera: Algorithms I & II - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Coursera: Algorithms I & II

-

课程简介

-
    -
  • 所属大学:Princeton
  • -
  • 先修要求:CS61A
  • -
  • 编程语言:Java
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:60小时
  • -
-

这是Coursera上评分最高的算法课程。Robert Sedgewick教授有一种魔力,可以将无论多么复杂的算法讲得极为生动浅显。实不相瞒,困扰我 -多年的KMP以及网络流算法都是在这门课上让我茅塞顿开的,时隔两年我甚至还能写出这两个算法的推导与证明。

-

你是否觉得算法学了就忘呢?我觉得让你完全掌握一个算法的核心在于理解三点:

-
    -
  • 为什么这么做?(正确性推导,抑或是整个算法的核心本质)
  • -
  • 如何实现它?(光学不用假把式)
  • -
  • 用它解决实际问题(学以致用才是真本事)
  • -
-

这门课的构成就非常好地契合了上述三个步骤。观看课程视频并且阅读教授的开源课本有助于你理解算法的本质,让你也可以用非常 -生动浅显的话语向别人讲述为什么这个算法得长这个样子。

-

在理解算法之后,你可以阅读教授对于课程中讲授的所有数据结构与算法的代码实现。 -注意,这些实现可不是demo性质的,而是工业级的高效实现,从注释到变量命名都非常严谨,模块化也做得相当好,是质量很高的代码。我从这些代码中收获良多。

-

最后,就是这门课最激动人心的部分了,10个高质量的Project,并且全都有实际问题的背景描述,丰富的测试样例,自动的评分系统(代码风格也是评分的一环)。让你在实际生活中 -领略算法的魅力。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Coursera: Algorithms I & II - CS自学指南
跳转至

Coursera: Algorithms I & II

课程简介

  • 所属大学:Princeton
  • 先修要求:CS61A
  • 编程语言:Java
  • 课程难度:🌟🌟🌟
  • 预计学时:60小时

这是Coursera上评分最高的算法课程。Robert Sedgewick教授有一种魔力,可以将无论多么复杂的算法讲得极为生动浅显。实不相瞒,困扰我 多年的KMP以及网络流算法都是在这门课上让我茅塞顿开的,时隔两年我甚至还能写出这两个算法的推导与证明。

你是否觉得算法学了就忘呢?我觉得让你完全掌握一个算法的核心在于理解三点:

  • 为什么这么做?(正确性推导,抑或是整个算法的核心本质)
  • 如何实现它?(光学不用假把式)
  • 用它解决实际问题(学以致用才是真本事)

这门课的构成就非常好地契合了上述三个步骤。观看课程视频并且阅读教授的开源课本有助于你理解算法的本质,让你也可以用非常 生动浅显的话语向别人讲述为什么这个算法得长这个样子。

在理解算法之后,你可以阅读教授对于课程中讲授的所有数据结构与算法的代码实现。 注意,这些实现可不是demo性质的,而是工业级的高效实现,从注释到变量命名都非常严谨,模块化也做得相当好,是质量很高的代码。我从这些代码中收获良多。

最后,就是这门课最激动人心的部分了,10个高质量的Project,并且全都有实际问题的背景描述,丰富的测试样例,自动的评分系统(代码风格也是评分的一环)。让你在实际生活中 领略算法的魅力。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/数据结构与算法/CS106B_CS106X/index.html b/数据结构与算法/CS106B_CS106X/index.html index e9c3f4ef..5f1317c9 100644 --- a/数据结构与算法/CS106B_CS106X/index.html +++ b/数据结构与算法/CS106B_CS106X/index.html @@ -1,2103 +1 @@ - - - - - - - - - - - - - - - - Stanford CS106B/X - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Stanford CS106B/X: Programming Abstractions in C++

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:计算机基础(CS50/CS106A/CS61A or equivalent)
  • -
  • 编程语言:C++
  • -
  • 课程难度:🌟🌟
  • -
  • 预计学时:50-70 小时
  • -
-

Stanford的进阶编程课,CS106X在难度和深度上会比CS106B有所提高,但主体内容类似。主要通过C++语言让学生在实际的编程作业里培养通过编程抽象解决实际问题的能力,同时也会涉及一些简单的数据结构和算法的知识,但总体来说没有一门专门的数据结构课那么系统。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Stanford CS106B/X - CS自学指南
跳转至

Stanford CS106B/X: Programming Abstractions in C++

课程简介

  • 所属大学:Stanford
  • 先修要求:计算机基础(CS50/CS106A/CS61A or equivalent)
  • 编程语言:C++
  • 课程难度:🌟🌟
  • 预计学时:50-70 小时

Stanford的进阶编程课,CS106X在难度和深度上会比CS106B有所提高,但主体内容类似。主要通过C++语言让学生在实际的编程作业里培养通过编程抽象解决实际问题的能力,同时也会涉及一些简单的数据结构和算法的知识,但总体来说没有一门专门的数据结构课那么系统。

课程资源


最后更新: December 23, 2021
回到页面顶部
\ No newline at end of file diff --git a/数据结构与算法/CS170/index.html b/数据结构与算法/CS170/index.html index d2e0e3ae..117f9691 100644 --- a/数据结构与算法/CS170/index.html +++ b/数据结构与算法/CS170/index.html @@ -1,2123 +1 @@ - - - - - - - - - - - - - - - - UCB CS170: Efficient Algorithms and Intractable Problems - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS170: Efficient Algorithms and Intractable Problems

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:CS61B, CS70
  • -
  • 编程语言:Latex
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:60小时
  • -
-

伯克利的算法设计课,更注重算法的理论基础与复杂度分析。课程内容涵盖了分治、图算法、最短路、生成树、贪心、动规、并查集、线性规划、网络流、 -NP问题、随机算法、哈希算法等等。

-

这门课的教材写的很好,证明浅显易懂,非常适合作为工具书查阅。另外,这门课只有书面作业,并且推荐用Latex编写,大家可以借此机会锻炼自己的 -Latex技巧。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频
  • -
  • 课程教材:详见课程网站notes
  • -
  • 课程作业:13次书面作业,用Latex编写
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS170: Efficient Algorithms and Intractable Problems - CS自学指南
跳转至

CS170: Efficient Algorithms and Intractable Problems

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:CS61B, CS70
  • 编程语言:Latex
  • 课程难度:🌟🌟🌟
  • 预计学时:60小时

伯克利的算法设计课,更注重算法的理论基础与复杂度分析。课程内容涵盖了分治、图算法、最短路、生成树、贪心、动规、并查集、线性规划、网络流、 NP问题、随机算法、哈希算法等等。

这门课的教材写的很好,证明浅显易懂,非常适合作为工具书查阅。另外,这门课只有书面作业,并且推荐用Latex编写,大家可以借此机会锻炼自己的 Latex技巧。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 21, 2021
回到页面顶部
\ No newline at end of file diff --git a/数据结构与算法/CS61B/index.html b/数据结构与算法/CS61B/index.html index ab637290..ae1205d5 100644 --- a/数据结构与算法/CS61B/index.html +++ b/数据结构与算法/CS61B/index.html @@ -1,2126 +1 @@ - - - - - - - - - - - - - - - - UCB CS61B: Data Structures and Algorithms - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS61B: Data Structures and Algorithms

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:CS61A
  • -
  • 编程语言:Java
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:60小时
  • -
-

伯克利CS61系列的第二门课程,注重数据结构与算法的设计,同时让学生有机会接触上千行的工程代码,通过Java初步领会软件工程的思想。

-

我上的是2018年春季学期的版本,该课的开课老师Josh Hug教授慷慨地将autograder开源了,大家可以通过网站公开的邀请码在gradescope -免费加入课程,从而方便地测评自己的代码。

-

这门课所有的编程作业都是使用Java完成的。没有Java基础的同学也不用担心,课程会有保姆级的教程,从IDEA(一款主流的Java编程环境) -的配置讲起,把Java的核心语法与特性事无巨细地讲授,大家完全不用担心跟不上的问题。

-

这门课的作业质量也是绝绝子。14个lab会让你自己实现课上所讲的绝大部分数据结构,10个homework会让你运用数据结构和算法解决实际问题, -另外还有3个Project更是让你有机会接触上千行的工程代码,在实战中磨练自己的Java能力。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频:每节课的链接详见课程网站
  • -
  • 课程教材:无
  • -
  • 课程作业:每年略有不同,18年春季学期有14个lab,10个homework以及3个project,具体要求详见课程网站。
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS61B: Data Structures and Algorithms - CS自学指南
跳转至

CS61B: Data Structures and Algorithms

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:CS61A
  • 编程语言:Java
  • 课程难度:🌟🌟🌟
  • 预计学时:60小时

伯克利CS61系列的第二门课程,注重数据结构与算法的设计,同时让学生有机会接触上千行的工程代码,通过Java初步领会软件工程的思想。

我上的是2018年春季学期的版本,该课的开课老师Josh Hug教授慷慨地将autograder开源了,大家可以通过网站公开的邀请码在gradescope 免费加入课程,从而方便地测评自己的代码。

这门课所有的编程作业都是使用Java完成的。没有Java基础的同学也不用担心,课程会有保姆级的教程,从IDEA(一款主流的Java编程环境) 的配置讲起,把Java的核心语法与特性事无巨细地讲授,大家完全不用担心跟不上的问题。

这门课的作业质量也是绝绝子。14个lab会让你自己实现课上所讲的绝大部分数据结构,10个homework会让你运用数据结构和算法解决实际问题, 另外还有3个Project更是让你有机会接触上千行的工程代码,在实战中磨练自己的Java能力。

课程资源

  • 课程网站
  • 课程视频:每节课的链接详见课程网站
  • 课程教材:无
  • 课程作业:每年略有不同,18年春季学期有14个lab,10个homework以及3个project,具体要求详见课程网站。

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/机器学习/CS189/index.html b/机器学习/CS189/index.html index b6fd8a36..844691f0 100644 --- a/机器学习/CS189/index.html +++ b/机器学习/CS189/index.html @@ -1,2104 +1 @@ - - - - - - - - - - - - - - - - UCB CS189: Introduction to Machine Learning - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS189: Introduction to Machine Learning

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:CS188, CS70
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:100小时
  • -
-

这门课我没有系统上过,只是把它的课程notes作为工具书查阅。不过从课程网站上来看,它比CS229好的是开源了所有homeword的代码以及gradescope的autograder。同样,这门课讲得相当理论且深入。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS189: Introduction to Machine Learning - CS自学指南
跳转至

CS189: Introduction to Machine Learning

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:CS188, CS70
  • 编程语言:Python
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:100小时

这门课我没有系统上过,只是把它的课程notes作为工具书查阅。不过从课程网站上来看,它比CS229好的是开源了所有homeword的代码以及gradescope的autograder。同样,这门课讲得相当理论且深入。

课程资源


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/机器学习/CS229/index.html b/机器学习/CS229/index.html index c7e45bfc..96001ca0 100644 --- a/机器学习/CS229/index.html +++ b/机器学习/CS229/index.html @@ -1,2120 +1 @@ - - - - - - - - - - - - - - - - Stanford CS229: Machine Learning - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS229: Machine Learning

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:高数,概率论,Python,需要较深厚的数学功底
  • -
  • 编程语言:无
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:100小时
  • -
-

同样是吴恩达讲授,但是这是一门研究生课程,所以更偏重数学理论,不满足于调包而想深入理解算法本质,或者有志于从事机器学习理论研究的同学可以学习这门课程。课程网站上提供了所有的课程notes,写得非常专业且理论,需要一定的数学功底。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Stanford CS229: Machine Learning - CS自学指南
跳转至

CS229: Machine Learning

课程简介

  • 所属大学:Stanford
  • 先修要求:高数,概率论,Python,需要较深厚的数学功底
  • 编程语言:无
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:100小时

同样是吴恩达讲授,但是这是一门研究生课程,所以更偏重数学理论,不满足于调包而想深入理解算法本质,或者有志于从事机器学习理论研究的同学可以学习这门课程。课程网站上提供了所有的课程notes,写得非常专业且理论,需要一定的数学功底。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/机器学习/ML/index.html b/机器学习/ML/index.html index 119cdece..e8ada083 100644 --- a/机器学习/ML/index.html +++ b/机器学习/ML/index.html @@ -1,2122 +1 @@ - - - - - - - - - - - - - - - - Coursera: Machine Learning - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Coursera: Machine Learning

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:AI入门 + 熟练使用Python
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:100小时
  • -
-

说起吴恩达,在AI届应该无人不晓。他是著名在线教育平台Coursera的创始人之一,同时也是Stanford的网红教授。这门机器学习入门课应该算得上是他的成名作之一(另一个是深度学习课程),在Coursera上拥有数十万的学习者(注意这是花钱买了证书的人,一个证书几百刀),白嫖学习者数量应该是另一个数量级了。

-

这门课对新手极其友好,吴恩达拥有把机器学习讲成1+1=2一样直白的能力。你将会学习到线性回归、逻辑回归、支持向量机、无监督学习、降维、异常检测和推荐系统等等知识,并且在编程实践中夯实自己的理解。作业质量自然不必多言,保姆级代码框架,作业背景也多取自生活,让人学以致用。

-

当然,这门课作为一个公开慕课,难度上刻意放低了些,很多数学推导大多一带而过,如果你有志于从事机器学习理论研究,想要深究这些算法背后的数学理论,可以参考CS229CS189

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频:参见课程网站
  • -
  • 课程教材:无
  • -
  • 课程作业:参见课程网站
  • -
-

资源汇总

-

当时重装系统误删了文件,我的代码实现消失在了磁盘的01串中。不过这门课由于太过出名,网上想搜不到答案都难,相关课程资料Coursera上也一应俱全。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Coursera: Machine Learning - CS自学指南
跳转至

Coursera: Machine Learning

课程简介

  • 所属大学:Stanford
  • 先修要求:AI入门 + 熟练使用Python
  • 编程语言:Python
  • 课程难度:🌟🌟🌟
  • 预计学时:100小时

说起吴恩达,在AI届应该无人不晓。他是著名在线教育平台Coursera的创始人之一,同时也是Stanford的网红教授。这门机器学习入门课应该算得上是他的成名作之一(另一个是深度学习课程),在Coursera上拥有数十万的学习者(注意这是花钱买了证书的人,一个证书几百刀),白嫖学习者数量应该是另一个数量级了。

这门课对新手极其友好,吴恩达拥有把机器学习讲成1+1=2一样直白的能力。你将会学习到线性回归、逻辑回归、支持向量机、无监督学习、降维、异常检测和推荐系统等等知识,并且在编程实践中夯实自己的理解。作业质量自然不必多言,保姆级代码框架,作业背景也多取自生活,让人学以致用。

当然,这门课作为一个公开慕课,难度上刻意放低了些,很多数学推导大多一带而过,如果你有志于从事机器学习理论研究,想要深究这些算法背后的数学理论,可以参考CS229CS189

课程资源

  • 课程网站
  • 课程视频:参见课程网站
  • 课程教材:无
  • 课程作业:参见课程网站

资源汇总

当时重装系统误删了文件,我的代码实现消失在了磁盘的01串中。不过这门课由于太过出名,网上想搜不到答案都难,相关课程资料Coursera上也一应俱全。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/机器学习进阶/CMU10-708/index.html b/机器学习进阶/CMU10-708/index.html index 2262367d..e696a0f5 100644 --- a/机器学习进阶/CMU10-708/index.html +++ b/机器学习进阶/CMU10-708/index.html @@ -1,2083 +1 @@ - - - - - - - - - - - - - - - - CMU 10-708: Probabilistic Graphical Models - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CMU 10-708: Probabilistic Graphical Models

-

课程简介

-
    -
  • 所属大学:CMU
  • -
  • 先修要求:Machine Learning, Deep Learning, Reinforcement Learning
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 课程网站:https://sailinglab.github.io/pgm-spring-2019/
  • -
  • 这个网站包含了所有的资源:slides, nots, video, homework, project
  • -
-

这门课程是 CMU 的图模型基础 + 进阶课,授课老师为 Eric P. Xing,涵盖了图模型基础,与神经网络的结合,在强化学习中的应用,以及非参数方法。相当硬核

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + CMU 10-708: Probabilistic Graphical Models - CS自学指南
跳转至

CMU 10-708: Probabilistic Graphical Models

课程简介

  • 所属大学:CMU
  • 先修要求:Machine Learning, Deep Learning, Reinforcement Learning
  • 课程难度:🌟🌟🌟🌟🌟
  • 课程网站:https://sailinglab.github.io/pgm-spring-2019/
  • 这个网站包含了所有的资源:slides, nots, video, homework, project

这门课程是 CMU 的图模型基础 + 进阶课,授课老师为 Eric P. Xing,涵盖了图模型基础,与神经网络的结合,在强化学习中的应用,以及非参数方法。相当硬核


最后更新: January 22, 2022
回到页面顶部
\ No newline at end of file diff --git a/机器学习进阶/CS229M/index.html b/机器学习进阶/CS229M/index.html index 8cf8ffbf..9a9e8c5f 100644 --- a/机器学习进阶/CS229M/index.html +++ b/机器学习进阶/CS229M/index.html @@ -1,2082 +1 @@ - - - - - - - - - - - - - - - - Stanford STATS214 / CS229M: Machine Learning Theory - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

STATS214 / CS229M: Machine Learning Theory

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:Machine Learning, Deep Learning, Statistics
  • -
  • 课程难度:🌟🌟🌟🌟🌟🌟
  • -
  • 课程网站:http://web.stanford.edu/class/stats214/
  • -
-

经典学习理论 + 最新深度学习理论,非常硬核。授课老师之前是 Percy Liang,现在是 Tengyu Ma

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Stanford STATS214 / CS229M: Machine Learning Theory - CS自学指南
跳转至

STATS214 / CS229M: Machine Learning Theory

课程简介

  • 所属大学:Stanford
  • 先修要求:Machine Learning, Deep Learning, Statistics
  • 课程难度:🌟🌟🌟🌟🌟🌟
  • 课程网站:http://web.stanford.edu/class/stats214/

经典学习理论 + 最新深度学习理论,非常硬核。授课老师之前是 Percy Liang,现在是 Tengyu Ma


最后更新: January 22, 2022
回到页面顶部
\ No newline at end of file diff --git a/机器学习进阶/STA4273/index.html b/机器学习进阶/STA4273/index.html index 60fa0343..3351212d 100644 --- a/机器学习进阶/STA4273/index.html +++ b/机器学习进阶/STA4273/index.html @@ -1,2082 +1 @@ - - - - - - - - - - - - - - - - U Toronto STA 4273 Winter 2021: Minimizing Expectations - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

STA 4273 Winter 2021: Minimizing Expectations

-

课程简介

-
    -
  • 所属大学:U Toronto
  • -
  • 先修要求:Bayesian Inference, Reinforcement Learning
  • -
  • 课程难度:🌟🌟🌟🌟🌟🌟🌟
  • -
  • 课程网站:https://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/
  • -
-

这是一门较为进阶的 Ph.D. 研究课程,核心内容是 inference 和 control 之间的关系。授课老师为 Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + U Toronto STA 4273 Winter 2021: Minimizing Expectations - CS自学指南
跳转至

STA 4273 Winter 2021: Minimizing Expectations

课程简介

  • 所属大学:U Toronto
  • 先修要求:Bayesian Inference, Reinforcement Learning
  • 课程难度:🌟🌟🌟🌟🌟🌟🌟
  • 课程网站:https://www.cs.toronto.edu/~cmaddis/courses/sta4273_w21/

这是一门较为进阶的 Ph.D. 研究课程,核心内容是 inference 和 control 之间的关系。授课老师为 Chris Maddison (AlphaGo founding member, NeurIPS 14 best paper)


最后更新: January 22, 2022
回到页面顶部
\ No newline at end of file diff --git a/机器学习进阶/STAT8201/index.html b/机器学习进阶/STAT8201/index.html index 94502ba4..79c2bf71 100644 --- a/机器学习进阶/STAT8201/index.html +++ b/机器学习进阶/STAT8201/index.html @@ -1,2082 +1 @@ - - - - - - - - - - - - - - - - Columbia STAT 8201: Deep Generative Models - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Columbia STAT 8201: Deep Generative Models

-

课程简介

-
    -
  • 所属大学:Columbia University
  • -
  • 先修要求:Machine Learning, Deep Learning, Graphical Models
  • -
  • 课程难度:🌟🌟🌟🌟🌟🌟
  • -
  • 课程网站:http://stat.columbia.edu/~cunningham/teaching/GR8201/
  • -
-

这门课是一门 PhD 讨论班,每周的内容是展示 + 讨论论文,授课老师是 John Cunningham。Deep Generative Models (深度生成模型) 是图模型与神经网络的结合,也是现代机器学习最重要的方向之一

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Columbia STAT 8201: Deep Generative Models - CS自学指南
跳转至

Columbia STAT 8201: Deep Generative Models

课程简介

  • 所属大学:Columbia University
  • 先修要求:Machine Learning, Deep Learning, Graphical Models
  • 课程难度:🌟🌟🌟🌟🌟🌟
  • 课程网站:http://stat.columbia.edu/~cunningham/teaching/GR8201/

这门课是一门 PhD 讨论班,每周的内容是展示 + 讨论论文,授课老师是 John Cunningham。Deep Generative Models (深度生成模型) 是图模型与神经网络的结合,也是现代机器学习最重要的方向之一


最后更新: January 22, 2022
回到页面顶部
\ No newline at end of file diff --git a/机器学习进阶/roadmap/index.html b/机器学习进阶/roadmap/index.html index 533b45a3..92d16dbb 100644 --- a/机器学习进阶/roadmap/index.html +++ b/机器学习进阶/roadmap/index.html @@ -1,2214 +1 @@ - - - - - - - - - - - - - - - - 进阶路线图 - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

机器学习进阶

-

此路线图适用于已经学过了基础机器学习 (ML, NLP, CV, RL) 的同学 (高年级本科生或低年级研究生),已经发表过至少一篇顶会论文 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) 想要走机器学习科研路线的选手。

-

此路线的目标是为读懂与发表机器学习顶会论文打下理论基础,特别是 Probabilistic Methods 这个 track 下的文章

-

机器学习进阶可能存在多种不同的学习路线,此路线只能代表作者 Yao Fu 所理解的最佳路径,侧重于贝叶斯学派下的概率建模方法,也会涉及到各项相关学科的交叉知识。

-

必读教材

-
    -
  • PRML: Pattern Recognition and Machine Learning. Christopher Bishop
  • -
  • 经典贝叶斯学派教材
  • -
  • AoS: All of Statistics. Larry Wasserman
  • -
  • 经典频率学派教材
  • -
-

所以这两本书刚好相辅相成

-

字典

-
    -
  • MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy
  • -
  • Convex Optimization. Stephen Boyd and Lieven Vandenberghe
  • -
-

进阶书籍

-
    -
  • W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan
  • -
  • Theory of Point Estimation. E. L. Lehmann and George Casella
  • -
-

如何阅读

-

Guidelines

-
    -
  • 必读教材就是一定要读的教材
  • -
  • 字典的意思是,一般情况下不管它,但当遇到了不懂的概念的时候,就去字典里面查(而不是维基百科)
  • -
  • 进阶书籍先不读,先读完必读书籍。必读书籍一般都是要前前后后反复看过 N 遍才算读完
  • -
  • 读的过程中,最重要的读法就是对比阅读 (contrastive-comparative reading):同时打开两本书讲同一主题的章节,然后对比相同点和不同点和联系
  • -
  • 读的过程中,尽量去回想之前读过的论文,比较论文和教材的相同点与不同点
  • -
-

基础路径

-
    -
  • 先读 AoS 第六章: Models, Statistical Inference and Learning,这一部分是最基础的科普
  • -
  • 然后读 PRML 第 10, 11 章
  • -
  • 第 10 章的内容是 Variational Inference, 第 11 章的内容是 MCMC, 这两种方法是贝叶斯推断的两条最主要路线
  • -
  • 如果在读 PRML 的过程中发现有任何不懂的名词,就去翻前面的章节。很大概率能够在第 3,4 章找到相对应的定义;如果找不到或者不够详细,就去查 MLAPP
  • -
  • AoS 第 8 章 (Parametric Inference) 和第 11 章 (Bayesian Inference) 也可以作为参考。最好的方法是多本书对比阅读,流程如下
      -
    • 假设我在读 PRML 第 10 章的时候发现了一个不懂的词:posterior inference
    • -
    • 于是我往前翻,翻到了第 3 章 (Linear Model for Regression),看到了最简单的 posterior
    • -
    • 然后我接着翻 AoS,翻到了第 11 章,也有对 posterior 的描述
    • -
    • 然后我对比 PRML 第 10 章,第 3 章,AoS 第 11 章,三处不同地方对 posterior 的解读,比较其相同点和不同点和联系
    • -
    -
  • -
  • 读完 PRML 第 10 和 11 章之后,接着读 AoS 第 24 章 (Simulation Methods),然后把它和 PRML 第 11 章对比阅读 -- 这俩都是讲 MCMC
  • -
  • 如果到此处发现还有基础概念读不懂,就回到 PRML 第 3 章,把它和 AoS 第 11 章对比阅读
  • -
  • Again,对比阅读非常重要,一定要把不同本书的类似内容同时摆在面前相互对比,这样可以显著增强记忆
  • -
  • 然后读 PRML 第 13 章(跳过第 12 章),这一章可以和 MLAPP 的第 17, 18 章对比阅读
  • -
  • MLAPP 第 17 章是 PRML 第 13.2 章的详细版,主要讲 HMM
  • -
  • MLAPP 第 18 章是 PRML 第 13.3 章的详细版,主要讲 LDS
  • -
  • 读完 PRML 第 13 章之后,再去读 PRML 第 8 章 (Graphical Models) -- 此时这部分应该会读得很轻松
  • -
  • 以上的内容可以进一步对照 CMU 10-708 PGM 课程材料
  • -
-

到目前为止,应该能够掌握 -- 概率模型的基础定义 -- 精准推断 - Sum-Product -- 近似推断 - MCMC -- 近似推断 - VI

-

然后就可以去做更进阶的内容

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + 进阶路线图 - CS自学指南
跳转至

机器学习进阶

此路线图适用于已经学过了基础机器学习 (ML, NLP, CV, RL) 的同学 (高年级本科生或低年级研究生),已经发表过至少一篇顶会论文 (NeurIPS, ICML, ICLR, ACL, EMNLP, NAACL, CVPR, ICCV) 想要走机器学习科研路线的选手。

此路线的目标是为读懂与发表机器学习顶会论文打下理论基础,特别是 Probabilistic Methods 这个 track 下的文章

机器学习进阶可能存在多种不同的学习路线,此路线只能代表作者 Yao Fu 所理解的最佳路径,侧重于贝叶斯学派下的概率建模方法,也会涉及到各项相关学科的交叉知识。

必读教材

  • PRML: Pattern Recognition and Machine Learning. Christopher Bishop
  • 经典贝叶斯学派教材
  • AoS: All of Statistics. Larry Wasserman
  • 经典频率学派教材

所以这两本书刚好相辅相成

字典

  • MLAPP: Machine Learning: A Probabilistic Perspective. Kevin Murphy
  • Convex Optimization. Stephen Boyd and Lieven Vandenberghe

进阶书籍

  • W&J: Graphical Models, Exponential Families, and Variational Inference. Martin Wainwright and Michael Jordan
  • Theory of Point Estimation. E. L. Lehmann and George Casella

如何阅读

Guidelines

  • 必读教材就是一定要读的教材
  • 字典的意思是,一般情况下不管它,但当遇到了不懂的概念的时候,就去字典里面查(而不是维基百科)
  • 进阶书籍先不读,先读完必读书籍。必读书籍一般都是要前前后后反复看过 N 遍才算读完
  • 读的过程中,最重要的读法就是对比阅读 (contrastive-comparative reading):同时打开两本书讲同一主题的章节,然后对比相同点和不同点和联系
  • 读的过程中,尽量去回想之前读过的论文,比较论文和教材的相同点与不同点

基础路径

  • 先读 AoS 第六章: Models, Statistical Inference and Learning,这一部分是最基础的科普
  • 然后读 PRML 第 10, 11 章
  • 第 10 章的内容是 Variational Inference, 第 11 章的内容是 MCMC, 这两种方法是贝叶斯推断的两条最主要路线
  • 如果在读 PRML 的过程中发现有任何不懂的名词,就去翻前面的章节。很大概率能够在第 3,4 章找到相对应的定义;如果找不到或者不够详细,就去查 MLAPP
  • AoS 第 8 章 (Parametric Inference) 和第 11 章 (Bayesian Inference) 也可以作为参考。最好的方法是多本书对比阅读,流程如下
    • 假设我在读 PRML 第 10 章的时候发现了一个不懂的词:posterior inference
    • 于是我往前翻,翻到了第 3 章 (Linear Model for Regression),看到了最简单的 posterior
    • 然后我接着翻 AoS,翻到了第 11 章,也有对 posterior 的描述
    • 然后我对比 PRML 第 10 章,第 3 章,AoS 第 11 章,三处不同地方对 posterior 的解读,比较其相同点和不同点和联系
  • 读完 PRML 第 10 和 11 章之后,接着读 AoS 第 24 章 (Simulation Methods),然后把它和 PRML 第 11 章对比阅读 -- 这俩都是讲 MCMC
  • 如果到此处发现还有基础概念读不懂,就回到 PRML 第 3 章,把它和 AoS 第 11 章对比阅读
  • Again,对比阅读非常重要,一定要把不同本书的类似内容同时摆在面前相互对比,这样可以显著增强记忆
  • 然后读 PRML 第 13 章(跳过第 12 章),这一章可以和 MLAPP 的第 17, 18 章对比阅读
  • MLAPP 第 17 章是 PRML 第 13.2 章的详细版,主要讲 HMM
  • MLAPP 第 18 章是 PRML 第 13.3 章的详细版,主要讲 LDS
  • 读完 PRML 第 13 章之后,再去读 PRML 第 8 章 (Graphical Models) -- 此时这部分应该会读得很轻松
  • 以上的内容可以进一步对照 CMU 10-708 PGM 课程材料

到目前为止,应该能够掌握 - 概率模型的基础定义 - 精准推断 - Sum-Product - 近似推断 - MCMC - 近似推断 - VI

然后就可以去做更进阶的内容


最后更新: January 22, 2022
回到页面顶部
\ No newline at end of file diff --git a/深度学习/CS224n/index.html b/深度学习/CS224n/index.html index 8462267d..b03b6268 100644 --- a/深度学习/CS224n/index.html +++ b/深度学习/CS224n/index.html @@ -1,2122 +1 @@ - - - - - - - - - - - - - - - - Stanford CS224n: Natural Language Processing - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS224n: Natural Language Processing

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:深度学习基础 + Python
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:80小时
  • -
-

Stanford的NLP入门课程,由自然语言处理领域的巨佬Chris Manning领衔教授(word2vec算法的开创者)。内容覆盖了词向量、RNN、LSTM、Seq2Seq模型、机器翻译、注意力机制、Transformer等等NLP领域的核心知识点。

-

5个编程作业难度循序渐进,分别是词向量、word2vec算法、Dependency parsing、机器翻译以及Transformer的fine-tune。

-

最终的大作业是在Stanford著名的SQuAD数据集上训练QA模型,有学生的大作业甚至直接发表了顶会论文。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频:B站搜索CS224n
  • -
  • 课程教材:无
  • -
  • 课程作业:5个编程作业 + 1个Final Project
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Stanford CS224n: Natural Language Processing - CS自学指南
跳转至

CS224n: Natural Language Processing

课程简介

  • 所属大学:Stanford
  • 先修要求:深度学习基础 + Python
  • 编程语言:Python
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:80小时

Stanford的NLP入门课程,由自然语言处理领域的巨佬Chris Manning领衔教授(word2vec算法的开创者)。内容覆盖了词向量、RNN、LSTM、Seq2Seq模型、机器翻译、注意力机制、Transformer等等NLP领域的核心知识点。

5个编程作业难度循序渐进,分别是词向量、word2vec算法、Dependency parsing、机器翻译以及Transformer的fine-tune。

最终的大作业是在Stanford著名的SQuAD数据集上训练QA模型,有学生的大作业甚至直接发表了顶会论文。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/深度学习/CS224w/index.html b/深度学习/CS224w/index.html index 40aa15d0..31c1eee4 100644 --- a/深度学习/CS224w/index.html +++ b/深度学习/CS224w/index.html @@ -1,2104 +1 @@ - - - - - - - - - - - - - - - - Stanford CS224w: Machine Learning with Graphs - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS224w: Machine Learning with Graphs

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:深度学习基础 + Python
  • -
  • 编程语言:Python, Latex
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:80小时
  • -
-

Stanford的图神经网络入门课,这门课我没有上过,但众多做GNN的朋友都向我力荐过这门课,想必Stanford的课质量还是一如既往地有保证的。另外就是这门课的授课老师非常年轻帅气:)

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Stanford CS224w: Machine Learning with Graphs - CS自学指南
跳转至

CS224w: Machine Learning with Graphs

课程简介

  • 所属大学:Stanford
  • 先修要求:深度学习基础 + Python
  • 编程语言:Python, Latex
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:80小时

Stanford的图神经网络入门课,这门课我没有上过,但众多做GNN的朋友都向我力荐过这门课,想必Stanford的课质量还是一如既往地有保证的。另外就是这门课的授课老师非常年轻帅气:)

课程资源


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/深度学习/CS230/index.html b/深度学习/CS230/index.html index 19bbde61..419e18f0 100644 --- a/深度学习/CS230/index.html +++ b/深度学习/CS230/index.html @@ -1,2104 +1 @@ - - - - - - - - - - - - - - - - Coursera: Deep Learning - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Coursera: Deep Learning

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:机器学习基础 + Python
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:80小时
  • -
-

吴恩达在Coursera开设的另一门网红课程,学习者无数,堪称圣经级的深度学习入门课。深入浅出的讲解,眼花缭乱的Project。从最基础的神经网络,到CNN,RNN,再到最近大热的Transformer。学完这门课,你将初步掌握深度学习领域必备的知识和技能,并且可以在Kaggle中参加自己感兴趣的比赛,在实践中锻炼自己。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Coursera: Deep Learning - CS自学指南
跳转至

Coursera: Deep Learning

课程简介

  • 所属大学:Stanford
  • 先修要求:机器学习基础 + Python
  • 编程语言:Python
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:80小时

吴恩达在Coursera开设的另一门网红课程,学习者无数,堪称圣经级的深度学习入门课。深入浅出的讲解,眼花缭乱的Project。从最基础的神经网络,到CNN,RNN,再到最近大热的Transformer。学完这门课,你将初步掌握深度学习领域必备的知识和技能,并且可以在Kaggle中参加自己感兴趣的比赛,在实践中锻炼自己。

课程资源


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/深度学习/CS231/index.html b/深度学习/CS231/index.html index 4dfb0274..2313bfc2 100644 --- a/深度学习/CS231/index.html +++ b/深度学习/CS231/index.html @@ -1,2104 +1 @@ - - - - - - - - - - - - - - - - Stanford CS231n: CNN for Visual Recognition - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS231n: CNN for Visual Recognition

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:机器学习基础
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:80小时
  • -
-

Stanford的CV入门课,由计算机领域的巨佬李飞飞院士领衔教授(CV领域划时代的著名数据集ImageNet的研究团队),但其内容相对基础且友好,如果上过CS230的话可以直接上手Project作为练习。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Stanford CS231n: CNN for Visual Recognition - CS自学指南
跳转至

CS231n: CNN for Visual Recognition

课程简介

  • 所属大学:Stanford
  • 先修要求:机器学习基础
  • 编程语言:Python
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:80小时

Stanford的CV入门课,由计算机领域的巨佬李飞飞院士领衔教授(CV领域划时代的著名数据集ImageNet的研究团队),但其内容相对基础且友好,如果上过CS230的话可以直接上手Project作为练习。

课程资源


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/深度学习/CS285/index.html b/深度学习/CS285/index.html index ff261c41..126a4acf 100644 --- a/深度学习/CS285/index.html +++ b/深度学习/CS285/index.html @@ -1,2104 +1 @@ - - - - - - - - - - - - - - - - UCB CS285: Deep Reinforcement Learning - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS285: Deep Reinforcement Learning

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:CS188, CS189
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:80小时
  • -
-

伯克利的强化学习研究生课程,所有课程录影、slides、作业代码均在网站开源。在我的收藏夹里吃灰很久了,一直想找机会学习一下。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS285: Deep Reinforcement Learning - CS自学指南
跳转至

CS285: Deep Reinforcement Learning

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:CS188, CS189
  • 编程语言:Python
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:80小时

伯克利的强化学习研究生课程,所有课程录影、slides、作业代码均在网站开源。在我的收藏夹里吃灰很久了,一直想找机会学习一下。

课程资源


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/深度学习/LHY/index.html b/深度学习/LHY/index.html index f7ead215..0abc7df6 100644 --- a/深度学习/LHY/index.html +++ b/深度学习/LHY/index.html @@ -1,2107 +1 @@ - - - - - - - - - - - - - - - - 台湾国立大学:李宏毅机器学习 - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

台湾国立大学:李宏毅机器学习

-

课程简介

-
    -
  • 所属大学:台湾国立大学
  • -
  • 先修要求:熟练掌握Python
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:80小时
  • -
-

李宏毅老师是台湾国立大学的教授,其风趣幽默的授课风格深受大家喜爱,并且尤其喜欢在PPT中插入宝可梦等动漫元素,是个非常可爱的老师。

-

这门课挂着机器学习的牌子,但其课程内容之广实在令人咋舌,其作业一共包含15个lab,分别是Regression、Classification、CNN、Self-Attention、Transformer、GAN、BERT、Anomaly Detection、Explainable AI、Attack、Adaptation、 -RL、Compression、Life-Long Learning以及Meta Learning。可谓是包罗万象,能让学生对于深度学习的绝大多数领域都有一定了解,从而可以进一步选择想要深入的方向进行学习。

-

大家也大可不必担心作业的难度,因为所有作业都会提供助教的示例代码,帮你完成数据处理、模型搭建等,你只需要在其基础上进行适量的修改即可。这也是一个学习别人优质代码的极好机会,大家需要水课程大作业的话,这里也是一个不错的资料来源。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + 台湾国立大学:李宏毅机器学习 - CS自学指南
跳转至

台湾国立大学:李宏毅机器学习

课程简介

  • 所属大学:台湾国立大学
  • 先修要求:熟练掌握Python
  • 编程语言:Python
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:80小时

李宏毅老师是台湾国立大学的教授,其风趣幽默的授课风格深受大家喜爱,并且尤其喜欢在PPT中插入宝可梦等动漫元素,是个非常可爱的老师。

这门课挂着机器学习的牌子,但其课程内容之广实在令人咋舌,其作业一共包含15个lab,分别是Regression、Classification、CNN、Self-Attention、Transformer、GAN、BERT、Anomaly Detection、Explainable AI、Attack、Adaptation、 RL、Compression、Life-Long Learning以及Meta Learning。可谓是包罗万象,能让学生对于深度学习的绝大多数领域都有一定了解,从而可以进一步选择想要深入的方向进行学习。

大家也大可不必担心作业的难度,因为所有作业都会提供助教的示例代码,帮你完成数据处理、模型搭建等,你只需要在其基础上进行适量的修改即可。这也是一个学习别人优质代码的极好机会,大家需要水课程大作业的话,这里也是一个不错的资料来源。

课程资源


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/电子基础/EE16/index.html b/电子基础/EE16/index.html index 465e6437..e2fbd840 100644 --- a/电子基础/EE16/index.html +++ b/电子基础/EE16/index.html @@ -1,2120 +1 @@ - - - - - - - - - - - - - - - - EE16A&B: Designing Information Devices and Systems I&II - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

UCB EE16A&B: Designing Information Devices and Systems I&II

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:无
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:150小时
  • -
-

UC Berkeley电子系学生的大一入门课,通过电路基础知识的讲授,配合各类动手实操的lab,让学生体验通过电路从环境中收集信息并进行分析,作出预测和反馈。由于疫情的缘故,所有lab都有远程在线版,非常适合大家在家自学。

-

课程资源

-
    -
  • 课程网站:EE16A, EE16B
  • -
  • 课程视频:B站搜索
  • -
  • 课程教材:参见课程notes
  • -
  • 课程作业:参见课程主页
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + EE16A&B: Designing Information Devices and Systems I&II - CS自学指南
跳转至

UCB EE16A&B: Designing Information Devices and Systems I&II

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:无
  • 编程语言:Python
  • 课程难度:🌟🌟🌟
  • 预计学时:150小时

UC Berkeley电子系学生的大一入门课,通过电路基础知识的讲授,配合各类动手实操的lab,让学生体验通过电路从环境中收集信息并进行分析,作出预测和反馈。由于疫情的缘故,所有lab都有远程在线版,非常适合大家在家自学。

课程资源

  • 课程网站:EE16A, EE16B
  • 课程视频:B站搜索
  • 课程教材:参见课程notes
  • 课程作业:参见课程主页

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: January 23, 2022
回到页面顶部
\ No newline at end of file diff --git a/电子基础/Signals and Systems_AVO/index.html b/电子基础/Signals and Systems_AVO/index.html index d5cba61f..d473320a 100644 --- a/电子基础/Signals and Systems_AVO/index.html +++ b/电子基础/Signals and Systems_AVO/index.html @@ -1,2100 +1 @@ - - - - - - - - - - - - - - - - MIT 6.007 Signals and Systems - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

MIT 6.007 Signals and Systems

- -

课程简介

-
    -
  • 所属大学:MIT
  • -
  • 先修要求:Calculus, Linear Algebra
  • -
  • 编程语言:Matlab Preferred
  • -
  • 课程难度:🌟🌟
  • -
  • 预计学时:50-70 小时
  • -
-

看到课程老师的名字:Prof. Alan V. Oppenheim

-

好的,上这门课的理由已经足够了。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + MIT 6.007 Signals and Systems - CS自学指南
跳转至

MIT 6.007 Signals and Systems

课程简介

  • 所属大学:MIT
  • 先修要求:Calculus, Linear Algebra
  • 编程语言:Matlab Preferred
  • 课程难度:🌟🌟
  • 预计学时:50-70 小时

看到课程老师的名字:Prof. Alan V. Oppenheim

好的,上这门课的理由已经足够了。

课程资源


最后更新: December 23, 2021
回到页面顶部
\ No newline at end of file diff --git a/电子基础/signal/index.html b/电子基础/signal/index.html index e371544f..920ba51b 100644 --- a/电子基础/signal/index.html +++ b/电子基础/signal/index.html @@ -1,2119 +1 @@ - - - - - - - - - - - - - - - - UCB EE120 : Signal and Systems - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

UCB EE120 : Signal and Systems

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:CS61A,CS70,微积分,线性代数
  • -
  • 编程语言:Python
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 预计学时:100小时
  • -
-

这门课最精华的部分就是6个超有趣的编程作业了,会让你用Python通过学习到的信号与系统的理论知识,解决各类实际问题。例如lab3会让你实现FFT算法,并和Numpy的官方实现进行性能对比;lab4会通过分析手指头的影像数据推断心率;lab5就更牛了,会让你给哈勃望远镜拍到的照片进行降噪处理,恢复绚烂清晰的星空;lab6会让你构造一个反馈系统,平衡小车上的细杆。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程教材:参见课程notes
  • -
  • 课程作业:5个书面作业 + 6个编程作业
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB EE120 : Signal and Systems - CS自学指南
跳转至

UCB EE120 : Signal and Systems

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:CS61A,CS70,微积分,线性代数
  • 编程语言:Python
  • 课程难度:🌟🌟🌟🌟🌟
  • 预计学时:100小时

这门课最精华的部分就是6个超有趣的编程作业了,会让你用Python通过学习到的信号与系统的理论知识,解决各类实际问题。例如lab3会让你实现FFT算法,并和Numpy的官方实现进行性能对比;lab4会通过分析手指头的影像数据推断心率;lab5就更牛了,会让你给哈勃望远镜拍到的照片进行降噪处理,恢复绚烂清晰的星空;lab6会让你构造一个反馈系统,平衡小车上的细杆。

课程资源

  • 课程网站
  • 课程教材:参见课程notes
  • 课程作业:5个书面作业 + 6个编程作业

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 12, 2021
回到页面顶部
\ No newline at end of file diff --git a/程序语言设计/CS242/index.html b/程序语言设计/CS242/index.html index 2a895f30..9e7d497c 100644 --- a/程序语言设计/CS242/index.html +++ b/程序语言设计/CS242/index.html @@ -1,1960 +1 @@ - - - - - - - - - - - - - - - - CS242 - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
- - - - - - - -

CS242

- - - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + CS242 - CS自学指南

CS242


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/系统安全/CS161/index.html b/系统安全/CS161/index.html index 9d3cb701..73d46a14 100644 --- a/系统安全/CS161/index.html +++ b/系统安全/CS161/index.html @@ -1,2124 +1 @@ - - - - - - - - - - - - - - - - UCB CS161: Computer Security - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

UCB CS161: Computer Security

- -

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:CS61A, CS61B, CS61C
  • -
  • 编程语言:C, Go
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 预计学时:150小时
  • -
-

伯克利的计算机系统安全课程,课程内容分为5个部分:

-
    -
  • Security principles : how to design a secure system
  • -
  • Memory safety : buffer overflow attack
  • -
  • Cryptography : symmetric encryption, asymmetric encryption, MAC, digital signature .........
  • -
  • Web : SQL-injection, XSS, XSRF .......
  • -
  • Networking : attacks for each layer
  • -
-

这门课让我印象最为深刻的部分是Project2,让你用Go语言设计和实现一个安全的文件分享系统。我花了整整三天才完成了这个非常虐的Project,总代码量超过3k行。在这样密集型的开发过程中,能极大地锻炼你设计和实现一个安全系统的能力。

-

2020年夏季学期的版本开源了课程录影,大家可以在下面的课程网站链接里找到。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频:参见课程网站
  • -
  • 课程教材:无
  • -
  • 课程作业:7个在线HW + 3个lab + 3个Project
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS161: Computer Security - CS自学指南
跳转至

UCB CS161: Computer Security

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:CS61A, CS61B, CS61C
  • 编程语言:C, Go
  • 课程难度:🌟🌟🌟🌟🌟
  • 预计学时:150小时

伯克利的计算机系统安全课程,课程内容分为5个部分:

  • Security principles : how to design a secure system
  • Memory safety : buffer overflow attack
  • Cryptography : symmetric encryption, asymmetric encryption, MAC, digital signature .........
  • Web : SQL-injection, XSS, XSRF .......
  • Networking : attacks for each layer

这门课让我印象最为深刻的部分是Project2,让你用Go语言设计和实现一个安全的文件分享系统。我花了整整三天才完成了这个非常虐的Project,总代码量超过3k行。在这样密集型的开发过程中,能极大地锻炼你设计和实现一个安全系统的能力。

2020年夏季学期的版本开源了课程录影,大家可以在下面的课程网站链接里找到。

课程资源

  • 课程网站
  • 课程视频:参见课程网站
  • 课程教材:无
  • 课程作业:7个在线HW + 3个lab + 3个Project

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 11, 2021
回到页面顶部
\ No newline at end of file diff --git a/系统安全/MIT6.858/index.html b/系统安全/MIT6.858/index.html index d12a0d44..813ac560 100644 --- a/系统安全/MIT6.858/index.html +++ b/系统安全/MIT6.858/index.html @@ -1,2107 +1 @@ - - - - - - - - - - - - - - - - MIT 6.858: Computer System Security - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

MIT 6.858: Computer System Security

- -

课程简介

-
    -
  • 所属大学:MIT
  • -
  • 先修要求:计算机体系结构,对计算机系统有初步了解
  • -
  • 编程语言:C, Python
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 预计学时:150小时
  • -
-

MIT的计算机系统安全课程,实验环境是一个Web Application Zoobar. 学生学习攻防技术并应用于该Web Application.

-
    -
  • Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties.
  • -
  • Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application.
  • -
  • Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application.
  • -
  • Lab 4: you will improve the zoobar application against browser attacks.
  • -
-

这个课我主要是做了lab3。lab3是通过混合符号执行来遍历程序的所有分支,理解了符号执行的思想后lab并不难做。这个lab直观展示符号执行这种技术的使用方法。

-

这个课的Final Project是实现SecFS,一个远端文件系统,面对完全不可信的服务器,提供机密性和完整性。参考论文为SUNDR

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频:参见课程网站
  • -
  • 课程教材:无
  • -
  • 课程作业:4个lab + Final Project / Lab5
  • -
- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + MIT 6.858: Computer System Security - CS自学指南
跳转至

MIT 6.858: Computer System Security

课程简介

  • 所属大学:MIT
  • 先修要求:计算机体系结构,对计算机系统有初步了解
  • 编程语言:C, Python
  • 课程难度:🌟🌟🌟🌟🌟
  • 预计学时:150小时

MIT的计算机系统安全课程,实验环境是一个Web Application Zoobar. 学生学习攻防技术并应用于该Web Application.

  • Lab 1: you will explore the zoobar web application, and use buffer overflow attacks to break its security properties.
  • Lab 2: you will improve the zoobar web application by using privilege separation, so that if one component is compromised, the adversary doesn't get control over the whole web application.
  • Lab 3: you will build a program analysis tool based on symbolic execution to find bugs in Python code such as the zoobar web application.
  • Lab 4: you will improve the zoobar application against browser attacks.

这个课我主要是做了lab3。lab3是通过混合符号执行来遍历程序的所有分支,理解了符号执行的思想后lab并不难做。这个lab直观展示符号执行这种技术的使用方法。

这个课的Final Project是实现SecFS,一个远端文件系统,面对完全不可信的服务器,提供机密性和完整性。参考论文为SUNDR

课程资源

  • 课程网站
  • 课程视频:参见课程网站
  • 课程教材:无
  • 课程作业:4个lab + Final Project / Lab5

最后更新: December 15, 2021
回到页面顶部
\ No newline at end of file diff --git a/编程入门/CS106L/index.html b/编程入门/CS106L/index.html index 503f0c20..c6ed5de1 100644 --- a/编程入门/CS106L/index.html +++ b/编程入门/CS106L/index.html @@ -1,2127 +1 @@ - - - - - - - - - - - - - - - - Stanford CS106L: Standard C++ Programming - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS106L: Standard C++ Programming

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:最好掌握至少一门编程语言
  • -
  • 编程语言:C++
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:20小时
  • -
-

我从大一开始一直都是写的C++代码,直到学完这门课我才意识到,我写的C++代码大概只是C语言 + cin/cout而已。

-

这门课会深入到很多标准C++的特性和语法,让你编写出高质量的C++代码。例如auto binding,uniform initialization,lambda function,move semantics,RAII等技巧都在我此后的代码生涯中被反复用到,非常实用。

-

值得一提的是,这门课的作业里你会实现一个HashMap(类似于STL中的unordered map), 这个作业几乎把整个课程串联了起来,非常考验代码能力。特别是iterator的实现,做完这个作业我开始理解为什么Linus对C/C++嗤之以鼻了,因为真的很难写对。

-

总的来讲这门课并不难,但是信息量很大,需要你在之后的开发实践中反复巩固。Stanford之所以单开一门C++的编程课,是因为它后续的很多CS课程Project都是基于C++的。例如CS144计算机网络和CS143编译器。这两门课在本书中均有收录。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频
  • -
  • 课程教材
  • -
  • 课程作业:具体内容见课程网站,我做的时候一共是两个:
      -
    • (1)实现一个WikiRacer的小游戏
    • -
    • (2)实现一个类似STL库的HashMap
    • -
    -
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Stanford CS106L: Standard C++ Programming - CS自学指南
跳转至

CS106L: Standard C++ Programming

课程简介

  • 所属大学:Stanford
  • 先修要求:最好掌握至少一门编程语言
  • 编程语言:C++
  • 课程难度:🌟🌟🌟
  • 预计学时:20小时

我从大一开始一直都是写的C++代码,直到学完这门课我才意识到,我写的C++代码大概只是C语言 + cin/cout而已。

这门课会深入到很多标准C++的特性和语法,让你编写出高质量的C++代码。例如auto binding,uniform initialization,lambda function,move semantics,RAII等技巧都在我此后的代码生涯中被反复用到,非常实用。

值得一提的是,这门课的作业里你会实现一个HashMap(类似于STL中的unordered map), 这个作业几乎把整个课程串联了起来,非常考验代码能力。特别是iterator的实现,做完这个作业我开始理解为什么Linus对C/C++嗤之以鼻了,因为真的很难写对。

总的来讲这门课并不难,但是信息量很大,需要你在之后的开发实践中反复巩固。Stanford之所以单开一门C++的编程课,是因为它后续的很多CS课程Project都是基于C++的。例如CS144计算机网络和CS143编译器。这两门课在本书中均有收录。

课程资源

  • 课程网站
  • 课程视频
  • 课程教材
  • 课程作业:具体内容见课程网站,我做的时候一共是两个:
    • (1)实现一个WikiRacer的小游戏
    • (2)实现一个类似STL库的HashMap

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/编程入门/CS110L/index.html b/编程入门/CS110L/index.html index 9b0932fc..74dc4a41 100644 --- a/编程入门/CS110L/index.html +++ b/编程入门/CS110L/index.html @@ -1,2126 +1 @@ - - - - - - - - - - - - - - - - Stanford CS110L: Safety in Systems Programming - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS110L: Safety in Systems Programming

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:最好有一定的编程背景并对计算机系统有初步的认识。
  • -
  • 编程语言:Rust
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:30小时
  • -
-

在这门课中你将会学习Rust这门神奇的语言。

-

如果你学过C并接触过一些系统编程的话,应该对C的内存泄漏以及指针的危险有所耳闻,但C的底层特性以及高效仍然让它在系统级编程中无法被例如Java等自带垃圾收集机制的高级语言所替代。而Rust的目标则是希望在C的高效基础上,弥补其安全不足的缺点。因此Rust在设计之初,就有带有很多系统编程的观点。学习Rust,也能让你之后能用C语言编写出更安全更优雅的系统级代码(例如操作系统等)。

-

这门课的后半部分关注在并发(concurrency)这一主题上,你将会系统地掌握多进程、多线程、基于事件驱动的并发等若干并发技术,并在第二个project中比较它们各自的优劣。Rust中“futures”的概念非常有趣和优雅,这些基础知识对你后续对计算机系统相关课程的学习很有帮助。另外,清华大学的操统实验rCore就是基于Rust编写的,具体参见文档

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频
  • -
  • 课程教材:无
  • -
  • 课程作业:共6个lab和2个project,作业文档和代码框架详见课程网站。其中两个project非常有趣,分别是:
      -
    • (1)用Rust实现一个类似于gdb的debugger
    • -
    • (2)用Rust实现一个负载均衡器
    • -
    -
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Stanford CS110L: Safety in Systems Programming - CS自学指南
跳转至

CS110L: Safety in Systems Programming

课程简介

  • 所属大学:Stanford
  • 先修要求:最好有一定的编程背景并对计算机系统有初步的认识。
  • 编程语言:Rust
  • 课程难度:🌟🌟🌟
  • 预计学时:30小时

在这门课中你将会学习Rust这门神奇的语言。

如果你学过C并接触过一些系统编程的话,应该对C的内存泄漏以及指针的危险有所耳闻,但C的底层特性以及高效仍然让它在系统级编程中无法被例如Java等自带垃圾收集机制的高级语言所替代。而Rust的目标则是希望在C的高效基础上,弥补其安全不足的缺点。因此Rust在设计之初,就有带有很多系统编程的观点。学习Rust,也能让你之后能用C语言编写出更安全更优雅的系统级代码(例如操作系统等)。

这门课的后半部分关注在并发(concurrency)这一主题上,你将会系统地掌握多进程、多线程、基于事件驱动的并发等若干并发技术,并在第二个project中比较它们各自的优劣。Rust中“futures”的概念非常有趣和优雅,这些基础知识对你后续对计算机系统相关课程的学习很有帮助。另外,清华大学的操统实验rCore就是基于Rust编写的,具体参见文档

课程资源

  • 课程网站
  • 课程视频
  • 课程教材:无
  • 课程作业:共6个lab和2个project,作业文档和代码框架详见课程网站。其中两个project非常有趣,分别是:
    • (1)用Rust实现一个类似于gdb的debugger
    • (2)用Rust实现一个负载均衡器

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/编程入门/CS50/index.html b/编程入门/CS50/index.html index ce0390d8..ce4a3277 100644 --- a/编程入门/CS50/index.html +++ b/编程入门/CS50/index.html @@ -1,2104 +1 @@ - - - - - - - - - - - - - - - - Harvard CS50: This is CS50x - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS50: This is CS50x

-

课程简介

-
    -
  • 所属大学:哈佛大学
  • -
  • 先修要求:无
  • -
  • 编程语言:C,Python,SQL,HTML,CSS,JavaScript
  • -
  • 课程难度:🌟🌟
  • -
  • 预计学时:20小时
  • -
-

连续多年被哈佛大学学生评为最受欢迎的公选课程。Malan教授上课非常有激情,撕黄页讲二分法的场面让人记忆犹新(笑)。但因为它的入门以及全校公选的属性,课程内容难度比较温和,但是课程作业质量非常高而且全部免费开源,非常适合小白入门,或者大佬休闲。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Harvard CS50: This is CS50x - CS自学指南
跳转至

CS50: This is CS50x

课程简介

  • 所属大学:哈佛大学
  • 先修要求:无
  • 编程语言:C,Python,SQL,HTML,CSS,JavaScript
  • 课程难度:🌟🌟
  • 预计学时:20小时

连续多年被哈佛大学学生评为最受欢迎的公选课程。Malan教授上课非常有激情,撕黄页讲二分法的场面让人记忆犹新(笑)。但因为它的入门以及全校公选的属性,课程内容难度比较温和,但是课程作业质量非常高而且全部免费开源,非常适合小白入门,或者大佬休闲。

课程资源


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/编程入门/CS61A/index.html b/编程入门/CS61A/index.html index 7c071c35..a28085e3 100644 --- a/编程入门/CS61A/index.html +++ b/编程入门/CS61A/index.html @@ -1,2128 +1 @@ - - - - - - - - - - - - - - - - UCB CS61A: Structure and Interpretation of Computer Programs - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS61A: Structure and Interpretation of Computer Programs

-

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:无
  • -
  • 编程语言:Python,Scheme,SQL
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:50小时
  • -
-

伯克利CS61系列的第一门课程,也是我的Python入门课。

-

CS61系列是伯克利CS专业的入门课,其中:

-
    -
  • CS61A:强调抽象,让学生掌握用程序来解决实际问题,而不关注底层的硬件细节。
  • -
  • CS61B:注重算法与数据结构以及大规模程序的构建,学生会用Java语言结合算法与数据结构的知识来构建千行代码级别的大型项目(一个简易的谷歌地图,一个二维版的Minecraft)。
  • -
  • CS61C:关注计算机体系结构,让学生理解高级语言(例如C)是如何一步步转换为机器可以理解的01串并在CPU执行的,学生将会学习RISC-V架构并自己用Logism实现一个CPU。
  • -
-

CS61B和CS61C在本书中均有收录。

-

回到CS61A,注意这不仅仅是一门编程语言课,而是会深入到程序构造与运行的原理。最后你将在第4个Project中用Python实现一个Scheme的解释器。此外,抽象将是这门课的一大主题,你将学习到函数式编程、数据抽象、面向对象等等知识来让你的代码更易读,更模块化。当然,学习编程语言也是这门课的一大内容,你将会掌握Python、Scheme和SQL这三种编程语言,在它们的学习和比较中,相信你会拥有快速掌握一门新的编程语言的能力。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频: 参见课程网站链接
  • -
  • 课程教材
  • -
  • 课程作业:课程网站会有每个作业对应的文档链接以及代码框架的下载链接。
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS61A: Structure and Interpretation of Computer Programs - CS自学指南
跳转至

CS61A: Structure and Interpretation of Computer Programs

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:无
  • 编程语言:Python,Scheme,SQL
  • 课程难度:🌟🌟🌟
  • 预计学时:50小时

伯克利CS61系列的第一门课程,也是我的Python入门课。

CS61系列是伯克利CS专业的入门课,其中:

  • CS61A:强调抽象,让学生掌握用程序来解决实际问题,而不关注底层的硬件细节。
  • CS61B:注重算法与数据结构以及大规模程序的构建,学生会用Java语言结合算法与数据结构的知识来构建千行代码级别的大型项目(一个简易的谷歌地图,一个二维版的Minecraft)。
  • CS61C:关注计算机体系结构,让学生理解高级语言(例如C)是如何一步步转换为机器可以理解的01串并在CPU执行的,学生将会学习RISC-V架构并自己用Logism实现一个CPU。

CS61B和CS61C在本书中均有收录。

回到CS61A,注意这不仅仅是一门编程语言课,而是会深入到程序构造与运行的原理。最后你将在第4个Project中用Python实现一个Scheme的解释器。此外,抽象将是这门课的一大主题,你将学习到函数式编程、数据抽象、面向对象等等知识来让你的代码更易读,更模块化。当然,学习编程语言也是这门课的一大内容,你将会掌握Python、Scheme和SQL这三种编程语言,在它们的学习和比较中,相信你会拥有快速掌握一门新的编程语言的能力。

课程资源

  • 课程网站
  • 课程视频: 参见课程网站链接
  • 课程教材
  • 课程作业:课程网站会有每个作业对应的文档链接以及代码框架的下载链接。

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 21, 2021
回到页面顶部
\ No newline at end of file diff --git a/编程入门/MIT-Missing-Semester/index.html b/编程入门/MIT-Missing-Semester/index.html index 400983a4..36d45284 100644 --- a/编程入门/MIT-Missing-Semester/index.html +++ b/编程入门/MIT-Missing-Semester/index.html @@ -1,2098 +1 @@ - - - - - - - - - - - - - - - - MIT-Missing-Semester - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

MIT-Missing-Semester

- -

课程简介

-
    -
  • 先修要求:无
  • -
  • 编程语言:shell
  • -
  • 课程难度:🌟🌟
  • -
  • 预计学时:10小时
  • -
-

正如课程名字所言:“计算机教学中消失的一个学期”,这门课将会教会你许多大学的课堂上不会涉及但却对每个CSer无比重要的工具或者知识点。例如Shell编程、命令行配置、Git、Vim、tmux、ssh等等。如果你是一个计算机小白,那么我非常建议你学习一下这门课,因为它基本涉及了本书必学工具中的绝大部分内容。

-

除了MIT官方的学习资料外,北京大学图灵班开设的前沿计算实践中也开设了相关课程,资料位于这个网站下,供大家参考。

-

课程资源

- - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + MIT-Missing-Semester - CS自学指南
跳转至

MIT-Missing-Semester

课程简介

  • 先修要求:无
  • 编程语言:shell
  • 课程难度:🌟🌟
  • 预计学时:10小时

正如课程名字所言:“计算机教学中消失的一个学期”,这门课将会教会你许多大学的课堂上不会涉及但却对每个CSer无比重要的工具或者知识点。例如Shell编程、命令行配置、Git、Vim、tmux、ssh等等。如果你是一个计算机小白,那么我非常建议你学习一下这门课,因为它基本涉及了本书必学工具中的绝大部分内容。

除了MIT官方的学习资料外,北京大学图灵班开设的前沿计算实践中也开设了相关课程,资料位于这个网站下,供大家参考。

课程资源


最后更新: December 13, 2021
回到页面顶部
\ No newline at end of file diff --git a/编译原理/6035/index.html b/编译原理/6035/index.html index a2641c97..173a9be9 100644 --- a/编译原理/6035/index.html +++ b/编译原理/6035/index.html @@ -1,1960 +1 @@ - - - - - - - - - - - - - - - - 6035 - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
- - - - - - - -

6035

- - - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + 6035 - CS自学指南

6035


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/编译原理/CS143/index.html b/编译原理/CS143/index.html index 606618b3..13f4f4cc 100644 --- a/编译原理/CS143/index.html +++ b/编译原理/CS143/index.html @@ -1,2121 +1 @@ - - - - - - - - - - - - - - - - Stanford CS143: Compilers - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Stanford CS143: Compilers

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:计算机体系结构
  • -
  • 编程语言:Java或C++
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 预计学时:150小时
  • -
-

斯坦福的编译原理课程,设计者开发了一个Class-Object-Oriented-Language,简称COOL语言。这门课的核心就是通过理论知识的学习,为COOL语言实现一个编译器,将COOL高级语言编译为MIPS汇编并在Spim这个MIPS模拟器上成功执行。

-

理论部分基本按照龙书的顺序覆盖了词法分析、语法分析、语义分析、运行时环境、寄存器分配、代码优化与生成等内容,实践部分则相应地分为词法分析、语法分析、语义分析、代码生成四个阶段,难度循序渐进,并在优化部分给学生留下了很大的设计空间。

-

课程资源

-
    -
  • 课程网站
  • -
  • 课程视频
  • -
  • 课程教材:龙书
  • -
  • 课程作业:5个书面作业 + 5个编程作业带你实现一个编译器
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Stanford CS143: Compilers - CS自学指南
跳转至

Stanford CS143: Compilers

课程简介

  • 所属大学:Stanford
  • 先修要求:计算机体系结构
  • 编程语言:Java或C++
  • 课程难度:🌟🌟🌟🌟🌟
  • 预计学时:150小时

斯坦福的编译原理课程,设计者开发了一个Class-Object-Oriented-Language,简称COOL语言。这门课的核心就是通过理论知识的学习,为COOL语言实现一个编译器,将COOL高级语言编译为MIPS汇编并在Spim这个MIPS模拟器上成功执行。

理论部分基本按照龙书的顺序覆盖了词法分析、语法分析、语义分析、运行时环境、寄存器分配、代码优化与生成等内容,实践部分则相应地分为词法分析、语法分析、语义分析、代码生成四个阶段,难度循序渐进,并在优化部分给学生留下了很大的设计空间。

课程资源

  • 课程网站
  • 课程视频
  • 课程教材:龙书
  • 课程作业:5个书面作业 + 5个编程作业带你实现一个编译器

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 11, 2021
回到页面顶部
\ No newline at end of file diff --git a/计算机图形学/CS184/index.html b/计算机图形学/CS184/index.html index 4966d7d6..5b1b61cd 100644 --- a/计算机图形学/CS184/index.html +++ b/计算机图形学/CS184/index.html @@ -1,1960 +1 @@ - - - - - - - - - - - - - - - - CS184 - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
- - - - - - - -

CS184

- - - - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + CS184 - CS自学指南

CS184


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/计算机图形学/GAMES101/index.html b/计算机图形学/GAMES101/index.html index 59fa9cd2..eea05885 100644 --- a/计算机图形学/GAMES101/index.html +++ b/计算机图形学/GAMES101/index.html @@ -1,2121 +1 @@ - - - - - - - - - - - - - - - - GAMES101 - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

GAMES101

- -

课程简介

-
    -
  • 所属大学:UCSB
  • -
  • 先修要求:线性代数,高等数学,C++
  • -
  • 编程语言:C++
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:80小时
  • -
-

官方介绍:

-

本课程将全面而系统地介绍现代计算机图形学的四大组成部分:(1)光栅化成像,(2)几何表示,(3)光的传播理论,以及(4)动画与模拟。每个方面都会从基础原理出发讲解到实际应用,并介绍前沿的理论研究。通过本课程,你可以学习到计算机图形学背后的数学和物理知识,并锻炼实际的编程能力。

-

顾名思义,作为入门,本课程会尽可能的覆盖图形学的方方面面,把每一部分的基本概念都尽可能说清楚,让大家对计算机图形学有一个完整的、自上而下的全局把握。全局的理解很重要,学完本课程后,你会了解到图形学不等于 OpenGL,不等于光线追踪,而是一套生成整个虚拟世界的方法。从本课程的标题,大家还可以看到“现代”二字,也就是说,这门课所要给大家介绍的都是现代化的知识,也都是现代图形学工业界需要的图形学基础。

-

国内相当有名的图形学公开课。和大家印象中的图形学里全都是数学和奇怪的算法不同,这门课以十分生动的方式带我们进入了图形学这个领域的大门。

-

每个project代码量都不会很多,但是却都十分有趣。在做这些project的过程中,我们会实现简单的光栅化,并渲染一个简易的模型,我们还会实现光线追踪,以追求渲染更好的质量。每个project中还有选做等拓展作业,可以让我们渲染的模型具有更好的质量,更快的渲染速度。

-

喜欢玩游戏的同学应该对实时光线追踪有一定的了解,这门课的老师闫令琪就对这一技术有直接的推动作用。

-

跟着课程的视频,做完每一个project,相信你会和我一样对图形学,以及现代的渲染技术产生浓厚的兴趣。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + GAMES101 - CS自学指南
跳转至

GAMES101

课程简介

  • 所属大学:UCSB
  • 先修要求:线性代数,高等数学,C++
  • 编程语言:C++
  • 课程难度:🌟🌟🌟
  • 预计学时:80小时

官方介绍:

本课程将全面而系统地介绍现代计算机图形学的四大组成部分:(1)光栅化成像,(2)几何表示,(3)光的传播理论,以及(4)动画与模拟。每个方面都会从基础原理出发讲解到实际应用,并介绍前沿的理论研究。通过本课程,你可以学习到计算机图形学背后的数学和物理知识,并锻炼实际的编程能力。

顾名思义,作为入门,本课程会尽可能的覆盖图形学的方方面面,把每一部分的基本概念都尽可能说清楚,让大家对计算机图形学有一个完整的、自上而下的全局把握。全局的理解很重要,学完本课程后,你会了解到图形学不等于 OpenGL,不等于光线追踪,而是一套生成整个虚拟世界的方法。从本课程的标题,大家还可以看到“现代”二字,也就是说,这门课所要给大家介绍的都是现代化的知识,也都是现代图形学工业界需要的图形学基础。

国内相当有名的图形学公开课。和大家印象中的图形学里全都是数学和奇怪的算法不同,这门课以十分生动的方式带我们进入了图形学这个领域的大门。

每个project代码量都不会很多,但是却都十分有趣。在做这些project的过程中,我们会实现简单的光栅化,并渲染一个简易的模型,我们还会实现光线追踪,以追求渲染更好的质量。每个project中还有选做等拓展作业,可以让我们渲染的模型具有更好的质量,更快的渲染速度。

喜欢玩游戏的同学应该对实时光线追踪有一定的了解,这门课的老师闫令琪就对这一技术有直接的推动作用。

跟着课程的视频,做完每一个project,相信你会和我一样对图形学,以及现代的渲染技术产生浓厚的兴趣。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 13, 2021
回到页面顶部
\ No newline at end of file diff --git a/计算机网络/CS144/index.html b/计算机网络/CS144/index.html index d97a79a5..f6d188e5 100644 --- a/计算机网络/CS144/index.html +++ b/计算机网络/CS144/index.html @@ -1,2121 +1 @@ - - - - - - - - - - - - - - - - Stanford CS144: Computer Network - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

CS144: Computer Network

-

课程简介

-
    -
  • 所属大学:Stanford
  • -
  • 先修要求:一定的计算机系统基础,CS106L
  • -
  • 编程语言:C++
  • -
  • 课程难度:🌟🌟🌟🌟🌟
  • -
  • 预计学时:100小时
  • -
-

这门课的主讲人之一是网络领域的巨擘Nick McKeown教授。这位拥有自己创业公司的学界业界双巨佬会在他慕课每一章节的最后采访一位业界的高管或者学界的高人,非常开阔眼界。

-

在这门课的Project中,你将用C++循序渐进地搭建出整个TCP/IP协议栈,实现IP路由以及ARP协议,最后利用你自己的协议栈代替Linux Kernel的网络协议栈和其他学生的计算机进行通信,非常amazing!

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Stanford CS144: Computer Network - CS自学指南
跳转至

CS144: Computer Network

课程简介

  • 所属大学:Stanford
  • 先修要求:一定的计算机系统基础,CS106L
  • 编程语言:C++
  • 课程难度:🌟🌟🌟🌟🌟
  • 预计学时:100小时

这门课的主讲人之一是网络领域的巨擘Nick McKeown教授。这位拥有自己创业公司的学界业界双巨佬会在他慕课每一章节的最后采访一位业界的高管或者学界的高人,非常开阔眼界。

在这门课的Project中,你将用C++循序渐进地搭建出整个TCP/IP协议栈,实现IP路由以及ARP协议,最后利用你自己的协议栈代替Linux Kernel的网络协议栈和其他学生的计算机进行通信,非常amazing!

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 21, 2021
回到页面顶部
\ No newline at end of file diff --git a/计算机网络/topdown/index.html b/计算机网络/topdown/index.html index 7d68fad0..41a509a5 100644 --- a/计算机网络/topdown/index.html +++ b/计算机网络/topdown/index.html @@ -1,2120 +1 @@ - - - - - - - - - - - - - - - - Computer Networking: A Top-Down Approach - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

Computer Networking: A Top-Down Approach

-

课程简介

-
    -
  • 所属大学:马萨诸塞大学
  • -
  • 先修要求:有一定的计算机系统基础
  • -
  • 编程语言:无
  • -
  • 课程难度:🌟🌟🌟
  • -
  • 预计学时:40小时
  • -
-

《自顶向下方法》是计算机网络领域的一本经典教材,两位作者Jim Kurose和Keith Ross精心制作了教材配套的课程网站,并且公开了自己录制的网课视频,交互式的在线章节测试,以及利用wireshark进行抓包分析的lab。唯一遗憾的是这门课并没有硬核的编程作业,而Stanford的CS144能很好地弥补这一点。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + Computer Networking: A Top-Down Approach - CS自学指南
跳转至

Computer Networking: A Top-Down Approach

课程简介

  • 所属大学:马萨诸塞大学
  • 先修要求:有一定的计算机系统基础
  • 编程语言:无
  • 课程难度:🌟🌟🌟
  • 预计学时:40小时

《自顶向下方法》是计算机网络领域的一本经典教材,两位作者Jim Kurose和Keith Ross精心制作了教材配套的课程网站,并且公开了自己录制的网课视频,交互式的在线章节测试,以及利用wireshark进行抓包分析的lab。唯一遗憾的是这门课并没有硬核的编程作业,而Stanford的CS144能很好地弥补这一点。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 9, 2021
回到页面顶部
\ No newline at end of file diff --git a/软件工程/6031/index.html b/软件工程/6031/index.html index 1e3f0ab5..fa621d97 100644 --- a/软件工程/6031/index.html +++ b/软件工程/6031/index.html @@ -1,2122 +1 @@ - - - - - - - - - - - - - - - - MIT 6.031: Software Construction - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

MIT 6.031: Software Construction

- -

课程简介

-
    -
  • 所属大学:MIT
  • -
  • 先修要求:掌握至少一门编程语言
  • -
  • 编程语言:Java
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:100小时
  • -
-

这门课的目标就是让学生学会如何写出高质量的代码,所谓高质量,则是满足下面三个目标(课程设计者原话复制,以防自己翻译曲解本意):

-
    -
  • Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build.
  • -
  • Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You’ll be surprised how much you forget if you don’t write it down, and how much it helps your own future self to have a good design.
  • -
  • Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code.
  • -
-

为此,这门课的设计者们精心编写了一本书来阐释诸多软件构建的核心原则与前人总结下来的宝贵经验,内容细节到如何编写注释和函数Specification,如何设计抽象数据结构以及诸多并行编程的内容,并且会让你在精心设计的Java编程项目里体验和练习这些编程模式。

-

2016年春季学期这门课开源了其所有编程作业的代码框架,而最新的课程教材可以在其最新的教学网站上找到,具体链接参见下方。

-

课程资源

-
    -
  • 课程网站:2021spring2016spring
  • -
  • 课程视频:无
  • -
  • 课程教材:参见课程网站的课程notes
  • -
  • 课程作业:4个编程作业 + 1个Project
  • -
-

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + MIT 6.031: Software Construction - CS自学指南
跳转至

MIT 6.031: Software Construction

课程简介

  • 所属大学:MIT
  • 先修要求:掌握至少一门编程语言
  • 编程语言:Java
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:100小时

这门课的目标就是让学生学会如何写出高质量的代码,所谓高质量,则是满足下面三个目标(课程设计者原话复制,以防自己翻译曲解本意):

  • Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build.
  • Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You’ll be surprised how much you forget if you don’t write it down, and how much it helps your own future self to have a good design.
  • Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code.

为此,这门课的设计者们精心编写了一本书来阐释诸多软件构建的核心原则与前人总结下来的宝贵经验,内容细节到如何编写注释和函数Specification,如何设计抽象数据结构以及诸多并行编程的内容,并且会让你在精心设计的Java编程项目里体验和练习这些编程模式。

2016年春季学期这门课开源了其所有编程作业的代码框架,而最新的课程教材可以在其最新的教学网站上找到,具体链接参见下方。

课程资源

  • 课程网站:2021spring2016spring
  • 课程视频:无
  • 课程教材:参见课程网站的课程notes
  • 课程作业:4个编程作业 + 1个Project

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: January 4, 2022
回到页面顶部
\ No newline at end of file diff --git a/软件工程/CS169/index.html b/软件工程/CS169/index.html index 3fc7d008..4854a0a9 100644 --- a/软件工程/CS169/index.html +++ b/软件工程/CS169/index.html @@ -1,2116 +1 @@ - - - - - - - - - - - - - - - - UCB CS169: software engineering - CS自学指南 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - Skip to content - - -
-
- -
- - - - -
- - -
- -
- - - - - - -
-
- - - -
-
-
- - - - -
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- - - - - - - -

UCB CS169: software engineering

- -

课程简介

-
    -
  • 所属大学:UC Berkeley
  • -
  • 先修要求:无
  • -
  • 编程语言:Ruby/JavaScript
  • -
  • 课程难度:🌟🌟🌟🌟
  • -
  • 预计学时:100小时
  • -
-

伯克利的软件工程课程,不同于很多传统的软件工程课强调各种类图、文档设计(plan and document模式),这门课专注于最近逐渐流行起来的敏捷开发(Agile Development)模式,利用云平台提供软件即服务(software as a service)。为此,课程设计者编写了Software as a service这本教材,通过Ruby/Rails框架来阐释saas这个概念,并且有丰富的配套编程练习。

-

这门课在Edx这个由MIT和Havard大学发起的在线教育平台全资料开源,大家可以在Edx自行搜索Agile SaaS Development这门课程进行学习。课程内容基本按照教材的顺序带你一步步以敏捷开发的方式搭建一个软件并免费部署在云平台上。

-

课程资源

- -

资源汇总

-

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。

- - -
-
-
- -
- - - -
-
-
-
- - - - - - - - \ No newline at end of file + UCB CS169: software engineering - CS自学指南
跳转至

UCB CS169: software engineering

课程简介

  • 所属大学:UC Berkeley
  • 先修要求:无
  • 编程语言:Ruby/JavaScript
  • 课程难度:🌟🌟🌟🌟
  • 预计学时:100小时

伯克利的软件工程课程,不同于很多传统的软件工程课强调各种类图、文档设计(plan and document模式),这门课专注于最近逐渐流行起来的敏捷开发(Agile Development)模式,利用云平台提供软件即服务(software as a service)。为此,课程设计者编写了Software as a service这本教材,通过Ruby/Rails框架来阐释saas这个概念,并且有丰富的配套编程练习。

这门课在Edx这个由MIT和Havard大学发起的在线教育平台全资料开源,大家可以在Edx自行搜索Agile SaaS Development这门课程进行学习。课程内容基本按照教材的顺序带你一步步以敏捷开发的方式搭建一个软件并免费部署在云平台上。

课程资源

资源汇总

我在学习这门课中用到的所有资源和作业实现都汇总在这个Github仓库中。


最后更新: December 11, 2021
回到页面顶部
\ No newline at end of file