构建之法 - 软工教学:每天都向前推进一点点
作者:福州⼤学 汪璟玢⽼师
汪老师:每次都向前推进一点点,哪怕只有一点点,也好过什么都不做。
邹老师:对,几个学期下来,就已经超过那些“空想”的团队很远了。坚持下去!
汪老师:团队Git现场编程实战。
邹老师:这个效果很好,建议在更早的时间让学生实践。
汪老师:敢于选实践的同学差不多理论班级三分一(今年理论人数暴多是意外)。在理论课中有的知识点讲完,习惯性的说:“选实践的同学就有体会啦~”
邹老师:在企业面试的时候就更有体会啦!
(2018秋)软件工程实践课程总结
向前推进……
又到写总结的时刻了,用白驹过隙形容也不为过!5个月前怀着刚刚执行完一轮构建之法的信心,又开始了新的“Learning by doing”之旅。与之前不同的是,此次人数大大增多。当然,在此之前我们早有准备:
- 提前选定助教,参加北航的暑期培训。这一学期的实践证明,暑期的培训效果非常好!林静和静平两位助教不仅很快掌握实践的要素,而且配合默契,完全不需要我操心,真是太幸福啦!
- 开学前就进行课程安排梳理,课程组讨论并定下博客作业与上机实践配合的schedule,有了plan,心中就有数啦!
- 设置1-2次机动环节,根据实际情况,灵活变更。
我们把教学也当作一个项目来管理!
虽然选课人数增加,但是学生们的团队项目给了我们很多惊喜,选题多样、新技术结合自然,学生们活跃的思维令人赞叹。
由于实践是选修课,敢于选实践的同学差不多理论班级三分一(今年理论人数暴多是意外)。在理论课中有的知识点讲完,习惯性的说:“选实践的同学就有体会啦~”然后有些同学会心一笑……这样导致快到学期末的时候,有的学生找我说,后悔开学初没有选实践,感觉错过很多,哈哈!“不入虎穴,焉得虎子?”讲的就是这个理!这也说明,“Learning by doing”这种方式在慢慢被学生们认可~~
再一次感谢林静和静平两位助教!没有你们的付出,就没有这一轮教学的顺利完成!学生不爱找老师询问问题,却更愿意向助教敞开心扉。正是你们不厌其烦的答问、点评,给予学生向前的动力,鞭策他们的同时,也在鞭策你们自己。我欣喜的看到你们从开始的被动待问,到后面的主动将自己的项目开发经验与学生们交流。在跟你们一起讨论团队的评分标准时,你们提出既要考虑团队项目的总体表现,又要考虑个人在团队的贡献度、兼具公平性,我们一起拟定了一个看起来好复杂的公式,做了一个大大的分次成绩表格,这样学生们对于实践课最终的成绩是一目了然,做事的、划水的都各得其所。
每次都向前推进一点点,哪怕只有一点点,也好过什么都不做。
学生们的心声
在最后想写点自己在整学期软工实践的感想,有一种感觉就是突然发现已经过了4个月,软工实践即将结束。刚开始真的以为会很困难,自己代码量那么少,编码能力又不高,怎么坚持下去。但到后面,渐渐发现自己是可以做出点东西的,不断的学习是可以提高自己的。而期间获得的小黄衫也是对我努力的一种肯定,让我能明确自己的目标,继续地坚持下去。
虽然这次我十分不想换队员QAQ,不过还是建议下一届换队员,因为独乐乐不如众乐乐换队员有助于团队学习到发生人员变动了应该怎样交接,换出去的队员学习到如何融入一个进行中的团队。
在之前的课程中,还从来没有一门课让我用下载并使用了这么多的工具,并且之前从来不喜欢逛博客的我还是注册了好几个博客网站的账号,方便去博客网站上查找相关知识。
建议早早花点时间学习相关实践内容,赶项目时会轻松很多,毕竟工科,光背书不好。
基于以上两个问题我的beta冲刺可以说是一场空。我的确解决了很多问题,做了很多的工作,但是我扣错了第一颗扣子,所以我没有办法展示我的工作成果,我没有办法邀功。问题在于我的盲目,看见局部解默认找到了最优解。
结论:不要凭借第一直觉开始打代码,“团队交流很重要”
助教与学期小黄衫得主合影
软工实践博客作业安排与成绩排名情况(2018秋学期)
序号 | 起止时间 | 教学周序 | 博客内容 | 成绩排名 |
---|---|---|---|---|
1 | 暑期-9.04 | 1 | 准备篇 | 成绩排名 |
2 | 9.5-9.12 | 1-2 | 个人实战--词频统计基本篇 | 成绩排名 |
3 | 9.13-9.21 | 2-3 | 结对第一次--原型设计(文献摘要热词统计) | 成绩排名 |
4 | 9.19-9.26 | 3-4 | 团队展示 | 成绩排名 |
5 | 9.22-10.10 | 3-6 | 结对第二次--词频统计进阶篇 | 成绩排名 |
6 | 9.27-10.12 | 4-6 | 团队项目--选题报告 | 成绩排名 |
7 | 10.14-10.26 | 7-9 | 团队项目--需求分析报告 | 成绩排名 |
8 | 11.17 | 11 | 团队Git现场编程实战 | 成绩排名 |
9 | 11.11-11.23 | 11-12 | 团队项目—Alpha冲刺(10+1+1) | 成绩排名 |
10 | 11.24 | 12 | 团队项目—事后诸葛亮 | 成绩排名 |
11 | 11.25-12.7 | 13-14 | 个人作业--**项目评测 | 成绩排名 |
12 | 12.13-12.21 | 15-16 | 团队项目—Beta冲刺(7+1+1) | 成绩排名 |
13 | 12.22-1.8 | 19 | 个人作业—软件工程实践总结 | 成绩排名 |
汪老师的教学博客
https://www.cnblogs.com/cocoSE/
历届个人小黄衫得主
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
相关文章:

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

