CS61B 数据结构与算法

CS61 系列是伯克利 CS 专业的入门课,其中 CS61B 是 61 系列的第二门可,注重算法与数据结构以及大规模程序的构建,学生会用 Java 语言结合算法与数据结构的知识来构建千行代码级别的大型项目。

其中 spring 2018 和 spring 2021 两个学期老师开放了 autograder,做完作业之后可以自主测评代码正确性。

我写的 Spring 2018 版本的所有资料,包括 Homework, Labs 和 Projects(Discussion, exam 和 lecture code 在 materials 分支)都在
UCBerkeley-CS61B-sp18

有关 sp18 和 sp21 的区别:

  • 两个学期都开放了 gradescope,sp18 的 lab 和 homework 多于 sp21,而且 sp21 的 lab 主要是为了 project 服务的。

  • 四个大型的 project 中,两个版本的 proj0 都是熟悉 java (分别是 NBody Simulation 和 2048),比较简单,按照文档说明填完就可以了,需要注意的是如果计算机内置的默认编码为 GBK(大部分中文用户都会遇到这个问题),则需要在编译时手动调整为 utf-8 格式。

  • sp21 的 proj1 主要是实现 deque 双端队列,内容上为 sp18 的 proj1: Data Structures + sp18 的 hw1 的 GuitarString 部分。

  • sp21 的 proj3: BYoW 与 sp18 的 proj2: BYoG 几乎完全一致,要生成一个 2D 世界,代码自由度很高,我在 sp18 中实现了最基本的框架和必要的功能,而没有上传实现 Ambition Score 的部分,因为这部分每个人想要添加的功能不尽相同,而我又懒得写说明文档

sp21 的 proj2: gitlet 项目非常好,建议学习 sp18 版本的可以在学完之后动手实现一下这个 mini-git。

以下是 csdiy 中给出的推荐:

伯克利 CS61 系列的第二门课程,注重数据结构与算法的设计,同时让学生有机会接触上千行的工程代码,通过 Java 初步领会软件工程的思想。
我上的是 2018 年春季学期的版本,该课的开课老师 Josh Hug 教授慷慨地将 autograder 开源了,大家可以通过网站公开的邀请码在 gradescope 免费加入课程,从而方便地测评自己的代码。
这门课所有的编程作业都是使用 Java 完成的。没有 Java 基础的同学也不用担心,课程会有保姆级的教程,从 IDEA(一款主流的 Java 编程环境)的配置讲起,把 Java 的核心语法与特性事无巨细地讲授,大家完全不用担心跟不上的问题。
这门课的作业质量也是绝绝子。14 个 lab 会让你自己实现课上所讲的绝大部分数据结构,10 个 Homework 会让你运用数据结构和算法解决实际问题, 另外还有 3 个 Project 更是让你有机会接触上千行的工程代码,在实战中磨练自己的 Java 能力。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值