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

2324 lines
No EOL
58 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="zh" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="CS自学指南">
<meta name="author" content="PKUFlyingPig">
<link rel="canonical" href="https://csdiy.wiki/%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/CS61A/">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.3.0, mkdocs-material-7.3.6">
<title>UCB CS61A: Structure and Interpretation of Computer Programs - CS自学指南</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.a57b2b03.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.3f5d1f46.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-family:"Roboto";--md-code-font-family:"Roboto Mono"}</style>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-KJB4RXSKZG"),document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof location$&&location$.subscribe(function(t){gtag("config","G-KJB4RXSKZG",{page_path:t.pathname})})})</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-KJB4RXSKZG"></script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="light-blue" data-md-color-accent="deep-purple">
<script>function __prefix(e){return new URL("../..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
<script>var palette=__get("__palette");if(null!==palette&&"object"==typeof palette.color)for(var key in palette.color)document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<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">
跳转至
</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>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="light-blue" data-md-color-accent="deep-purple" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 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-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="cyan" data-md-color-accent="deep-purple" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31z"/></svg>
</label>
</form>
<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="搜索" placeholder="搜索" 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">
<a href="javascript:void(0)" class="md-search__icon md-icon" aria-label="Share" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7 0-.24-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91 1.61 0 2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08z"/></svg>
</a>
<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>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</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">
正在初始化搜索引擎
</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="前往仓库" 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 496 512"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
</div>
<div class="md-source__repository">
cs-self-learning
</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="前往仓库" 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 496 512"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
</div>
<div class="md-source__repository">
cs-self-learning
</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/GNU_Make/" class="md-nav__link">
GNU Make
</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>
<li class="md-nav__item">
<a href="../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/" 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_Information_Theory_Pattern_Recognition_and_Neural_Networks/" 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="目录">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
目录
</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="../Duke-Coursera-Intro-C/" class="md-nav__link">
Duke University: Introductory C Programming Specialization
</a>
</li>
<li class="md-nav__item">
<a href="../CS106B_CS106X/" class="md-nav__link">
Stanford CS106B/X
</a>
</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_and_Systems_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/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/DDCA/" class="md-nav__link">
Digital Design and Computer Architecture
</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>
<li class="md-nav__item">
<a href="../../%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/" class="md-nav__link">
NJU OS: Operating System Design and Implementation
</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>
<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/GAMES202/" class="md-nav__link">
GAMES202
</a>
</li>
<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/GAMES103/" class="md-nav__link">
GAMES103
</a>
</li>
<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/CS148/" class="md-nav__link">
Stanford CS148
</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 CS50's 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="目录">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
目录
</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="编辑此页" 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>编程语言Python, Scheme, SQL</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>
<p>注意:如果此前完全没有编程基础,直接上手 CS61A 需要一定的学习能力和自律要求。为避免课程难度过高而导致的信心挫折,可以选择一个更为友好的入门编程课程。例如伯克利的 <a href="https://cs10.org/sp22/">CS10</a> 或者哈佛大学的 <a href="https://csdiy.wiki/编程入门/CS50/">CS50</a></p>
<h2 id="_2">课程资源</h2>
<ul>
<li>课程网站:<a href="https://inst.eecs.berkeley.edu/~cs61a/su20/">https://inst.eecs.berkeley.edu/~cs61a/su20/</a></li>
<li>课程视频: 参见课程网站链接</li>
<li>课程教材:<a href="http://composingprograms.com/">http://composingprograms.com/</a></li>
<li>课程作业:课程网站会有每个作业对应的文档链接以及代码框架的下载链接。</li>
</ul>
<h2 id="_3">资源汇总</h2>
<p>我在学习这门课中用到的所有资源和作业实现都汇总在 <a href="https://github.com/PKUFlyingPig/CS61A">PKUFlyingPic/CS61A - GitHub</a> 中。</p>
<script src="https://giscus.app/client.js"
data-repo="PKUFlyingPig/cs-self-learning"
data-repo-id="R_kgDOGP67ng"
data-category="Announcements"
data-category-id="DIC_kwDOGP67ns4COM9Q"
data-mapping="title"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="light"
data-lang="zh-CN"
data-loading="lazy"
crossorigin="anonymous"
async>
</script>
</article>
</div>
</div>
<a href="#" class="md-top md-icon" data-md-component="top" data-md-state="hidden">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"/></svg>
Back to top
</a>
</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="上一页: 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">
上一页
</span>
Harvard CS50: This is CS50x
</div>
</div>
</a>
<a href="../Duke-Coursera-Intro-C/" class="md-footer__link md-footer__link--next" aria-label="下一页: Duke University: Introductory C Programming Specialization" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
下一页
</span>
Duke University: Introductory C Programming Specialization
</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-footer-copyright">
<div class="md-footer-copyright__highlight">
Copyright &copy; 2021-present <a href="https://github.com/PKUFlyingPig" target="_blank" rel="noopener noreferrer">PKUFlyingPig</a>
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
<div class="md-footer-social">
<a href="https://github.com/pkuflyingpig/cs-self-learning/" target="_blank" rel="noopener" title="github.com" class="md-footer-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
</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": ["header.autohide", "navigation.tracking", "navigation.top", "search.highlight", "search.share", "search.suggest", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.fcfe8b6d.min.js", "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.config.lang": "ja", "search.config.pipeline": "trimmer, stemmer", "search.config.separator": "[\\uff0c\\u3002]+", "search.placeholder": "\u641c\u7d22", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "version": null}</script>
<script src="../../assets/javascripts/bundle.b1047164.min.js"></script>
</body>
</html>