软件构造
最近由 wpj9362 于 2026 年 7 月 27 日更新:完善课程信息 (#18)
基本信息
- 学分
- 2.5
- 课程性质
- 限选
- 考核方式
- 考查
学时分配
- 理论
- 24 学时
- 实验
- 16 学时
成绩构成
本课程 Introduction to Object-oriented Software Construction 为自 2020 级开始加入的必修课。 曾用名和课程代码为 COMP2027 面向对象的软件构造导论,2023 级改为 COMP3059 软件构造并从大二春开设移至大三秋开设。
2024 级和 2025 级的培养方案里,这门课重新回到大二春开设,且变为考查课。课程编号不变。
本课程内容主要为 Java 面向对象编程。
关于考试
考试有简答题,考试前建议多看一下 PPT 上的类似「Java 面经」的东西(例如:面向对象思想、选用 Runnable 而不是 Thread 的原因……)以及各种设计模式的 UML 类图。 考试也有手写代码,不过都是 PPT 上有过的东西,比较简单。
每年的考试题型比较接近,包括选择、判断、填空、简答、综合分析。2026 春的考试题型如下:
- 单项选择题:共 10 题,每题 2 分,共 20 分。
- 判断题:共 5 题,每题 1 分,共 5 分。
- 填空题:共 5 空,每空 1 分,共 5 分。
- 简答题:共 6 题,每题 5 分,共 30 分。包含一些基本知识点的问答和具体的代码分析。
- 综合题:共 4 题,每题 10 分,共 40 分。这一部分包括代码功能分析、UML 类图绘制、手写代码等。
26 春的试卷考的比较细,涉及到了很多新的考点和一些平时复习时可能忽略的点,和往年题差异较大,但几乎所有题目都可以从 PPT 中找到依据,因此复习时仍需以 PPT 为主要参考依据,看往年题为辅。当然,介于这门课暂时成为考查课(具体参考各自年级的培养方案),且考试成绩只占到 60 %,因此实际复习和考试的压力其实不算大。
关于实验
2022 春共 6 次实验,实验内容是使用 Java(Swing 作为 GUI 框架)制作一款「飞机大战」主题的小游戏。 实验课开始前会提供一套能运行(但没有功能)的框架代码,每次实验都是在上次实验的基础上迭代开发,整体难度不大。指导书比较详细,按着指导书做一般没问题。 最后两次实验可能会需要花比较久的时间,但完成不是难事。
2026 春的实验延续了这套框架,每节实验课需要完成一定的迭代开发,要求应该也和之前差不多,具体参考每年的指导书。实验仅需在 lab3 之后提交一次中期检查代码,以及在最后结课提交完整代码和实验报告,其余没有任何验收和提交环节,按照自己的节奏做即可。实验报告主要是需要整理好实验过程中所有的 UML 图,并结合它们阐释自己的具体设计方案。感兴趣的同学可以扩展飞机大战的功能,作为附加题带来实验加分()
关于作业
2026 春大概有 4 次作业,会在章节学完后发布在雨课堂,形式上和考试题比较接近。一些班级可能会安排课堂小测,同样需要在雨课堂上及时完成提交。
学习建议
作为一门编程语言课,Java 语言的学习可以借助网上的许多资料。这门课同时还会学习设计模式这些抽象的东西,因此听课也挺重要的。
资源下载
| 文件名 | ||
|---|---|---|
exams | ||
notes |