基于Qlearning强化学习的路径规划算法matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 Q值更新规则 4.2 基于Q-learning的路径规划算法设计 4.3 Q-learning路径规划流程 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022A 3.部分核心程序 ..…...

ASL国产CS5213 转VGA信号输出音频 替代AG6200安格芯片 HDMI to VGA(带音频)方案设计原理图
CS5213功能:HDMI转VGA带音频输出,专注于设计HDMI转VGA带音频输出。可替代AG6200 AG6201。 CS5213芯片是一个HDMI(高清多媒体接口)到VGA桥接芯片。 它将HDMI信号转换为标准VGA信号它可以在适配器、智能电缆等设备中设计。 Capst…...

springboot启动忽略某些类
springboot启动忽略某些类 描述解决方案单拉一个提交,把所有的涉及kafka消费的都不注入容器通过配置ComponentScan的excludeFilters配置了不生效后续处理改之前改之后解释 总结 拆分环境 感触解决实现demo参考 描述 目前我这的开发环境和测试环境数据库是两份&#…...
HCIA VLAN配置
目录 一、VLAN(虚拟局域网 ) 二、VLAN配置思路 三、配置命令 1、创建vlan 单个创建: 批量创建: 2、交换机上的各个接口划分到对应的vlan中 单个操作: 批量操作: 3、trunk…...

微信小程序--原生
1:数据绑定 1:数据绑定的基本原则 2:在data中定义页面的数据 3:Mustache语法 4:Mustache的应用场景 1:常见的几种场景 2:动态绑定内容 3:动态绑定属性 4:三元运算 4&am…...
Django快速上手
1. 安装Django Django 4.x的版本只支持MySQL8及以上的版本了。如果mysql版本比较老,需要使用老版本的django。此处指定django版本为3.2.20 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django3.2.202. 创建项目 创建项目 在指定目录使用命令行创建项…...

