当前位置: 首页 > news >正文

构建之法 - 软件工程实践教学:每天都向前推进一点点

作者:福州⼤学 汪璟玢⽼师

汪老师:每次都向前推进一点点,哪怕只有一点点,也好过什么都不做。

​邹老师:对,几个学期下来,就已经超过那些“空想”的团队很远了。坚持下去!

汪老师:团队Git现场编程实战。

邹老师:这个效果很好,建议在更早的时间让学生实践。

汪老师:敢于选实践的同学差不多理论班级三分一(今年理论人数暴多是意外)。在理论课中有的知识点讲完,习惯性的说:“选实践的同学就有体会啦~”

邹老师:在企业面试的时候就更有体会啦!

(2018秋)软件工程实践课程总结

向前推进……

又到写总结的时刻了,用白驹过隙形容也不为过!5个月前怀着刚刚执行完一轮构建之法的信心,又开始了新的“Learning by doing”之旅。与之前不同的是,此次人数大大增多。当然,在此之前我们早有准备:

  • 提前选定助教,参加北航的暑期培训。这一学期的实践证明,暑期的培训效果非常好!林静和静平两位助教不仅很快掌握实践的要素,而且配合默契,完全不需要我操心,真是太幸福啦!
  • 开学前就进行课程安排梳理,课程组讨论并定下博客作业与上机实践配合的schedule,有了plan,心中就有数啦!
  • 设置1-2次机动环节,根据实际情况,灵活变更。

我们把教学也当作一个项目来管理!

虽然选课人数增加,但是学生们的团队项目给了我们很多惊喜,选题多样、新技术结合自然,学生们活跃的思维令人赞叹。

由于实践是选修课,敢于选实践的同学差不多理论班级三分一(今年理论人数暴多是意外)。在理论课中有的知识点讲完,习惯性的说:“选实践的同学就有体会啦~”然后有些同学会心一笑……这样导致快到学期末的时候,有的学生找我说,后悔开学初没有选实践,感觉错过很多,哈哈!“不入虎穴,焉得虎子?”讲的就是这个理!这也说明,“Learning by doing”这种方式在慢慢被学生们认可~~

再一次感谢林静和静平两位助教!没有你们的付出,就没有这一轮教学的顺利完成!学生不爱找老师询问问题,却更愿意向助教敞开心扉。正是你们不厌其烦的答问、点评,给予学生向前的动力,鞭策他们的同时,也在鞭策你们自己。我欣喜的看到你们从开始的被动待问,到后面的主动将自己的项目开发经验与学生们交流。在跟你们一起讨论团队的评分标准时,你们提出既要考虑团队项目的总体表现,又要考虑个人在团队的贡献度、兼具公平性,我们一起拟定了一个看起来好复杂的公式,做了一个大大的分次成绩表格,这样学生们对于实践课最终的成绩是一目了然,做事的、划水的都各得其所。

每次都向前推进一点点,哪怕只有一点点,也好过什么都不做。

学生们的心声

在最后想写点自己在整学期软工实践的感想,有一种感觉就是突然发现已经过了4个月,软工实践即将结束。刚开始真的以为会很困难,自己代码量那么少,编码能力又不高,怎么坚持下去。但到后面,渐渐发现自己是可以做出点东西的,不断的学习是可以提高自己的。而期间获得的小黄衫也是对我努力的一种肯定,让我能明确自己的目标,继续地坚持下去。

虽然这次我十分不想换队员QAQ,不过还是建议下一届换队员,因为独乐乐不如众乐乐换队员有助于团队学习到发生人员变动了应该怎样交接,换出去的队员学习到如何融入一个进行中的团队。

在之前的课程中,还从来没有一门课让我用下载并使用了这么多的工具,并且之前从来不喜欢逛博客的我还是注册了好几个博客网站的账号,方便去博客网站上查找相关知识。

建议早早花点时间学习相关实践内容,赶项目时会轻松很多,毕竟工科,光背书不好。

基于以上两个问题我的beta冲刺可以说是一场空。我的确解决了很多问题,做了很多的工作,但是我扣错了第一颗扣子,所以我没有办法展示我的工作成果,我没有办法邀功。问题在于我的盲目,看见局部解默认找到了最优解。


结论:不要凭借第一直觉开始打代码,“团队交流很重要”

助教与学期小黄衫得主合影

软工实践博客作业安排与成绩排名情况(2018秋学期)

