Week 1Java 编程基础与环境 (Introduction to Java)
### 💻 核心知识点:编译与 JVM 从零起步,学习 Java 的强类型系统、基本数据类型、控制流结构以及 JDK/JVM 的工作原理。 - **核心概念/公式**: Java Virtual Machine (JVM), Bytecode, Primitive Types, Control Flow. ⏰ **本周节奏**: 难度 ⭐ | 预计投入 10h(Lecture 2h + Lab 4h + 自学 4h) 🎯 **考试关联**: 基础语法排错与输出预测。 🧪 **Tutorial/Lab**: 配置 IntelliJ IDEA 或 VS Code,编写并运行第一个控制台程序。 📌 **作业关联**: 熟悉开发流。 ⚠️ **易错点**: 混淆按值传递(Primitive)与按引用传递(Object)。 (数据来源:2026 Course Handbook)
Week 2面向对象编程基础 (OOP Basics)
### 🧩 核心知识点:类、对象与封装 正式进入 OOP 世界。掌握类的定义、构造函数(Constructors)、方法重载(Overloading)以及访问修饰符(public/private)。 - **核心概念/公式**: Classes and Objects, Encapsulation, Methods, `this` keyword. ⏰ **本周节奏**: 难度 ⭐⭐ | 预计投入 12h 🎯 **考试关联**: 给定需求,设计出合理的类结构与私有成员。 🧪 **Tutorial/Lab**: 编写一个简单的学生信息管理类。 📌 **作业关联**: **Project 1 发布**,构建基础的面向对象系统模型。 ⚠️ **易错点**: 破坏封装原则,将内部状态变量暴露为 public。 (数据来源:2026 Course Handbook)
Week 3继承与多态 (Inheritance & Polymorphism)
### 🧬 核心知识点:代码复用与动态绑定 学习 `extends` 关键字,理解方法重写(Overriding)与动态方法调度(Dynamic Method Dispatch)。 - **核心概念/公式**: Inheritance, Polymorphism, Method Overriding, `super` keyword, Upcasting/Downcasting. ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 12h 🎯 **考试关联**: 考察父类引用指向子类对象时的函数调用优先级。 🧪 **Tutorial/Lab**: 建立一个包含父类 Animal 和子类 Dog/Cat 的继承树,体验多态数组。 📌 **作业关联**: 在 Project 1 中优化代码结构。 ⚠️ **易错点**: 在向下转型(Downcasting)时不使用 `instanceof` 检查,导致 `ClassCastException`。 (数据来源:2026 Course Handbook)
Week 4抽象类与接口 (Abstract Classes & Interfaces)
### 📐 核心知识点:契约式设计 区分抽象类与接口的适用场景。学习 Java 8+ 中的默认方法(Default methods)以及多重继承的替代方案。 - **核心概念/公式**: Interfaces, Abstract Classes, Multiple Interface Implementation. ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 12h 🎯 **考试关联**: 简答题:Interface 与 Abstract Class 的五大区别。 🧪 **Tutorial/Lab**: 使用接口实现策略模式(Strategy Pattern)的雏形。 📌 **作业关联**: **Project 1 截止**。 🔥 ⚠️ **易错点**: 在接口中定义普通实例变量(接口中只能是 static final 常量)。 (数据来源:2026 Course Handbook)
Week 5异常处理与文件 I/O (Exceptions & I/O)
### 🛡️ 核心知识点:鲁棒性与持久化 学习受检异常(Checked)与非受检异常(Unchecked)。掌握 Try-Catch-Finally 块及 Java I/O 流体系。 - **核心概念/公式**: Exception Hierarchy, `throw` vs `throws`, Byte Streams vs Character Streams, Serialization. ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 14h 🎯 **考试关联**: 分析异常抛出后的代码执行路径(特别是 Finally 块的执行机制)。 🧪 **Tutorial/Lab**: 编写程序从 CSV 文件读取数据,处理格式异常,并将结果写入新文件。 📌 **作业关联**: 为 Project 2 的数据持久化做准备。 ⚠️ **易错点**: 捕获宽泛的 `Exception` 而掩盖了深层错误;忘记关闭文件流导致内存泄漏。 (数据来源:2026 Course Handbook)
Week 6泛型与集合框架 (Generics & Collections)
### 📦 核心知识点:类型安全与高级数据结构 掌握泛型(Generics)消除强制类型转换的安全机制。深入剖析 Java Collections Framework (List, Set, Map)。 - **核心概念/公式**: Generics, Type Erasure, ArrayList vs LinkedList, HashSet, HashMap. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 15h 🎯 **考试关联**: 根据场景选择最合适的集合框架(如:需要快速查找键值对选 HashMap)。 🧪 **Tutorial/Lab**: 实现自定义的泛型类,并比较 HashMap 和 TreeMap 的遍历顺序。 📌 **作业关联**: **Project 2 发布**,通常是一个复杂度较高的数据处理系统。 ⚠️ **易错点**: 泛型中的类型擦除(Type Erasure)导致运行时无法获取泛型的真实类信息。 (数据来源:2026 Course Handbook)
Week 7高级字符串处理与正则表达式 (Strings & Regex)
### 🔍 核心知识点:文本解析 理解 String 对象的不可变性(Immutability)。学习使用 StringBuilder/StringBuffer 优化性能,以及 Regex 的高级匹配。 - **核心概念/公式**: Immutability, String Pool, Regular Expressions (Pattern/Matcher). ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 12h 🎯 **考试关联**: 运用 Regex 匹配复杂的输入格式(如邮箱、日期)。 🧪 **Tutorial/Lab**: 编写基于正则的词法分析器,提取代码中的关键字。 📌 **作业关联**: Project 2 中的大规模文本清洗模块。 ⚠️ **易错点**: 在大规模循环中使用 `+` 拼接字符串导致产生大量废弃对象(触发频繁 GC)。 (数据来源:2026 Course Handbook)
Week 8软件工程实践:测试与 TDD (Testing)
### 🧪 核心知识点:JUnit 与测试驱动开发 跨出单纯编程,进入软件工程规范。学习编写单元测试(Unit Testing)、断言(Assertions)以及 TDD 理念。 - **核心概念/公式**: JUnit, Test-Driven Development (TDD), Code Coverage, Mocking basics. ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 14h 🎯 **考试关联**: 给定一段存在缺陷的方法,写出能捕获该缺陷的 JUnit 测试用例。 🧪 **Tutorial/Lab**: 为之前编写的类补充完整的测试套件,达到 80%+ 的覆盖率。 📌 **作业关联**: Project 2 的评分极其看重代码测试覆盖率。 ⚠️ **易错点**: 测试用例不够独立,不同测试间产生了状态污染。 (数据来源:2026 Course Handbook)
Week 9多线程与并发控制 (Multithreading)
### ⚡ 核心知识点:并发执行与锁机制 学习创建线程(Thread 类与 Runnable 接口)。探讨竞态条件(Race Conditions)、死锁,并掌握 `synchronized` 关键字。 - **核心概念/公式**: Threads, Concurrency, `synchronized`, `wait()`/`notify()`, Deadlock. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐⭐ | 预计投入 18h 🎯 **考试关联**: 分析多线程代码中存在的安全隐患(如非原子操作)。 🧪 **Tutorial/Lab**: 实现一个经典的多线程“生产者-消费者”模型。 📌 **作业关联**: 提升复杂系统的执行效率。 ⚠️ **易错点**: 滥用同步锁导致程序并发性能退化为串行执行。 (数据来源:2026 Course Handbook)
Week 10软件架构模式:MVC (Architecture & MVC)
### 🏗️ 核心知识点:解耦与界面编程 学习将数据模型、界面展示与控制逻辑分离的模型-视图-控制器 (MVC) 模式。简要接触 Java GUI (如 JavaFX 或 Swing)。 - **核心概念/公式**: Model-View-Controller (MVC) Pattern, Event-driven Programming, Listeners. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 15h 🎯 **考试关联**: 简述 MVC 各层的职责边界及双向数据流。 🧪 **Tutorial/Lab**: 将旧的控制台系统重构为 MVC 架构的 GUI 应用。 📌 **作业关联**: **Project 2 截止**。 🔥 ⚠️ **易错点**: 将数据库读写逻辑直接写在 UI 的按钮点击事件中(严重违背 MVC)。 (数据来源:2026 Course Handbook)
Week 11基础设计模式 (Design Patterns)
### 💡 核心知识点:经典解决方案 学习由 GoF 提出的经典设计模式,重点掌握单例模式(Singleton)、工厂模式(Factory)与观察者模式(Observer)。 - **核心概念/公式**: Singleton, Factory Method, Observer, Software Design Principles (SOLID). ⏰ **本周节奏**: 难度 ⭐⭐⭐ | 预计投入 12h 🎯 **考试关联**: 给定业务场景,说明应采用哪种设计模式并画出 UML 类图。 🧪 **Tutorial/Lab**: 实现单例模式并确保其在多线程环境下的安全性(Double-Checked Locking)。 📌 **作业关联**: 构建工业级软件思维。 ⚠️ **易错点**: 过度设计(Over-engineering),在简单问题上强行套用模式。 (数据来源:2026 Course Handbook)
Week 12期末复习与代码重构 (Review & Refactoring)
### 📝 复习周:高质量代码之道 梳理全学期的 Java 特性与 OOP 原则。探讨代码重构(Refactoring)技巧与 Clean Code 实践。 - **核心概念/公式**: Refactoring, Code Smells, Exam Review. ⏰ **本周节奏**: 难度 ⭐⭐⭐⭐ | 预计投入 20h+ 🎯 **考试关联**: 期末闭卷考试(通常要求手写代码逻辑并分析复杂的面向对象体系)。 🧪 **Tutorial/Lab**: 历年考卷综合演练。 📌 **作业关联**: 无。 ⚠️ **易错点**: 考试时手写代码忘记处理边界条件或未捕获潜在异常。 (数据来源:2026 Course Handbook)