软件工程第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024/
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243
-------------------------------------------------------- ------
这个作业的目标 1.完成个人logo图生文任务 2.完成Github个人主页搭建 3.完成自我评价与学习指南生成
学号 102201327

1.个人logo文生图任务

这里我使用的是ChatGPT4.0文生图工具,生成过程如下

设计理念

  • 因为我从小就喜欢打游戏,学习计算机也是小时候的兴趣所驱使。
  • 简约和线条能赋予图案流畅和动感,同时易于识别。
  • 小孩具有想象力与活力的特征,希望将来的我还能够保持创造力与好奇心。

使用感受

  • AIGC能够通简短的描述就能生成图像,极大极大减少了工作时间和精力。
  • 能够根据个人的需求,生成符合特定风格主题的个性化作品。
  • 操作门槛低,不需要专业的技能和工具,就可以轻松生成质量较高的作品。

2.Github个人主页搭建

在Github上进行了个人主页的搭建,如下图

3.自我评估与学习指南生成

自我评估

目前具备的专业知识和能力

  • 有一定的C与C++语法基础
  • 初步学习了数据结构
  • 有一定的线性代数与离散数学基础

有兴趣的技术方向

  • 对软件项目的开发,特别是游戏的开发有着深厚的兴趣
  • 多模态大模型
  • 网页爬虫

缺少的能力

  • C与C++没有项目开发的经验,只会写简单的算法题
  • 学习深度学习时不能熟练使用python以及需要使用的数据包,使得在自己重新复现代码的时候寸步难行
  • 自学能力较弱,常常能在一个简单的问题上卡很久,导致学习时间拉长,学习精力消耗过快

之前的代码量

  • 近几个月基本为0,现在上手写代码不能离开百度编程

完成课程后希望达到的代码量

  • 希望能够打到一万行

希望学到的知识

  • 能够写出自己的游戏软件,为未来提供项目经验
  • 学习到多人合作制作软件的流程以及经验,学习更高效率的软件制作方法
  • 学习软件开发过程中对需求改变的调整方法
  • 了解软件测试的各种方法以及面对测试失败后的策略

使用ChatGPT-4制作学习指南

1. 基础夯实阶段

C/C++项目开发

  • 目标:通过实际项目应用C/C++,解决你缺乏项目开发经验的问题。
  • 学习内容:
    • 深入学习面向对象编程: 强化对C++类、继承、多态、模板等概念的掌握。
    • 动手项目:
      • 开发一个简单的控制台游戏(如贪吃蛇、俄罗斯方块)。
      • 通过Git进行版本控制,学会基本的项目管理。
  • 工具推荐:
    • IDE:Visual Studio、CLion
    • 版本控制:Git

数据结构与算法

  • 目标: 通过数据结构与算法提升逻辑思维,应用在实际项目中。
  • 学习内容:
    • 掌握常见数据结构(链表、堆、栈、队列、树、图等)及其C/C++实现。
    • 学习常用算法(排序、搜索、递归、动态规划等)。
    • LeetCode、牛客网每天做1-2题。

2. 软件工程项目实战阶段

多人合作与项目管理

  • 目标: 通过项目开发体验多人合作和软件开发流程。
  • 学习内容:
    • 项目流程: 学习需求分析、设计、实现、测试与发布等完整开发流程。
    • 敏捷开发: 了解Scrum或Kanban等敏捷开发框架,学会如何应对需求变更。
    • 工具: Jira或Trello用于任务管理,GitLab或GitHub进行版本控制与代码审查。
  • 动手项目:
    • 组队开发一个多人协作的简单游戏或工具软件,体验团队开发的节奏和协作流程。

软件测试与质量保证

  • 目标: 掌握软件测试的基本方法,并学会处理测试失败。
  • 学习内容:
    • 单元测试(C++中的Google Test、Python中的unittest)。
    • 集成测试与回归测试。
    • 了解自动化测试工具和代码覆盖率工具。

3. 技术拓展阶段

Python与深度学习

  • 目标: 克服在Python及数据包使用中的障碍,掌握深度学习框架。
  • 学习内容:
    • Python基础与高级编程(熟练掌握面向对象、装饰器、生成器等)。
    • 学习NumPy、Pandas、Matplotlib、TensorFlow、PyTorch等常用数据包和框架。
    • 通过复现经典深度学习模型(如卷积神经网络、RNN等),逐步理解算法并提升代码复现能力。

游戏开发入门

  • 目标: 为未来的游戏开发奠定技术基础。
  • 学习内容:
    • 学习常见游戏引擎(Unity或Unreal)的基础使用。
    • 掌握2D/3D渲染、物理引擎、输入处理等基础概念。
  • 动手项目:
    • 开发一个简单的游戏Demo(如平台跳跃游戏、第一人称射击游戏)。

4. 持续学习与代码量提升

  • 目标: 增加代码量,提升编程速度与质量。
  • 方法:
    • 每周制定明确的编程目标,保持每日编程的习惯。
    • 定期回顾与重构代码,提升代码质量。
    • 参与开源项目或编程挑战(如Kaggle、GitHub上的项目)。
posted @ 2024-09-08 21:52  雨宫泠  Views(10)  Comments(0Edit  收藏  举报