软件工程实践/课程思路
百科首页 | 课程思路 | 课程大纲 | 主题讲座 | 支撑工具 | 点滴知识 | 历届作品
学情分析
学生为大三计算机专业学生,在大三上学期学习了软件工程理论课程。主要专业课程包括:计算机科学导论、人工智能导论、信息伦理与道德、程序设计基础、数据结构、算法设计与分析、面向对象方法与技术、数据库系统、软件工程、计算机系统导论、计算机组成与结构、操作系统、计算机网络、编译原理等。这里面包括计算机通用知识,也包括编程、数据库、数据结构、算法和软件工程等相关课程。从以往的经历来看,大家的工程化能力和体系性综合能力较弱。
大三下的 学生面临考研、找工作等现实 问题,如果课程任务太重,比如课后还需要花很多时间的话,会让学生难以接受。当然也要考虑部分学生还是愿意学习得更深入。所以课程安排,要有梯度:
- 能在课堂上完成任务,课后基本不需要花时间,这类学生应该要在70%,但这部分学生可能很难拿到优秀。
- 如果以上都不认真参与,可能处于及格或几个以下。
- 要给30%的学生拿到优秀的机会,这部分除了在课堂上认真完成、全力以赴之外,课后还需要花一些精力,比如每周2小时左右。
总体原则
根据我院培养学生的目标,本课程应该是计算机专业用于加强前期各课程学习综合应用的机会。也是为其进入社会的提前演习,因此,我们要尽量来到真实世界。
- 模仿社会实践中软件工程项目如何开展的。因为在现实情况下,工程项目因资金等条件限制,开展的方式方法也是不尽相同。如外包企业、创业项目、企业自研等,在流程上、组织上也差异较大。
- 根据学情分析,首先要至少服务于60%的学生,30%有高要求的学生,10%的学生可能表现较差。
- 要尽量让学生对课程活动提升兴趣,因此计划采用创业项目的方式。
主要措施
- 鼓励学生从创业的角度拟定项目:从组队、创意、执行、交互和运营全面进行。
- 引入“赛马”机制,创业项目要遴选。别的队也可以做同样的题目。
- 还可以从毕业论文的角度思考,能否作为毕业论文的工程化部分
- 参考案例一定瞄准实际应用的项目,可以是已有项目的2.0、3.0……
- 实现和编程环境可选:可以是小程序开发、可以是应用系统实现、可以是结合AI硬件等等
- 加强业绩经验的分享,穿插几个讲座
- 与软件工程理论课部分指标进行结合,用于最后项目的评审评优
实施顺序
- 根据对DevOps的理解,我们第一阶段是不是先快速开发出一个版本出来,根据赛马机制和创业思路:可以网上找,也可以直接开发一个alpha0.1版本。
- 有了初步体验后,再开始讲解DevOps
- 并逐步实践,完成一个项目的构建V1.0。
可选案例
- 计算机机房简易管理系统:教师预约、巡检和统计。(2.0版可以加上学生预约,面向机房开放)
- 计算机机房绿化(鱼养殖)智慧运行系统
- 其他可能能成为毕业论文的内容
参考书籍
- 现代软件工程基础,彭鑫、游依勇、赵文耘 /2022-07-01 /清华大学出版社