Android, 笔记+课表的app实现
NoteSchedule: 笔记课表,不同于超表和课程格子等笔记类软件,笔记课表的核心是将课表和笔记进行深度绑定,点击每个课表,就进入到笔记view中,点击其中的item就可以进入到笔记详情; 该应用已上线,…...

Openlayers实战:多数据分散聚合
在飞机、轮船等地图显示的应用中,很多时候会用到数据聚合,Openlayers中提供了Cluster这个API ,他作为souce的一部分,设定distance值,如果2个点的间距小于 distance 所设置的数时,就会以聚合的方式显示。从而解决了数据淤积显示的状态,非常实用。 效果图 源代码 /* * @…...

9、Kubernetes核心技术 - Volume
目录 一、概述 二、卷的类型 三、emptyDir 四、hostPath 五、NFS 5.1、master服务器上搭建nfs服务器 5.2、各个slave节点上安装nfs客户端 5.3、创建Pod 六、PV和PVC 6.1、PV 6.1.1、PV资源清单文件示例 6.1.2、PV属性说明 6.1.3、PV的状态 6.2、PVC 6.2.1、PVC资…...
HTML <small> 标签
定义和用法 <small> 标签呈现小号字体效果。 <small> 标签和它所对应的 <big> 标签一样,但它是缩小字体而不是放大。如果被包围的字体已经是字体模型所支持的最小字号,那么 <small> 标签将不起任何作用。 与 <big> 标签…...

网页版Java(Spring/Spring Boot/Spring MVC)五子棋项目(四)对战模块
网页版Java(Spring/Spring Boot/Spring MVC)五子棋项目(四)对战模块 一、约定前后端交互接口1. 建立连接接口2. 针对落子的请求和响应 二、实现前端页面三、实现后端1. 当用户进入房间,更新用户状态 OnlineUserManager…...

React实现关键字高亮
先看效果: 实现很简单通过以下这个函数: highLight (text, keyword ) > {return text.split(keyword).flatMap(str > [<span style{{ color: red, fontWeight: bold }}>{keyword}</span>, str]).slice(1);}展示某段文本时调用该函数…...
react-media如何使用
介绍 react-media 是 React 中用于响应式设计的一个很好的库。它可以用于在视口宽度满足特定条件时渲染组件。 主要功能包括: 媒体查询:通过 minWidth, maxWidth 和 width 等设置媒体查询条件。 渲染组件:当媒体查询条件匹配时渲染子组件。 默认样式:可以设置默认渲染的组件。…...

多进程利用TCP进行信息群发功能
/服务器的代码 #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #define SEVER_IP &quo…...

git 报错 protocol ‘https‘ is not supported解决
报错原因:选择不了其他分支代码,甚至都看不到其他分支,我这边解决了两次报错,情况如下: 第一种报错: idea中刷新分支报错如下: Fetch Failed protocol https is not supported 话不多说&#…...

启动RocketMQ报错
说明:启动RocketMQ消费者时,报以下错误:java.lang.IllegalStateException:Failed to start RocketMQ push consumer. 解决:看下所有的监听器类,检查是不是有相同的消费者组名,注释掉其中一个即可…...

【Spring Boot系列】-Spring Boot过滤器Filter
【Spring Boot系列】-Spring Boot过滤器Filter 文章目录 【Spring Boot系列】-Spring Boot过滤器Filter一、概述二、Filter(过滤器)数据流程三、Spring Boot 过滤器生命周期四、使用注解方式实现过滤器(WebFilter)4.1. 在springboot 启动类添加该注解Ser…...

Leetcode-每日一题【剑指 Offer 14- I. 剪绳子】
题目 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少?例如࿰…...
【图论】单源最短路问题
Dijkstra算法 -- 这是我职业生涯中唯一一个会写,却叫不上名字的算法 Dijkstra算法是一种单源最短路径算法,用于找出图中从一个源点到其他所有点的最短路径。该算法的原理是采用贪心策略,每次将距离源点最近的点加入到已确定最短路径的集合中…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...