软件工程第一次作业
这个作业属于哪个课程 | fzu-se2024 |
---|---|
这个作业要求在哪里 | 要求 |
这个作业的目标 | 了解前沿技术、熟悉常用工具、介绍自己 |
学号 | 102201331 |
1. 个人logo
- 以下为使用DALL-E 3生成的个人logo
- logo生成过程
先写一段简短的思路,再让gpt以此为主题润色,最后得到一段详细的prompt - 最开始想以ID“why not to study”为主题生成logo,但是AI对文本生成效果一般,常常不能完整的显示句子,故放弃。
于是联想到自己的爱好“📸”,摄影是通过镜头展示不同视角下的物理世界,而编程通过逻辑严密的语句构建个性化的虚拟世界,两者在某种程度上都可以说是对世界的积极探索🤓 - AIGC工具已经能很好的生成模板下的相同风格图片,但也存在一些缺点
如果输入一个简短的prompt,它给出的多个结果会有些许区别,但是无法完全满足使用者的需要,如果给出过于精细的prompt,它很大概率会缺少一些要素,还是无法完全满足要求。
- logo生成过程
2. 个人GitHub主页
- 个人GitHub主页
3. 随笔介绍自己
- 自我评估:
- 掌握C/C++,能通过其实现一些简单的数据结构和算法,但是在结束算法课后就很少再接触算法题了
- 自学python,涉猎过爬虫,但是后续较少使用,现主要通过python编写深度学习相关代码
- 深度学习入门,刷完80%《动手学深度学习》课程,完成cs231n计算机视觉方向公开课,现主要向目标检测方向学习
- 对软件开发、前后端技术了解不是很多,希望通过这门课学习一些前后端技术
- 代码量:未统计,估计小几千,主要集中在算法课学习过程中,没有计划走纯算法后就很少写代码。在DL中写的也不算很多,此前主要还在理论积累。😢
希望在课程结束后代码量能上万👍 - 对课程的期待:分析此课程需要的技能应该都是我所缺少的(软件开发,前后端技术),希望能通过此课程学习相关技术,拓展我的技术栈😋
- 使用LLM生成学习指南并分析(Chat-GPT4o)
以下为gpt生成的学习指南
软件工程学习指南
欢迎来到软件工程的世界!作为一名新生,以下是你学习软件工程的指南,涵盖了基础知识、实践建议和学习路径。
1. 了解软件工程的基础
- 什么是软件工程? 软件工程是研究如何系统化、可量化、可管理地开发和维护软件的学科。它涵盖了软件开发的各个阶段:需求分析、设计、编码、测试、部署和维护。
- 学习主要概念: 了解软件生命周期模型(如瀑布模型、敏捷开发)、版本控制、软件架构和设计模式、测试方法(单元测试、集成测试、验收测试)等。
2. 掌握编程基础
- 选择一门编程语言: 推荐从Python或Java开始,因为它们语法简单,社区资源丰富。学习语言的基础语法、数据结构(数组、链表、栈、队列、树等)和常见算法(排序、查找、图算法等)。
- 练习编程: 使用在线平台(如LeetCode、HackerRank、Codeforces)进行编码练习,以增强编程技能。
3. 学习软件开发工具和环境
- 版本控制系统: 学习使用Git和GitHub进行代码版本管理,这是现代软件开发必备的技能。
- 集成开发环境(IDE): 了解如何使用如Visual Studio Code、IntelliJ IDEA等IDE,提高编码效率。
- 开发操作系统: 学习使用Linux操作系统,因为许多开发和部署环境都是基于Linux的。
4. 掌握软件工程的基本原则和方法
- 面向对象编程(OOP): 学习面向对象的概念(如类、对象、继承、多态)以及如何在代码中应用这些概念。
- 设计模式: 了解常用的设计模式(如单例模式、工厂模式、观察者模式),这些模式可以帮助你编写更模块化和可维护的代码。
- 软件架构: 学习常见的软件架构风格(如MVC、微服务架构)以及它们的应用场景。
5. 实践项目开发
- 参与小型项目: 开始做一些简单的项目,例如创建一个小型的Web应用、开发一个简单的命令行工具等。通过实践项目,理解软件开发流程。
- 团队合作和沟通: 学习如何在团队中工作,掌握代码审查、版本控制协作、项目管理工具(如JIRA、Trello)等。
6. 学习软件测试和质量保证
- 测试基础: 学习编写单元测试、集成测试,并了解自动化测试工具(如JUnit、Selenium)。
- 代码质量: 了解代码审查的最佳实践,学习如何编写高质量、可维护的代码。
7. 阅读推荐
- 《代码大全》(Code Complete)——软件开发的经典著作。
- 《设计模式:可复用面向对象软件的基础》——了解设计模式的优秀读物。
- 《重构:改善既有代码的设计》——学习如何改善已有代码的结构和质量。
8. 保持持续学习
- 参与社区和论坛: 加入在线编程社区(如Stack Overflow、Reddit的r/programming等),向其他工程师学习。
- 观看课程和教程: 使用如Coursera、edX、Udacity等平台上提供的软件工程课程,进一步提升技能。
- 开源项目贡献: 通过GitHub等平台参与开源项目,获得实际开发经验。
9. 规划学习进度
- 制定一个学习计划,包括每天或每周的学习时间、目标和实践任务,保持一致性和进度感。
10. 接受挑战并享受过程
- 软件工程学习可能会有挑战,但也是一个充满创意和成就感的过程。保持好奇心和耐心,享受每个学习和实践的过程!
如果你有任何特定问题或需要进一步的指导,随时向我提问!
- 此指南给出了软件工程的学习路线但是还是有点笼统,如果能更详细点会更好。不过依旧可以跟着上述路线,再自行查阅资料进行学习。整体来说还是可以接受的。
博文编辑截图