该项目主要保存的是cs61b相关的代码,cs61b主要是通过Java实现一些常见的数据结构,以及实现一小游戏,小工具。测试用例比较完整,同时也用到了很多不错的测试思想,例如随机化测试,对比测试等等。
相关链接:
-
一位大佬关于课程的简单介绍:https://docs.google.com/document/d/1lh1GyJfP4d99Kd2ubFWcHtzMgwW4M3aMDLqafMCGO7I/edit?pli=1
-
课程评分网站:https://www.gradescope.com/
-
lab1-2 :主要是对一些基础进行教学,git,idea的使用。
-
lab3:主要是测试实验,主要使用条件断点debug技术,以及Timing Tests(计时测试),随机测试,对比测试等相关测试思想。
-
lab4:git,debug的实验。
-
lab5:对实验1的code review。
-
lab6:主要是project2的提前练习,对课程提供的文件操作工具类实际操作。
-
lab7:实现了一个简易版的TreeMap, 使用非平衡的二叉搜索树进行增删改查操作。
-
lab8: 一个简易版的HashMap,底层是一个数组桶,切不具备树化机制,具有负载因子,负载过大会自动扩容。
- project0: 主要是对一个2048游戏的游戏逻辑补充。
- project1:主要是实现基于链表和基于数组实现双端队列,然后使用 Karplus-Strong algorithm算法来对吉他琴弦声音进行模拟,这个部分已经实现好了。
- project2:主要是实现了已给mini git,但是功能还比较受限。比较难的点主要是设计git的文件系统和实现git merge操作。
- project3:暂未完成。