前言

这是博客的第一批文章,我的计划是分享一些我自学线上计算机课程的经验。我的初步计划是介绍几门课程的特定和学习经历,以及分享自学过程中使用的工具和资源。尤其要感谢CS自学指南以及许多无私的分享者。

 

课程介绍

UCB 的 CS61B 是很经典的一门数据结构课程。作为加州大学伯克利分校计算机61系列的第二门课,使用 Java 来介绍常见的数据结构和算法。 CS61BL 是该课程的暑期版本,节奏更快更强调实验和代码。下面给出一些课程资源和我的实现。

  1. 课程网站,所有的公开资源都会放在这里,自学该课程的主要资料来源。
  2. 课程录播,该课的课程录播,不过其实不同版本的差别不大,旧的 2021 版也可以。
  3. 线上教材,我在学习中没有逐行浏览这一部分,只是有时候实验写不出来的时候参考这个教材,增进理解。
  4. Gradescope 在线测评代码网站的代码: KDR8BZ 。用法:注册账号后使用该代码添加课程。在自学课程时注意其旁听政策
  5. 我的代码实现托管在 GitHub 上,使用 Devcontainer 在容器中开发,支持 VSCode 和 IntelliJ IDEA。其中 Lab 18 和 Project 3 由于时间和兴趣问题没有实现。

学习内容总结

我自学的时候这门课正在进行,总体来说基本是每天或者每两天一个实验,有非常高强度的代码练习。其中 LinkedList 等项目对 Java 调试有一定要求,而大量的实验也需要自己编写单元测试。

这门课涉及 Java 基础,简单的软件工程思想和各种常见数据结构及算法,是非常经典的一门数据结构和算法入门课。

学习建议

这门课相比 CS61B 版本更强调实验,因此对代码能力有比较好的锻炼。此外旧的 2021 版 CS61B 已经有点旧了,很多库和测试框架需要自己想办法配置。

评论系统尚未配置。请在 .env 中填写 giscus 所需的环境变量。