




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高等院校教学设计创新大赛特等奖展示:软件工程基础训练
课程名称软件工程基础训练面向专业软件工程
课程性质•必修。选修课程分类。通识课。公共基础课•专业课
总学时:48
学时线上学时:16每学期学生人数近5年平均125人
线下学时:32
一.学习目标
课程团队针对课程3个痛点问题,将整个课程重构为〃强化编
程-实践领域-理解软件〃三个阶段,结合〃〃共门
1+N7MOOCz
开展自主线上学习、课堂精讲提升、课后密集训练相结合的混合
教学模式。本部分重点阐述第1阶段〃强化编程〃第5、6课内学
时的混合式教学设计方案。
教学目标:
⑴在已有C语言基础上,掌握Python语言的函数、文件
的基本概念及程序设计实践;
(2)掌握自顶向下设计方法理解自底向上执行过程,学会运用〃分
而治之〃程序设计方法解决实际应用问题;
(3)掌握文件接口设计方法理解数据驱动基本理念,学会运用'程
序弓I擎〃软件设计方法解决实际应用问题。
二、内容与资源
2.1本课次内容选取情况:
授课章节:函数与〃分而治之〃、文件与〃程序引擎〃(课堂第5、
6学时)
授课对象:软件工程专业大学二年级,129人
1、函数与〃分而治之〃(第5课时)
⑴回顾从〃会编程〃到〃懂软件〃的学习路径;回顾前节知识,引出
复杂软件工程问题,
弓I入求解复杂软件工程问题的〃分而治之'方法。
(2)基于线上学习开展Python函数定义、调用、传参的知识强
化。
(3)通过实际案例,列举生活中的自顶向下的设计与自底向上的
执行。
(4)以体育竞技分析为例,基于IPO模式讲解〃分而治之〃计算方
法过程。
(5)〃平昌冬奥北京文艺表演〃软件工程教学案例的拓展与应用。
(6)举一反三及课后思考。
2、文件与〃程序引擎〃(第6课时)
(1)回顾IPO程序设计基本模式,思考如何灵活扩展软件功能。
(2)基于线上学习开展文件定义、基本操作知识强化。(3)通过实
际案例,列举汽车生产中的配置化设计。
(3)以自动轨迹绘制为例,讲解〃程序引擎〃软件接口设计方法。
(4)〃国庆七十周年联欢活动〃软件工程教学案例的拓展与应用。
(5)举一反三、课后思考与实验布置。
2.2本课次资源制作情况:
(1)自编参考教材:
《Python语言程序设计基础(第2版)》高等教育出版社
(2)自编实践教材:
《高教版Python语言程序设计冲刺试卷(含线上题库)(第3
版)》高等教育出版社
(3)自制多媒体课件:
《学时5:函数与〃分而治之〃》、《学时6:文件与,程序引擎〃》
PPT课件含动画
(4)自编Python程序案例:
体育竞技分析Python程序、自动轨迹绘制Python程序
(5)自建交互式虚拟仿真科研应用案例:
〃平昌冬奥北京文艺表演虚拟仿真编排系统〃演示程序〃国庆七十
周年联欢活动仿真系统〃演示程序
(6)自建中国大学MOOC在线课程7门:
Python语言程序设计(国家精品在线开放课程)在第1阶段
〃强化编程〃使用
6门在线专题课程(含2门国家精品在线开放课程)在第2阶
段〃实践领域〃使用
(7)自研在线实验平台:
www.python123.io自动评阅平台上建设了2000余道编程
实践题
2.3资源使用情况:
⑴课前:在学生已有c语言基础上,引入Python程序设计
加强编程认知,结合中国大学mooc平台/教材在线课程中的
Python函数、文件的章节教学内容开展引导性学习。
(2)课内:通过PPT/板书/程序演示/虚拟仿真案例等讲授语法难
点、程序设计方法。
(3)课后:在Python123平台(与实践教材配套使用)上开展密集
训练和实验评测,达到强基础的目的。
三、过程与方法
3.1教学方法与手段
(1)线下课堂讲授:
a.教具演示:以教具演示作为课程引入的主要手段,通过直接和
强烈的视觉冲击激发学生兴趣,引导学生迅速进入本节课学习内容,
并主动思考现象背后的计算问题本质。
b.PPT/板书:板书辅助学生梳理学习过程的脉络和线索,利用其
灵活性和持久性,将算法分析中的一些辅助知识和推导在黑板上展
现,既保持了对主要内容PPT演示的效率和信息量,又能通过板书
引导学生参与到〃知识-案例-方法-应用维导过程中,理解理念。
c.视频/程序演示:以视频、虚拟仿真等各种多媒体演示手段形
象展示算法原理和分析过程等内容,提高信息交流的容量和效率,帮
助学生针对竞技分析问题、自动轨迹绘制问题的形象思维,加强学生
的认知效果。
d.课上互动:通过提问、互动等形式,带动学生积极参与到教学
活动中来;创设宽松的课堂气氛,学生的思维就容易被激活,提高课
堂教学效果。
(2)线上知识点自学
业余时间线上学习,通过Python语言基本语法,体会与C语
言解决问题的不同,帮助理解计算思维的本质。在在线实验平台上,
可选地开展编程进阶练习。
(3)线上实验实训
线上完成指定问题的程序实践,进一布巩固程序设计语法基础,
理解计算思维的运用。
(4)课后思考
a.课后思考:通过思考问题和查阅文献等加深学生对课堂知识理
解,同时拓展思维,激发学生科研兴趣,培养应用创新素质。
b.程序设计实践:通过在线平台完成实例举一反三的计算问题编
程求解,巩固本节课重点算法的掌握情况,并尝试应用于工程上多种
竞技比赛分析、程序引擎思维运用的实践中。
3.2教学实施总体过程
本课次混合式教学实施过程如图3-1所示。
(1)课前:线上自学过程详见3.3.1、线上练习过程详见3.3.3
(2)课中:课堂讲授过程详见3.3.2
课后:线上实验过程详见3.3.4
谭前线上课中线下课后线上
9^a£tt±»m
转自£«±«9习学生交互:■■s/inn■他/交流树侬・IU<SJI摹晚和0评■
・00方修fi
—重义分布方H■am融IN
槽馍化设计叫
CM:体・奇技分析
Bwmn*w^iw.■李引■:
M・茹修*1・1*»丽加法
考勤、给课堂问卷.ftttMifS
学习反0刚也改进
图3-1本课次混合式教学实施过程
3.3教学具体实施过程
3.3.1课前线上自学(不计分,教学日历行号6)
学习目的:在已有C语言基础上,掌握Python语言的函数、
文件的基本概念和操作。登录ww.icourse163.org平台,进入我的
学校云"Python语言程序设计(XXX)"Spoc课程,学习“[第5课]
函数和代码复用”、"[第6课]文件和数据格式化”视频和文档资
料。
教师登录方式:主页->课程后台管理->SP()C课程与学期
->“Python语言程序设计(XXX)”编码0809BIT017第二学期,异
步SPOCo
SPOCPython语言程序设计
3.3.2米量内番次,曲款与•分而洽之”(缜6聚甘,敕学日历行号1D
板书最终呈现:
函数与“分而治之
函数“分而治之”
def<函数名>():I:probAPPT演示区
<函数体)probB
renturn<i^回值)P:sinXGaies()PPT演示赛挎区.
0:vinsA显示课程主要分析过程
vinsB
教学具体过程及时间分配安邦:
序号内«匚二
0管府前逋过更课堂扫码签到:上课后自党收起手机.小计1
1回顾前序课程相关内容小计3
1.1■回腴从“会编程”到“懂软件”的学习路径
■聋化系础、专ft根域、厚解轨件三个阶段
从•会娟程’到“雷软件”
基敬训辱«W方隔
明・理5♦・学习BMVt^
1分钟
MOOC①iwa计方法软—&
M3M
MXH.
.«MHI
-99H9»■»$•««»■•«<MM
:MHMOH»«'»»***
*"E
■
1.2装件卡洛方法郦决工程问题的本质[互动:请学生回答]
■循环、产生质机数
■蒙杵卡罗醺机模拟实例《计算礼提期可以反复选行)
■先进制迨领城的一个重要工程问题:
■流线型侧面积计算[教具]
2分仲
型K(X)_________
1a*
——不hg
■难点:流线型公式往往复杂,俐面积数学求解困难,
2问膻的提出及本节纲要小计2
■提出问题:实现复杂软件系统,该如何悬考
2.11分钟
■利可计雇「少,“三或人演排尾斤可是款包工,:匚约.
■研究对象多.系统功能多、用户种类多
A»ie>■
W
■'・♦殳
.,t1
iH|ii1,\1
T
—
1
2.2■:节纲要■■1
设计方法
函数的定义
分而治之设计方法1分钟
函数的调用实例;体育竞技分析1****
实现复杂软件系统的模块化设计思想
3函数考、础小计5
3.1■a§数的基本理*
■西数是一段具有转定功能的.可重用的律句ifL
■函数是一种功能抽象,一般用函数表达转定为E序功能
■两个作用:代码复用和降低•程难度
[互动:谱学生根据埃上学习.回答函数定义方法1
tRBfiM2分仲
fact(n):
s«1tmn!
iringe(ltrwl):■fact(n)
$••1
Hrttirna
IMS
3.2[互动:请学生娱理段上学习,回答函员的调用J
■调用是运行困敕代码的方式
■调用时给出实际参数
■实际参数售铁定义中的占位参数
■喟用后函数执行等到返回值
2分仲
--------
•■f«ct(10)-------f»ct(n|):
print(i)、…、、
/•■1ranged,n«l):
)628800\i•»i
returns
3.3[互动:哈学生里据吒」匕手习,回答语数的参数传:也
■函数的参数停建
•tt个■
道的名向参数(个务个)》):1伊钟
011司逢1H出,谡
<函数体・-国安传递
rrewm<BM>
名列做I
4求“更复杂的软件工程何辰“分而治之”小封4
K
4.1■复杂网题求第的“分而治之
aws
ib
J
1.i
MB2........M«ng2分钟
L」二
1
*S口■■决
如何让计IUI柒■决问■?
■自顶向下(设计)
4.2
■将一个总同II!表达为超•千个小同9目成的形式
■使用同样方渍・进一步分'解小何I!
■直至.小何同阿以用引•算机简早明.I的*决
1分钟
ff鼠。
«•0
«ttitffltT
>
■自底向上(设计)
4.3
■分单元测试,逐步组*
■按第白璐向下:相反的足,径操作
■直至.系统名•奇分以期1装的思用都经过测试和睑证
1分钟
4g-
«•
5“体育竞技分析-实例济第小计26
5.1体育竟技问题持述《延续蒙件卡洛恩想)1分钟
■“高手过招,胜负只在毫厘之间」[使用教具加深印象]
■场入运动员水平
■输出便利的比赛或结
____________■比赛规则势逑
7^体育一找体题的计算思维运用
■计算思维:抽象♦自动化
I分钟
■模拟比赛:抽象比赛过程♦自动化执行、场
■当N/大,比春结果分析会越科学
53体育竞按同建自顶向下的设计过程
5.3」体肓竞技问题的IPO蟆式[互动:遣学生回答]
■喻入I:两个球员(A和B)的能力值,比赛次数
■处理P:模粗比赛过程2分件
■安出0:球员A和B分别嬴得球暮的概率
____________■一个期一的幢出结果
5.3.2顶层设计的第一阶段:总侬架构
■程序总体梃架及步U
■步M1:打印程序的介绍性信息
printlntroO
■步寰2:装周程序运行所需的参数:ProA.ProB.n
prohA.probB.n=getInputs0
■步辍3:模策n次比不
irinsA.vinsB=siaXGaaesChA.probB)
■步*4:输出球员A和B获胜比暮的次数和假率
5分钟
■梃架函数代科细化
■printlntroO
■getlnpuysO
■printSunaary()
5.3.3顶层设计的第二阶段:步靠3模拟'局比弃
■模拟、场比春siaNGi。
■模姒]甘比叁siaOneGaKsO[.动:与商学fl一起梗蚁比察海程]
Qp
151
|f才||||
[<JU.s"
C±)
5.3.4顶层设计的第三阶段:根务分数判新局的隽束
mate>0
Y,“
1T
仁士=1u
1R——.1n一w—n一.4V一,U.:swnr^swrvw^v
~T.tCW^F-2分钟
*1
•imOne^m<0
M«e«l\«R0
»wr<,[3r
.fmOrtrQ
■aeOvcrO函数代码细化
5.3.5体育竞按问题自我向下设计过程总结
■IPO求解问题
■结构化顶层设计
■杼问题表达为一系列小问题1分件
■为每个小问题设计接。
■细化算法
■为每个小何题重复上述过程
5.3.6程片运行及鳍果分析
■运行程序【演示:交互式的运行母孑】3分钟
■结桌分析【互:士:号氐】
5.4体肓竞技问题自底向上的执行小计6
■自顶向下的设计
5.4.1
从顶层开始分“问题为更小的问题进行求解
■自底向上的执行1分钟
从底层模块开始一个一个进行测试
■程序写好后,需要通过运行程序进行测试
5.4.2单元测试
■小规模程序
直接运行
■中等级集
1分钟
从就结构用底层开始,逐步上升
先运行每个基本函数.再测试整体函数
■较大规筷
高级软件测试方法
5.4.3体肓竞技分析的案例
^natchSiin.py
运行程序,单元执行/测试1.观察结果2分伸
运行程序,单元执行/测试2,观察结果
结果分析
5.5理解自液向下和自底向上的举一反三
■理解自II向下的设计总难:分而治之
■星*自底向上的执行总推:模块化集或
■自蹊向下是“系统••思雄的腐化
2分钟
针对竞技比赛的举一反三
■犷展比赛参数.南加对更多能力对比懵况的判所
■犷展比赛设计,港加对真实比赛结果的预漓
■旷展分析爱辑,反向推理,用胜率推算能力?
6复杂收件工程向题的.分而治之一小计6
6.1■平昌冬奥会教学案例
6.3自隹向上的执行:连步组建复杂系统的有效测试方法I分仲
・独检唉
QQ9
00修・演元案
甲a♦■会
复杂软件工程问题的“分而治之”——平昌冬奥会
1线j资源堂桁.虎拟仿女士建演示】
2分钟
平昌冬奥会北京8分钟合练视嫌
平昌冬臭会北京8分钟仿真系就运存
线上实号与课后思考
拓展乒乓球规则的体直竞技分析(7局4胜)
单打・>双打I分钟
完成Pythonl23上的线上实脸一(2学时)
Python语言程序设计更深线上学习(本周8学时)
3.3.3*堂内讲我1文件与•程序引拳.《第6潭时.敕学日历行号12)
幔争最终呈现:
文件与“程序引攀”
文件“程序引擎”
op»M)PPT演示区
(52$)程序->文件->程序
PPT演示赛搭区.
计算•数据・应用显示课程主要分析过程
clo-O
教学具体过程及时同分配安摔:
序号内容
0件声前完成问卷调查;上课后自觉收起手机.小计1
1回廉前序课程相关内容小计3
1.1■回麟函数与“分而治之.[互动;诵至生回答函数之同总棒交潦]
编程基础设计方法
▲件1分钟
函数的定义・分而治之设计方法理
函数的潮用实例:体育竞技分析血令
1.2■基本程序设计模式IPO2分钟
网络,内部参数,交互封面等J
■大星P
■喷出0
2同理的提出及本节纲要小计2
2.1■提出问题:1个软件实现多个仿真效果该如何息与?
■国庆70周年数字仿真系统对多场表演进行了计算*本蚁.
■多方案.多编导.多工种、多人摔然
■II11分钟
2.2■本节纲要
巽程整就设计方法
文件的埋解,敬据擅口+程序引・
1分钟
文件的1•作实例:自动绘制引军
<*
"程序引擎“灵活可扩展的软件开发方法
3文件基础小计10
■文件的基本型学
3.1
■文件是存储在辅助存储基上的数据序列
■文件是数据存储的一种形式
2分钟
■文件展现形态;文本文件和二丑制文件
[互动:请学生垠量线上学习,回答文件定义方法]
3.2■文件处理步骤:打开-集作-关师
..a.read(size)
»•©P<n(»)
a.readline(size)
'藐;/文科、
•cmGMhiM)2分钟
nwua占用状as
a.Nritelines(Unes)
a.dos«()a.s««k(offset)厉文林
3.3■文件内容读取
■文件全文本操作:遍历方法一(一次读入统一处理)
■文件全文本操作:遍历方法二(按数量读入逐步代理)5分钟
■文件场行操作:方法一(一次读入分行处理)
■文件遂行操作:方法二《分行该人透步处理)
•.1,
■文件数据写入
3.4i分钟
■指定位置写入字符串列表
4灵活可扩展的程序设计方法-程序引擎”小计6
4.1■基本程序设计模式:模块化设计
■逋过的数或对象封装将程序划分为模块及模块同的表达
■具体包括:主程序、子程序和子程序同关系
■一种分而治之.分层抽象,体系化的设计思忠
」钟
■*提合与松松合
■X幅合:两个部分之同交流筱多.无法独立存在
■松相合:两个部分之间交潼较少,可以独立存在
■模块内部系耦合、模块之同松格合
■基本程序设计蟆式:配置化设计
4.2
,券+月=:
1分钟
程序引电配*文件
43■常规的设计:汽车定制开发
■第一辆红展检褥车CA72
■无用纸、无模型.地上放样,手工敲制,历H2个月
■1958年9月280,向国庆献礼
1分钟
■软件定制化设计
■程序执行和数搭计算融合在一起
■符合转定用户的需求,逋用化程度低
■不利于犷展和维护.程序功能发展受电
4.4■配置化设计:生产线与车里分离
■一汽大众的•智鹭工厂”
■6款车型聂线生产,年产77万辆产能
■京合自动化率达到801
1分钟
■软件配置化设计
■程序执行和数得配置分离,杵可建参数配置化
■将程序开发变成配置文件编写,犷展功能而不修改程序
■关键在于捶口设计,清晰明了、灵活可犷展
■工程文件是一种配置化没计设计思路【互动:请学生举例】
4.5
e■国s
i分钟
5“自动轨涟绘制”实例济新小计10
5.1问题分析:自动轨造规制
■需求:根据第本来绘制图形?
1分钟
■不通过写代玛而通过写数据绘制轨造
■数据脚本是自动化最重要的第一步
5.2基本思路:自动物遗蛉制
■步k1:定义数据文件格式(接口)
1分伸
■步骤2:编写程序,根据文件接口”析参数绘制网形
■步骤31编制数据文件
5.3数据摄匚定义na.an.M.*.*.*
■行进距离二:££关门
1分钟
■转向角度:™
■RGB三个通道颠色j・.3.3
程序德*
5.4■PathDraw.py
■程序运行分析4分伸
■先制不同的数据文件
■小节
5.5
■编程范式=1个程序引挈*多个数据文件
爵+'二……
1分钟
0
程序引攀
■理解思维方法:
5.6
■自动化患维:数据和功能分离,敛据里动的自动运行
1分伸
■接口化设计:格式化设计接口.清席明T
■二推数据应用:应用推度蛆织数号,二推数据最常用
5.7■学一反三:
■犷展接口设计,增加更多控制接口
1分伸
■扩展功能设计,增加弧形等更多功能
■犷展应用需求,发展自动轨溉绘制到动画绘制
6进一步同履8分伸
6.1■轮否用1殂数据驱动多个程序?[互动:请学生举例]
¥
白+•=?2分钟
♦?
1个数据文件程再引总
■引事犷展1.观察运行结果
■引搴扩展2,观察运行结集
■引聚犷累3.观察运行结果
程序引擎范丈的犷展[互动:请二生3例〕
6.2
1个引聚.多个数据,举例
1分钟
1个数据,多个引望.举例
多个数据.多个引攀
程序功能的分类
籁法叟程序展示型程停
1分钟
策划设计,数据・效累交互
计・采集体蛉控制
■生成数据文件
6.4
■犷展花窖轨流算法
■观察程序运行效果
iee,8,66,1,0,8
iee,e.i2e,i>e.e
iee,8,6e,i,e,e炉令3分钟
iee,e,T68.%】,e,e
iee.e.66.i,e,i
lee.e.M.i.e.i
100,0,>168.0,1,9,1
100,0,120,0,0,1
小结
■程序类型与程序引蒙.数据驱动之间的关系
■算法型程序>计其程序引擎:运行生成数据
I分钟
■展示型程序>功能建楫程序引摹:数据驱动运行
■算法型程序->生成数舞->展示型程序
■新范式:计算.数据、应用分离
灵活可犷展的软件设计方法“程序引拳一小计5
■应用拓展:算法型程序・》产生数据->展示型程序
■BRO周年庆很大金.春欢活动仿H系统
1分钟
故据计■程序引■可桃化仿111:*引,现场震*效果
■应用犷展:程序引掌
2分钟
■数据计算程序引事
人群行为建横累蜿计■生成IM!(26,320文件)
■可视化仿真程序引簟
举一反三:算法•数据■应用分离
7.4
■数黑智能旷代.豪第变厚越来越重要,有价值
1分钟
■数据存储,数据安全、用户权限
■下一代互联网时代的新苑式
8深后患才与线上实龄
■以往程序设计等些可以应用“程序引攀”范式
■举例”计算.数据.应用分离”的软件.系统和平台
1分钟
■完成Pythonl23上编程实睑一《2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨境融资担保合同
- 食材采购合同
- 物业管理员服务合同范本
- 杭州市租车合同纠纷责任认定标准
- 妊娠合并心衰的护理业务查房
- 旅游业商业计划书
- 公务员录用合同
- 专业护肤品牌授权合同
- 建筑行业合同样本大全
- 美术在多媒体课件中的应用
- 水泥采购投标方案(技术标)
- 加工工艺改善表
- 10月份企业网上银行电子回单
- 羽毛球英语版介绍PPT
- 2023年DCA考试试题题库
- 丰华医院放射治疗室安全管理制度
- 抗肿瘤药物分类及不良反应
- 中班健康《身体上的洞洞》课件
- 2023年广东珠海农商银行校园招聘笔试历年试题(常考点甄选)含答案带详解
- 湖北2023年中国邮政储蓄银行湖北省分行校园招聘考试参考题库含答案详解
- 人民医院美容外科临床技术操作规范2023版
评论
0/150
提交评论