面向AI实践的软件工程基础课程-北京航空航天大学罗杰.md

本文主要是介绍面向AI实践的软件工程基础课程-北京航空航天大学罗杰.md,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

面向AI实践的软件工程基础课程

目录:

  • 面向AI实践的软件工程基础课程
    • 目录:
    • 一、课程基本情况介绍
      • 1. 发展
      • 2. 课程在课程体系中的位置
      • 3. 课程的能力培养目标
      • 4. 课程的组织结构
    • 二、课程内容的建设方案
      • 1. 尽早引入人工智能开发平台与工具
      • 2. 面向智能软件开发的敏捷软件开发流程设计
      • 3. 面向智能软件开发的团队项目设计
      • 4. 课堂实践安排模板
    • 三、课程教学和共建计划

一、课程基本情况介绍

1. 发展

事件
2007首次邀请邹欣老师讲授软件工程
2012再次邀请邹欣老师讲授软件工程
2013基于“做中学”的模式,开始以实践为核心的软件工程课程改革试点
2016软件工程系列课程改革基本完成,软件工程课程改为选修
2017引入翻转课堂,尝试将软件工程课程教学和实践流程规范化
2019-软件工程课程更名为敏捷软件工程,与人工智能软件工程与嵌入式软件工程合并为计算机学院软件工程课程,变为必修,三门课程独立授课

2. 课程在课程体系中的位置

学期课程
大三下敏捷软件工程
大二下面向对象设计与构造
大二上算法设计与分析
大一下数据结构与程序设计基础

3. 课程的能力培养目标

  • 软件能力:按照工程化方法来开发高质量复杂软件系统的能力
  • 软件工程基础课程:通过团队协作使用现代软件工具按照软件工程方法来开发高质量并且可用复杂软件系统的能力
    • 复杂软件系统:具有一定复杂性、需要团队协作来完成的软件系统
    • 团队协作:两人协作、5-7人团队协作
    • 软件开发工具:充分利用现代工具来提高开发的效率和质量
    • 软件工程方法:构建一个有效协作的功能团队,综合运用极限编程、测试驱动、敏捷等软件工程方法和最佳实践,通过有效项目管理按计划的开发满足典型用户需求的可用软件方法
    • 高质量:能够使用技术性手段来确保所开发软件的质量
    • 可用:能够通过技术性手段来证明软件的可用性并获取用户的反馈

4. 课程的组织结构

  • 课堂教学:研讨性教学、课堂练习、作业点评、讨论、团队项目汇报
  • 课后作业:博客作业
  • 项目实践:
    • 结对项目 (2周)
    • 团队项目 (12周)
    • 总结回顾 (2周)
  • 16周左右完成课程

团队项目

  • 目标
    • 练习1对多合作
    • 学习敏捷软件开发方法,软件团队的构建,软件生命周期及各个阶段所用到的工具
    • 开发一个值得骄傲的可用软件
  • 时间
    • Alpha迭代4周,项目评审和反思1周
    • Beta迭代4周,反思1周
    • Gamma迭代4周,项目评审和反思1周

    注:Beta阶段反思与Gamma阶段设计与计划压缩成一周

  • 内容
    • 代码规模在1-2万行左右,面向实际用户的可用软件
    • 在已有软件的基础上进行软件开发,或者提出满足特定用户需求的软件并进行开发
    • 以5~7人团队的形式进行团队协作
    • 通过两轮迭代的敏捷软件开发,体验软件开发的全生命周期
    • 每一轮迭代的流程和任务: |时间|软件开发阶段|博客任务| |--|--|--| |第一周|计划和设计|1. 团队贡献分分配
      2. NABCD需求分析
      3. 功能规格说明书
      4. 技术规格说明书| |第二周|实现(冲刺第一周)|五篇每日例会博客| |第三周|实现(冲刺第二周)|五篇每日例会博客| |第四周|稳定和发布|1. 测试计划和报告
      2. 发布说明| |第五周|评审和反思|1. 维护和反思
      2. 项目展示
      3. 转会人员确定(Alpha)|
  • 要求
    • 团队项目每一项任务都必须有结果
      • 代码签入、博客、文档等
    • 团队项目过程中所有材料公开
      • 每个团队公布可实施的进度表
      • 在冲刺过程中发布每日例会记录
    • 团队项目开发的软件要有真实用户
      • 展示用户数量和对软件的反馈
    • 在每轮迭代之后进行反思
      • 找出自己和团队在本轮迭代之中的不足之处,并提出改进办法
      • 从反思和错误中学习巩固软件工程知识和方法
  • 课程实践安排
    • 以19年上学期为例: 课程实践安排

