cs-self-learning/编程入门/CS61A/index.html

2128 lines
No EOL
48 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.2.3, mkdocs-material-8.1.11">
<title>UCB CS61A: Structure and Interpretation of Computer Programs - CS自学指南</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.50e68009.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.e6a45f82.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("../..",location),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="" data-md-color-primary="none" data-md-color-accent="none">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#cs61a-structure-and-interpretation-of-computer-programs" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="CS自学指南" class="md-header__button md-logo" aria-label="CS自学指南" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54z"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
CS自学指南
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
UCB CS61A: Structure and Interpretation of Computer Programs
</span>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/pkuflyingpig/cs-self-learning/" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="CS自学指南" class="md-nav__button md-logo" aria-label="CS自学指南" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54z"/></svg>
</a>
CS自学指南
</label>
<div class="md-nav__source">
<a href="https://github.com/pkuflyingpig/cs-self-learning/" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
前言
</a>
</li>
<li class="md-nav__item">
<a href="../../CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/" class="md-nav__link">
一个仅供参考的CS学习规划
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3">
必学工具
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="必学工具" data-md-level="1">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
必学工具
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/" class="md-nav__link">
翻墙
</a>
</li>
<li class="md-nav__item">
<a href="../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/" class="md-nav__link">
Vim
</a>
</li>
<li class="md-nav__item">
<a href="../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/" class="md-nav__link">
Git
</a>
</li>
<li class="md-nav__item">
<a href="../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Github/" class="md-nav__link">
Github
</a>
</li>
<li class="md-nav__item">
<a href="../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Makefile/" class="md-nav__link">
Makefile
</a>
</li>
<li class="md-nav__item">
<a href="../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/" class="md-nav__link">
CMake
</a>
</li>
<li class="md-nav__item">
<a href="../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Latex/" class="md-nav__link">
Latex
</a>
</li>
<li class="md-nav__item">
<a href="../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/" class="md-nav__link">
Docker
</a>
</li>
<li class="md-nav__item">
<a href="../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/" class="md-nav__link">
实用工具箱
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/" class="md-nav__link">
好书推荐
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5">
数学基础
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="数学基础" data-md-level="1">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
数学基础
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/" class="md-nav__link">
MIT18.01/18.02: Calculus
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/" class="md-nav__link">
MIT18.06: Linear Algebra
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/" class="md-nav__link">
MIT6.050J: Information theory and Entropy
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6">
数学进阶
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="数学进阶" data-md-level="1">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
数学进阶
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/" class="md-nav__link">
UCB CS70: discrete Math and probability theory
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/" class="md-nav__link">
UCB CS126: probability theory
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/" class="md-nav__link">
MIT 6.042J: Mathematics for Computer Science
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/" class="md-nav__link">
MIT18.330: Introduction to numerical analysis
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/" class="md-nav__link">
Standford EE364A: Convex Optimization
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The%20Information%20Theory%2C%20Pattern%20Recognition%2C%20and%20Neural%20Networks/" class="md-nav__link">
The Information Theory, Patter Recognition, and Neural Networks
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" checked>
<label class="md-nav__link" for="__nav_7">
编程入门
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="编程入门" data-md-level="1">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
编程入门
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../MIT-Missing-Semester/" class="md-nav__link">
MIT-Missing-Semester
</a>
</li>
<li class="md-nav__item">
<a href="../CS50/" class="md-nav__link">
Harvard CS50: This is CS50x
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
UCB CS61A: Structure and Interpretation of Computer Programs
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
UCB CS61A: Structure and Interpretation of Computer Programs
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#_1" class="md-nav__link">
课程简介
</a>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
课程资源
</a>
</li>
<li class="md-nav__item">
<a href="#_3" class="md-nav__link">
资源汇总
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../CS106L/" class="md-nav__link">
Stanford CS106L: Standard C++ Programming
</a>
</li>
<li class="md-nav__item">
<a href="../CS110L/" class="md-nav__link">
Stanford CS110L: Safety in Systems Programming
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_8" type="checkbox" id="__nav_8" >
<label class="md-nav__link" for="__nav_8">
电子基础
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="电子基础" data-md-level="1">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
电子基础
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/" class="md-nav__link">
EE16A&B: Designing Information Devices and Systems I&II
</a>
</li>
<li class="md-nav__item">
<a href="../../%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/" class="md-nav__link">
UCB EE120 : Signal and Systems
</a>
</li>
<li class="md-nav__item">
<a href="../../%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals%20and%20Systems_AVO/" class="md-nav__link">
MIT 6.007 Signals and Systems
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_9" type="checkbox" id="__nav_9" >
<label class="md-nav__link" for="__nav_9">
数据结构与算法
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="数据结构与算法" data-md-level="1">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
数据结构与算法
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS61B/" class="md-nav__link">
UCB CS61B: Data Structures and Algorithms
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/Algo/" class="md-nav__link">
Coursera: Algorithms I & II
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS106B_CS106X/" class="md-nav__link">
Stanford CS106B/X
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/CS170/" class="md-nav__link">
UCB CS170: Efficient Algorithms and Intractable Problems
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_10" type="checkbox" id="__nav_10" >
<label class="md-nav__link" for="__nav_10">
软件工程
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="软件工程" data-md-level="1">
<label class="md-nav__title" for="__nav_10">
<span class="md-nav__icon md-icon"></span>
软件工程
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/" class="md-nav__link">
MIT 6.031: Software Construction
</a>
</li>
<li class="md-nav__item">
<a href="../../%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/" class="md-nav__link">
UCB CS169: software engineering
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_11" type="checkbox" id="__nav_11" >
<label class="md-nav__link" for="__nav_11">
体系结构
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="体系结构" data-md-level="1">
<label class="md-nav__title" for="__nav_11">
<span class="md-nav__icon md-icon"></span>
体系结构
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/" class="md-nav__link">
Coursera: Nand2Tetris
</a>
</li>
<li class="md-nav__item">
<a href="../../%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/" class="md-nav__link">
UCB CS61C: Great Ideas in Computer Architecture
</a>
</li>
<li class="md-nav__item">
<a href="../../%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CSAPP/" class="md-nav__link">
CMU 15-213: CSAPP
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_12" type="checkbox" id="__nav_12" >
<label class="md-nav__link" for="__nav_12">
操作系统
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="操作系统" data-md-level="1">
<label class="md-nav__title" for="__nav_12">
<span class="md-nav__icon md-icon"></span>
操作系统
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/" class="md-nav__link">
MIT 6.S081: Operating System Engineering
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/" class="md-nav__link">
UCB CS162: Operating System
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_13" type="checkbox" id="__nav_13" >
<label class="md-nav__link" for="__nav_13">
并行与分布式系统
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="并行与分布式系统" data-md-level="1">
<label class="md-nav__title" for="__nav_13">
<span class="md-nav__icon md-icon"></span>
并行与分布式系统
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%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/" class="md-nav__link">
CMU 15-418/Stanford CS149: Parallel Computing
</a>
</li>
<li class="md-nav__item">
<a href="../../%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/" class="md-nav__link">
MIT 6.824: Distributed System
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_14" type="checkbox" id="__nav_14" >
<label class="md-nav__link" for="__nav_14">
计算机系统安全
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="计算机系统安全" data-md-level="1">
<label class="md-nav__title" for="__nav_14">
<span class="md-nav__icon md-icon"></span>
计算机系统安全
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/" class="md-nav__link">
UCB CS161: Computer Security
</a>
</li>
<li class="md-nav__item">
<a href="../../%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/" class="md-nav__link">
MIT 6.858: Computer System Security
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_15" type="checkbox" id="__nav_15" >
<label class="md-nav__link" for="__nav_15">
计算机网络
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="计算机网络" data-md-level="1">
<label class="md-nav__title" for="__nav_15">
<span class="md-nav__icon md-icon"></span>
计算机网络
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/" class="md-nav__link">
Computer Networking: A Top-Down Approach
</a>
</li>
<li class="md-nav__item">
<a href="../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/" class="md-nav__link">
Stanford CS144: Computer Network
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_16" type="checkbox" id="__nav_16" >
<label class="md-nav__link" for="__nav_16">
数据库系统
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="数据库系统" data-md-level="1">
<label class="md-nav__title" for="__nav_16">
<span class="md-nav__icon md-icon"></span>
数据库系统
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/" class="md-nav__link">
UCB CS186: Introduction to Database System
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/" class="md-nav__link">
CMU 15-445: Database Systems
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_17" type="checkbox" id="__nav_17" >
<label class="md-nav__link" for="__nav_17">
编译原理
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="编译原理" data-md-level="1">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
编译原理
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/" class="md-nav__link">
Stanford CS143: Compilers
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_18" type="checkbox" id="__nav_18" >
<label class="md-nav__link" for="__nav_18">
计算机图形学
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="计算机图形学" data-md-level="1">
<label class="md-nav__title" for="__nav_18">
<span class="md-nav__icon md-icon"></span>
计算机图形学
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/" class="md-nav__link">
GAMES101
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_19" type="checkbox" id="__nav_19" >
<label class="md-nav__link" for="__nav_19">
Web开发
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Web开发" data-md-level="1">
<label class="md-nav__title" for="__nav_19">
<span class="md-nav__icon md-icon"></span>
Web开发
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../Web%E5%BC%80%E5%8F%91/mitweb/" class="md-nav__link">
MIT web development course
</a>
</li>
<li class="md-nav__item">
<a href="../../Web%E5%BC%80%E5%8F%91/CS142/" class="md-nav__link">
Stanford CS142: Web Applications
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_20" type="checkbox" id="__nav_20" >
<label class="md-nav__link" for="__nav_20">
数据科学
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="数据科学" data-md-level="1">
<label class="md-nav__title" for="__nav_20">
<span class="md-nav__icon md-icon"></span>
数据科学
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/" class="md-nav__link">
UCB Data100: Principles and Techniques of Data Science
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_21" type="checkbox" id="__nav_21" >
<label class="md-nav__link" for="__nav_21">
人工智能
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="人工智能" data-md-level="1">
<label class="md-nav__title" for="__nav_21">
<span class="md-nav__icon md-icon"></span>
人工智能
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/" class="md-nav__link">
Harvard CS50s Introduction to AI with Python
</a>
</li>
<li class="md-nav__item">
<a href="../../%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/" class="md-nav__link">
UCB CS188: Introduction to Artificial Intelligence
</a>
</li>
<li class="md-nav__item">
<a href="../../%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CYJ/" class="md-nav__link">
智能计算系统
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_22" type="checkbox" id="__nav_22" >
<label class="md-nav__link" for="__nav_22">
机器学习
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="机器学习" data-md-level="1">
<label class="md-nav__title" for="__nav_22">
<span class="md-nav__icon md-icon"></span>
机器学习
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/" class="md-nav__link">
Coursera: Machine Learning
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/" class="md-nav__link">
Stanford CS229: Machine Learning
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/" class="md-nav__link">
UCB CS189: Introduction to Machine Learning
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_23" type="checkbox" id="__nav_23" >
<label class="md-nav__link" for="__nav_23">
深度学习
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="深度学习" data-md-level="1">
<label class="md-nav__title" for="__nav_23">
<span class="md-nav__icon md-icon"></span>
深度学习
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/" class="md-nav__link">
Coursera: Deep Learning
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/" class="md-nav__link">
台湾国立大学:李宏毅机器学习
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/" class="md-nav__link">
Stanford CS231n: CNN for Visual Recognition
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/" class="md-nav__link">
Stanford CS224n: Natural Language Processing
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/" class="md-nav__link">
Stanford CS224w: Machine Learning with Graphs
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/" class="md-nav__link">
UCB CS285: Deep Reinforcement Learning
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_24" type="checkbox" id="__nav_24" >
<label class="md-nav__link" for="__nav_24">
机器学习进阶
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="机器学习进阶" data-md-level="1">
<label class="md-nav__title" for="__nav_24">
<span class="md-nav__icon md-icon"></span>
机器学习进阶
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/" class="md-nav__link">
进阶路线图
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/" class="md-nav__link">
CMU 10-708: Probabilistic Graphical Models
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/" class="md-nav__link">
Columbia STAT 8201: Deep Generative Models
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/" class="md-nav__link">
U Toronto STA 4273 Winter 2021: Minimizing Expectations
</a>
</li>
<li class="md-nav__item">
<a href="../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/" class="md-nav__link">
Stanford STATS214 / CS229M: Machine Learning Theory
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../%E5%90%8E%E8%AE%B0/" class="md-nav__link">
后记
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#_1" class="md-nav__link">
课程简介
</a>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
课程资源
</a>
</li>
<li class="md-nav__item">
<a href="#_3" class="md-nav__link">
资源汇总
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<a href="https://github.com/pkuflyingpig/cs-self-learning/edit/master/docs/编程入门/CS61A.md" title="Edit this page" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>
</a>
<h1 id="cs61a-structure-and-interpretation-of-computer-programs">CS61A: Structure and Interpretation of Computer Programs</h1>
<h2 id="_1">课程简介</h2>
<ul>
<li>所属大学UC Berkeley</li>
<li>先修要求:无</li>
<li>编程语言PythonSchemeSQL</li>
<li>课程难度:🌟🌟🌟</li>
<li>预计学时50小时</li>
</ul>
<p>伯克利CS61系列的第一门课程也是我的Python入门课。</p>
<p>CS61系列是伯克利CS专业的入门课其中</p>
<ul>
<li>CS61A强调抽象让学生掌握用程序来解决实际问题而不关注底层的硬件细节。</li>
<li>CS61B注重算法与数据结构以及大规模程序的构建学生会用Java语言结合算法与数据结构的知识来构建千行代码级别的大型项目一个简易的谷歌地图一个二维版的Minecraft</li>
<li>CS61C关注计算机体系结构让学生理解高级语言例如C是如何一步步转换为机器可以理解的01串并在CPU执行的学生将会学习RISC-V架构并自己用Logism实现一个CPU。</li>
</ul>
<p>CS61B和CS61C在本书中均有收录。</p>
<p>回到CS61A注意这不仅仅是一门编程语言课而是会深入到程序构造与运行的原理。最后你将在第4个Project中用Python实现一个Scheme的解释器。此外抽象将是这门课的一大主题你将学习到函数式编程、数据抽象、面向对象等等知识来让你的代码更易读更模块化。当然学习编程语言也是这门课的一大内容你将会掌握Python、Scheme和SQL这三种编程语言在它们的学习和比较中相信你会拥有快速掌握一门新的编程语言的能力。</p>
<h2 id="_2">课程资源</h2>
<ul>
<li><a href="https://inst.eecs.berkeley.edu/~cs61a/su20/">课程网站</a></li>
<li>课程视频: 参见课程网站链接</li>
<li><a href="http://composingprograms.com/">课程教材</a></li>
<li>课程作业:课程网站会有每个作业对应的文档链接以及代码框架的下载链接。</li>
</ul>
<h2 id="_3">资源汇总</h2>
<p>我在学习这门课中用到的所有资源和作业实现都汇总在<a href="https://github.com/PKUFlyingPig/CS61A">这个Github仓库</a>中。</p>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer">
<a href="../CS50/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Harvard CS50: This is CS50x" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
</div>
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
Previous
</span>
Harvard CS50: This is CS50x
</div>
</div>
</a>
<a href="../CS106L/" class="md-footer__link md-footer__link--next" aria-label="Next: Stanford CS106L: Standard C++ Programming" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
Next
</span>
Stanford CS106L: Standard C++ Programming
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
</div>
</a>
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "../../assets/javascripts/workers/search.092fa1f6.min.js"}</script>
<script src="../../assets/javascripts/bundle.5a9542cf.min.js"></script>
</body>
</html>