2024秋软件工程课程个人作业(第一次)

软件工程课程 班级链接
作业要求 作业链接
作业目标 搭建个人博客,熟练使用AI工具,自我评估并规划未来发展
学号 102201312

一、个人logo文生图任务

  • 使用免费的AIGC图像生成工具为你的Github和博客园账号创建一个独特的个人Logo。
  • 请在作业中展示生成的Logo,并描述设计的理念与过程。
  • 请在作业中加入截图和描述生成Logo的步骤,最后总结你使用文生图AIGC工具的使用体验和感想。

展示与描述

设计理念:这个logo设计的理念是通过简洁的线条和形状来体现莫比乌斯环的独特特点。

具体过程如下:

  1. 形状选择:首先选择了一个圆形作为基础,因为圆形象征着完整和无限。
  2. 莫比乌斯环元素:在圆形内部,设计了一个类似字母“S”的形状,这个形状由两条对称的弧线组成,互相交织,形成一个连续的环。这种设计意图是通过简单的几何形状来表现莫比乌斯环的无限性和连续性。
  3. 颜色选择:采用了单色调的浅蓝和黑色,给人一种现代、简洁的感觉,同时也突出了形状的流动性和动态感。
  4. 整体效果:最终的效果是一个既简洁又富有深意的logo,能够传达出连接、统一和无限的概念。

AIGC的使用和感想

​ 我使用了微软的AIGC——COPILOT,来生成我的个人logo

我的感想:

​ 其实早在ChatGPT向大众开放时,我就开始使用AIGC了,但我基本上是用于生成文本,调试代码,却很少用来生成图像。这次用AIGC生成个人logo,我的最大感想就是它生成的一些图像确实可以媲美人类的创作。不过显而易见的,由AI生成的图像,就是会带有一点‘虚假’的感觉,相信未来AIGC生成图像会更加真实。

二、Github个人主页搭建

  • 在GitHub上进行个人主页的搭建,可以选择两种方式的一种来建立个人主页:
    1. 建立个人资料自述文件。在GitHub新建一个与自己GitHub ID一致的仓库,在仓库根目录的README下写下自己的介绍,并把个人资料截图放在作业博客中。参考资料
    2. 使用GitHub Pages建立个人主页。使用Github Pages建立一个内容丰富的个人主页。参考资料 1参考资料 2
  • 在个人主页中添加以下内容:
    • 介绍你自己。比如你的兴趣爱好,你认为值得向别人展示的记忆,可以使用照片丰富网页,并把个人资料截图放在作业博客中。
    • 介绍自己的成就、成果,技能和专业相关经验经历,并进行自我评估。目前你已经具备了哪些专业知识和能力;你对哪类技术方向有兴趣;你最想学习哪些方面的知识。
    • 规划自己未来三年的发展设想。考研?保研?工作?考公?你可以谈一谈自己未来三年的目标,并给出理由。

点击进入我的个人资料自述ReadMe

点击进入我的个人博客Github.io

  • 仅用来存放一些个人文章和笔记,不喜勿喷,欢迎评论~

三、 在博客园发一篇随笔

  • 请给出你当前的技能树与技术偏好,即进行自我评估:目前你已经具备了哪些专业知识和能力;你对哪类技术方向有兴趣;你觉得自己还缺少什么样的能力。请分点描述,比如我目前已经具备了三种能力,能力 A 是什么;能力 B 是什么;能力 C 是什么。格式不限于上述样例,关键在于需要逻辑清楚, 请注意:了解你会什么以及你不会什么,是教师与助教关注的重点内容。
  • 你之目前的代码量;本学期这门课完成后,希望达到的代码量
  • 最期待在课程中能够学习到什么知识,有什么收获。
  • 请选择一个Chatgpt类型的工具(如:chatgpt、文心一言,通义千问,讯飞星火等)生成一份简单的软件工程这门课的学习指南,并将指南复制到这篇随笔中。分析这份学习指南是否合理、是否对你有帮助。

我的技能树和能力

  • 汇编与反汇编
  • c语言
  • c++
  • java
  • python
  • 机器学习库(如TensorFlow、PyTorch)
  • 偶尔玩玩板子
  • 能够熟练使用搜索引擎和AI工具解决问题

我所缺少的

  • 独立实现整个项目流程的经验
  • 使用面向对象编程的逻辑思维

我感兴趣的技术

  • python爬虫
  • 前后端开发

代码量

可能几k?,本学期这门课完成后,希望完成一个项目,达到上w代码量

对课程的期待

在上这门课前就听学长说过栋哥的大名,于是我自然是期待在这门课上能够学习到真正有用的知识,比如软件工程开发的整体思维框架。我更期待的是团队共同完成一个项目的收获和满足。

四、AI生成软件工程学习指南

课程概述

​ 软件工程是一门研究软件开发、维护和管理的学科。它涵盖了软件生命周期的各个阶段,包括需求分析、设计、实现、测试和维护。

学习目标

  • 理解软件工程的基本概念和原则
  • 掌握软件开发生命周期的各个阶段
  • 学习常用的软件开发模型(如瀑布模型、敏捷开发等)
  • 熟悉软件需求分析和设计方法
  • 掌握软件测试的基本技术和工具

主要主题

  1. 软件开发生命周期
    • 需求分析
    • 系统设计
    • 编码
    • 测试
    • 维护
  2. 软件开发模型
    • 瀑布模型
    • 敏捷开发
    • 螺旋模型
    • V模型
  3. 需求分析
    • 需求获取
    • 需求文档
    • 需求验证
  4. 软件设计
    • 设计原则
    • 设计模式
    • UML图
  5. 软件测试
    • 测试类型(单元测试、集成测试、系统测试)
    • 测试用例设计
    • 自动化测试工具

学习资源

  • 教材: 《软件工程:实践者的研究方法》
  • 在线课程: Coursera、edX上的软件工程课程
  • 工具: Git, JIRA, UML工具(如Lucidchart)

学习建议

  • 定期复习课程内容,确保理解每个阶段的关键概念。
  • 参与小组讨论,分享学习经验和解决方案。
  • 实践编写代码和测试,增强实际操作能力。

结论

​ 软件工程是一门实践性很强的学科,通过理论学习与实际项目相结合,可以更好地掌握软件开发的核心技能。

学习指南的合理性和帮助性分析:

​ 学习指南的结构分明,涵盖了课程概述、学习目标、主要主题、学习资源、学习建议和结论等部分,可以帮助我快速了解软件工程这门课程。另外学习目标的设定使我能够自我评估学习进度,及时调整学习策略。

​ 由此看来AIGC生成的学习指南是有一定的参考价值的。

五、后台Md编辑页面

六、挖坑

​ 我原想为我过去二十年平淡又不失波澜的人生作上一篇自述。二十年,占了人生的五分之一,它值得写上一个逗号,但转念一想,等等,我还要在等等。大三的的确确是所谓的分水岭,考研?保研?工作?考公?出国?有些人或许在踏入大学的校园前就已经规划好了未来,有些人或许内心想了又想,想法变了又变,主意捉摸不定,不可估计。很遗憾,我属于后者,但幸运的是,我已经想好了要前行的方向,我会坚持地走下去。

​ 因此,我在这篇作业里挖了一个坑,两年后再填的坑。

种一棵树最好是十年前,其次是现在。

初极狭,才通人,复行数十步,豁然开朗。

与君共勉。