第一篇:程序设计语言VFP课程教学大纲
《程序设计语言(VFP)》课程教学大纲
课程编号:90211001 总学时数:68(理论
34、上机34)总学分数:3 课程性质:专业必修课 适用专业:全院本科专业
一、课程的任务和基本要求:
本课程为全院非计算机专业的理科、管理类和部分文科专业的公共课,是一门计算机技术基础课。理科专业、管理类专业开设在一年级第二学期,文科专业开设在二年级第一学期。
本课程的主要任务是通过对关系型数据库管理系统Visual Foxpro(简称VFP)的学习,使学生掌握程序设计的基础知识和程序设计的基本方法,掌握数据库及面向对象编程的基础知识,培养开发数据库应用程序的基本能力。
通过本课程的学习,要求针对具体的问题,能够使用Visual Foxpro设计数据库和开发相应的应用程序;并具有其他程序设计语言和其它类型数据库系统的自学能力。
二、基本内容和要求:
1、Visual Foxpro基本概念(1)数据库系统基础知识
①数据库、数据库管理系统、数据库系统等概念; ②关系模型和关系运算等。(2)Visual Foxpro集成环境
①Visual Foxpro的用户界面 ②Visual Foxpro的环境设置 ③项目管理器的使用(3)语言基础和程序设计
①数据类型和数据存储 ②运算符、函数和表达式 ③命令格式
④程序控制(分支、循环结构的使用)(4)Visual Foxpro的文件类型
要求:熟悉关系数据库的基础知识,了解关系模型和关系运算,掌握VFP集成环境的使用,熟悉VFP常见的文件类型,掌握VFP语言的基本成分,能够进行较简单的程序设计。
2、数据库与表的处理(1)表的创建与修改
①表结构的创建与修改;
②记录的增加、修改、删除,记录的定位; ③表的索引,结构复合索引文件,索引的使用;
④表的使用和工作区,表的打开方式,表的数据缓冲。(2)数据库的创建与修改
①数据库的创建与使用;
②数据库表的字段属性、表属性;
③表之间关系的创建与修改,相关表之间的参照完整性; ④连接和ODBC的概念。
要求:掌握表的创建修改、记录的处理、索引的设置,掌握数据库的创建与使用,数据库表的属性设置,熟悉表的使用和工作区,了解表的数据缓冲、连接和ODBC的概念。
3、查询(1)查询设计器的功能和使用;(2)SELECT-SQL语句的各种应用。
要求:掌握查询和视图应用方法,掌握SELECT-SQL语句,熟悉其他SQL语句。
4、对象模型与事件模型
(1)类和对象的概念、类的特点;(2)属性、事件与方法的概念。
(3)基类、子类和父类,容器和控件;
(4)Visual Foxpro的基类和容器类,基类的最小事件集、属性集。(5)对象的引用方法,对象属性的设置方法;(6)容器层次与类层次中的事件;(7)事件的激发顺序;(8)事件驱动和事件循环。
要求:熟悉面向对象程序设计的基本知识、基本概念和方法,掌握VFP的基类和基类的最小事件集、属性集,掌握VFP中对象的属性和方法的使用。
5、表单和控件
(1)表单向导和表单设计器的使用;(2)表单的数据环境及其属性的设置;(3)表单的设计、处理及其管理;(4)常用对象/控件创建及其处理。
①容器类对象; Column、CommandGroup、Container、Form、FormSet、Grid、OptionGroup、Page、PageFrame、ToolBar。②控件类对象。
CheckBox、ComboBox、CommandButton、DataEnviorment、EditBox、Header、Image、Label、Line、ListBox、OptionButton、Separator、Shape、Spinner、TextBox、Timmer。
要求:掌握表单的创建和使用,掌握常用的容器类和控件类对象的创建和处理,熟练使用表单和控件设计面向对象的程序。
6、菜单和工具栏
(1)菜单的组成和各种类型菜单的设计,菜单设计器的使用,菜单程序的生成;(2)定制系统工具栏,创建自定义工具栏。
要求:掌握一般菜单和快捷菜单创建和使用方法,掌握工具栏设计和使用方法,了解SDI菜单的创建和使用方法。
7、类的设计
(1)用户自定义类的创建与修改;(2)类库文件及其使用;(3)类的应用;
要求:掌握用类设计器和表设计器创建类的方法,掌握类的查看、管理和存储方法,掌握可视类在表单中的应用。
8、应用程序设计
(1)构造应用程序(项目文件)的主程序;(2)应用程序的连编;
要求:掌握VFP数据库应用系统的构造方法,了解VFP应用系统的发布方法。
9、常用命令、函数、属性、事件和方法(1)常用命令;
CREATE TABLE-SQL、ALTER TABLE-SQL、SELECT、USE、CLOSE TABLES、COPY STRUCTURE、COPY TO、RENAME TABLE、BROWSE、APPEND、APPEND FROM、GO/GOTO、LOCATE、SEEK、SKIP、CONTINUE、EDIT、DELETE、DELETE-SQL、PACK、RECALL、INSERT-SQL、REPLACE、UPDATE-SQL、SET EXCLUSIVE、SET FILTER、SET DELETED、SET INDEX、SET ORDER、GATHER、SCATTER、OPEN DATABASE、SET DATABASE、DELETE DATABASE、DISPLAY DATABASE、MODIFY DATABASE、VALIDATE DATABASE、SELECT-SQL、DO、DO FORM、REPORT、CALCULATE。(2)常用函数;
①数值函数:ABS()、INT()、MAX()、MIN()、MOD()、ROUND()。②数据转换函数:ASC()、CHR()、CTOD()、DTOC()、STR()、VAL()。
③字符函数:ALLTRIM()、AT()、BETWEEN()、EMPTY()、LEFT()、LEN()、RIGHT()、SAPCE()、SUBSTR()、TRIM()④日期与时间函数:DATE()、DATETIME()、DAY()、DOW()、TIME()、MONTH()、YEAR()⑤表、数据库函数:BOF()、DBGETPROP()、DBSETPROP()、DBUSED()、DELETED()、EOF()、FCOUNT()、FILE()、ORDER()、RECCOUNT()、RECNO()、SEEK()、TABLEREVERT()、TABLEUPDATE()、TAG()、USED()⑥其他函数:CREATEOBJECT()、GETFILE()、IIF()、INKEY()、MESSAGEBOX()、TYPE()、GETOBJECT()(3)常用属性;
ActiveColumn、ActivateControl、ActiveForm、ActivePage、Alignment、AllowAddNew、AlwaysOnTop、AutoCenter、AutoSize、BackColor、ForeColor、BorderColor、BorderStyle、BorderWidth、Bound、BoundColumn、ButtonCount、Cancel、Caption、Closable、ColumnCount、ControlBox、ControlCount、ControlSource、CurrentControl、Curvature、Default、DeleteMark、Desktop、DynamicAlignment、DynamicBackColor、DynamicForeColor、DynamicFontSize、Enabled、Exclusive、Fliter、FontSize、Format、FormCount、Height、Icon、Increment、InputMask、Interval、KeyboardHighValue、KeyboardLowValue、Left、MaxButton、MinButton、Movable、MultiSelect、Name、Order、PageCount、PasswordChar、Picture、ReadOnly、RecordSource、RecordSourceType、Resizable、RowSource、ScrollBars、Sizable、Sorted、Sparse、SpecialEffect、SpinnerHighValue、SpinnerLowValue、Style、Value、Visible、Width、WordWrap。(4)常用事件;
①核心事件:Init、Load、Destroy、Click、DblClick、Rightclick、GotFocus、LostFocus、InterActiveChange、ProgrammaticChange、KeyPress。
②其他事件:Activate、AfterCloseTables、BeforeOpenTables、Error、Valid、QueryUnload、Timer。
(5)常用方法。
AddObject、AddItem、Clear、DoCmd、Hide、Refresh、RemoveItem、Release、SetAll、SetFocus、Show、Quit。
要求:掌握常用的命令、函数、属性、事件和方法,能够熟练应用。
三、实践环节和要求:
本课程主要实践任务是使学生加深对数据库概念的理解,巩固关系数据库和面向对象编程的基本知识,通过实验培养开发数据库应用程序的基本能力。要求针对具体的问题,能够设计数据库和开发相应的应用程序。
各部分的实践环节和要求如下:
1、数据库系统及Visual Foxpro概述部分掌握VFP启动和退出的方法,熟悉VFP的集成工作环境,并掌握与项目管理器有关的操作。
2、VFP语言基础部分掌握各种常量的表示、变量的赋值、常用函数的功能和使用、各种类型表达式的构造方法,初步掌握结构化程序设计的方式。
3、表的创建与使用部分要求掌握表的创建和使用,主要包括自由表结构的创建、记录的录入、维护、表的索引等。
4、数据库的创建和使用部分要求掌握数据库表的各种数据扩展属性的设计方法,掌握数据库表的索引、永久性关系、参照完整性规则的创建与设置方法等。
5、查询和视图部分要求掌握创建查询与视图的方法和操作步骤,以及SELECT-SQL命令的应用。
6、对象模型和事件模型部分要求主要介绍OOP的基础知识、基本概念和方法,具体的操作体现在7、8、10和11部分。
7、表单部分要求掌握常见表单的方法和操作步骤。
8、控件部分要求熟悉VFP各类控件常用属性、相关事件代码的编写、方法的引用。
9、报表部分要求了解报表的创建和修改方法。
10、类的创建和应用部分要求了解用类设计器和表单设计器创建类的方法。
11、菜单和工具栏部分要求掌握用菜单设计器设计一般菜单和快捷菜单的方法,菜单程序的生成和运行,以及工具栏的设计和应用。
12、建立应用程序部分要求了解VFP应用系统的构造方法和发布方法。
四、教学时数分配: 上课课时分配
基本内容 课时数
数据库系统及Visual Foxpro概述 VFP语言基础 表的创建和使用 数据库的创建和使用 查询和视图
对象模型和事件模型 表单 控件
报表和标签 类的创建和使用 菜单和工具栏 建立应用程序 复习
五、其它项目: 上机操作课时分配
基本内容 数据库系统及
Visual Foxpro概述 VFP语言基础 表的创建和使用 数据库的创建和使用 查询和视图
对象模型和事件模型 表单 控件
报表和标签 类的创建和使用 菜单和工具栏 建立应用程序 复习 4 4 4 4 1 3 6 1 1 2 1 1
课时数 1 5 4 4 4 0 2 8 1 1 2 1 1
六、有关说明:
1、教学和考核方式:
本课程属考试课,考核方式为闭卷。
2、习题:
书面作业布置不少于4次,每次不少于10题,全交,全批改。
上机操作作业布置不少于4次,每次不少于5题,通过软盘或网络方式全交,全批改。
3、能力培养要求:
通过本课程的学习,具有程序设计的基本能力,具有数据库设计的基本能力,以及对于其他程序设计语言的自学能力。要求针对具体的问题,能够设计数据库和开发相应的应用程序。
4、与其它课程和教学环节的联系:
先修课程和教学环节:大学计算机信息技术基础
后续课程和教学环节:其它程序设计语言、管理信息系统平行开设课程和教学环节:程序设计语言(VB)、程序设计语言(C语言)、程序设计语言(Fortran90)
5、教材和主要参考书目:
(1)教材:新编Visual FoxPro教程、新编Visual FoxPro实验指导书 单启成、崔建忠编著
(2)主要参考书目:Visual FoxPro上机指导与典型题汇解析 周虹等编著
第二篇:《程序设计语言(C)》课程教学大纲
《程序设计语言(C)》课程教学大纲
课程编号:90211003
总学时数:85(理论
51、上机34)总学分数:4 课程性质:专业必修课 适用专业:全院理工科专业
一、课程的任务和基本要求:
本课程为全院非计算机专业的理工类专业的公共课,是一门计算机技术基础课程。本课程开设在一年级第二学期或二年级第一学期。
C语言程序设计是近年来在国内外迅速推广使用的一种计算机程序设计高级语言,由于其语言功能丰富、表达能力强、使用灵活、应用面广,因此实用性很强。
本课程的主要任务是通过对C语言程序设计的各种数据类型,基本语句,基本程序设计结构以及常用算法的学习,使学生掌握程序设计的基础知识和程序设计的基本方法,培养学生使用计算机解决实际问题的能力。
二、基本内容和要求:(1)C语言概述
C语言出现的背景、特点 简单C程序介绍及上机步骤(2)算法
算法的概念、特性 算法的表示
程序设计的三种基本结构
(3)数据类型、运算符和表达式 常量与变量 整型数据 实型数据 字符类型数据
各种数值型数据间的混合运算 算术运算符和表达式 赋值运算符和表达式
复合的赋值运算符和表达式 逗号运算符和表达式(4)顺序程序设计 C语句概述 赋值语句
数据输入、输出的概念及在C语言中的实现 字符数据的输入输出 格式输入输出
顺序结构程序设计举例(5)选择结构程序设计 关系运算符和关系表达式 逻辑运算符和逻辑表达式
if语句的三种形式、if语句的嵌套 条件运算符 switch语句
选择结构程序设计举例(6)循环结构程序设计 循环结构程序设计概述 while语句 do-while语句 for语句 循环的嵌套
几种循环语句的比较
break语句和continue语句 循环结构程序设计举例(7)数组
一维数组的定义和引用 二维数组的定义和引用 字符数组的定义和引用 字符数组的输入输出 字符串处理函数(8)函数 函数概述
函数参数和函数的返回值 函数调用的一般形式、方式 对调用函数的声明和函数原型 函数的嵌套调用 函数的递归调用 数组作为函数的参数 局部变量和全局变量 变量的存储类别 内部函数和外部函数(9)预处理命令 不带参数的宏定义 带参数的宏定义 “文件包含”处理(10)指针
地址和指针的概念
变量的指针和指向变量的指针变量 数组的指针和指向数组的指针变量 字符串的指针和指向字符串的指针变量 函数的指针和指向函数的指针变量 返回指针值的函数
指针数组和指向指针的指针
有关指针的数据类型和指针运算的小结(11)结构体和共用体 结构体概述
定义结构体类型变量的方法 结构体变量的引用 结构体变量的初始化 结构体数组
指向结构体类型数据的指针 用指针处理链表 共用体 枚举类型
用typedef定义类型(12)文件 C文件概述 文件类型指针 文件的打开和关闭 文件的读写
三、实践环节和要求:
程序设计是一门实践性很强的课程,必须十分重视实践环节。通过上机实验,加深学生对讲授内容的理解,能自然熟练掌握C语言的语法规定,学会编程并上机调试通过。
各部分的实践环节和要求如下:
1、了解Turbo C的基本操作方法,学会独立使用该系统;了解在该系统上如何编辑、编译、连接和运行一个C程序;通过运行简单的C程序,初步了解C程序的特点
2、掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法;掌握不同类型数据之间类型转换的规律;学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)、自减(--)运算符的使用
3、掌握赋值语句的使用方法;掌握各种类型数据的输入输出方法,能正确使用各种格式转换符
4、了解C语言表示逻辑量的方法;学会使用逻辑运算和逻辑表达式;熟练掌握if语句和switch语句;结合程序掌握一些简单的算法;
5、熟练掌握用while语句,do-while语句和for语句实现循环的方法;掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)
6、掌握一维数组和二维数组的定义、赋值和输入输出方法;掌握字符数组和字符串函数的使用;掌握与数组有关的算法(特别是排序算法)
7、掌握定义函数的方法;掌握函数实参与形参的对应关系以及“值传递”的方式;掌握函数的嵌套调用和递归调用的方法;掌握全局变量和局部变量,动态变量,静态变量的概念和使用方法
8、掌握宏定义的方法;掌握文件包含处理方式
9、掌握指针概念,会定义和使用指针;能正确使用数组的指针和指向数组的指针变量;能正确使用字符串的指针和指向字符串的指针变量;能正确使用指向函数的指针变量
10、掌握结构体变量的定义和使用;掌握结构体类型数组的概念和使用;掌握链表的概念,初步学会对链表进行操作;掌握共用体的概念与使用
11、掌握文件和文件指针的概念;学会使用文件打开、关闭、读写等文件操作函数;学会用缓冲文件系统对文件进行简单的操作
四、教学时数分配: 上课课时分配:
基本内容 C语言概述
数据类型 算术运算符和表达式 顺序程序设计及简单算法介绍 选择结构程序设计 循环结构程序设计 常用算法设计举例
函数的概念 函数的嵌套、递归调用 局部和全局变量 存储类别 一维、二维数组定义、引用和程序举例 数组作为函数参数 预处理命令
指针和指针变量 指向数组、字符串、函数的指针 返回指针的函数
结构体 链表 共用体 文件操作
课时数 3 4 5 3 3 3 6 6 3 8 4 3
五、其它项目: 上机操作课时分配: 基本内容 课时数 熟悉Turbo C实验环境 2 数据类型、常量、变量的使用 运算符和表达式的使用 4 顺序结构程序设计 2 选择结构程序设计 2 循环结构程序设计 2 常用算法实验一 2 函数实验 4 数组实验 4 预处理命令实验 2 指针实验 4 常用算法实验二 2 结构体实验 2 文件实验 2
六、有关说明:
1、教学和考核方式:
该课程属考试课程,考核方式为闭卷(笔试+上机)。
2、习题:
书面作业布置不少于8次。
上机作业布置不少于8次,通过软盘或网络方式提交作业。
3、能力培养要求: 通过本课程的学习,具有程序设计的基本能力,以及对于其他程序设计语言的自学能力。针对实际问题能编写相应程序并经过上机调试通过。
4、与其它课程和教学环节的联系:
先修课程和教学环节:大学计算机信息技术基础 后续课程和教学环节:其它程序设计语言
平行开设课程和教学环节:程序设计语言(VB)、程序设计语言(F90)、程序设计语言(VFP)
5、教材和主要参考书目:
(1)教材:C程序设计 谭浩强编著
(2)主要参考书目:C程序设计题解与上机指导 主编:谭浩强 版本:第二版
第三篇:高级程序设计语言C课程教学大纲
《数据结构A》课程教学大纲
一、课程基本信息
课程中文名称:数据结构A 课程英文名称:Data StructureA 课程编号:10072105 课程性质:学科基础课 课程学时和学分:总学时:64 总学分:3.5 理论学时:48 上机学时:16 适用专业:计算机科学与技术、网络工程、软件工程 先修课程:计算机程序设计语言、离散数学等
开课系部、教研室:电子与信息工程系、计算机应用教研室
二、课程的地位与作用
《数据结构》是计算机科学中一门综合性的专业核心基础课程。它是编译原理、操作系统、数据库系统原理、算法设计与分析及计算机应用方面的主要基础。
三、课程总的教学目的和要求
本课程教学目的是通过本课程的学习,要求学生掌握数据结构的特点、存储方法和基本运算,培养学生运用C(C++)语言正确编程及调试的能力,运用数据结构解决简单的实际问题的能力,为后续计算机专业课程的学习打下坚实的基础。
四、各章主要教学内容
第1章 数据结构概述(2学时)
本章应了解数据结构及算法的概念;掌握计算语句频度和估算算法时间复杂度的方法。重点:数据结构的逻辑结构、存储结构及数据的运算三方面的概念及相互关系 难点:算法复杂度的分析方法 第2章 线性表(8学时)
本章应了解线性表的逻辑结构特性,以及线性表的两种存储实现方式; 熟练掌握顺序表的定义与实现,包括查找、插入、删除算法的实现; 熟练掌握在各种链表结构中实现线性表操作的基本方法,能在实际应用中选用适当的链表结构;本章实验应掌握线性表的基本操作在顺序和链式存储结构上的实现。
重点:顺序表和单链表上实现的各种基本算法及相关的时间性能分析 难点:使用本章所学到的基本知识设计有效算法解决与线性表相关的应用问题 第3章 栈和队列(8学时)
本章应掌握栈和队列的定义、特性,并能正确应用它们解决实际问题;熟练掌握栈的顺序表示、链表表示以及相应操作的实现;熟练掌握队列的顺序表示、链表表示以及相应操作的实现;本章实验应掌握栈和队列的特点及栈和队列的基本运算。
重点:栈和队列在两种存储结构上实现的基本运算 难点:循环队列中对边界条件的处理 第4章 串(2学时)本章应理解串的基本操作的定义,并能利用这些基本操作来实现串的其它各种操作的方法;熟练掌握在串的顺序存储结构上实现串的各种操作的方法;了解串操作的应用方法和特点。
重点:顺序存储结构上串的各种操作 难点:串上实现的模式匹配算法 第5章 数组与广义表(4学时)本章应了解数组的两种存储表示方法,并掌握数组在以行为主的存储结构中的地址计算方法;掌握对特殊矩阵进行压缩存储时的下标变换公式;了解稀疏矩阵的两种压缩存储方法的特点和适用范围,理解以三元组表示稀疏矩阵时进行矩阵运算采用的处理方法;掌握广义表的结构特点及其存储表示方法,会对非空广义表进行分解。
重点:多维数组的存储方式、矩阵的压缩存储方式、广义表的定义及其求表头和表尾的运算 难点:稀疏矩阵的压缩存储表示下实现的算法 第6章 树与森林(10学时)
本章应了解树和森林的概念。包括树的定义、树的术语和性质;熟练掌握二叉树的结构特性,熟悉二叉树的各种存储结构的特点及适用范围;熟练掌握二叉树的遍历方法及遍历算法;熟悉树的各种存储结构及其特点,掌握树、森林与二叉树的转换方法;掌握建立哈夫曼树和哈夫曼编码的方法及带权路径长度的计算;本章实验应掌握二叉树的结构特性,以及用指针类型描述、访问和处理二叉树的运算。
重点:二叉树的遍历算法及其相关应用
难点:使用本章所学到的有关知识设计出有效算法,解决与树或二叉树相关的应用问题 第7章 图(10学时)
本章应理解图的基本概念,熟悉图的各种存储结构及其构造算法;熟练掌握图的两种搜索路径的遍历, 并理解算法;掌握构造最小生成树的方法;理解用Dijkstra方法求解单源最短路径问题;掌握求活动网络的拓扑排序的方法,并理解算法;了解求解关键路径的方法;本章实验应熟悉图的存储结构及邻接矩阵和邻接表等有关概念,掌握图的两种搜索路径的遍历方法。
重点:图的两种存储结构上实现的遍历算法 难点:图的应用的实现 第8章 查找(8学时)
本章应熟练掌握顺序表和有序表的查找算法及其性能分析方法;熟练掌握二叉排序树的构造和查找算法及其性能分析方法;理解AVL树的维护平衡方法;了解B_树、B+的特点、查找及构造方法;熟练掌握哈希函数的构造及解决冲突的方法;本章实验应熟练掌握二叉排序树的构造和查找方法。
重点:顺序查找、二分查找,二叉查找树上查找以及散列表上查找的基本思想和算法实现 难点:二叉查找树的删除算法及B—树上的插入和删除算法 第9章 排序(12学时)
本章应掌握排序的基本概念和各种排序方法的特点,并能加以灵活应用;掌握插入排序、交换排序、选择排序、归并排序的方法及其性能分析方法;了解基数排序方法及其性能分析方法;本章实验应掌握常用的排序方法,并掌握用高级语言实现排序算法的方法。
重点:快速排序、堆排序、归并排序和希尔排序的基本思想及排序过程 难点:这四个排序算法的实现 实验1 线性表的应用(4学时)
实验目的:掌握线性表的基本操作在顺序和链式存储结构上的实现。实验要求:
(1)建立含有若干个元素的顺序表链表;
(2)对已建立的顺序表实现插入、删除、查找、逆置等操作。实验2 栈和队列的应用(2学时)
实验目的:掌握栈和队列的特点,及栈和队列的基本运算。实验要求:
(1)栈的初始化、判栈是否为空、进栈、出栈等运算的实现。(2)利用栈实现判定表达式中的括号是否匹配。实验3 数组的应用(2学时)(选作)
实验目的:熟悉数组的有关概念,掌握稀疏矩阵的三元组存储结构的转置方法。实验要求:采用两种方法实现稀疏矩阵的转置。实验4 树和森林的应用(2学时)
实验目的:掌握二叉树的结构特性,以及用指针类型描述、访问和处理二叉树的运算。实验要求:
(1)创建以二叉链表作存储结构的二叉树;(2)按中序遍历二叉树;(3)计算二叉树的单枝结点数;(4)按层次遍历二叉树。实验5 图的应用(4学时)
实验目的:熟悉图的存储结构及邻接矩阵和邻接表等有关概念,掌握图的两种搜索路径的遍历方法。实验要求:
(1)创建以邻接表作存储结构的无向图;(2)按深度优先遍历图;(3)按广度优先遍历图。实验6 查找方法的实现(2学时)
实验目的:熟练掌握二叉排序树的构造和查找方法。实验要求:(1)创建以二叉链表作存储结构的二叉排序树;(2)实现二叉排序树的查找、插入、中序遍历操作。实验7 排序方法的实现(2学时)
实验目的:掌握常用的排序方法,并掌握用高级语言实现排序算法的方法。
实验要求:用各种排序方法实现学生考试成绩表的排序并输出。学生的考试成绩表必须通过键盘输入数据而建立,同时要对输出格式进行控制。实验课考核方式采用课堂表现和实验报告相结合方式。实验课成绩占课程总成绩的10%。
五、课程考核和成绩评定方式
闭卷考试和平时考核方式结合,期末考试占70%;平时成绩占30%。
六、教材与主要参考书
1.教材
[1]王红梅,胡明,王涛.数据结构(c++版).北京:清华大学出版社,2005.2.实验指导书或教材
[1]王红梅,胡明,王涛.数据结构(c++版)学习辅导与实验指导.北京:清华大学出版社,2005.[2]严蔚敏,吴伟民著.数据结构题集(C语言版).北京:清华大学出版社,1997.3、主要参考教材和参考文献
[1]严蔚敏,吴健民.数据结构(C语言版).北京:清华大学出版社,1997.[2]Robert.Kruse, C.L.Tondo, Bruce Leung.《Data Structures & program design in C》2nd Edition.北京:清华大学出版社.
执笔人: 邢振祥
审核:
第四篇:2008级程序设计语言(Java)教学大纲
《程序设计语言(Java)》教学大纲
课程名称: 程序设计语言(Java)英文名称:Programming Language(Java)课程编码: 212013 学 分: 4
学 时: 64(其中理论学时: 32,实践学时: 32)适用专业:非计算机专业理工类本科 先修课程: 《大学计算机基础》
一、课程的性质、目的与任务 课程性质:
该课程面向全校非计算机专业理工类本科生,是程序设计语言类必修的公共基础课之一。该课程的前导课程是《大学计算机基础》,侧重于Java语言的基本语法和面向对象编程方法的介绍。课程目的:
通过本课程的学习,学生不仅应掌握 Java语言的基本特点和编程方法,还应掌握面向对象程序设计的基本思想、基本概念和基本方法,并能运用所学的知识和技能对一般问题进行分析和程序设计,能解决本专业的一些实际问题。课程任务:
本课程采用引导式、启发式、实例讲解和实作演练等教学方法来组织教学,在注重Java语言基本概念和基本语法知识介绍的同时,注重培养学生面向对象的程序设计能力和思维方式,加强学生创新能力的培养,为进一步使用Java进行技术开发奠定坚实基础。
二、教学基本要求
通过本课程的学习,学生应达到下列基本要求:
1.掌握Java语言的基本语法、数据类型、运算符和表达式、流程控制语句、数组、向量和字符串、Swing界面设计、Applet小应用程序编制以及常见Java数据流的使用。
2.掌握对象和类的基本概念,学会使用Java进行面向对象程序设计开发的基本技能。
3.理解Java语言的特点、抽象类和内部类的概念、异常处理方法、控制组件外观的方法、Applet的安全机制和生命周期。
4.了解Java包的工作机制、对象持续化的基本概念、常见Java类的用法以及API文档的查阅方法。
三、教学条件
本课程教学在多媒体教室进行,实践教学要求在计算机机房进行,要为每个学生提供一台高性能计算机,并安装有JDK 6.0,UltraEdit,JCreator等开发工具。实践教学完成后,要上交相应部分的实验报告。
四、教学内容与学时安排
本课程共分三篇十章,内容涉及Java语言的基本概念和面向对象的编程方法。第一篇为Java编程基础篇,包括第1,2,3章,主要介绍Java的基本语法、数据类型及其流程控制语句;第二篇为Java编程提高篇,包括第4,5,6章,主要介绍数组、向量和字符串、Java面向对象的编程方法以及异常处理;第三篇为Java编程进阶篇,包括第7,8,9,10章,介绍Java图形界面设计、Applet以及数据流方面的知识。第1章 概述 1.1 什么是Java语言
1.2 一个基本的Java应用程序 1.3 程序的编译和运行 1.4 常见错误
1.5 使用Java核心API文档
第2章 标识符和数据类型 2.1 Java的基本语法单位 2.2 Java编码体例
2.3 Java的基本数据类型 2.4 复合数据类型
2.5 类和对象的初步介绍
第3章 表达式和流程控制语句 3.1 表达式 3.2 流控制
第4章 数组、向量和字符串 4.1 数组
4.2 Vector类 4.3 字符串类型
第5章 进一步讨论对象和类 5.1 抽象数据类型
5.2 对象的构造和初始化 5.3 this引用 5.4 子类 5.5 方法重写 5.6 Java包 5.7 类成员
5.8 关键字final 5.9 抽象类 5.10 接口 5.11 内部类 5.12 过时信息
第6章 Java语言中的异常 6.1 异常 6.2 异常示例 6.3 异常处理 6.4 异常分类 6.5 抛出
(2学时)
(4学时)
(4学时)
(4学时)
(4学时)
2学时)
(6.6 创建自己的异常
第7章 Java的图形用户界面设计(4学时)
7.1 AWT与Swing 7.2 容器 7.3 布局 7.4 事件处理
第8章 Swing组件(4学时)
8.1 按钮 8.2 标签 8.3 组合框 8.4 列表 8.5 文本组件 8.6 菜单组件
8.7 对话框、标准对话框与文件对话框 8.8 控制组件外观
第9章 Java Applet(2学时)
9.1 编写Applet 9.2 Applet的方法和Applet的生命周期 9.3 Applet的运行
9.4 在Applet中的多媒体处理 9.5 Applet的事件处理
9.6 Applet与普通应用程序的结合
第10章 Java数据流(2学时)
10.1 数据流的基本概念 10.2 基本字节数据流类 10.3 基本字符流 10.4 文件的处理
五、考核方式和成绩记载
本课程结束后由计算中心统一安排无纸化上机考试,成绩记载为: 总评成绩(理论)=平时成绩(40%)+无纸化上机考试成绩(60%)
其中:平时成绩=平时出勤和课堂提问(50%)+作业(50%)总评成绩(实践)=平时成绩(60%)+综合课题设计成绩(40%)
其中:平时成绩=上机出勤和表现(40%)+上机练习记录(30%)+单元实验报告(30%)
六、教学参考书 [1] 辛运帏等,《Java程序设计(第二版)》,清华大学出版社,2006年8月 [2] 辛运帏等,《Java程序设计题解与上机指导(第二版)》,清华大学出版社,2006年11月
七、说明
执笔人: 普运伟 审定人: 王建华 教学基层组织主任: 秦卫平
第五篇:《程序设计语言强化课程设计》教学大纲
《程序设计语言强化课程设计》教学大纲
周数:2 学
分:2
适用专业:网络工程 执笔人:周燕 审核人:崔如春 编写日期:2013年9月
项目一:学生成绩排名
一、目的和要求:
1.熟悉并巩固C程序设计语言的基本概念和知识。
2.培养学生自主学习,独立思考的能力,学会查找资料并善于分析资料的能力。3.培养学生独立设计,独立调试程序的能力。
二、主要内容:
采用选择法,将学生成绩从高到低进行排序,再输入一个学生的成绩,将此成绩按照排序规律插入已排好序的学生成绩数组,最后将排好序的成绩单进行反序存放。
1.定义一个数组a[11],用以存放学生的成绩。2.从键盘输入10个学生成绩。
3.采用选择法,将学生成绩按照从高到低进行排序。
4.再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组。
5.将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列。6.将以上每一步骤的结果均打印输出,验证程序是否正确实现题目要求。
三、教学方式和时间安排:
1.教学方式:讲授,讨论,指导。2.时间安排:5学时。
四、场所安排:
校内机房。
五、考核方式:
检查程序完成情况和课程设计报告完成情况。
六、成绩评定:
课程设计成绩由课程设计考勤、课程设计程序完成情况、课程设计报告综合评定。课程设计不得无故缺席,否则无课程设计成绩。课程设计考勤占20%,课程设计程序完成情况占30%,课程设计报告占50%,对于在课程设计中具有较强综合实验能力和创新能力的学生,在评定成绩时应给予适当地加分。
项目二: 根据条件进行学生成绩排名
一、目的和要求:
1.熟悉并巩固C程序设计语言的基本概念和知识。
2.培养学生自主学习,独立思考的能力,学会查找资料并善于分析资料的能力。3.培养学生独立设计,独立调试程序的能力。
二、主要内容:
在函数中进行 10个学生成绩从高到低排名,再改进函数,进行 n个学生成绩从高到低排名, 排名方式根据函数的style参数进行,如style为‘a'按升序排,style为 ' d ' 按降序排。(a:ascending 升,d:descending 降)
编写多个不同函数,使之能实现不同的排序算法(3种以上),再编写一个通用输出函数,(要求用函数指针做参数)能分别打印不同排序算法的结果。
1.在函数中进行10个学生成绩从高到低排名 sort(int a[10])2.改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名, 改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。(a:ascending 升,d:descending 降)
3.编写4个排序函数,实现4种不同的排序算法(用冒泡法进行升序排序,用冒泡法进行降序排序,选择法进行升序排序,选择法进行降序排序等),函数返回指向排好序的数组的指针。
4.编写通用输出函数 show(int a[ ],int n,int *(* fun)(a[ ], int n)),其中a[]为成绩数组,n为数组元素个数。fun为函数指针,函数的特点为有两个参数,一个为整型数组,一个为整数,返回值为指向整型变量的指针)5.编写主函数调用以上函数。
三、教学方式和时间安排:
1.教学方式:讲授,讨论,指导。2.时间安排:5学时。
四、场所安排:
校内机房。
五、考核方式:
检查程序完成情况和课程设计报告完成情况。
六、成绩评定:
课程设计成绩由课程设计考勤、课程设计程序完成情况、课程设计报告综合评定。课程设计不得无故缺席,否则无课程设计成绩。课程设计考勤占20%,课程设计程序完成情况占30%,课程设计报告占50%,对于在课程设计中具有较强综合实验能力和创新能力的学生,在评定成绩时应给予适当地加分。
项目三:链表的操作
一、目的和要求:
1.熟悉并巩固C程序设计语言的基本概念和知识。
2.培养学生自主学习,独立思考的能力,学会查找资料并善于分析资料的能力。3.培养学生独立设计,独立调试程序的能力。
二、主要内容:
建立一个动态链表,将学生数据(学号,成绩)存入链表结构中,实现链表的访问(求学生成绩的平均分,找到最高分,最低分,将其数据输出)。删除指定学号的学生数据,对学生数据进行排序,分别在链表头部,中间,末尾插入学生数据。
三、教学方式和时间安排:
1.教学方式:讲授,讨论,指导。2.时间安排:5学时。
四、场所安排:
校内机房。
五、考核方式:
检查程序完成情况和课程设计报告完成情况。
六、成绩评定:
课程设计成绩由课程设计考勤、课程设计程序完成情况、课程设计报告综合评定。课程设计不得无故缺席,否则无课程设计成绩。课程设计考勤占20%,课程设计程序完成情况占30%,课程设计报告占50%,对于在课程设计中具有较强综合实验能力和创新能力的学生,在评定成绩时应给予适当地加分。
项目四:学生成绩文件管理
一、目的和要求:
1.熟悉并巩固C程序设计语言的基本概念和知识。
2.培养学生自主学习,独立思考的能力,学会查找资料并善于分析资料的能力。3.培养学生独立设计,独立调试程序的能力。
二、主要内容:
定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩,输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩,输出三门课程的平均分数最高的学生的学号、姓名及其平均分,将10个学生的相关数据,存入文件中,再从文件中读出,按照平均分数从高到低进行排序,分别将结果输出到屏幕上和另一文件中,再从文件中读取第 1,3,5,7,9个学生的数据。
1.定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩 2.从键盘输入10个学生的以上内容
3.输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩 4.输出三门课程的平均分数最高的学生的学号、姓名及其平均分 5.从键盘输入10个学生的以上内容,存入文件stud.dat,关闭文件 6.打开stud.dat文件,将数据读出,查看是否正确写入,关闭文件。
7.打开文件stud.dat文件,读出数据,将10个学生按照平均分数从高到低进行排序,8.分别将结果输出到屏幕上和另一文件studsort.dat中。
9.从studsort.dat 文件中读取第1,3,5,7,9个学生的数据。
三、教学方式和时间安排:
1.教学方式:讲授,讨论,指导。2.时间安排:5学时。
四、场所安排:
校内机房。
五、考核方式:
检查程序完成情况和课程设计报告完成情况。
六、成绩评定:
课程设计成绩由课程设计考勤、课程设计程序完成情况、课程设计报告综合评定。课程设计不得无故缺席,否则无课程设计成绩。课程设计考勤占20%,课程设计程序完成情况占30%,课程设计报告占50%,对于在课程设计中具有较强综合实验能力和创新能力的学生,在评定成绩时应给予适当地加分。
项目五:一个综合系统(五选一)
一、目的和要求:
1.熟悉并巩固C程序设计语言的基本概念和知识。
2.培养学生自主学习,独立思考的能力,学会查找资料并善于分析资料的能力。3.培养学生独立设计,独立调试程序的能力。
二、主要内容:
1.学生成绩管理系统
数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩
1、成绩
2、成绩
3、平均成绩、总成绩。
要求具有以下功能:
(1)添加、删除任意个记录。(2)修改任意个记录。(3)显示、保存记录。
(4)排序功能:打开学生数据库,计算每个学生的平均成绩和总成绩,用冒泡法或选择排序法将平均成绩和总成绩排序后生成两个新文件(从大到小),存盘并显示这两个文件的全部记录。
(5)查询功能:打开总成绩排序文件,用折半查找法统计出给定分数的人数并显示。
要求:
(1)设计一个主函数和多个子函数,每个子函数完成一个相对独立的子功能。(2)程序运行时,首先进行口令检查,再显示菜单。并能根据菜单调用相应的函数功能。
口令程序段的功能要求:
《1》提示用户输入一个口令。
《2》用户输入口令后,若口令对,则提示用户通过,可执行后续程序;否则不通过。
《3》可对用户的口令输入进行次数限制(如:重复输入3次都不对),则自动退出系统。
(3)显示数据时,一页显示不下,可分页显示。2.教师信息管理系统设计
教师信息包括教师号、姓名、性别、年龄、学历、职称、工资、住址、电话等(教师号不重复)。试设计一教师信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)教师信息录入功能--输入(3)教师信息删除功能
(4)教师信息浏览功能 --输出(5)查询和排序功能:(至少一种查询方式)--算法
按教师号查询
按职称查询等 要求:
(1)设计一个主函数和多个子函数,每个子函数完成一个相对独立的子功能。(2)程序运行时,首先进行口令检查,再显示菜单。并能根据菜单调用相应的函数功能。
口令程序段的功能要求:
《1》提示用户输入一个口令。
《2》用户输入口令后,若口令对,则提示用户通过,可执行后续程序;否则不通过。
《3》可对用户的口令输入进行次数限制(如:重复输入3次都不对),则自动退出系统。
(3)显示数据时,一页显示不下,可分页显示。3.图书信息管理系统设计
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:(1(2(3)图书信息浏览功能--输出。(4)查询和排序功能:(至少一种查询方式)
按书名查询
按作者名查询
(5)图书信息的删除与修改。要求:
(1)设计一个主函数和多个子函数,每个子函数完成一个相对独立的子功能。(2)程序运行时,首先进行口令检查,再显示菜单。并能根据菜单调用相应的函数功能。
口令程序段的功能要求:
《1》提示用户输入一个口令。
《2》用户输入口令后,若口令对,则提示用户通过,可执行后续程序;否则不通过。
《3》可对用户的口令输入进行次数限制(如:重复输入3次都不对),则自动退出系统。
(3)显示数据时,一页显示不下,可分页显示。4.电话簿管理程序
数据库的主要数据包括:姓名、工作单位、电话号码、E-mail地址。要求具有以下功能:(1(2)添加、删除、修改任意个记录。(3)显示、保存记录。
(4)排序功能:按电话号码排序和按照姓名字母序排序。(5)查询功能:按人名查询电话号码和按电话号码查询人名。要求:
(1)设计一个主函数和多个子函数,每个子函数完成一个相对独立的子功能。(2)程序运行时,首先进行口令检查,再显示菜单。并能根据菜单调用相应的函数功能。
口令程序段的功能要求:
《1》提示用户输入一个口令。
《2》用户输入口令后,若口令对,则提示用户通过,可执行后续程序;否则不通过。
《3》可对用户的口令输入进行次数限制(如:重复输入3次都不对),则自动退出系统。
(3)显示数据时,一页显示不下,可分页显示。
三、教学方式和时间安排:
1.教学方式:讲授,讨论,指导。2.时间安排:16学时。
四、场所安排:
校内机房。
五、考核方式:
检查程序完成情况和课程设计报告完成情况。
六、成绩评定:
课程设计成绩由课程设计考勤、课程设计程序完成情况、课程设计报告综合评定。课程设计不得无故缺席,否则无课程设计成绩。课程设计考勤占20%,课程设计程序完成情况占30%,课程设计报告占50%,对于在课程设计中具有较强综合实验能力和创新能力的学生,在评定成绩时应给予适当地加分。