第一周作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class56-Grade2024-CS |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Class56-Grade2024-CS/homework/15692 |
| 这个作业的目标 | 让我们明确软件工程的学习目标,并掌握一些知识 |
软件工程第一次作业
一、介绍自己,建立博客
大家好,我叫马肇哲,是广东工业大学计算机学院的一名学生。这是我第一次在博客园发布随笔。
在软件工程学习过程中,我们不仅需要掌握编程技术,也需要学习如何表达自己的想法、记录开发过程、上传代码以及遵守项目规范。写博客需要花费时间,但长期坚持下来,可以帮助自己形成良好的学习习惯。
关于自己的特点,我认为自己比较突出的地方是擅于总结与整理知识。
我认为每个人都有自己的闪光点,只是很多时候没有认真发现。除了专业学习之外,一个人的兴趣、习惯和经历同样能够成为自己的优势。
二、现状、经验和计划
(1)专业选择与技能提升
我选择计算机专业,是因为希望进入互联网行业。
目前,计算机行业发展迅速,软件工程师不仅需要会写代码,还需要具备软件设计、团队协作、项目管理、持续学习等能力。
经过自我分析,我认为自己距离成为一名合格的软件工程毕业生,还有以下方面需要提高:
- Programming Overall(编程整体理解)
- Programming: Comprehension(程序理解)
- Programming: Implementation(程序实现)
- Programming: Test(程序测试)
- Programming: Code Review/Code Quality(代码质量)
- Programming Language(C/C++/Java)
- Basic Design Principles & Patterns(设计模式)
根据技能调查表,我选择以下几个重要技能进行提升:
| 技能 | 当前水平(0-9) | 课程结束目标 | 提升方法 |
|---|---|---|---|
| Java/C++编程能力 | 3 | 6 | 坚持刷题、完成课程项目 |
| 软件设计能力 | 2 | 5 | 阅读软件工程书籍,参与项目 |
| Git版本管理 | 1 | 5 | 实际开发中使用Git |
| 数据结构与算法 | 3 | 6 | 每周练习算法题 |
| 项目开发能力 | 1 | 4 | 完成团队项目 |
| 阅读代码能力 | 4 | 7 | 分析优秀开源项目 |
我的计划主要包括:
- 每周固定时间学习编程;
- 坚持完成课程作业;
- 多阅读优秀代码;
- 积极参与团队项目;
- 主动向老师和同学交流。
(2)课程学习思考
为什么我要认真参与课程学习?
大学学习不仅仅是为了获得学分,更重要的是培养解决问题的能力。
软件工程是一门实践性很强的课程,如果只听课而不动手实践,很难真正掌握软件开发方法。
因此,我希望通过这门课程培养自己的工程能力,而不仅仅是完成作业。
对师生关系以及困难作业的看法
我认为理想的师生关系应该是一种共同学习、相互促进的关系。
老师不仅是知识传授者,也是学习过程中的指导者;学生也应该主动学习,而不是被动接受。
如果老师布置的作业存在困难,我选择:
C:向老师和同学请教,花更多时间,把作业完成。
因为软件工程学习过程中遇到问题是正常的,真正重要的是解决问题的过程。
关于参考和抄袭
参考和抄袭是存在明显区别:
参考是在理解别人工作的基础上,吸收其中的方法,并形成自己的实现;
抄袭则是不经过理解,直接复制他人的成果,并将其作为自己的工作。
未来的软件开发一定建立在已有技术基础上,因此学会正确引用和合理借鉴非常重要。
(3)未来规划
未来,我希望能够成为一名优秀的软件工程师,参与实际的软件项目开发。
相比其他同学,我认为自己的优势不大。
不足之处:
- 项目经验不足;
- 编程实践时间较少;
- 对行业了解还不够深入。
针对这些问题,本学期计划:
- 认真完成软件工程课程任务;
- 增加代码练习时间;
- 学习Git和项目管理工具;
- 阅读优秀开源项目。
(4)软件工程课程计划
我希望通过这门课程了解真实的软件开发流程,我希望自己不仅能够完成课程作业,更能够真正理解软件工程思想。
目前我的代码量大约为:
68行。
如果未来进入优秀的软件公司,需要的不只是代码数量,更重要的是代码质量、工程经验和解决问题能力。
本课程中,我计划平均每周投入:
7个小时。
我的选择:
D:比以前课程投入更多时间,直到达到目标。
三、WOOP计划
Wish
希望通过软件工程课程,提高自己的工程实践能力,完成一个完整的软件项目。
Outcome
如果目标实现,我希望自己能够:
- 掌握软件开发流程;
- 提高代码能力;
- 拥有团队项目经验;
- 为未来就业做好准备。
Obstacles
可能遇到的问题:
- 自律能力不足;
- 容易拖延;
- 编程基础不够扎实。
Plan
如果出现拖延:
那么我会提前安排任务时间,并每天完成当天目标。
如果遇到不会的问题:
那么我会先查资料,再向老师和同学请教。
如果代码无法完成:
那么我会拆分任务,逐步解决。
四、《构建之法》阅读问题与反馈
问题一:软件工程师是否必须严格遵守流程?
书中强调软件开发需要规范流程。
我的疑问是:
在实际开发中,如果项目规模较小,是否仍然需要完整执行所有流程?
我的理解是,小项目和大型项目应该采用不同程度的软件工程方法。
问题二:个人能力和团队流程哪个更重要?
软件开发依赖团队合作,但是个人能力也是基础。
我的疑问是:
一个优秀程序员是否一定需要花大量时间学习团队流程?
问题三:测试是否会降低开发效率?
测试需要投入额外时间。
我的疑问是:
在时间紧张的情况下,开发人员应该如何平衡开发速度和测试质量?
问题四:创新是否一定来自技术突破?
书中介绍了创新的重要性。
我的问题:
创新是否一定需要创造全新的技术?还是通过已有技术组合解决问题也属于创新?
问题五:软件工程中的经验是否可以复制?
不同项目环境不同。
我的疑问:
书中的经验方法是否适用于所有软件开发场景?
关于课程反馈,我选择:
C:有问题就问,至少一学期提出三个问题,认真填写反馈。
因为反馈不仅能够帮助老师改进教学,也能够帮助自己主动思考。
五、前车之鉴
文章一:《IT小小鸟的故事》
链接:
https://book.douban.com/subject/4006425/
阅读之后,我认识到计算机学习不能只依靠课堂。很多学生虽然是计算机专业,但如果缺少实践,也可能无法真正掌握专业能力。因此,我认为大学阶段应该主动学习,多写代码,多积累项目经验。
文章二:偏科生自学摸索的道路
链接:
https://www.cnblogs.com/xiaozhi_5638.html
文章让我认识到,专业学习过程中不能只关注成绩。实际工作更加看重综合能力,包括:
- 编程能力
- 项目经验
- 学习能力
因此,我应该利用大学时间提高自己的综合竞争力。
六、GitHub仓库
我的GitHub地址:https://github.com/mazhaozhe
GitHub README截图:

七、博客园设置

浙公网安备 33010602011771号