序号起止时间教学周序博客内容成绩排名
1暑期-9.041准备篇成绩排名
29.5-9.121-2个人实战--词频统计基本篇成绩排名
39.13-9.212-3结对第一次--原型设计(文献摘要热词统计)成绩排名
49.19-9.263-4团队展示成绩排名
59.22-10.103-6结对第二次--词频统计进阶篇成绩排名
69.27-10.124-6团队项目--选题报告成绩排名
710.14-10.267-9团队项目--需求分析报告成绩排名
811.1711团队Git现场编程实战成绩排名
911.11-11.2311-12团队项目—Alpha冲刺(10+1+1)成绩排名
1011.2412团队项目—事后诸葛亮成绩排名
1111.25-12.713-14个人作业--**项目评测成绩排名
1212.13-12.2115-16团队项目—Beta冲刺(7+1+1)成绩排名
1312.22-1.819个人作业—软件工程实践总结成绩排名

汪老师的教学博客

https://www.cnblogs.com/cocoSE/

历届优秀助教的博客

2019春 软件工程实践 大史
2019春 软件工程实践 Eventide
2019春 软件工程实践 sinceway
2019秋 软件工程实践 衡与墨
2021春 软件工程实践 Grey Zeng
2021春 软件工程实践 Kofyou

历届个人小黄衫得主

2021春W班

不到65kg不改名  /  吴铠嘉

王炜嘉

 WiLLyy

Aurora

张思萍

 CLH029

 潘紫盈

YukioLee

2020春W班

theTuring

sillyby

潘晨宇

hxd1017

herokilito

cy221701116

ybn-juan

  viridianfairy

2019年春软件工程

衡与墨

XRK

chenyuu

陈迎仁

汪老师所在班级-班级博客

  • 2021春软件工程实践|W班

  • 2020春|W班

  • 2019秋福大软件工程实践Z班

  • 构建之法助教园地

  • 软件工程1916|W

  • 高级软件工程2018

  • 福州大学软件工程1816 | W班

  • 北航暑期软工培训

  • 高级软件工程2017

  • 福州大学软工1715 | W

相关文章:

构建之法 - 软件工程实践教学:每天都向前推进一点点

作者:福州⼤学 汪璟玢⽼师 汪老师:每次都向前推进一点点,哪怕只有一点点,也好过什么都不做。 ​邹老师:对,几个学期下来,就已经超过那些“空想”的团队很远了。坚持下去! 汪老师&…...

CSS transform:rotate;无效问题

CSS设置旋转 transform:rotate无效。 今天遇到一个奇怪的问题,CSS给 icon图标设置一个hover 旋转180deg的效果,不生效。 一度任务样式被覆盖了,样式不生效没选中元素的class。但是设置hover改变大小是生效的。奇怪了? 为什么会无…...

华为新版ENSP PRO模拟器测评:性能表现与功能扩展一览

一、引言 在网络领域不断涌现的新技术和复杂的网络拓扑要求,推动了网络设备模拟器的持续发展和创新。华为作为一家领先的通信技术解决方案提供商,不断致力于为网络工程师和技术从业人员提供更优秀的仿真环境。最近,华为推出了ensp pro模拟器的…...

BBS-个人博客项目完整搭建、BBS多人博客项目基本功能和需求、项目程序设计、BBS数据库表结构设计、创建BBS表模型

一、BBS-个人博客项目完整搭建 项目开发流程 一、项目分类 现在互联网公司需要开发的主流web项目一般分为两类:面向互联网用户,和公司内部管理。面向互联网用户: C(consumer)端项目 公司内部管理:B(business)端项目还有一类web应用&#xff…...

智能设备管理系统对企业设备管理效果有作用吗?

智能设备管理系统对企业设备管理效果具有显著的作用和积极的影响。它可以提高设备管理的效率、准确性和可靠性,帮助企业降低运营成本、提高生产效率,并为企业提供更好的决策支持。以下是智能设备管理系统对企业设备管理效果的几个方面影响: …...

取证--实操

2022年美亚杯个人赛 运用软件DB Browser for SQLite (一款用于查看SQLlite数据库文件的浏览器工具) 火眼,盘古石手机取证系统等 案件详情 于2022年10月,有市民因接获伪冒快递公司的电邮,不慎地于匪徒架设的假网站提…...

react组件化开发详解

React是一个流行的JavaScript库,用于构建用户界面,并且以组件化的方式进行开发。下面将详解React组件化开发的概念和步骤: 组件化思维: 组件化开发是将复杂的用户界面划分为独立、可重用的小部件(组件)。…...

【JVM】对String::intern()方法深入详解(JDK7及以上)

