Week 0 General Course Information¶
Week 1 Introduction¶
- 1. 欢迎来到 CS2114
- 2. 设置你的编程环境
- 3. Java 基础
- 4. Java 单元测试
- 5. 代码风格与文档:引言
- 5.1. 概述与目标
- 5.2. 建议阅读:
- 5.3. 代码风格与文档简介
- 5.4. 挑战
- 5.5. 风格指南
- 5.6. 命名:名字里有什么
- 5.7. 命名约定
- 5.8. 基本命名规则
- 5.9. 源文件与目录
- 5.10. 包
- 5.11. 类
- 5.12. 接口
- 5.13. 方法
- 5.14. 变量
- 5.15. 常量
- 5.16. 命名要诀与禁忌
- 5.17. 命名小结
- 5.18. 代码审查
- 5.19. 检查点 1
- 5.20. 格式
- 5.21. 缩进
- 5.22. 本课程的格式设置 / 配置 Eclipse 格式化
- 5.23. 行长
- 5.24. 花括号
- 5.25. 逗号及其他运算符后的空格
- 5.26. 空行
- 5.27. 换行与续行缩进
- 5.28. 软件文档概述
- 5.29. JavaDoc 注释
- 5.30. 描述一个类
- 5.31. 为公有字段/实例变量和静态变量编写文档
- 5.32. 为方法编写文档
- 5.33. Javadoc 标签
- 5.34. 其他注释
- 5.35. 使用常量和引用值而非硬编码
- 5.36. 常量
- 5.37. 引用值
- 5.38. 类、字段和方法的访问修饰符与可见性
- 5.39. 审查清单
- 5.40. 互动:代码风格与文档最终复习
- 5.41. 检查点 2
- 5.42. 相关资源
- 6. 从 Python 到 Java 教程
- 7. 占位页
- 8. 占位页
- 9. 编程练习 2
Week 2 Java Review¶
Week 3 Bags¶
- 1. 包(bag)
- 2. 实验 3 电影数据库
- 3. 实验 3 电影数据库(实验后)
- 4. 项目 1
- 5. 知识练习 3
- 6. 编程练习 3
Week 4 Linked Chains, Bags Continued¶
Week 5 Efficiency, Stacks¶
Week 6 Ethics and Design¶
- 1. 伦理
- 2. 软件设计与 MVC
- 3. 实验 6 数组栈
- 4. 实验 6 数组栈(实验后)
- 5. 伦理作业
- 6. 设计作业
- 7. 知识练习 6
- 8. 编程练习 6
Week 7 Recursion¶
- 1. 项目 3
- 2. 测验 2 说明
- 3. 递归
- 3.1. 目标
- 3.2. 递归简介
- 3.3. 检查点 1
- 3.4. 交互式:更多递归:阶乘示例
- 3.5. 编程练习:递归 1
- 3.6. 交互式:数组上的递归:显示数组
- 3.7. 检查点 2
- 3.8. 交互式:数组上的递归:显示数组的中间部分
- 3.9. 检查点 3
- 3.10. 编程练习:递归 2
- 3.11. 交互式:链式链上的递归
- 3.12. 交互式:汉诺塔
- 3.13. 检查点 4
- 3.14. 交互式:递归小结
- 3.15. 编程练习:递归 3
- 3.16. 前向流程跟踪练习
- 3.17. 后向流程跟踪练习
- 3.18. 查找错误跟踪练习
- 3.19. 两次递归调用跟踪练习
- 3.20. 执行次数跟踪练习
- 3.21. 更具难度的跟踪练习
- 4. 期中检查点
- 5. 知识练习 7
- 6. 测验 2 说明
Week 8 Queues¶
- 1. 队列
- 1.1. 学习目标
- 1.2. 交互式:队列简介
- 1.3. 检查点 1
- 1.4. 编程实践:队列 1
- 1.5. 交互式:链式队列简介与入队
- 1.6. 检查点 2
- 1.7. 交互式:链式队列的移除与更多操作(出队和其他方法)
- 1.8. 检查点 3
- 1.9. 交互式:双端队列简介
- 1.10. 检查点 4
- 1.11. 交互式:双端队列的移除与小结
- 1.12. 检查点 5
- 1.13. 交互式:ArrayQueue——队列的数组实现
- 1.14. 检查点 6
- 1.15. 交互式:ArrayQueue——一个未使用的位置
- 1.16. 检查点 7
- 1.17. 交互式:ArrayQueue——确保容量
- 1.18. 检查点 8
- 1.19. 交互式:ArrayQueue 小结
- 1.20. 编程实践:队列 2
- 2. 实验 8 Carrano
- 3. 实验 8 Carrano(实验后)
- 4. 知识练习 8
- 5. 编程练习 8
