2. 课程大纲

2.1. 主题总体提纲(有待修订)

  • 组织、激励、介绍(1周)

    • 是什么让软件变得好呢?

    • 要求:功能性与非功能性

    • 测试的重要性

  • 面向对象编程基础(2周)

    • 语义:引用与值、相等与同一性

    • 类型和类:关系、多态性

    • 代码组织:成员访问、包/命名空间

  • 敏捷开发流程(1周)

    • 概述

    • 测试

    • 重构

    • 持续集成和交付

  • 面向对象设计原则(2周)

    • 概述

    • SOLID

    • 使用界面进行设计

  • 敏捷面向对象建模(2周)

    • 主要UML图:类、状态机、序列

    • 原型和颜色

  • 软件设计模式(2周)

    • HFDP中的关键模式

    • EJ3e中的关键成语

  • 并发编程(3周)

    • 活动

    • 螺纹

    • 共享

  • 分布式编程(1周)

    • 概述和原则

    • 连接到Web服务

2.2. 每周会议的典型结构

  • EJ3e或HFDP主题

  • 项目讨论和相关主题

  • 结对/分组演示或其他活动

2.3. 两到三周内的典型任务

  • 雷丁

  • 收听SE广播节目

  • 规划项目