文章目录 1、什么是intern?2、经典例题解释例1例2例3 1、什么是intern? String::intern()是一个本地方法,它的作用是如果字符串常量池中已经包含一个等于此String对象的字符串,则返回代表池中这个字符串的String对象的引用&#…...

7.1 C/C++ 实现动态数组

动态数组相比于静态数组具有更大的灵活性,因为其大小可以在运行时根据程序的需要动态地进行分配和调整,而不需要在编译时就确定数组的大小。这使得动态数组非常适合于需要动态添加或删除元素的情况,因为它们可以在不浪费空间的情况下根据需要…...

iOS问题记录 - Xcode 15安装低版本iOS模拟器(持续更新)

文章目录 前言开发环境问题描述问题分析1. 定位问题2. 逆向分析2.1. IDA Free2.2. Hopper Disassembler Demo 3. 模拟器日志4. supportedArchs 解决方案最后 前言 最近新需求很多,项目改动很大,开发完成后想测一遍在低版本iOS系统上的兼容性&#xff0c…...

高端百度地图开发2:自定义水滴头像(鼠标事件、API封装对接)

高端百度地图开发系列 高端百度地图开发1:自定义水滴头像(自定义标注覆盖物、Overlay覆盖类) 自定义水滴头像之鼠标事件、API封装对接 高端百度地图开发系列一、添加自定义覆盖物的方法二、对接API数据1.获取API数据(模拟)2.遍历数据3.添加自…...

R语言生存分析(机器学习)(2)——Enet(弹性网络)

弹性网络(Elastic Net):是一种用于回归分析的统计方法,它是岭回归(Ridge Regression)和lasso回归(Lasso Regression)的结合,旨在克服它们各自的一些限制。弹性网络能够同时考虑L1正则…...

【Docker】使用 Docker Registry 搭建自己的 Docker 镜像仓库

使用 Docker Registry 搭建自己的 Docker 镜像仓库 在使用 Docker 进行应用程序的开发和部署时,使用 Docker 镜像仓库是一个很好的实践。它允许集中存储和管理 Docker 镜像,方便团队协作和版本控制。在本文中,将介绍如何使用 Docker Registr…...

Spring 是什么框架?

Spring 是 Java EE 编程领域的一款轻量级的开源框架,由被称为“Spring 之父”的 Rod Johnson 于 2002 年提出并创立,它的目标就是要简化 Java 企业级应用程序的开发难度和周期。 Spring 自诞生以来备受青睐,一直被广大开发人员作为 Java 企业…...

Azure添加网络接口

添加网络接口的意义 在 Azure 上,为虚拟机添加网络接口的意义包括以下几个方面: 扩展网络带宽:通过添加多个网络接口,可以增加虚拟机的网络带宽,提高网络传输速度和数据吞吐量。实现网络隔离:每个网络接口…...

Linux 内核第一版 (v0.01) 开源代码解读

探索Linux v0.01的内部结构,Linux内核经常被认为是一个庞大的开源软件。在撰写本文时,最新版本是v6.5-rc5,包含36M行代码。不用说,Linux是几十年来许多贡献者辛勤工作的成果。 Linux 内核首个开源版本 (v0.01) 的体积非常小&…...

tp6 v3微信退款

/*** Notes:退款* param $out_trade_no 支付时候订单号(order表 original_bn)两个参数选一个这个要选对* param $out_refund_no 退款订单号* param $total 订单金额* param $refund 退款金额* Time: 2023-08-10*/public function refundMoney($out_trade…...

使用 AndroidX 增强 WebView 的能力

在App开发过程中,为了在多个平台上保持一致的用户体验和提高开发效率,许多应用程序选择使用 H5 技术。在 Android 平台上,通常使用 WebView 组件来承载 H5 内容以供展示。 一.WebView 存在的问题 自 Android Lollipop 起,WebVie…...

Maven基础之仓库、命令、插件机制

文章目录 Maven 仓库中央仓库和本地仓库中央仓库本地仓库 Maven 命令generate 命令compile 命令clean 命令test 命令package 命令install 命令 Maven 插件机制官方插件:Compile 插件Tomcat 7 插件 Maven 仓库 中央仓库和本地仓库 [✎] 简单一点说 中央仓库是一个网…...

【ArcGIS】经纬度数据转化成平面坐标数据

将点位置导入Gis中,如下(经纬度表征位置): 如何利用Gis将其转化为平面坐标呢? Step1 坐标变换 坐标变换,打开ArcToolbox,找到“数据管理工具”->“投影和变换”->“要素”->“投影”…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"&#xff0…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

Java 加密常用的各种算法及其选择

在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...