二、课程内容的建设方案

1. 尽早引入人工智能开发平台与工具

  • 在开课之前,基于微软AI301课程整理出一个基础的人工智能开发平台和工具预训练资料
  • 尽可能早的将资料分享给学生进行预习,使其基本掌握人工智能开发工具的使用
  • 在课程中加入对人工智能软件开发等发展趋势的介绍
  • 为在团队项目实践中引导学生自觉地使用人工智能技术解决实际问题做准备

2. 面向智能软件开发的敏捷软件开发流程设计

  • 在经典的敏捷软件开发流程的基础上,面向智能软件的开发要求和特点进行改造适配

    软件开发流程改进适配计划
    需求分析加入与智能相关需求的
    设计人工智能模型的设计及
    实现人工智能模型的实现、训练及验证
    测试人工智能模型的测试

3. 面向智能软件开发的团队项目设计

  • 智能软件开发项目设计:
    • 从人工智能领域研究者手中获取需求,提升项目类型的多样性
    • 注意与当前先进的人工智能技术和理念相结合,激发学生的兴趣
  • 过程管理机制设计:
    • 在过程管理的结点中加入与人工智能技术相适应的检查结点
    • 加强对技术风险的管控,注意引导学生规避

4. 课堂实践安排模板

时间课堂任务项目作业
第0周第0次个人作业,人工智能开发平台和工具预训练
第1周个人项目
第2周代码复审、结对项目
第3周个人项目点评代码复审、结对项目
第4周案例分析、团队博客作业(团队介绍,采访说明)
第5周结对项目点评团队项目选择:项目建议和NABCD用户需求分析,需求中智能化问题分析,团队贡献分分配方案
第6周审核项目计划计划和设计:功能规格说明书和设计文档,包含人工智能模型设计、训练数据准备方案、技术选择等
第7周规格说明书审核实现(冲刺):发表至少10次每日例会记录,人工智能模型的实现与训练
第8周项目进度追踪
第9周项目进度追踪稳定和发布:测试报告、发布说明,人工智能模块的测试
第10周测试和发布情况推广和收集用户反馈
第11周Alpha阶段项目评审Alpha阶段反思,团队成员转会
第12周反思博客点评,Beta阶段改进计划计划和设计:功能规格说明书和设计文档,包含人工智能模型设计、训练数据准备方案、技术选择等
第13周规格说明书审核实现(冲刺):发表至少10次每日例会记录,人工智能模型的实现与训练
第14周项目进度追踪实现(冲刺):发表至少10次每日例会记录
第15周项目进度追踪稳定和发布:测试报告、发布说明,人工智能模块的测试
第16周测试和发布情况推广和收集用户反馈
第17周Beta阶段项目评审Beta阶段反思

根据学校课程体系的情况,可以依据模板进行若干修改。例如本届北航删去了个人项目,并增加了一个团队开发迭代。

三、课程教学和共建计划

任务时间节点
完成预训练资料并发布2019年1月底
完成团队实践项目开发流程的改造2019年2月
完成面向智能软件开发的团队项目题目设计2019年3月初
《软件工程基础》课程选课2019年3月初
引导学生完成预训练,发布团队项目题目2019年3月底
团队项目选题完成,开始项目计划和需求分析,分享学生的项目计划,需求分析报告和设计文档2019年4月初
项目实践过程和源代码在GitHub公开2019年4月初开始
项目每日例会报告在cnblogs公开2019年4月初开始
分享第一轮迭代团队项目展示以及反思2019年5月初
进入第二轮迭代,优化需求分析报告和设计文档,优化团队项目协作方式和项目管理方式2019年5月初
进入第三轮迭代2019年5月中
分享最终项目展示及总结反思2019年6月中

班级:

  • https://edu.cnblogs.com/campus/buaa/BUAA_SE_2019_LJ
  • https://edu.cnblogs.com/campus/buaa/BUAA_SE_2019_RJ

这篇关于面向AI实践的软件工程基础课程-北京航空航天大学罗杰.md的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/694414

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

AI行业应用(不定期更新)

ChatPDF 可以让你上传一个 PDF 文件,然后针对这个 PDF 进行小结和提问。你可以把各种各样你要研究的分析报告交给它,快速获取到想要知道的信息。https://www.chatpdf.com/

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识