文档详情

《信息学竞赛实验大纲.doc

发布:2017-01-12约4.88千字共6页下载文档
文本预览下载声明
《信息学竞赛》实验教学大纲 课程总学时:80  学分:5 实验学时:32  实验个数:16 实验学分: 课程性质:选修 适用专业: 教育技术学 教材及参考书: 自编教材《信息学竞赛》 大纲执笔人:刘洪   大纲审定人: 一、实验课的性质与任务 本课程是教育技术学专业的选修专业课之一,在学生已有程序设计课程基础上,针对中学信息学奥林匹克联赛开设的课程。信息学奥林匹克竞赛属于智力与应用计算机解题能力的比赛,题目有相当的难度,解决这类问题,需要具备很强的综合能力。首先是观察和分析问题的能力;第二是将实际问题转化为数学模型的能力;第三是灵活地运用各种算法的能力;第四是熟练编写程序并将其调试通过的能力;第五是根据题目的要求,自己设计测试数据,检查自己的解法是否正确,是否完备的能力。 通过实验课程的学习,进一步提高学生的自学能力和动手能力,并将在学习过程中结合有关组合数学、图论、基本算法、数据结构、人工智能搜索算法及数学建模等知识,还要学会高级语言和编程技巧,培养很强的上机操作以及程序的调试能力。 二、实验课程目的与要求 1.实验目的 (1)学会分析研究计算机加工的数据结构的特性,提高观察和分析问题的能力,培养数学模型的抽象能力和逻辑思维能力。 (2)本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚、正确易读,符合软件过程的规范。; (3)针对具体问题的要求,设计合适的算法,并采用一门高级语言实现该算法,对不同的算法进行分析(时间和空间复杂性)。 2.实验要求 (1)熟悉各种基本常用算法的基本思想、适用范围,初步掌握算法分析的基本技巧以及如何根据实际问题设计一个有效的算法。 (2)会阅读参考程序,能将算法转变为完整的程序, (3)注重编程思想的培养,实现减少对实际编程语言或工具的依赖,在实际教学中应该以C语言为主,也可采用Java。 三、实验项目及内容提要 ΧΧΧ实验课程 (课程编号) 序号 实 验 项 目 编 号 实验名称 学时 必做 选做 学分数 实验类型 内容提要 基 本 操 作 验 证 综 合 设 计 1 编程语言基础实验 4 √ √ 熟悉编程环境,熟悉调试和运行环境。熟练掌握编程语言工具。 2 程序时空复杂度分析实验 2 √ √ 验证不同算法的时间复杂度和空间复杂度。 3 各种排序算法实验 2 √ √ 验证不同排序算法,包括选择、冒泡、插入、归并、快速、堆、桶、计数 4 数据结构实验 4 √ √ 验证线性数据结构(栈和队列)和非线性数据结构(树形数据结构)中的二叉排序树、哈夫曼树和树状数组 5 递归、分治、回溯算法及其应用 10 √ √ 验证枚举、递归、分治、回溯算法及其应用 6 贪心、动态规划算法及其应用 6 √ √ 7 状态空间的搜索算法及其应用 4 √ √ 四、实验内容安排: 实验一 编程语言基础实验 (验证性实验 4学时) 目的要求 以c或者Java为例,熟悉编程环境,会阅读程序,熟悉编译、调试和运行环境。掌握基本语句;掌握函数的使用;熟练掌握数组、文件等的应用。 实验内容 阅读课堂示例程序,并运行调试,然后将程序功能进一步完善。 编程输出一个菱形图案以及空心菱形图案。(巩固循环语句的实用) 编程输出n阶螺旋方阵。 编程输出n阶奇魔方。 利用集合类型实现筛法求素数。 主要实验仪器设备 计算机、c或者Java语言 实验二 程序时空复杂度分析实验 (验证性实验 2学时) 目的要求 验证不同算法的时间复杂度和空间复杂度。 实验内容 从键盘读入100个正整数,输出其中最大的数 从输入文件中读入n(n=100)个整数,输出第一个出现数字1的位置。 输入2个正整数x,y(2=x=1000, 2=y=1000),求出满足下列条件的P、Q的数。 条件1:PQ是正整数 PQ以x为最大公约数,以y为最小公倍数。 求出满足上述条件的所有正整数个数。 主要实验仪器设备 计算机、c或者Java语言 实验三 各种排序算法实验 (验证性实验 2学时) 目的要求 验证不同排序算法,包括选择排序、冒泡排序、插入排序、归并排序、快速排序、堆排序、桶排序、计数排序。 实验内容 读入8个整数分别采用选择排序、冒泡排序、插入排序、归并排序、快速排序、堆排序、桶排序、计数排序,将它们升序输出 主要实验仪器设备 计算机、c或者Java语言 实验四 数据结构实验 (验证性实验 4学时) 目的要求 验证线性数据结构(栈
显示全部
相似文档