软件工程实践寒假作业

助教-刘黄龙 社区管理员 2024-01-28 15:07:09

欢迎来到软件工程实践,提前祝大家新年快乐!
寒假期间的你是否待在家里感到无聊呢?不如利用这段时间学习更多技能、提高自身水平,为下学期的软工实践,为今后的学习、工作做好准备。让我们通过寒假第一次作业热热身吧!

为了不遗漏作业内容,这里有一份checklist方便你快速查阅

  • 提前注册CSDN;加入班级社区
  • 详细阅读作业要求
  • 提前学习markdown语法
  • 阅读《构建之法》
  • 撰写博客
    • 作业目录,作业简单描述
    • 回首过去、立足当下、展望未来中的所有问题和要求
    • 思维导图和学习路线
  • 核对作业评分标准
  • 在deadline之前,在社区中提交作业(发表博客需要审核,建议在deadline前一段时间发表

0.截止时间

本次作业截止时间为2024年2月16日

1.准备工作

中国专业IT社区CSDN (Chinese Software Developer Network) 创立于1999年,致力于为中国软件开发者提供知识传播、在线学习、职业发展等全生命周期服务。这里有许多IT精英分享技术、答疑解惑。不论是学习技术还是记录学习历程,CSDN都是一个很好的交流平台,赶紧加入吧!

  • 1.1请在CSDN上注册,作业内容将以发布文章的形式提交
  • 1.2 加入课程CSDN社区
  • 1.3 修改社区的昵称,昵称格式:学号姓名,例如:

  • 1.4关注老师和助教的CSDN博客:

    林老师:CSDN
    孔志豪助教:CSDN
    刘黄龙助教:CSDN
    吴可仪助教:CSDN

  • 1.5学习使用Markdown文本语法撰写博客【参考附录教程1-2】

    Markdown 是一种轻量级的「标记语言」,它的语法十分简单。常用的标记符号也不超过十个,这种相对于更为复杂的HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多。今后撰写作业文章都将用到Markdown来编写,请将CSDN的默认编辑器设置为Markdown。

  • 1.6注册CSDN后,登录gitcode(github也类似),尝试建立一个public代码仓库,以学号命名,使用git上传一个代码文件(内容不限)到代码仓库,作业文章附上上传截图和仓库地址。【参考附录教程3-5】

2.回首过去

转眼间就要到大三下学期了,大学四年不知不觉快要结束了,回首过去在填报志愿时选择了软件工程,现在一定感慨万千吧!请撰写博客回答以下问题:

  • 2.1 当初你为什么选择软件工程这个专业?
  • 2.2 当初对软件工程这个专业的期待和想象是什么?
  • 2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?

3.立足当下

转眼已经大三,下一个暑假就要开始实习、找工作或考研了,之后就将进入毕业季。回顾总结你在软件工程专业前两年半的学习经历和项目技能等,写一篇你自己的简历,以你觉得合适的简历模板的形式,在博客用markdown排版呈现。要求如下:

  • 3.1 姓名/昵称、照片/头像、兴趣爱好、特长等个人展示部分(可以不出现真名和真人照片)
  • 3.2 当前值:展示截止目前你的真实水平:
    • 成果和获奖经历
    • 专业水平:掌握的编程语言、技术框架、开发软件,累计代码量
    • 项目经历:开发过的项目简介

4.展望未来

学习是一个永恒的课题,不管未来你是选择找工作、考研、考公还是出国留学,你都需要学好专业知识:

  • 4.1阅读《构建之法》,并阅读构建之法社区中前人提出的问题,选择5个及以上的问题写下自己的思考。要求在自己的思考中贴上原问题的链接
  • 4.2 你未来的职业规划是什么?
  • 4.3 对于软件工程实践课程,你有什么理解和期望?例如:
    • 你希望通过软件工程课程学习到什么技术(前端、后端、平台、语言、框架、工具、软件、研究方向等,仅列出一个即可)、提高哪些方面的能力;
    • 你对老师助教有什么期待?
    • 或者其他相关内容

5.学习路线

在上一部分关于未来的展望中,你提到了你最想学习的技术;在软件工程实践课程中,同学们可以利用个人编程作业、结对编程作业、团队项目作业,学习和熟练这项技术(因此,在挑选学习目标时,同学们需要考虑是否可以将该项技术应用到软工实践课程)。接下来,请为你的学习目标绘制你的学习路线图,要求如下:

  • 5.1采用专业的思维导图软件,建议可以是:MindManager、XMind、iMindMap、FreeMind、Mindomo、MindNode……等等之一。推荐免费的Xmind。
  • 5.2 绘制思维导图,包括但不限于以下内容:学习这门技术需要的精选的书本和网络资源、这个技术的方向和分支、入门掌握精通的学习路线图、入门掌握精通的三阶标准、 对应的岗位或应用研究方向的趋势了解和分析。
  • 5.3 绘制路线图规划学习的时间计划,以寒假+下个学期,即6个月为周期,描述6个月内你打算学习这项技术的规划安排。
  • 5.4 在博客给出路线图和思维导图软件导出的图片

严禁直接COPY或抄袭现成的某个技术的路线图。路线图可以参考现有的,但必须博采众家之长,并有你自己的心血凝结其中。你绘制的路线图,从绘制到内容呈现,整体上必须是原创的。
技术路线可以参考:CSDNIT人才成长路线图CSDN技能树

附:之前课程中,同学们绘制的思维导图:
思维导图1完整博客1
思维导图2完整博客2
思维导图3完整博客3

6.往届学长学姐的建议

  • 软件工程实践总结——It's the end.૮(˶ᵔ ᵕ ᵔ˶)ა

    结对编程是与另一个开发者一起合作编写代码的过程。这种合作可以促进共同思考和学习,促进团队之间的知识共享和技能提升。并且两个人一起编程可以相互检查代码,减少错误和缺陷。通过结对编程,我可以提高代码质量、减少漏洞,并且在早期发现和纠正问题

  • 软件工程实践总结──迄今为止最满意的成果

    作为组长,审视一个组员是否优秀,没有想象中的那么容易。因为我不是他,他是否具备独立解决问题的能力还真不好考察──真说不来他解决问题是完全靠自己,还是问了 ChatGPT 得到了一个看似合理,但存在漏洞的答案。相较来看,和其他人协作的能力比较好考察,在开会时他的态度、在群里的发言等都可以反映出来。目前,我认为一名合格的程序员应当能融入团队,积极参与每一次讨论,贡献自己的想法;按时完成分配的任务,并及时向组长汇报完成情况

  • 软件工程工实践总结--阳光总在风雨后

    设计看似在项目中不起眼,但是真的值得我们花上大量的时间去完成,不仅仅是提供更好更清晰的展示,而且可以为后续的实现免去不必要的麻烦

  • 挣脱束缚的一步——软件工程实践总结

    对象池常使用于大量游戏对象的维护上。作为游戏优化的大头,其实现可以很简单也可以很复杂,这里举例说明多类型对象池的学习记录。此处对象池异于引用池。在Unity中使用常用的对象池时,需要理解对象池的的原理和Unity的生命周期,而此处的“坑”也和一种对象池的实现有关

  • 软件工程实践总结——万变守其本,吾心持长青

    α冲刺阶段是在先前准备完善的基础上进行正式的代码冲刺, 通过前期的几次合作磨合, α冲刺不管是在代码书写, 架构设计, 数据库设计上都变得更为容易、更加顺利, 组员在组长的带领下, 能够高效的完成自己的任务,发挥自己的能力,最终在α阶段结束时,我们已完成了任务大多数的内容,大大减轻了β冲刺的压力, 也是体现出前期准备的重要性

    1. 先进行部分模块测试可以节省时间。通常说来,我们在整合不同的模块时也会出现问题,例如模块之间的接口不匹配。但是如果我们能够信任各个组件的话,那么跟踪集成问题就会变得简单得多
    2. 投入足够的时间和资源进行全面的测试。包括单元测试、集成测试和系统测试,以确保代码的质量和系统的稳定性。自动化测试也是提高效率和减少人为错误的重要手段
    3. 测试工作通过对软件进行全面和严格的检验,可以发现软件存在的各种问题,以便及时修复和改进。这不仅确保软件达到高质量标准并满足需求,也推动软件不断完善和优化
    4. 设计阶段的工作十分关键而重要,相比需求阶段初步勾勒出产品雏形,设计阶段对软件进行全面而深入的设计,使软件变得更加具体、详细和全面
  • 更多内容请查看往届社区博客:
    https://bbs.csdn.net/forums/ssynkqtd-01
    https://bbs.csdn.net/forums/weixin_53785144-01

7.格式与规则

7.1、为了方便其他学校的老师或者助教了解课程实况,请大家在作业开头添加作业的基本信息:(必做)

这个作业属于哪个课程

<班级的链接>

这个作业要求在哪里

<作业要求的链接>

这个作业的目标

<写上具体方面>

其他参考文献

...

markdown代码

|这个作业属于哪个课程|<班级的链接>|
|--    |--    |
|这个作业要求在哪里|<作业要求的链接>|
|这个作业的目标|<写上具体方面>|
|其他参考文献|...    |

7.2、为了方便阅读以及助教评分,请大家在博客开头给出博文目录,作为内容的索引

  • 务必包含以下大标题:回首过去、立足当下、展望未来、思维导图和学习路线(标题含义近似即可,你可以个性化自己的标题,如我的过去、我的简历、我的展望、学习计划)

  • 可以使用markdown的语法[toc],根据标题设置自动生成目录:

      [toc]
      作业基本信息...
      ## 回首过去### 
      问题1### 
      问题2### 
      ...
      ## 立足当下
      ...
      ## 展望未来
      ...
      ## 思维导图和学习路线
      ...
    
  • 也可以结合html生成目录

      作业基本信息...
      ## 目录:
      1. [回首过去](#1)
      2. [立足当下](#2)
      3. [展望未来](#3)
      4. [思维导图和学习路线](#4)
    
      ## <span id="1">1. 回首过去</span>
      ### 问题1
      ### 问题2
      ### ...
      ## <span id="2">2. 立足当下</span>
      ...
      ## <span id="3">3. 展望未来</span>
      ...
      ## <span id="4">4. 思维导图和学习路线</span>
      ...
    

7.3、作业提交规则

  • 博客以班级作业页面的提交时间为准;需要提交的代码以gitcode的提交时间为准;

  • 作业提交需要在对应作业下点击提交任务,上传对应的博客网页地址;

  • 在deadline前交,分数为实际得分;

  • 补交:在deadline 后两天内提交视为补交,分数为实际得分 * 50%;写了但是忘记提交作业和补交扣分一致

  • 缺交:在deadline 之后两天未补交视为博客缺交,分数为0分;

  • 注意事项:每次作业记得保留markdown原文件,防止部分图片等内容因为版权等问题无法显示,同时方便期末对每次作业的汇总,提交

7.4、作业计分规则

每次作业的基准分满分为100分,各次作业会以特定比例换算到学期成绩。比如:

某次作业,满分100分,以权重25%换算到学期总成绩
小李此次作业得分85分,作业在deadline前提交,那么他本次作业会以85*100%*25% = 21.25换算到总成绩中
小张此次作业得分85分,并是在deadline后的两天内补交,那么他本次作业会以85*50%*25% = 10.625换算到总成绩中
小王在作业deadline两天后还未补交,作业提交已经关闭,此次作业得0分...

7.5、其它规则

  • 作业抄袭:当助教发现两篇博客文字/图片/代码过分相似时,判定两篇博客都为抄袭,该次作业不得分,并倒扣该次作业占总成绩比重的分数;(特别提醒:copy往期同学的作业也算作抄袭,请同学们务必独立思考!)
  • 伪造提交:虽然作业博客没有完成,但是先提交到作业占位置,判定为伪造提交,分数得0分;
  • 微信班级群如果发布相关通知也是作业要求一部分,请及时查看群通知;
  • 若需要在课程群填写相关信息,未能在deadline之前完成填写的,扣实际得分的50%;
  • 如对作业存在疑问,请在deadline之前三天在班级群提出;
  • 若助教对作业要求有修改,会在群内公告,请务必查看并按新的要求完善作业;

8、评分细则

  1. 【博客排版】(15%):是否在博客开头给出了本次作业的基本信息;是否给出了博客内容目录;是否采用markdown排版,排版是否整齐,博客是否美观;
  2. 【回首过去】(20%):回答具体,不笼统,图文兼备
  3. 【立足当下】(20%):简历格式整齐美观;项目描述详略得当,展现自己的角色和贡献,以及最终项目成果如何
  4. 【展望未来】(20%):回答生动具体,不笼统
  5. 【思维导图和学习路线】(25%):思维导图是否覆盖所有要求的内容,整齐美观;路线图是否详尽具有可行性

9、附录教程

1、markdown教程-Gitcode
2、markdown教程-菜鸟教程
3、Gitcode帮助文档
4、Git入门-Gitcode
5、Git学习-菜鸟教程
6、Xmind绘制思维导图教程

...全文
6326 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
0人已提交
完成率0%
暂无数据
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文介绍了一种用于电磁暂态(EMT)研究的第四类全变流器型风力发电系统的通用Simulink仿真模型,旨在构建一个能够准确反映实际风电系统动态特性的简化通用模型。该模型涵盖了风力机、传动链、发电机、全功率变流器及其控制策略等关键组成部分,重点突出系统在电网故障、风速波动等复杂工况下的动态响应能力,适用于风电并网电磁暂态分析、新型电力系统稳定性评估及高比例可再生能源接入场景的研究。模型设计兼顾准确性与仿真效率,便于研究人员快速搭建和调试,推动风电系统建模与控制技术的发展; 适合人群:具备一定电力系统理论基础和MATLAB/Simulink仿真能力,从事新能源发电、电力电子变换、风电并网控制及相关方向的研究生、科研人员及工程技术人员; 使用场景及目标:①开展风电系统在电网扰动下的电磁暂态仿真分析;②研究全功率变流器风电机组的动态行为与控制特性;③支撑新型电力系统中高渗透率风电接入的稳定性与电能质量评估,服务于学术研究、课程教学与工程项目前期仿真验证; 阅读建议:建议读者结合文中提供的模型结构与参数设置,在Simulink环境中动手复现并调试仿真模型,通过设置不同运行工况(如三相短路、低电压穿越、风速突变等)观察系统响应,深入理解全变流器风电机组的建模方法、控制逻辑与动态特性,进而拓展应用于更复杂的多机并网或综合能源系统仿真场景。
源码下载地址: https://pan.quark.cn/s/d18200fd2664 在基于Ubuntu的系统中,针对TCP与UDP网络进行排错对于开发人员及系统维护者而言是日常工作中的关键环节。为了能够迅速地识别并解决网络层面的故障,挑选出合适的辅助工具显得尤为必要。提及的"适用于ubuntu的TCP/UDP排错资源"很可能是指向`mNetAssist`这款应用,从压缩文件清单中包含一个名为`mNetAssist-released.deb`的条目来看,这通常表明该文件是为Debian或Ubuntu平台设计的软件安装包。`mNetAssist`作为一个功能全面的网络监控与排错软件,能够协助用户对TCP/IP网络连接进行检测、剖析以及调试。接下来,我们将对这款软件的各项特性以及其在Ubuntu系统上的安装与运用方法进行详尽的阐述。 为了部署`mNetAssist`,首先需要确认Ubuntu系统已经更新至最新状态,并且已经配置了`apt`软件包管理机制。在终端界面中输入下列指令来执行软件包的安装流程: ```bash sudo apt update sudo apt install dpkg ``` 接着,将`mNetAssist-released.deb`软件包文件传输到Ubuntu系统的某个文件夹内,例如`~/Downloads`目录,随后利用`dpkg`指令进行安装操作: ```bash cd ~/Downloads sudo dpkg -i mNetAssist-released.deb ``` 在安装阶段若遭遇依赖性难题,可能需要借助`apt-get`来处理: ```bash sudo apt-get install -f ``` 完成安装后,用户可以通...
内容概要:本文探讨了Hash算法在芯片行业,特别是网络处理器(NPU)中的性能优化实践,聚焦于如何通过硬件流水线设计实现纳秒级高速哈希查找。文章分析了传统软件哈希方案在高带宽场景下的局限性,提出基于硬件描述语言或高层次综合(HLS)的设计方法,采用CRC32等硬件友好型哈希函数、并行多路哈希、流水线化解耦以及双端口存储结构等核心技术,实现低延迟、无阻塞的数据包处理。通过C++风格的HLS代码示例,展示了从算法选择到资源优化的完整硬件加速逻辑,并深入剖析了循环展开、位宽控制、内存映射和流水线调度等关键实现细节。最后展望了可编程交换机、P4语言支持及TCAM与哈希混合架构等未来发展方向。; 适合人群:具备数字电路基础、熟悉Verilog/SystemVerilog或HLS的芯片设计工程师,以及从事网络芯片、FPGA加速、高性能路由设备研发的技术人员(工作年限1-5年为宜);也适合对硬件加速算法感兴趣的研究人员。; 使用场景及目标:①掌握如何将哈希算法高效映射到硬件逻辑中以满足线速转发需求;②理解流水线设计、资源约束优化、读写冲突规避等在实际芯片项目中的应用;③为开发高性能网络处理器中的流表/路由表查找单元提供技术参考与实现范例。; 阅读建议:学习时应结合HLS工具(如Xilinx Vitis HLS)进行代码仿真与综合,重点关注#pragma指令对硬件结构的影响,并对比不同哈希算法在资源占用与时序表现上的差异,深入理解“空间换时间”的硬件优化本质。
内容概要:本文系统研究了基于粒子群优化(PSO)、灰狼优化(GWO)、鲸鱼优化(WOA)、哈里斯鹰优化(HHO)、蜣螂优化(DBO)和麻雀搜索算法(SSA)六种智能优化算法在无人机三维路径规划中的应用,并在Matlab平台上实现了相应的仿真代码。研究构建了复杂的三维地形与障碍物环境模型,设计了包含路径长度、飞行时间、能耗及安全性等多维度的成本函数,通过定义合理的适应度函数与飞行约束条件,对各类算法的路径搜索能力、收敛速度与规划质量进行了全面对比分析。通过仿真实验验证了各算法在静态复杂环境下的性能表现,旨在为实际无人机任务中优化算法的选择提供科学依据和技术支持。; 适合人群:具备一定Matlab编程基础,从事智能优化算法、无人机路径规划、自动化控制及相关领域研究的研究生、科研人员或工程技术人员。; 使用场景及目标:① 掌握主流群智能优化算法在无人机三维路径规划中的建模与实现方法;② 对比分析不同算法在相同复杂环境下的性能差异,为算法选型提供量化依据;③ 为后续研究动态环境路径规划、多无人机协同任务分配等问题奠定理论与技术基础; 阅读建议:建议读者结合提供的Matlab代码逐模块分析算法实现流程,重点关注适应度函数的设计、障碍物规避策略的实现以及多目标成本函数的权衡机制,同时可通过调整参数设置或引入新型优化算法进行扩展实验,以深化对算法性能的理解与实际应用能力。

122

社区成员

发帖
与我相关
我的任务
社区描述
FZU-SE
软件工程 高校
社区管理员
  • LinQF39
  • 助教-吴可仪
  • 一杯时间
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