PDF文库 - 千万精品文档,你想要的都能搜到,下载即用。

2022-23学年夏季学期22级直招学生0830A034《计算机编程实训》课程方案.pdf

我给的爱从未敷衍过°5 页 774.748 KB下载文档
2022-23学年夏季学期22级直招学生0830A034《计算机编程实训》课程方案.pdf2022-23学年夏季学期22级直招学生0830A034《计算机编程实训》课程方案.pdf2022-23学年夏季学期22级直招学生0830A034《计算机编程实训》课程方案.pdf2022-23学年夏季学期22级直招学生0830A034《计算机编程实训》课程方案.pdf2022-23学年夏季学期22级直招学生0830A034《计算机编程实训》课程方案.pdf
当前文档共5页 2.88
下载后继续阅读

2022-23学年夏季学期22级直招学生0830A034《计算机编程实训》课程方案.pdf

计算机编程实训(0830A034) 2022-2023 夏季学期 《计算机编程实训》 (0830A034)课程安排 《计算机编程实训》课程组 (计算机工程与科学学院) 摘 要 根据课程目标,本文给出了《计算机编程实训》(0830A034)课程的学习内容、实施方式以及课程要求等。同 时,本文也作为模板展示了同学们撰写本课程实训报告(论文)的格式要求。 关键词 程序设计实训;课程安排;文档格式模板 Arrangement of “Programming Training” (0830A034) in 2022-2023 Summer Semester Teaching Team of “Programming Training” (School of Computer Engineering and Science) Abstract According to the aim of the course of “Programming Training”, this paper gives the course arrangement, including the practical tasks, mode and some requirements. As an example, this paper also shows the document format of the course essay submitted by students. Key words programming practical training; course arrangement; document format template 1 引言 本课程属于实践环节(必修),修课对象主要是计算机学院 2022 级计算机科学与技术、智能科学与技 术、网络空间安全、人工智能专业直招的同学。本课程采取研究型教学方法,通过习题课、上机实验答疑和 研究小组课外研讨等方式进行。本课程运用 C/C++程序对多种排序算法进行优化及实验分析,通过实例学 习并初步理解乐器数字接口(Musical Instrument Digital Interface,MIDI)音频程序设计等。在此基础上,以 本文的格式为模板撰写实训课程报告(论文)。 排序是数据处理中的常用基本操作,它通过元素间的比较、交换或移动(多次赋值)实现数据元素按某 种顺序进行重新排列。采取不同的比较、交换或移动策略形成了不同的排序算法。不同的排序算法中对数据 元素进行的比较次数、赋值次数可能有较大的差别,影响整个排序操作的效率。 通过排序可视化程序既可以直观地展示排序的执行过程、 帮助理解排序算法思想, 还可以初步了解 MIDI 提供的函数库,了解音乐程序设计方法。 通过本课程实训,使同学们进一步熟练掌握 C/C++程序设计方法,熟练掌握数组、指针、数组指针、指 针数组、C-字符串、C-字符串数组、函数以及某些外部函数库的使用。 1 计算机编程实训(0830A034) 2 教学组织 2.1 教学班级及研究小组 计算机科学与技术、智能科学与技术、网络空间安全、人工智能专业 2022 级直招同学划分成两个大班, 详见表 1。 表 1. 教学班级 序号 班级 人数 习题课教室 上机机房 1班 计算机科学与技术 x 线下待定 线下待定 网络空间安全 x 智能科学与技术 x 线下待定 线下待定 人工智能 x 2班 指导教师 魏 晓 赵俊娟 陈圣波 张景峤 以 4 人左右为规模在教学班级中自由组合成研究小组,开展实训学习、研讨等工作。各小组于第一周星 期五上机时将小组成员名单报指导教师。 2.2 课程表 实训时长为 3 周,大体上分成 3 个阶段:基本排序算法测试分析、优化;MIDI 程序设计;撰写课程实 训报告(论文)。实训期间安排的习题课、上机答疑时间如表 2,其余时间由各研究小组自行安排。 表 2. 课程表 星期 星期三 星期四 星期五 第一周 习题课 1 习题课 2(测试方法) 上机 6.12-6.16 5-7 节 1-3 节 1-4 节 第二周 习题课 3(MIDI) 上机 上机 6.19-6.23 5-7 节 1-4 节 1-4 节 第三周 上机及验收 上机及验收 上机及验收 6.26-6.30 1-4 节 1-4 节 1-4 节 日期 星期一 星期二 2.3 课程资料 在上海大学“网上教学”平台(http://www.elearning.shu.edu.cn/portal)本课程空间的“资料”中有本课 程的具体要求和相关资料。相关资料见表 3 所示。 表 3. 本课程空间中的参考资料 序号 文件名 说明 直招_2022-2023 夏季学期 1 《计算机编程实训》课程方 本文件。同时作为课程小论文格式模板。 案.docx 2 计算机编程实训(0830A034) 源代码。包含三种(冒泡、选择、快速)未优化的排序算法;多种构型测试数据(正 序、逆序、均匀分布、正态分布、结构体)生成方法;运行时间测试方法等。 2 该程序留有 2 个排序函数待完成,它们分别适用于不同存储方式的 C-字符串数组。 Sorts.zip 【提示】请各小组研究 Deubg(调试配置版)和 Release(发布配置版)文件夹中的 批处理文件 run.bat 及 Open.bat。鼠标右键单击该文件并选择“编辑”可查看并修改 内容。鼠标左键双击则启动该批处理文件执行。 3 SortShow 排序秀.zip 源代码。排序可视化示例。包含 MIDI 函数的调用、编译和链接选项设置方法。 4 Statistics.zip 源代码。统计计算。包含服从正态分布、服从均匀分布随机数的生成方法及测试。 5* kbMIDI.zip 源代码。键盘即兴弹奏(MIDI 程序) 。可不理会。 6 习题课.zip 习题课课件(PPT) 、各种文档资料及例子程序源代码等。 7 舞动的排序算法.zip 若干排序算法表演视频、排序可视化软件(可了解更多种排序算法) 。 8 集成开发环境 2 种 C/C++集成开发环境。① MinGWStudioFullSetup-2.05r10.exe(推荐 使用) ;②Codeblocks-16.01mingw-setup.exe。 3 实训任务及要求 3.1 排序算法的实验研究 研究小组中的每位同学自行选择一种排序算法,开展深入细致的实验研究(参考程序 Sorts.zip)。个人 及研究小组的研究内容按如下方面展开。 (1) 设计排序函数,在排序算法执行的同时统计所进行的数组元素间比较次数、赋值次数(不统计辅助 操作,即不统计循环控制变量等的操作次数),并利用参数“返回”统计结果。 (2) 用不同规模(如:从 1024 开始,逐次倍增直至 65536)、多种构型(如:正序、逆序、均匀分布、 正态分布、结构体数组)测试数据进行算法测试。然后分析算法测试结果,包括算法的时间复杂度、空间复 杂度、排序算法的稳定性,以及排序算法对数据构型的“适用性”。请特别注意,同一规模、同一构型测试 不同算法时,要确保测试数据一致。 (3) 对排序算法进行优化,并重复上述(1)、(2)实验及分析。 (4) 对不同存储方式的 C-字符串数组开展排序研究, 完成 Sorts.zip 文件中待完成的两个排序函数设计, 分析不同存储方式能够进行的操作方法。 (5) 研究小组成员间交流排序算法及优化策略;学习常用批子命令、研究批处理文件;然后对多种优化 的排序算法进行联合测试,为撰写实训报告(论文)积累素材(参见表 4 和图 1),必要时列出比较次数、 赋值次数的统计结果。 表 4. 正态分布整型数据排序时间(Release 配置版) (秒) 数据规模 冒泡排序 选择排序 快速排序 1024 0.002 0.000 0.000 2048 0.004 0.003 0.000 4096 0.013 0.008 0.000 8192 0.065 0.031 0.000 3 计算机编程实训(0830A034) 16384 0.300 0.125 0.003 32768 1.370 0.494 0.008 65536 5.417 1.970 0.031 正 态 分 布 整 型 数 据 排 序 时 间(RE LE ASE 配置 版 ) 选择排序 快速排序 0.002 0 0 0.004 0.003 0 0.013 0.008 0 0.065 0.031 0 0.3 0.125 0.003 0.494 0.008 0.031 1.37 1.97 5.417 冒泡排序 1024 2048 4096 8192 16384 32768 65536 图 1. 正态分布整型数据排序时间(Release 配置版) (秒) 3.2 乐器数字接口(MIDI)程序设计 以研究小组为单位,完成如下任务之一。 (1) 参考“SortShow 排序秀.zip”(参见图 2),完成 2 种优化的排序算法可视化。 (2) 参考“习题课 3”中的例子程序,实现音乐程序设计。最好能克服例子程序中所叙述的不足。 图 2. SortShow 程序截图 3.3 撰写课程实训报告(论文) 围绕所开展的实验,在研习的基础上各研究小组完成一份学术论文形式的实训报告,包括如下内容。 4 计算机编程实训(0830A034) ① 所研究的排序算法及其优化,对比优化前后的执行时间(请用图、表等方式展示不同算法的性能), 指出对于特殊构型数据的表现情况; ② MIDI 程序设计的内容; ③ 每位同学的贡献(完成的具体任务)、心得体会,以及对课程的建议和意见。 各研究小组自拟课程实训报告(论文)的题目,要求题目文法合理、达意,切忌笼统含糊。请仿照本文 格式撰写报告,报告的各种要件(题目、所有作者姓名、作者单位、摘要、关键词、正文、致谢、参考文献、 title、authors、affiliations、abstract、keywords)不要缺少,文中的图、表必须有说明(表的说明排在表的上 方、图的说明排在图的下方),独占一行的公式必须有编号(公式居中,编号右对齐)。正文可列出少部分 关键程序代码(代码最好用 Courier New 字体,关键词加粗),所列的程序代码需要有足够的注释,切 勿简单地将所有代码粘贴到正文中。 另外,本文作为格式模板主要设置了“样式①”、“段落”中的行距选项。采用的中文字体主要有黑体、 宋体,英文字体主要有 Times New Roman 和 Courier New。这样,便于更好地控制版面格式。由于 Microsoft Word 软件版本不同而造成格式上的差异将是被认可的。 3.4 提交作业 以研究小组为单位,将本小组的所有材料(课程实训报告、程序源代码、测试数据)打包,于夏季学期 第四周前(含)上传至“网上教学”平台本课程空间的“作业”中。 将课程实训报告(论文)的纸质版,于夏季学期第四周前(含)交指导教师。 4 结语 本课程是践行钱伟长教育思想、实施“在研究中学习和成长”的本科研究型教学模式的载体。除了本课 程提供的一些参考代码外,同学们还需要检索、学习更多的知识,例如:如何产生服从正态分布的随机数、 如何产生服从某种指定分布的随机数,了解更多的排序算法,了解音频程序设计,了解批处理文件等等。希 望全体同学们通过研究小组的学习、研讨活动,逐步提高发现问题、分析问题和解决问题的能力;提高团队 合作、沟通交流及表达能力;同时,提高文字编辑、排版等方面的能力。 致谢 感谢各研究小组负责同学的工作,感谢同学们的积极参与。相信在大家的共同努力下,定能排除 “疫情”干扰,顺利地完成实训任务。 参 考 文 献 [1] 上海大学“网上教学平台”http://www.elearning.shu.edu.cn/portal(需要登录并进入本课程教学空间) [2] 百度百科 https://baike.baidu.com/item/排序算法稳定性/9763250 [3] 百度百科 https://baike.baidu.com/item/MIDI/217824?fr=aladdin 5

相关文章