第一次作业
作业一(随笔)
| 软件工程 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering |
|---|---|
| 作业要求 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546 |
| 作业目标 | 组员之间了解大家的能力情况以及爱好,便于后续一起团队分工,以及让老师清楚我们会什么,我们不会什么 |
| 学号 | 052201142 |
团队主页地址
https://github.com/QishengLiu/unbeatable-grade-hunters
技能树
- java基础
- sql语言
- python基础
- 机器学习,深度学习
- ……………………
技术偏好
个人会更偏向于深度学习,机器视觉方向
自我评估
1. 已经具备的专业知识和能力
- 对一些一般代码能够读懂
- 能够通过网络获取知识,解决自己不会的问题
- ………………
2.还缺乏的能力
- 看项目代码的能力
- 和其他人交流的能力
代码量
目前的代码量很低,只能写一些简单的代码,看懂部分代码,很少写过项目代码。
期待
期待能够通过本节课的学习,掌握一些前后端的知识,希望能够收获颇丰。
学习指南
第一阶段:基础奠基(约3-6个月)
这个阶段的目标是掌握编程的核心思想和基本工具,建立扎实的根基。
编程语言基础:
内容: 选择一门主语言深入学习(如 Python、Java 或 JavaScript)。掌握其基本语法、数据类型、流程控制、函数、面向对象编程等核心概念。
目标: 能够用该语言独立解决简单问题(如LeetCode简单难度的题目)。
计算机科学基础:
内容:
数据结构: 数组、链表、栈、队列、哈希表、树、图。
算法: 排序、搜索、递归、时间/空间复杂度分析。
目标: 理解不同数据结构的适用场景,并能分析算法的效率。
版本控制:
内容: 学习 Git 的基本操作:clone, add, commit, push, pull, 分支管理,合并冲突。
目标: 能够使用 GitHub 或 GitLab 等平台管理个人代码。
第二阶段:核心技能与工程化(约6-12个月)
这个阶段的目标是学习如何构建一个完整的、可维护的应用程序。
软件开发方法:
内容: 了解敏捷开发、Scrum、Kanban等主流开发流程。理解需求分析、任务拆分的重要性。
软件设计原则:
内容: 学习 SOLID 原则、设计模式(如工厂、单例、观察者模式)、编写可读性高的代码(Clean Code)。
目标: 能够设计出模块化、可扩展、易于理解的代码结构。
数据库知识:
内容:
SQL数据库: MySQL/PostgreSQL,学习数据库设计范式、SQL查询、索引、事务。
NoSQL数据库: MongoDB/Redis,了解其适用场景。
目标: 能为应用设计合理的数据库结构,并编写高效的SQL。
网络与API:
内容: 理解 HTTP/HTTPS 协议、RESTful API 设计原则。
目标: 能够编写和消费 RESTful API。
第三阶段:系统构建与进阶(长期)
这个阶段的目标是具备构建和维护复杂、高可用系统的能力。
系统设计:
内容: 学习如何设计一个大型系统,包括负载均衡、缓存、消息队列、微服务架构等。
目标: 能够应对系统设计面试,并对现有系统进行技术选型和架构设计。
运维与部署:
内容:
操作系统: Linux 常用命令和基本管理。
容器化: Docker 的基本使用。
DevOps基础: CI/CD(持续集成/持续部署)概念和工具(如 Jenkins, GitLab CI)。
目标: 能够将应用部署到云服务器(如 AWS, Azure, 阿里云)并实现自动化部署。
软技能:
内容: 沟通协作、代码审查、项目管理、问题排查与调试能力。
目标: 成为一名高效的团队成员。
实践项目驱动
每个阶段都必须配合项目实践:
第一阶段末: 开发一个命令行工具或简单的桌面应用。
第二阶段末: 开发一个全栈Web应用(前端+后端+数据库),并部署上线。
第三阶段: 参与开源项目或尝试重构/扩展第二阶段的项目,引入更复杂的功能和架构。
分析:总体而言,这份软件工程学习指南是一份结构合理、极具帮助性的蓝图。它成功地将庞杂的知识体系梳理成一条可执行的路径。对于任何有志于成为软件工程师的人来说,遵循这份指南并持之以恒地实践,完全能够建立起扎实的专业基础,并具备在行业中发展的核心竞争力。成功的关键在于行动、坚持和不断反思。
我觉得对我还是具有一定的参考价值!!!!!
编辑过程截图

个人资料截图


浙公网安备 33010602011771号