软件工程第一次个人作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13243
这个作业的目标 熟悉GitHub和博客园的各种基础操作,向大家介绍自己的能力与今后的准备
学号 102202111

1.个人logo文生图任务

  • 设计的理念与过程

我希望在coding的过程中能够像机械一样冷静,并有条不紊地创造出很多高科技的东西。

  • 请在作业中加入截图和描述生成Logo的步骤,最后总结你使用文生图AIGC工具的使用体验和感想

我本来对chatgpt描述这个城市的样貌,但是它生成的太复杂且不像logo,像一个电影里的场景

后面我又限制了条件,生成的图片让我比较满意

  • 对文生图AIGC工具的使用体验和感想

chatgpt除了有一些时候会犯傻外,大部分时间由我们的指令所生成的回答是十分准确的,减少我们不必要的工作

2. Github个人主页搭建

在个人主页中添加以下内容:
介绍你自己。比如你的兴趣爱好,你认为值得向别人展示的记忆,可以使用照片丰富网页,并把个人资料截图放在作业博客中。
介绍自己的成就、成果,技能和专业相关经验经历,并进行自我评估。目前你已经具备了哪些专业知识和能力;你对哪类技术方向有兴趣;你最想学习哪些方面的知识。
规划自己未来三年的发展设想。考研?保研?工作?考公?你可以谈一谈自己未来三年的目标,并给出理由。

3. 博客园随笔:

自我评估

1.已具备的专业知识和能力
  • 编程基础:我已经掌握了多门编程语言的基础,包括 Python、Java 和 C。能够编写中小型的应用程序,并对面向对象编程有一定理解。

  • 数据结构与算法:我熟悉常见的数据结构如数组、链表、栈、队列、树和图,并且能够使用这些数据结构解决基础算法问题。

  • 数据结构与算法:我对前端的JavaScript有一定的了解

2.兴趣方向
  • 人工智能与机器学习:我对人工智能特别是机器学习有浓厚的兴趣,希望深入学习相关算法和模型,参与与深度学习有关的项目。
3.需要提升的能力
  • 高级算法与复杂问题解决:我发现自己在面对复杂的算法问题时有时会感到困难,特别是在时间复杂度和空间复杂度的优化上,希望能够通过更多的练习和学习提高这一能力。

  • 系统设计能力:我对系统设计的了解还比较表面,希望能够通过学习掌握更多设计模式、架构方案以及如何在实际项目中应用它们。

4.当前的代码量

目前,我的代码量大约在 5000 行左右,主要集中在小型项目和课程作业中。

5.课程目标

本学期结束后,我希望能够将代码量增加到 10000 行,通过实际项目和练习积累更多编程经验。同时,希望能显著提升自己的代码质量和编写效率。

6.课程期待

在这门课中,我最期待学习到的知识包括:

  • 更深入的算法分析与应用,特别是复杂问题的解决策略。
  • 团队协作开发的经验,通过小组项目了解如何在多人环境中高效工作。
  • 系统设计与架构的基础,希望能够了解如何设计出高性能、可扩展的系统。

通过这门课的学习,我希望自己能在编程能力、项目管理和系统设计等方面都有所提升,为未来的职业发展打下更坚实的基础。

软件工程学习指南(chatgpt生成)

软件工程是一门结合了计算机科学、项目管理和设计模式的学科。它不仅涉及编写代码,还包括如何以系统化的方法构建、管理和维护软件项目。以下是一个全面的软件工程学习指南,帮助你从基础到进阶掌握这一领域。

一、基础知识

  1. 计算机科学基础

    • 数据结构与算法:掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(排序、搜索、递归、动态规划等)。
    • 编程语言:选择一门或多门主流编程语言深入学习,如 Python、Java、C++ 或 JavaScript。理解基本语法、控制结构、面向对象编程等。
  2. 操作系统与网络

    • 操作系统:理解操作系统的基本概念,包括进程管理、线程、内存管理和文件系统。
    • 计算机网络:学习网络基础知识,包括 TCP/IP 协议、HTTP、DNS、路由、交换等。
  3. 数据库管理

    • 关系数据库:学习 SQL 语言,掌握数据库设计、查询优化、事务管理等。
    • 非关系数据库:了解 NoSQL 数据库,如 MongoDB、Cassandra,掌握它们的适用场景。

二、软件工程核心概念

  1. 软件开发生命周期 (SDLC)

    • 学习 SDLC 的各个阶段,包括需求分析、设计、编码、测试、部署和维护。理解敏捷开发、瀑布模型、迭代开发等开发模型。
  2. 版本控制

    • 学习 Git 和 GitHub/GitLab 的使用。掌握代码提交、分支管理、合并冲突解决等。
  3. 设计模式

    • 了解常见的设计模式,如单例模式、工厂模式、观察者模式、策略模式等,学习如何在实际项目中应用这些模式。
  4. 软件架构

    • 学习常见的软件架构模式,如 MVC(Model-View-Controller)、微服务架构、分层架构等。
  5. 测试

    • 掌握单元测试、集成测试、系统测试、验收测试的概念与实践。学习测试驱动开发(TDD)的方法。

三、实践与项目

  1. 个人项目

    • 通过构建个人项目来巩固所学知识。项目可以包括开发一个简单的 Web 应用、移动应用或开源贡献等。
  2. 团队协作

    • 参与开源项目或团队开发,学习如何进行代码审查、任务分配、团队沟通等。
  3. DevOps

    • 学习 DevOps 工具链,包括持续集成/持续部署(CI/CD)、Docker 容器化、Kubernetes 容器编排、自动化部署等。

四、进阶学习

  1. 系统设计

    • 学习如何设计大规模系统,包括可扩展性、容错性、高可用性等。掌握负载均衡、缓存、数据库分片、CDN 等技术。
  2. 安全

    • 学习 Web 应用安全知识,如 XSS、CSRF、SQL 注入、防火墙、加密等。理解如何在项目中实现安全措施。
  3. 云计算

    • 学习云服务平台(如 AWS、Azure、Google Cloud)的基础知识,掌握虚拟机、存储、网络服务等。
  4. 人工智能与数据科学

    • 如果对 AI 或数据科学感兴趣,可以进一步学习机器学习、深度学习、数据分析等内容。

五、学习资源

  1. 书籍

    • 《代码大全》 by Steve McConnell
    • 《设计模式》 by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
    • 《敏捷软件开发》 by Robert C. Martin
  2. 在线课程

    • Coursera、Udemy、edX 上的相关课程
    • MIT、Stanford、Harvard 提供的计算机科学公开课程
  3. 社区与论坛

    • Stack Overflow、Reddit、GitHub 社区
    • 加入当地或线上开发者社区,参与讨论和项目。

六、保持学习与成长

软件工程是一个不断发展的领域,保持学习新技术、工具和最佳实践至关重要。参加行业会议、阅读技术博客、与同行交流,都是保持成长的好方法。
通过持续学习和实践,你将能够在软件工程领域不断进步,最终成为一名优秀的软件工程师。

我认为这篇指南很详细,对我有很大的帮助

posted @ 2024-09-04 21:19  Con1427  阅读(27)  评论(0编辑  收藏  举报