UniMate AI

COMP2511

面向对象设计与编程

6 学分难度

课程定位 COMP2511 是 UNSW 计算机与软件工程专业的‘架构灵魂课’。如果说 COMP1511 是教你写代码,这门课则是教你写‘好代码’。它标志着你从单纯的程序员向‘软件架构师’的正式跨越。通过 Java 语言,这门课将带你深入设计模式、可扩展性原则及大型软件系统的构建哲学。它是后续所有高级软件工程及大厂架构面试的绝对母题。如果你想在大厂面试中谈论‘高内聚低耦合’,这门课是你的第一战场。 技术栈与学习内容 课程以 Java 为核心工具,重点攻克:面向对象三要素(封装、继承、多态)、SOLID 设计原则、常用的 23 种设计模式(如 Strategy, State, Observer, Decorator, Composite 等)、以及 Lambda 表达式与 Stream API。此外,课程强调自动化测试(JUnit)、版本控制(Git 进阶)及图形化建模(UML 图)。学生将学习如何重构混乱的代码库并设计出优雅、可维护的系统框架。 课程结构 10 周高强度理论与项目实操。前期聚焦 Java 基础与多态逻辑,中期深入设计模式全集(这是全课的核心也是考试的命脉),后期转向系统架构与综合项目。评估由每周的高压编程 Lab、一个权重极大且极其耗时的团队/个人大型项目(通常是开发一个复杂的塔防游戏或管理系统)、以及极其考察设计权衡能力的期末机考组成。该课极其强调‘设计图与代码的一致性’。 适合人群 计算机、软件工程大二学生。必须具备扎实的编程基础。如果你觉得自己的代码总是‘一团糟’、修改一个 Bug 会引发十个新 Bug,这门课将彻底拯救你的职业生涯。建议每周投入 20 小时以上进行架构拆解与代码重构。

Syllabus

每周大纲

  1. 1

    面向对象基础与 Java 环境

    类与对象,Java 语法基础,类型系统,利用 Gradle 构建项目。

  2. 2

    多态、抽象类与接口

    动态绑定机制,接口 vs 继承的权衡,Java 集合框架初步。

  3. 3

    SOLID 设计原则与 UML

    单一职责、开闭原则等五大核心准则,类图绘制规范与关联关系判定。

  4. 4

    基础设计模式 (1)

    策略模式 (Strategy)、观察者模式 (Observer)、状态模式 (State) 深度解析。

  5. 5

    基础设计模式 (2)

    装饰器模式 (Decorator)、组合模式 (Composite)、模板方法,代码重构技巧。

  6. 6

    灵活性周 (Flex Week)

    复习设计模式应用,冲刺大型软件项目 Milestone。

  7. 7

    工厂模式、单例与生成器

    创建型模式全解析,抽象工厂应用,处理复杂的对象构建过程。

  8. 8

    异常处理、泛型与 Lambda

    函数式编程初步,Java Streams 处理集合数据,防御性编程策略。

  9. 9

    高级模式与并发初步

    访问者模式 (Visitor)、中介者模式,Java 线程基础与同步挑战。

  10. 10

    系统架构总结与复习

    分层架构,全学期模式大闭环;机考真题演练与架构设计。

Assessment

考核结构

Weekly Lab Tasks

涵盖每章设计模式实现的编程挑战,强调测试驱动开发 (TDD)。

15%

Week 10

Major Software Project

团队或个人独立开发一个复杂的 Java 应用程序(如游戏),重点考核设计模式的合理应用与架构文档。

35%

Week 9

Final Lab ExamHurdle

限时现场机考,要求根据复杂的需求变更,在 3 小时内完成代码重构与模式设计。

50%

Week 11

From Seniors

学长留下的

基础信息谁都查得到,真正值钱的是过来人的经验。

学姐说

比你早一年的学长留下的真实经验 —— ChatGPT 给不了。

这门课还没有学长经验,你可以是第一个 —— 注册后在课内分享。

往年考点 / 踩坑

这门课暂无往年考点记录。

毕业生去向(整体)

下面是匠人学院毕业生整体去过的公司分布(来自脱敏校友证言)。这是全平台的总体去向,不代表选这门课的人一定去这些公司。

统计自 313 份脱敏校友证言

Deloitte

6 位校友

岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer

Zerologix

4 位校友

岗位:Frontend Dev · junior frontend developer · Front-end Developer · Full Stack Developer

Servian

4 位校友

岗位:Full-stack Developer · Data Engineer · Consultant

关于这块数据,我们说实话

雇主墙来自脱敏毕业生证言(testimonials)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。

我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。