数据结构课程设计分类题目

2024-10-15

数据结构课程设计分类题目(精选9篇)

数据结构课程设计分类题目 篇1

线性表

顺序表:

1、设有一元素为整数的线性表L=(a1,a2,a3,„,an),存放在一维数组A[N]中,设计一个算法,以表中an作为参考元素,将该表分为左、右两部分,其中左半部分每个元素小于等于an,右半部分每个元素都大于an, an位于分界位置上(要求结果仍存放在A[N]中)。

2、设线性表存于A[1..size]的前num各分量中,且递增有序。请设计一个算法,将x插入到线性表的适当位置上,以保持线性表的有序性。

3、线性表(a1,a2,a3,„,an)中元素递增有序且按顺序存储于计算机内。要求设计一算法完成:(1)用最少时间在表中查找数值为x的元素。

(2)若找到将其与后继元素位置相交换。

(3)若找不到将其插入表中并使表中元素仍递增有序。

4、已知数组A[0:n-1]的元素类型为int,试设计算法将其调整为左右两个部分,左边所有元素为奇数,右边所有元素为偶数。

5、设计一个算法从顺序表L中删除所有值为x的元素

6、设计一个算法从顺序表L中删除所有值为x到y之间(x<=y)的元素

链表:

1、假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,并要求利用原来两个单链表的结点存放归并后的单链表。

2、已知L1、L2分别为两循环单链表的头结点指针,m,n分别为L1、L2表中数据结点个数。要求设计一算法,用最快速度将两表合并成一个带头结点的循环单链表。

3、设L为单链表的头结点地址,其数据结点的数据都是正整数且无相同的,设计一个将该链表整理成数据递增的有序单链表的算法。

5、设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B、C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A的元素类型为整型,要求B、C表利用A表的结点)。

6、试编写在带头结点的单链表中删除(一个)最小值结点的(高效)算法。

7、设L为单链表的头结点地址,请写一算法,将链表中数据域值最小的那个链结点移到链表的最前面。要求:不得额外申请新的链结点。

8、已知两个单链表A和B,其头指针分别为heada和headb,编写一个过程从单链表A中删除自第i个元素起的共len个元素,然后将单链表A插入到单链表B的第j个元素之前。

9、已知递增有序的单链表A,B分别存储了一个集合,请设计算法以求出两个集合A和B 的差集A-B(即仅由在A中出现而不在B中出现的元素所构成的集合),并以同样的形式存储,同时返回该集合的元素个数。

10、已知一个单链表中每个结点存放一个整数,并且结点数不少于2,请设计算法以判断该链表中第二项起的每个元素值是否等于其序号的平方减去其前驱的值,若满足则返回ture,否则返回false.11、两个整数序列A=a1,a2,a3,„,am和B=b1,b2,b3,„,bn已经存入两个单链表中,设计一个算法,判断序列B是否是序列A的子序列。

12、已知p指向双向循环链表中的一个结点,其结点结构为data、llink、rlink三个域,写出算法change(p),交换p所指向的结点和它的前缀结点的顺序。

13、设有一个由正整数组成的无序单链表,编写完成下列功能的算法:

(1)找出最小值结点,且打印该数值;

(2)若该数值是奇数,则将其与直接后继结点的数值交换;

(3)若该数值是偶数,则将其直接后继结点删除。

14、在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素。例如:(7,10,10,21,30,42,42,42,51,70)将变作(7,10,21,30,42,51,70)。

15、设有一个正整数序列组成的有序单链表(按递增次序有序,且允许有相等的整数存在),试编写能实现下列功能的算法 :(要求用最少的时间和最小的空间)

(1)确定在序列中比正整数x大的数有几个(相同的数只计算一次,如序列{20,20,17,16,15,15,11,10,8,7,7,5,4}中比10大的数有5个);

(2)在单链表将比正整数x小的数按递减次序排列;

(3)将正整数(比)x大的偶数从单链表中删除。

16、编写一个算法来交换单链表中指针P所指结点与其后继结点,HEAD是该链表的头指针,P指向该链表中某一结点。

17、.已知三个带头结点的线性链表A、B和C中的结点均依元素值自小至大非递减排列(可能存在两个以上值相同的结点),编写算法对A表进行如下操作:使操作后的链表A中仅留下三个表中均包含的数据元素的结点,且没有值相同的结点,并释放所有无用结点。限定算法的时间复杂度为O(m+n+p),其中m、n和p分别为三个表的长度。

栈和队列

1、设计一个算法,利用栈的基本运算将指定栈中的内容逆转。

2、设计一个算法,利用栈的基本运算返回指定栈中栈底元素。

3、设有两个栈S1,S2都采用顺序栈方式,并且共享一个存储区[O..maxsize-1],为了尽量利用空间,减少溢出的可能,可采用栈顶相向,迎面增长的存储方式。试设计S1,S2有关入栈和出栈的操作算法。

4、设从键盘输入一整数的序列:a1, a2, a3,„,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。算法应对异常情况(入栈满等)给出相应的信息。

4、设表达式以字符形式已存入数组E[n]中,‘#’为表达式的结束符,试写出判断表达式中括号(‘(’和‘)’)是否配对的C语言描述算法:EXYX(E);(注:算法中可调用栈操作的基本算法。)

5、从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、-、*、/四种运算。例如:234 34+2*$

6、写出一个算法,判定所给的操作序列是否合法。若合法,返回true,否则返回false(假定被判定的操作序列已存入一维数组中)。

7、设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。

8、请利用两个栈S1和S2来模拟一个队列。已知栈的三个运算定义如下:PUSH(ST,x):元素x入ST栈;POP(ST,x):ST栈顶元素出栈,赋给变量x;Sempty(ST):判ST栈是否为空。那么如何利用栈的运算来实现该队列的三个运算:enqueue:插入一个元素入队列; dequeue:删除一个元素出队列;queue_empty:判队列为空。(请写明算法的思想及必要的注释)

9、假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾结点,但不设头指针,如图所示(编者略),请写出相应的入队列和出队列算法。

10、如果允许在循环队列的两端都可以进行插入和删除操作。要求:

(1)写出循环队列的类型定义;(2)写出“从队尾删除”和“从队头插入”的算法。

11、在一个循环链队中只有尾指针(记为rear,结点结构为数据域data,指针域next),请给出这种队列的入队和出队操作的实现过程。

12、已知Q是一个非空队列,S是一个空栈。仅用队列和栈的操作编写一个算法,将队列Q中的所有元素逆置。

13、已知求两个正整数m与n的最大公因子的过程用自然语言可以表述为反复执行如下动作:第一步:若n等于零,则返回m;第二步:若m小于n,则m与n相互交换;否则,保存m,然后将n送m,将保存的m除以n的余数送n。

(1)将上述过程用递归函数表达出来(设求x除以y的余数可以用x MOD y 形式表示)。(2)写出求解该递归函数的非递归算法。

14、试将下列递归过程改写为非递归过程。void test(int &sum){ int x; scanf(x);

if(x=0)sum=0 else {test(sum);sum+=x;} printf(sum); }

树和二叉树

1、二叉树用二叉链表存储,写一个算法将二叉树中的叶子结点按从右至左的顺序建立一个单链表。

2、知二叉树用二叉链表存储,写出求二叉树宽度的算法。所谓宽度是指在二叉树的各层上,具有结点数最多的那一层上的结点总数。

3、叉树用二叉链表存储,写一个算法交换各结点的左右子树。

4、二叉树用二叉链表存储,若结点的左孩子的数据域的值大于右孩子数据域的值,则交换其左右子树。

5、叉树用二叉链表存储,编写一算法,判别给定的二叉树是否为完全二叉树。

6、个结点的完全二叉树以一维数组为存储结构,编写一非递归算法实现对该树的先序遍历。

7、编写一算法,在二叉树中查找值为x的结点,并打印值为x的结点的所有祖先结点。

8、编写中序遍历二叉树的非递归算法。

9、编写先序遍历二叉树的非递归算法。

10、编写后序二叉树的非递归算法。

11、叉树用二叉链表存储,任给一个二叉树表示的四则运算表达式,编写算法,由该二叉树输出该表达式,若原表达式有括号亦加上。

12、有n个结点的完全二叉树存放在一维数组A[1..n]中,试据此建立一棵用二叉链表表示的二叉树,根由tree指向。

13、二叉树排序方法如下:

(1)将第一个数据放在树根。

(2)将随后读入的数据与树根中的数据相比较,若比树根大,则置于右子树,反之则置于左子树,建成一棵二叉树;

(3)利用中序遍历打印排序结果。用C语言编写二叉树的排序程序。

14、二叉树结点的平衡因子(bf)定义为该结点的左子树高度与右子树高度之差。编写算法计算二叉树中各个结点的平衡因子。

15、设计算法:统计一棵二叉树中所有叶结点的数目及非叶结点的数目。

16、已知二叉树以二叉链表存储,编写算法完成:对于树中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。

17、试编写算法,对一棵以孩子—兄弟链表表示的树统计叶子的个数。

18、设一棵二叉树中各结点的值互不相同,其前序序列和中序序列分别存于两个一维数组pre[1..n ]和mid[1..n ]中,试遍写算法建立该二叉树的二叉链表。

19、试设计一个算法打印出由根结点出发到达叶结点的所有路径。

20、试写出算法,求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。

21、给定一组项及其权值,假定项都存放于二叉树的树叶结点,则具有最小带权外部路径长度的树称为huffman 树。编写构造huffman 树 的算法。

22、已知一中序线索二叉树,写一算法完成对它的中序扫描。

23、已知中序线索二叉树T右子树不空。设计算法,将S所指的结点作为T的右子树中的一个叶子结点插入进去,并使之成为T的右子树的(中序序列)第一个结点(同时要修改相应的线索关系)。

24、写出算法,求出中序线索二叉树中给定值为x的结点之后继结点,返回该后继结点的指针。线索树中结点结构为:(ltag,lc,data,rc,rtag)。其中,data存放结点的值;lc,rc为指向左、右孩子或该结点前驱或后继的指针;ltag,rtag为标志域,各值为:0,则lc,rc为指向左、右孩子的指针;值为1,则lc,rc为指向某前驱后继结点的指针

25、设后序线索树中结点构造为(Ltag,Lchild,Data,Rchild,Rtag)。其中:Ltag,Rtag 值为0时,Lchild、Rchild 分别为儿子指针;否则分别为直接前驱,直接后继的线索。请写出在后序线索树上找给定结点p^ 的直接前驱q 的算法。

1、设无向图G有n个顶点,m条边。试编写用邻接表存储该图的算法。(设顶点值用1~n或0~n-1编号)

2、已知有向图有n个顶点,请写算法,根据用户输入的偶对建立该有向图的邻接表。即接受用户输入的(以其中之一为0标志结束),对于每条这样的边,申请一个结点,并插入到的单链表中,如此反复,直到将图中所有边处理完毕。提示:先产生邻接表的n个头结点(其结点数值域从1到n)。

3、给出以十字链表作存储结构,建立图的算法,输入(i,j,v)其中i,j为顶点号,v为权值。

4、设有向G图有n个点(用1,2,„,n表示),e条边,写一算法建立有向图的逆邻接表。

5、设已给出图的邻接矩阵,要求将图的邻接矩阵转化为邻接表,试实现其算法。

6、编写算法,将图的邻接矩阵存储改为邻接表的存储。

7、试写一算法,判断以邻接表方式存储的有向图中是否存在由顶点Vi到顶点Vj的路径(i<>j)。

8、已知无向图采用邻接表存储方式,试写出删除边(i,j)的算法。

9、假设有向图以邻接表存储,试编写算法删除弧的算法。

10、假设有向图以十字链表存储,试编写算法,插入弧

12、设有向图用邻接表表示,图有n个顶点,表示为1至n,试写一个算法求顶点k的入度(1

13、写出图的深度优先搜索DFS算法的非递归算法。

14、已知带权图用邻接矩阵表示,编写函数实现用Kruskal算法构造最小生成树的算法。

15、编写函数实现用Prim算法构造最小生成树的算法。

16、编写函数实现从指定顶点到其余各顶点的最短路径的Dijkstra 算法。

17、实现图的拓扑排序算法。

查找和排序

1、设计一个二分查找的递归算法。

2、设计一个算法,利用二分查找算法在一个有序表中插入一个元素x,并保持表的有序性。

3、实现散列表的相关算法

(1)给定一个序列,和散列函数,并利用线性探测再散列处理冲突,建立散列表。(2)编写函数,查找某一个关键字(3)编写函数,删除找某一个关键字

4、设计一个顺序查找算法

5、编写一个算法,统计 一个字符串中出现字符的次数。

6、实现二叉查找树的相关算法(1)给定序列,创建一二叉查找树(2)判定一棵树是否为二叉查找树

(3)采用递归和非递归算法,查找某一个关键字(4)编写函数,删除找某一个关键字

7、编写函数实现直接插入算法、希尔排序算法。

8、编写函数实现冒泡排序算法、快速排序算法。

9、编写函数实现堆排序算法。

10、编写函数实现二路归并排序算法。

11、编写函数实现基数排序算法。

12、编写函数实现可变长度的字符串序列快速排序算法。

数据结构课程设计分类题目 篇2

目前,高速以太网等计算机网络技术得到了广泛应用。通过以太网,各种设备之间的互联和数据交换变得简单、快捷、可靠,非常适合于解决设备间的兼容和互操作问题。[1]以太网一个主要的特点是简单,在实践中,简单性带来了可靠、廉价、易于维护等特性,因此,以太网具有强大的生命力。

以太网可以在同一总线上运行不同的传输协议,从而能够建立公共网络平台或基础架构。TCP/IP协议是最常见的网络互连协议,通常被定义为七层网络模型,用户可以根据实际需要,在应用层自定义数据帧格式。[2]通过自定义数据帧,用户可以方便地扩展数据通信功能,或者加强数据通信控制,满足不同的业务需求。这为网络应用带来了极大的灵活性,但同时也带来了一些不便。由于网络上传输的数据多种多样,因此用户需要将接收到的网络数据进行分类,不同的业务应用使用不同的数据信息,这样才不会产生混淆,避免后续的数据处理出现错误。通常,网络数据分类由网络应用软件完成,由软件开发人员根据规定的数据帧格式编制相应的数据分类模块,实现网络数据的分类。随着自定义数据帧格式的增多,需要编制的数据分类模块也不断增加,大大降低了软件开发的效率。

网络数据分类是网络应用的一个基础功能,通用化的网络数据分类方法可以提高网络应用开发的效率,具有较高的实用价值。本文分析了现有网络数据分类方法的共同点,设计了一个具有较强通用性的分类方法,可以在尽可能小的改动下,实现各种网络数据的分类。

2. 接收网络数据的场景类型

在实际应用中,网络设备从网络上接收数据帧,然后进行处理。虽然网络数据的格式多种多样,但网络设备接收网络数据帧总可以归纳为以下三个场景。

2.1 网络上所有设备都只发送一种格式的数据帧。

这种情况下,数据源与数据帧的类型是一一对应的,知道了该数据帧是某个设备发送来的,即明确数据帧的来源,就可以知道该数据帧的类型。这个场景下的网络数据分类就是区分是“XX设备发送来的数据”。

2.2 网络上所有设备发送多种格式的数据帧且帧类型码不重复。

通常,在帧格式中会定义一个帧类型码,对所有类型的数据帧进行编码,这样,通过帧类型码就可以区分各个类型的数据帧。如果帧类型码是统一编码,就可以保证所有数据帧在帧类型码上不会重复。这种情况下,通过数据源不足以区分开各种类型的数据帧,但可以通过帧类型码区分各种数据帧。这个场景下的网络数据分类就是区分是“YY类型的数据”。

2.3 网络上所有设备发送多种格式的数据帧且帧类型码有重复。

在某些应用中,帧类型码的编码与设备是相互独立的,不同的设备可以发送同一帧类型码的数据帧。在这种情况下,单独考虑数据源或帧类型码都不能准确区分数据帧的类型,需要综合考虑数据源及帧类型码,才能正确区分数据帧。这个场景下的网络数据分类就是区分是“XX设备发送的YY类型的数据”。

3. 网络数据分类的方法及要素

3.1 网络数据分类的方法

对应于上述三个接收网络数据帧的场景,可以采用如下方法进行网络数据分类。

3.1.1 源IP分类:

用于第一个场景下的数据分类,区分是“XX设备发送来的数据”。在网络上,网络设备通常用设备的IP地址标识,源IP即表示了网络数据帧的来源。明确了数据源IP,就可以明确接收的数据帧是从哪个设备发送来的。

3.1.2 帧ID分类:

用于第二个场景下的数据分类,区分是“YY类型的数据”。帧类型码通常简称为帧ID,如果所有的帧ID是统一编码的,编码值没有重复,则帧ID与数据帧类型一一对应,采用帧ID即可区分所有数据类型。帧ID是数据帧中的一项,获取帧ID需要对网络数据帧进行“解帧”,也就是在数据帧中找到帧ID所在位置,并获取其值。

3.1.3 混合分类:

用于第三个场景下的数据分类,综合使用源IP和帧ID,区分是“XX设备发送的YY类型数据”。

3.2 网络数据分类的要素

网络数据帧格式是网络数据分类的基础和依据。图1给出一个自定义网络数据帧的格式,下文将以此为例进行描述。该帧格式基于TCP/IP协议进行定义,关于TCP/IP协议的论著很多,本文不再赘述。

在上图中,用户关心的是应用层数据,可以根据需要自行定义应用层数据的格式。图中给出了格式定义的一个实例,数据帧由多个数据子帧组成,每个子帧都遵循相同的格式定义,其各个组成项目的作用如表1所示。

上述三种网络数据分类方法的目的,都是从数据帧中获取源地址、帧ID等信息,从而确定数据帧的类型。不难发现,这三种方法中都有几个不可或缺的要素。

3.2.1 源IP:即数据帧的源IP地址,表示该数据帧是哪个设备发送的。源IP主要用在第一和第三个场景中,明确是“XX设备”。

3.2.2 帧ID:即数据帧的帧类型码,主要用在第二和第三个场景中,明确数据帧的类型,即明确是“YY类型的数据”。

3.2.3 应用层数据的帧结构信息:表示应用层数据格式的定义,说明“总帧长”、“帧ID”、“帧长度”、“有效数据”等项目的位置、数据类型、字节数等信息。在解帧过程中,可以根据该帧结构信息,定位到数据帧的各个项目,并获取项目的值。

4. 网络数据解帧的通用方法

在网络数据接收的第二和第三个场景中,都需要获取帧ID才能完成数据的分类。获取帧ID通过对网络数据帧进行“解帧”操作完成。解帧就是按照数据帧格式定义,在数据帧中的相应位置找到各个项目,获取项目的值,或解析项目内容。

网络数据帧格式多种多样,解帧的关键在于正确解析数据帧头。数据帧头指有效数据之外的数据信息,通常包含了各种辅助信息,用于帮助控制通信过程和解析数据内容。图1中,“帧类型码”、“日期”、“时间”、“帧长度”、“保留”这几个项目组成了数据帧头。帧头中包含了多个信息,解帧时必须考虑三个因素:第一是帧类型码,这是判别帧类型的重要标识,知道了帧类型码,就可以判断该数据帧是否需要;第二是帧长度(包括总帧长和各个子帧长),这是控制解帧操作结束的标准,知道了帧长度,就可以在解帧到帧尾时停止解帧操作,防止误操作缓冲区;第三是有效数据的位置,以便对有效的数据进行处理。

无论网络数据帧格式如何变化,只要知道了上述信息,就可以正确解帧,获取帧ID及有效数据。基于这种思路的解帧方法与帧格式定义没有关系,可以作为一种通用的解帧算法。图2给出了网络数据解帧通用方法的处理流程。

5. 网络数据分类的通用方法

当网络设备接收网络数据帧时,可以同时获取该数据帧的源IP,从而知道发送该数据帧的源设备。每个源设备发送的数据帧格式是预先约定的,按照其帧结构信息,采用上文所述的通用化解帧方法,可以获取帧ID,从而确定数据帧的类型。也就是说,网络数据分类的要素都可以获取。在此基础上,再对照接收网络数据的场景,采用相应的数据分类方法,即可完成网络数据的分类。

图3描述了网络数据分类的通用化处理流程。该处理流程只需要知道数据帧的源IP,以及帧ID、帧长度、有效数据的格式信息,可以适应多种数据帧格式定义,完成数据帧的分类操作,具有较强的通用性。

6. 结语

本文概括了网络设备接收网络数据的三个典型场景,分析了在三个场景中进行数据分类不可缺少的共同要素。在此基础上,设计了三种网络数据分类的方法,分别用于相应的场景。对于数据分类过程中涉及的解帧操作,设计了通用化的网络数据解帧方法,其关键在于正确的解析网络数据帧头。

最后,本文综合运用三种网络数据分类方法,设计了通用化的数据分类算法。该算法可以在统一的处理流程中,适应大部分数据帧格式定义,完成各种网络数据的分类,具有较强的通用性。这种网络数据分类算法应用在我开发的多个软件中,不需修改软件代码,即可对不同格式的网络数据帧进行准确分类,提高了软件开发的效率,取得了较好的实用效果。

由于时间关系,本文只是对网络数据分类的方法作了初步探讨,很多详细的技术问题还需要在以后深入研究和验证,文中错误之处,敬请批评指正。

参考文献

[1]刘晓辉等.以太网组网技术大全.清华大学出版社, 2001.

《数据库开发》课程的设计 篇3

关键词:企业调研 课程标准 方案设计

0 引言

《数据库开发》是计算机专业的一门核心课程,通过本课程的学习,学生将能够进行初步的需求分析,根据分析结果设计数据库的概念结构模型和逻辑结构模型,并能够根据物理结构模型进行数据库实施和简单数据库应用系统的开发。本课程实践性非常强,注重培养学生的动手能力。所以,设计课程过程中,应该更加注重课程本身的实用性,更加注重课程内容本身与企业岗位的相结合。

《数据库开发》课程设计主要经历了企业调研、课程标准开发、课程方案设计等几个阶段。下面就分别说明一下课程设计的每个阶段。

1 《数据库开发》课程企业调研

进行企业调研是课程建设要进行的第一步,只有进行了充分的企业调研才能培养出满足社会和企业需求的合格人才。才能根据需求进行课程的设计,这样才能使学校的课程更加适合企业,更加适合社会。为此,我们的项目团队到企业进行了实地调研,我们获取到了企业对于学生的需求和对于课程设置方面的建议。

本门课程在进行企业调研之前已经根据之前的教学经验设置了本门课程的任务,具体任务设置如下:

任务1 数据库分析与设计

任务2 系统前台页面设计

任务3 数据库实现

任务4 系统后台实现

任务5 数据库维护

通过与企业专家进行研讨,最终获取来自企业关于《数据库开发》课程设计的建议。具体建议如下:

任务1 教学要求及建议:

①数据库基本概念和知识简单带过,达到了解的程度即可。

②需求分析难度较高,不建议让学生进行整个系统的需求分析,可以编写需求规格说明书的部分内容。

③进行数据库概念结构设计时,可以先画出系统的各个部分的E_R图,最后在将整个系统的E_R图画出来。

④可以使用PowerDesigner软件进行数据库的概念结构设计和物理结构设计。

⑤这部分内容比较难,需要多练习,可以适当多加一些课时。

任务2 教学要求及建议:

①本部分内容是对于之前所学网页设计和JSP的内容进行熟悉,可以以学生做为主。

②进行分小组教学,小组内进行角色划分,充分发挥团队的力量。

③因为是之前的知识可以适当减少课时。

任务3教学要求及建议:

①对于数据库管理软件可以选择相对比较容易上手的,如SQL Server、MySQL等。

②数据库管理软件图形界面操作时,应该注意多做练习培养学生的动手能力,选择是实例可以由浅入深,逐步较大难度和工作量。

③应该重点讲解SQL语句,因为SQL语句的大部分语法都是可以在不同数据库通用的。

④实现所用项目的数据库时,也应该将尽量让学生自己进行SQL语言的编写,这样可以更好的使掌握SQL语句的应用。

任务4教学要求及建议:

①讲解Spring的基本原理和用法时,应通过简单的实例学习Spring的应用。

②学生应该进行分小组不同模块的开发练习,小组规模不要太大,3个人为一组比较适宜。

③不应占用太多课时。

任务5教学要求及建议:

①数据库维护的内容应该以视图和索引为主,进行重点讲解。

②数据库的用户和权限的应该多做实例。

③触发器的使用可以简单讲解。

课程总体建议:

①课程讲解内容较多,且内容难度较高,需要课时较多。

②应重点讲解任务一和任務三的内容,其次是任务四和任务五的内容。

③学生多做练习,注意培养他们的团队合作能力和沟通能力,注意锻炼学生的自学能力。

有了企业调研结果作为课程设计的依据,就可以进行课程标准的制定。

2 《数据库开发》课程标准的设计

课程标准是一门课程进行教学的根本依据,在课程标准中要包含课程的设计思路、能力目标和课程内容框架等内容。制定课程标准一定要详细描述课程各方面的内容,制定完整准确的课程标准是进行课程设计重要环节。

2.1 课程设计思路 本课程主要以企业实际项目为主线,通过五个典型的工作任务,使学生掌握数据库开发的相关知识和技能;学生在学习本课程过程中,主要学习的内容包括:数据库需求分析、数据库模型设计方法、使用数据库管理软件对数据库模型进行实施、使用数据库管理软件管理数据库,对已有的数据库开发数据库应用系统对数据进行增删改查的基本操作。将该课程的整个教学任务按照项目分为5个典型的工作任务,具体描述如下:

①数据库需求分析:对所选用的项目的需求使用需求分析方法进行分析,并编写需求规格说明书。

②数据库模型设计:根据上一个任务中编写的需求规格说明书,进行数据库的概念结构设计、逻辑结构设计和物理结构设计。

③数据库模型实施:选择数据库管理软件对上一个任务中设计的数据库模型进行实施,并介绍SQL语句的基本应用。

④数据库查询操作及视图、索引等数据库对象应用:对于已有数据库使用SQL语句进行查询的操作,并介绍视图、索引等主要数据库对象的应用。

⑤数据库应用系统开发:开发一个基于Web的数据库应用系统,对已有数据库实现数据的增删改查的功能。

以上的典型工作任务,与企业调研之前的工作任务对比情况,如下表所示:

2.2 能力目标

①能够进行初步的需求分析

②能够根据需求分析的结果设计数据库的概念模型

③能够将数据库概念模型转换为逻辑模型,并生成物理模型

④能够使用SQL语句实施数据库模型

⑤能够使用SQL语句进行简单数据查询

⑥能够使用Spring+Hibernate开发基于Web数据库应用系统

在课程标准中,还包含其他的一些内容,比如课程内容、课程的考核方式等内容,这里不再赘述。制定完课程标准后,就要依据课程标准进行课程方案设计。

3 《数据库开发》课程方案设计

根据课程标准,进行课程方案的设计,课程方案设计一般包含课程总体方案设计、课程任务方案设计和课程活动方案设计。

3.1 课程总体方案设计 课程总体方案设计是对于本课程的总体的介绍,其中包含课程的课时、适用专业、学习内容、能力目标、学习成果和考核方案等内容。

3.2 课程任务方案设计 课程任务设计方案是对于课程中涉及的典型工作任务的描述,它具体说明了课程中每个任务的学习内容、能力目标、学习环境、教学方法、学习成果和评价标准等内容。

3.3 课程活动方案设计 课程活动方案设计是对于每个典型工作任务中具体活动的描述,它具体说明了在典型工作任务中每个学习活动,介绍学习活动的内容、目标、活动具体设计、课程用到的参考资料等内容。

在完成课程的方案设计后,就可以根据方案进行数据库的实施了,在实施过程中还会遇到各种问题,实施完成后,要根据实施的情况,对课程的课程标准、课程设计方案等内容进行修订,从而使得课程的设计方案更加完善。

4 结论

由上面的内容不难看出,《数据库开发》课程的设计或者是其他技术类课程的设计,都应该注重实践,减少课程理论知识的讲解,将课程的理论知识融入到学生完成的典型工作任务中,真正要做到“做中学”,要重视课程本身与企业的关联,要做到课程为企业服务,另外,课程本身中的内容还要与时俱进,跟得上社会发展。

参考文献:

[1]马丹.《数据库课程设计》中常见问题及解决措施.2012.5.

数据结构课程设计分类题目 篇4

一、要求

本次课程设计可以从以下的题目中任选其一,每个题目基本实现的要求是:

1、有菜单功能

2、有读写数据存盘功能

3、有数据图形显示或动画显示。

成品应包括以下内容:

1、程序设计书(Word格式)。

包括程序设计目标、问题描述、需求分析、概要设计、详细设计、源程序清单(要求格式整齐400行以上,要有注释说明)、软件说明书(给出软件如何使用,使用时的注意事项)、测试报告(每个函数的功能测试,输入条件,输出结果)和课程设计总结。

2、可执行程序源代码。

二、设计题目

三、上交作业及成绩评定

1、上交要求

1)上交课程设计报告和源程序代码。

2)每小组写一份设计报告,以电子版形式上交,排版一定要规范,否则成绩下降一档。

3)以自己的“2012+专业+学号+姓名”建立文件夹,文件夹内容包括程序源码、设计报告的电子文档。

4)课程设计时间为二周,要求每人上机学时不低于20学时。

2、评分标准

根据完成任务的情况(必须进行系统演示)、课程设计报告书的质量和课程设计过程中的工作态度等按照30%、50%、20%加权综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。上机程序检查未通过者、无设计报告者以及严重抄袭他人设计者,成绩为不及格。

注:

每班分为十几个小组,每组2人。

每个题目每班最多只能有两小组选做。

课程设计题目 篇5

1.小型水泵定时控制装置.............................................2 2.温度监测装置..............................................................3 3.简易数字频率计的设计.............................................4 4.简易可编程信号发生器.............................................5 5.简易太阳能热水器水位温度控制装置.....................6 6.简易电子琴..................................................................7 7.简易可调色LED灯....................................................8 8.简易超声测距装置......................................................9

1.小型水泵定时控制装置

一、任务

设计并制作一个小型水泵控制装置,水泵由一台220V单相异步电动机驱动,用于定时进行抽水灌溉。

二、要求

1、基本要求

(1)水泵额定功率750W,每日上午6:00和下午18:00分别工作2小时。

(2)水泵工作起始时间和工作时间可设置。

(3)时间误差不超过1分钟/24小时。

(4)掉电后能正常计时,上电后能自动判断是否启动水泵。(5)具有手动控制开关,随时可控制水泵工作。

2、发挥部分

(1)可独立控制2台以上水泵。

(2)实时显示当前时间和水泵工作状态。

(3)时间误差小于10秒钟/24小时。

(4)具有远程控制能力。

(5)其它具有实际意义的功能。

三、说明

1、提供+5V、±12V直流电源,不需另行制作。

2、发挥部分第(5)项,自设功能应贴近实际,解决实际问题。

3、利用单片机开发板及必要的自行设计的电路完成设计。

4、设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序和完整的测试结果用附件给出。

5、最终需上交的清单:实物、设计报告、完整的Keil项目文件、C程序文件、H头文件、必要的Proteus仿真文件(如果有仿真的话上交)、清晰的作品运行图片、作品与成员的合影(包含日常调试时的合影等)、包含作品完整讲解的视频。

2.温度监测装置

一、任务

设计并制作一个温度监测装置,对环境温度进行测量,温度范围-20℃-50℃。

二、要求

1、基本要求

(1)监测1处温度,并将温度实时显示。

(2)设置温度上限和下限,当温度越限,发出报警。

(3)测量精度1℃。

(4)温度上下限值能够通过按键进行设定。(5)温度值能通过串口发送给计算机。

2、发挥部分

(1)可独立监测2处温度,并将温度实时显示。

(2)2处温度上下限可独立设定。

(3)具有报警取消功能。

(4)计算机可发送指令控制监测系统的继电器。

(5)计算机可发送指令设置温度上下限。

三、说明

1、提供+5V、±12V直流电源,不需另行制作。

2、串口通信格式自行设计。

3、利用单片机开发板及必要的自行设计的电路完成设计。

4、设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序和完整的测试结果用附件给出。

5、最终需上交的清单:实物、设计报告、完整的Keil项目文件、C程序文件、H头文件、必要的Proteus仿真文件(如果有仿真的话上交)、清晰的作品运行图片、作品与成员的合影(包含日常调试时的合影等)、包含作品完整讲解的视频。

3.简易数字频率计的设计

一、任务

设计并制作一个简易数字显示的数字频率计。

二、要求

1、基本要求

(1)频率测量:输入信号方波,幅度0.5V-5V,频率1Hz-1kHz(2)周期测量:输入信号方波,幅度0.5V-5V,频率1Hz-1kHz(3)显示:十进制数字显示,每种不种测量功能用不同的LED进行指示。

2、发挥部分

(1)脉冲宽度测量:输入脉冲波,幅度0.5V-5V,脉冲宽度>=100us(2)当频率超出范围时,显示超限信息。

(3)当幅值超出范围时,进行保护。

(4)扩展频率的测量范围

(5)输入信号正弦波

三、说明

1、提供+5V、±12V直流电源,不需另行制作。

2、利用单片机开发板及必要的自行设计电路完成设计。

3、设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序和完整的测试结果用附件给出。

4、最终需上交的清单:实物、设计报告、完整的Keil项目文件、C程序文件、H头文件、必要的Proteus仿真文件(如果有仿真的话上交)、清晰的作品运行图片、作品与成员的合影(包含日常调试时的合影等)、包含作品完整讲解的视频。

4.简易可编程信号发生器

一、任务

设计并制作一个带数字显示的可编程信号发生器。

二、要求

1、基本要求

(1)输出方波、矩形波、锯齿波

(2)幅值可调:范围1V-5V,步进值0.5V(3)频率可调:范围1Hz-1000Hz,步进值100Hz(3)显示:显示幅值,用LED指示目前输出波形的种类

2、发挥部分

(1)输出正弦波、三角波、任意波。

(2)幅值可调范围0.1V-5V,步进值0.01V(细调档)和0.1V(粗调档)。(3)频率可调范围1Hz-5kHz,步进值100Hz,10Hz,1Hz三档(5)显示频率

三、说明

1、提供+5V、±12V直流电源,不需另行制作。

2、利用单片机开发板及必要的自行设计的电路完成设计。

3、设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序和完整的测试结果用附件给出。

4、最终需上交的清单:实物、设计报告、完整的Keil项目文件、C程序文件、H头文件、必要的Proteus仿真文件(如果有仿真的话上交)、清晰的作品运行图片、作品与成员的合影(包含日常调试时的合影等)、包含作品完整讲解的视频。5.简易太阳能热水器水位温度控制装置

一、任务

设计并制作一个带数字显示的太阳能热水器水位温度控制装置。

二、要求

1、基本要求

(1)检测当前太阳能热水器中的水位,当水满或水空时进行报警提示。

(2)检测当前水温

(3)显示:水位用4档百分比显示,水温显示0.5℃

2、发挥部分

(1)可额外增加时间显示。(2)可设置最大上水水位。(3)设置的参数掉电后自动存储。(4)其他实际中有用的功能

三、说明

1、提供+5V、±12V直流电源,不需另行制作。

2、利用单片机开发板及必要的自行设计的电路完成设计。

3、设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序和完整的测试结果用附件给出。

4、最终需上交的清单:实物、设计报告、完整的Keil项目文件、C程序文件、H头文件、必要的Proteus仿真文件(如果有仿真的话上交)、清晰的作品运行图片、作品与成员的合影(包含日常调试时的合影等)、包含作品完整讲解的视频。

6.简易电子琴

一、任务

设计并制作一个带数字显示的电子琴。

二、要求

1、基本要求

(1)要有至少16个琴键,发出1-7音符及高8度的音符,按C调进行设计。

(2)显示:当前的频率值和音符(3)记录弹奏的时间,掉电可存储。(4)声音无明显失真。

2、发挥部分

(1)音调可以进行修改

(2)设计喇叭对应的功放电路,使声音洪亮。(3)提供测试曲目。(4)其他实际中有用的功能

三、说明

1、提供+5V、±12V直流电源,不需另行制作。

2、利用单片机开发板及必要的自行设计的电路完成设计。

3、设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序和完整的测试结果用附件给出。

4、最终需上交的清单:实物、设计报告、完整的Keil项目文件、C程序文件、H头文件、必要的Proteus仿真文件(如果有仿真的话上交)、清晰的作品运行图片、作品与成员的合影(包含日常调试时的合影等)、包含作品完整讲解的视频。

7.简易可调色LED灯

一、任务

使用三色LED,设计并制作一个可调色的LED灯。

二、要求

1、基本要求

(1)红、蓝、绿三色可单独进行亮度的调节,从而实现调色。

(2)显示:三色占有的比例。

(3)设置好的各色比例值,掉电后保持。

2、发挥部分

(1)使用亚克力等材料自制灯罩,使调色效果明显。(2)各色的调节步进值分细调和粗调2档(3)提供时钟显示。

(4)通过串口将目前的调色值发送给上位机(PC端)。

(5)使用多个LED。

(6)PC端可通过串口发送指令实现调色

三、说明

1、提供+5V、±12V直流电源,不需另行制作。

2、利用单片机开发板及必要的自行设计的电路完成设计。

3、设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序和完整的测试结果用附件给出。

4、最终需上交的清单:实物、设计报告、完整的Keil项目文件、C程序文件、H头文件、必要的Proteus仿真文件(如果有仿真的话上交)、清晰的作品运行图片、作品与成员的合影(包含日常调试时的合影等)、包含作品完整讲解的视频。

8.简易超声测距装置

一、任务

使用超声收发一体化探头实现简易超声测距装置。

二、要求

1、基本要求

(1)测距范围1cm-3m

(2)测距灵敏度要求:人走过时进行测距,小动物走过时不测距(3)测距误差控制在5%以内

(4)检测当前环境温度,温度误差0.5℃。(5)显示:测量的距离,温度

(6)可设定测距后的上下限,当超过设定的上下限后报警。

2、发挥部分

(1)更远的测距距离(2)更低的测距误差

(3)通过串口将当前的测距值发送给上位机(PC端)。

三、说明

1、提供+5V、±12V直流电源,不需另行制作。

2、利用单片机开发板及必要的自行设计的电路完成设计。

3、设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序和完整的测试结果用附件给出。

课程设计题目及要求 篇6

课程设计题一:某服装厂ERP系统应用

设计目的:通过一周的课程设计,基本掌握ERP系统软件的业务处理流程,学习如何把企业设计、销售、采购、生产、管理过程中所涉及的各种基础资料按ERP系统的内在逻辑要求录入到电脑中,掌握在ERP系统中建立物料主文件、产品结构清单、工作中心、资源清单、工艺路线的方法,掌握在ERP系统中录入销售订单和产品预测数据,进而生成主生产计划、物料需求计划和能力需求计划的方法,掌握按主生产计划、物料需求计划实施采购业务和车间生产业务的处理流程,掌握与销售采购相关的财务处理业务。设计内容:

第一阶段:根据各自的企业规划数据(18周周一前)

第二阶段:系统实施(18周)

第三阶段:课程设计报告(18周周五上交,包括校外实习的同学)

系统实施具体步骤:

(1)新建帐套,进行帐套的初始设置。

(2)建立主营产品的物料主文件和产品结构清单。

(3)建立加工该产品所用到的资源清单和工作中心。

(4)录入和维护加工该产品各零件的工艺路线。

(5)录入初始库存资料。

(6)录入和维护销售订单和产品预测数据、编制主生产计划、进行粗能力计算。

(7)根据主生产计划生成物料需求计划、并进行细能力计算。

(8)根据主生产计划、物料需求计划生成采购计划和车间生产任务。

(9)根据采购计划实施采购业务各项流程、直至外购零件入库。

(10)根据车间生产任务实施车间管理各项流程,直至产品完工入库。

(11)根据采购和销售数据完成应收、应付的财务处理业务

设计要求:

1.实施过程全部在金蝶K3 ERP软件上完成。设计结束后,每位同学独立提交一份ERP课程设计报告,内容包括规划的数据、设计过程、软件处理内容及处理结果、运行参数设置、遇到的疑难问题及解决办法。

2.界面截图里要有各自的数据。

3.禁止抄袭,雷同报告成绩均为0。

课程设计题二:某客车厂ERP系统应用

课程设计题三:某机械厂ERP系统应用

课程设计题四:某电器公司ERP系统应用

数据结构课程设计创新实践探索 篇7

在整个数据结构实践教学过程中,课程设计是一项重要的、综合性的设计实践活动,它在巩固、加强学生所学知识的基础上,引导学生解决实际问题的思路、提高学生利用所学知识解决实际问题的能力,同时为后续软件类课程的学习及软件设计能力的提高奠定良好的基础。相关文献把任务驱动和兴趣驱动的教学方法应用在数据结构的教学过程中[1,2,3]。目前对数据课程设计教学方法全过程的可操作的实际应用文献很少,为此,本文根据多年的教学实践,在山东省数据结构精品课程的支持下,经过实践验证取得了非常好的效果,为此做一下总结。

数据结构课程设计过程中要求在教师的指导下,结合课程内容和相关知识、利用掌握的技术解决一些综合性的应用问题。

通过数据结构课程设计,使学生对整个课程的知识体系有较深入的理解,学生对各自选定问题的求解,使学生对整个课程的知识体系有较深入的理解,帮助学生充分理解、巩固所学的基本概念、原理和方法,不仅可以并根据数据结构课程设计中存在的问题进行分析,提出未来要解决的问题,在运用本课程的知识解决实际问题方面得到锻炼,对锻炼学生的实践能力以及运用本课程的知识、方法解决更为复杂的实际问题有较好的启发和指导作用。使学生在运用《数据结构》、程序设计以及迄今为止所学课程中的各种基本技术和理论,在建立问题模型、构造求解算法、设计数据结构、编程及上机调试等方面得到全面的锻炼,同时在也加强了学生对VC程序设计的深入理解,从而能更深刻地理解《数据结构》的精髓。

1 数据结构课程设计的设计思想

数据结构课程设计采用以模拟实际项目为背景的创新模式,在课程设计过程中,通过课程设计组老师站在客户的角度跟学生沟通,发现软件开发特别是设计阶段出现的问题,并对软件和每个学生进行最后的课题全面评价,让学生逐渐意识到在软件开发中如何与客户进行沟通,也培养了学生的团队合作精神。

要求各组学生认真选择课题,在选题过程中要进行课题的调研工作,这也是创新设计的一部分。

对于参加项目的同学可以采用大工程的设计思路进行[4]。我们会在课程设计选题开始前给所有学生详细讲解课程设计的全过程、具体要求、如何发现有价值的小课题、如何进行调研等问题。在软件验收的过程中,老师和学生的关系就不是师生关系,而是投资方和软件开发单位之间的关系,通过课程设计组老师站在客户的角度跟学生沟通,发现软件开发特别是设计阶段出现的问题,并对软件和每个学生进行最后的课题全面评价,让学生逐渐意识到如何站在用户的角度去进行软件设计,以及在软件开发过程中如何与客户进行沟等问题,通过创新的数据结构课程设计培养了学生的团队合作精神。

在课程设计开始就跟学生说明,作为一个团队,如果项目验收没有通过,则整个组的考核都不能通过。对待这个课程设计的整个心态就像小组成员就是他们未来创业期间开的小公司准备接的第一个项目一样,也是他们将要挣的第一桶金,此次为动力,使得全组人员必须全力以赴。

通过该课程设计,使学生对整个课程的知识体系有较深入的理解,在运用本课程的知识解决实际问题方面得到锻炼,对锻炼学生的实践能力以及运用本课程的知识、方法。

通过对各自软件的分析,发现没有或者不能很好实现的功能,引导他们对未来的数据库及数据库课程设计充满期待,从而为后续课程的学习、毕业设计环节以及未来的软件开发实际工作打好坚实的基础。

2 课程设计组织与教师指导方法

在《数据结构》课程教学内容讲到树这一章时开始安排学生的课程设计,让学生有目的的听课,同时思考如何选择一个具有实用价值的课程设计学生选题,并对学生的选择的项目进行评定,只有通过的项目方可开始课程设计。虽然课程设计的规定时间是两周,但是在实际的执行过程中大约5周的时间段。

课程设计是按照小组进行的,采用组长负责制,小组人员自行对系统模块进行划分和任务安排,每人都有独立需要完成的任务。教师在整个设计过程中,对每人进行阶段检查。教师主抓课程设计选题、需求分析、中期检查、结题验收,至于具体编程实现环节则主要由学生自主控制、独立或协作完成。在设计过程中,小组成员通力合作,共同克服困难完成最后的整合工作,培养了学生的团队精神。

2.1 数据结构课程设计的选题过程

“数据结构课程设计”是一个综合性应用实验课程,在题目的选择上要覆盖多个章节的知识点,难度较大。学生可以通过调研,提出项目的研究背景和意义,并给出需求分析。在课程设计正式开课前,要提前对学生说明课程设计的要求,同时要求学生自行分组(每组2-4人),学生自行选题,选题的思想是根据实际需要进行调研,所有的项目要来自于日常生活,以组为单位提交课程设计任务书,主要是以实用性为主,开发一个具有实际价值的项目。在两周内利用课余时间组内进行讨论,完成课程设计任务书的提交工作,包括课程设计的选题、项目的研究意义、项目的需求分析、组内分工、工作量的分配、项目的基本模块等内容。课程设计开始前每组必须提交任务书,老师根据学生的任务书给每组的选题评定出选题级别,作为整个课程设计成绩的一部分。对于选题是C以下的成绩最后的成绩不能是A,这要就要求各组学生认真选择课题,注意课题的调研工作和需求分析。

2.2 课程设计的中期检查

在数据结构课程设计期间,我们课程设计组(VC课程设计、数据结构课程设计、数据库课程设计、编译原理课程设计、软件工程课程设计的老师对每组的课程设计进行中期检查,检查学生是否按照每组任务书的要求进行,进度是否正常,并对过程中出现的问题进行解决,引导学生根据项目的实际情况自己去设计数据结构、算法思路和编写程序,主动去思考,主动去发现和尝试,对于思考不完整、不深入的地方给出建议。每个老师都帮助学生分析各自的项目和项目中存在的问题,提出进一步的要求,并给出各组中期检查的成绩。

2.3 课程设计项目验收和考核

课程设计完成时,要求学生撰写项目结题报告,同时有课程设计组的老师统一对学生开发的软件进行验收、评价并给出软件验收成绩,对于选题成绩是C以下的学生其最终成绩不能是A,这也是创新设计的一部分,要求学生在选题过程中要认真进行课题的调研工作,我们会在课程设计选题开始前给所有学生详细讲一下课程设计的全过程、具体要求以及如何发现有价值的小课题、如何进行调研,软件验收的过程中,老师和学生的关系就不是师生关系,而是投资方和软件开发单位之间的关系。

课程设计的验收有2-3名老师组成,课程设计的具体验收过程如下:

(1)组长首先对整个项目进行综合性讲解,主要是项目研究的意义、主要功能模块和组员的分工;

(2)小组成员分别讲解各自完成的任务,并说明所用到的数据结构知识,特别是要说明如何根据实际项目定义数据结构并解决实际问题的;

(3)每个老师提出项目存在的优点和不足之处,并根据组内学生的工作量和质量给出对每个学生的项目验收成绩,该学生的平均成绩作为总成绩的一部分。如果项目验收不合格,则整个小组都不合则,以此培养学生的团队精神。

(4)课程设计报告的提交。要求学生在规定的时间内完成各自的课程设计报告,虽然组内是同一个题目,但是要求每个学生站在自己的角度认真撰写项目的背景、意义、完成的各自工作、难点、算法分析、源代码、项目开发中遇到的问题及处理方法、课程设计总结心得等。要求每个学生都必须根据自己的实际情况,对2周的课程设计进行总结,只要是学生自己的想法都可以在该部分写出来,要尽可能全面。教师通过对学生课程设计的总结和调试分析部分的撰写,可以对学生有较全面的了解。

(5)课程设计大赛

根据学生的选题的创新型和实际完成情况选出优秀的课程设计组,并要求优秀课程设计组利用后续的课余时间,根据老师提出的问题进行项目改进,并在之后的2周内组织课程设计大赛,优秀的课程设计组进行现场演示和答辩。并评定出奖项,同时作为本届优秀课程设计,在数据结构网站上公布,供学生学习。

3 课程设计的考核内容与方法

通过对数据结构课程设计的考核,可以了解学生对数据结构知识掌握的情况,同时考核了学生对项目需求的分析、实施具体项目和利用VC进行软件编程等多方面的能力。课程设计完成时,要求学生撰写项目结题报告,同时由课程设计组的老师统一对学生开发的软件进行验收、评价并给出软件验收的收成绩,课程设计成绩分主要由课程设计的成绩包括选题成绩、中期检查成绩、软件验收成绩、报告成绩四部分组成,其中选题20%,中期检查10%,软件验收50%,设计报告20%。对于选题是C以下的成绩最后的总成绩不能是A,软件验收不合格的学生直接进入补考环节。

评分的参考依据如下:

(1)选题的意义和价值,即软件的应用价值;

(2)题目与软件设计是否相符;

(3)每个人的工作量是否达到要求(2周的课程设计);

(4)用到哪些数据结构的知识;主要逻辑结构和存储结构;

(5)每组成员的成绩分配;

(6)是否可以满足用户的要求;

(7)系统界面、功能及关键算法分析;

(8)软件系统开发方法和创新思维;

(9)课程设计报告的撰写质量;

(10)团队合作精神。

4 实践教学的效果

通过数据结构课程设计的“项目选题、中期检查、软件验收和报告撰写”四个方面的考核,使学生更好地理解课堂教学内容,拓展知识面,延伸和扩展了课堂教学。全面地培养了学生的素质,提高了学生的抽象能力、思维能力、算法和数据结构的设计与分析能力、科学报告的撰写和表达能力。

课程设计与指导教师的科研方向相结合,不仅使学生能够较早地了解计算机科学的最新发展方向和课学研究的方法,而且能够学会如何利用所学知识解决实际问题的能力。学生对教材没涉及的内容自己去查资料,完成相应的数据结构设计,锻炼了文献查阅能力和科研能力。

通过“数据结构创新设计大赛”活动,学生既锻炼了自己的开发能力,也获得了相应的激励,还增强了学习信心。通过对学生的个性化培养,学生的学习热情得到极大的激发,其创新能力得到很好的培养。许多学生在二年级时就进入了各实验室和研究中心。

5 结论

通过数据结构课程设计的原创思想的引导,在老师的帮助下,通过对各组软件的分析,发现没有或者不能很好实现的功能,从而引出数据库的相关知识,使得学生对未来的数据库及数据库课程设计充满期待,后续课程的学习、毕业设计环节以及将来的实际工作打好坚实的基础。该课程设计的创新环节不但可以提高学生自主学习、协作学习和分析问题、解决问题的能力,同时也培养可以系统培养学生的软件整体开发能力和学生的团队精神和开拓创新意识。进而形成VC课程设计为基础、数据结构课程设计、数据库课程设计和软件工程课程设计和毕业设计为主线的计算机学科软件训练。

参考文献

[1]赵红丹,王希杰.任务驱动教学模式在数据结构教学中的应用.福建电脑[J].2010.1:203.

[2]段丹青,童宇.《数据结构》精品课程中兴趣教学模式的实践.科技信息.[J]2010.18:222

[3]张立,王伟嘉.基于学习兴趣开展数据结构教学.计算机教育.[J]2010,10:95-97.

数据结构课程设计分类题目 篇8

1.在《C程序设计》与《数据结构》教学中对课程整合概念的理解

理论上,课程整合是指对课程设置、各课程教育教学目标、教学设计、评价等诸要素作系统的考察与操作。在实际教学中,课程整合是指考虑到各门相互分裂的课程之间的有机联系,将这些课程综合化。

在传统的教学模式中,《C程序设计》是先行课程,《数据结构》是后续课程,它们都是学习操作系统、数据库原理和应用、面向对象程序设计等课程的基础。《C语言程序设计》是学生最先接触的结构化程序设计语言,其教学目的主要是使学生了解结构化程序设计的算法和思路,掌握程序设计和调试的基本技巧,培养良好的软件设计基础。《数据结构》主要是研究非数值应用问题中数据之间的逻辑关系和对数据的操作,同时还研究如何将具有逻辑关系的数据按一定的存储方式存放在计算机内。其教学目的主要是使学生掌握数据的逻辑结构、存储结构及其相应的算法,培养学生解决实际问题的能力,即能够把现实世界中的客观问题,变换为在计算机内的表示形式,学会组织数据、选择算法、养成良好的程序设计风格。

《数据结构》课程中分析数据之间的逻辑关系和确定数据在计算机内的存储结构是所有程序设计过程中必须完成的两大任务,且《数据结构》中算法描述的语言又多采用C语言,两门课程之间存在着紧密而内在联系,为两门课程的整合提供了可能性。

2.《C程序设计》与《数据结构》的教学现状

在传统的教学模式中,《C程序设计》是先行课程,《数据结构》是后续课程,将两门课程分开来教学,人为地割断了它们之间的内在联系,导致学生在学习《C程序设计》时,仅局限于C语言的语法层面上,不能把C语言的程序设计思路和语法知识具体运用到数据结构的算法中去,使理论知识与实践运用脱钩。而在学习《数据结构》时,由于教师的更换和教材的多样化,任课教师又不得不花掉一、两周的时间来复习C语言的相关知识,造成了课时的浪费和学生反感。在具体运用时,又出现学生能理解数据结构中的算法和读懂算法,却不能运用C语言去实现算法等程序设计能力较差的现象。笔者长期从事这两门课程的教学工作,一直在探索如何提高这两门课程的教学效果,培养学生运用C语言这个工具去解决实际问题的能力。

3.《C程序设计》与《数据结构》课程整合的思路

在高职院校计算机应用专业的课程体系中,实现《C程序设计》和《数据结构》这两门课程的整合,要结合职业教育培养实用型人才的目标,根据后续专业课程的需要来确定。《C程序设计》和《数据结构》课程整合化的思路以C语言为工具,以实践为中心,重视基础知识,注重能力培养,对两门课程教学内容和教学模式进行优化和整合。

在实施过程中,将这两门课程整合为一门课程,课程名称为《C程序设计与数据结构》,在一个学期内完成授课内容。坚持理论联系实践的教学模式,突出实践教学的重要性,去掉繁琐的理论推导,重新设计教学、实训大纲,处理教材,合理分配学时。在具体教学中,以C语言为主线,将数据结构的内容溶入到C语言的教学中,对数据结构的内容以“适度够用”为原则,适当地进行删减,以满足高职教育培养应用型人才的教学需要。

4.《C程序设计》与《数据结构》课程整合的具体实施

(1)整合后理论课教学的内容和学时分配

整合后周学时为6节,总学时为102节(按17个教学周计),其中理论课时为68节,上机实践课时为34节。

(2)课程整合后的实践教学设计

在实践教学中,要进一步巩固对理论知识的理解,提高学生灵活运用数据结构和算法的能力,使学生在编程、上机操作、程序调试与正确性验证等基本技能方面得到训练和提高。实验可分两部分,一是验证性实验,主要结合课堂理论教学内容展开,学生可以对在课堂上学到的基本算法进行验证;二是运用性实验,组织学生以小组为单位设计一些实用程序,要求学生从实际出发,在具体、真实的环境中分析研究数据对象的特性,构造合理的数据结构以及相应的算法。

(3)课程整合后的考试要求

整合后的课程培养目标是提高学生的计算机应用能力,计算机应用能力包括了三个层次:操作使用能力、应用开发能力和创新能力。因此整合后的课程考核,应采取理论基础闭卷和上机操作开卷相结合的方式进行,综合评价应从以下三个方面来着手。

①笔试。笔试主要是考察学生对理论知识的系统性的理解,可由客观题型(如选择、填空题等)和主观题型组成,客观题型要立足于基础知识,小而全,避免死记硬背。主观题型要灵活多样,如问题解决分析、程序编写等。占整个评价的30%。

②上机实践。上机实践贯穿于整个教学当中,所以要注重过程考核,结合实训计划,在各单元模块结束时,进行随堂考核,并认真检查和记录学生考核情况,作为期末上机实践成绩的一部分。实行各单元过关,有了各单元模块的考核,到期末上机操作综合考核时就不成问题了。通过对上机操作实践的评价,可以考察学生应用计算机解决实际问题的能力。占整个评价的40%。

③学生的平时表现。学生的平时表现是指是否认真上课、听课,上机练习的任务是否独立完成,上机设计的任务是否有创意,作业是否按时上交等等,这些资料的积累,有利于对学生学习情况的全面认识。学生在整个授课过程中的表现,占整个评价的30%。

在课程整合中,合理的考核方案能促进学生知识的积累,避免学生考前突击和死记硬背现象,使学生真正学到知识。

随着我国经济的突飞猛进和国家对职业教育的高度重视,高职教学改革也在不断深入,探索高职计算机专业应用型人才的培养模式,加强《C程序设计》与《数据结构》课程建设与教学改革也将不断深入,作为一名长期从事计算机教学的教育工作者,更要转变观念,探索新的教育教学模式,培养更多适应我国社会主义现代化建设需要的高素质应用型专业人才。

模电课程设计题目 篇9

调压器稳压控制模块

设计要求:

调压器的输入电压范围为:220±15%V,要求稳压输出为220±3%V,当输出调压器电压低于220-3%时,控制器输出升压控制信号;当调压器输出电压高于220+3%时,控制器输出降压控制信号,当调压器输出电压在220±3%V范围内时,升压和降压控制信号无。不能同时出现升压和降压控制信号,控制信号以继电器的接点按通实现。

升压控制信号接通,点亮红色指示灯,降压控制信号接通时,点亮黄色指示灯。

设计放大器所需的直流稳压电源,有直流电压输出时,点亮绿色指示灯。

题目2 动态驱动电路

设计要求:

设计一个DC24V,线圈额定工作电流50毫安的直流继电器的驱动电路,输入信号为电压幅值为6V,频率1000±5%Hz,占空比50%的方波信号,并设计一个方波发生器。

设计本电路所需的直流稳压电源,有直流电压输出时,点亮绿色指示灯。

题目3 DC12V蓄电池电源过流/欠电压保护电路设计

设计要求:

保护电路要保证12V电池输出电流最大不大于2A,当电池电压小于10.5V时,停止供电,必须经人工复位后才能再次供电。

设计一个输出电压9至15V可调,输出电流3A的直流电源,有直流电压输出时,点亮绿色指示灯。

图2 欠压保护电路原理图

题目4 OCL功率放大器(P102)

设计要求:

1、采用分立元件电路设计一种OCL音频功率放大器;

2、额定输出功率P03、负载阻抗RL

10W;

8;

4、设计放大器所需的直流稳压电源。

题目5

脉冲调宽型伺服放大器(P103)

设计要求:

1、设计一脉冲调宽型伺服放大器,驱动直流伺服电机工作。

2、技术指标:(1)伺服电机额定电压为12V,额定电流为500mA;(2)可实现电机无级可逆调速,调速范围为零到额定转速;(3)伺服放大器输出脉冲频率为1kHz。

3、设计电路所需的直流稳压电源。

题目6 电压/频率变换器(P105)

设计要求:

1、设计一种电压/频率变换电路,输入V1为直流电压,输出频率为fo的矩形脉冲,且fo正比于V1

2、V1变换范围:0~10V

3、fo变化范围:0~10kHz

4、影响转换精度的因素是什么?

5、设计电路所需的直流稳压电源。

题目7

多路防盗报警器(P109)

设计要求:

1、设计一种防盗报警器,适用于仓库、住宅等地防盗报警;

2、防盗路数设计2路;

3、在值班室课监视多处的安全情况,一旦出现偷盗,用指示灯显示相应的地点,并通过扬声器发出报警声响;

4、设置不间断电源,当电网停电时,备用直流电源自动转换供电;

5、本报警器可用于医院住院病人有线“呼叫”;

6、设计本报警器所需的直流稳压电源。

题目8

电子配料称(P116)

设计要求:

1、配料重量连续可调,料满自动停止加料;

2、工作稳定可靠;

3、配料精度与哪些因素有关?

4、设计电路所需的直流稳压电源。

题目9 集成运算放大器简易测试仪(P115)

设计要求:

1、设计一种集成运算放大器简易测试仪,能用于判断集成运放放大功能的好坏;

2、设计电路所需的直流稳压电源。

题目10 温度测量与控制器(P120)

设计要求:

1、被测温度和控制温度均可数字显示;

2、测量温度范围0~120℃,精度±0.5℃;

3、控制温度连续可调,精度±1℃;

4、温度超过额定值时,产生声、光报警信号;

5、设计电路所需的直流稳压电源。

题目11 多种波形发生器(P117)

设计要求:

1、输出波形为:正弦波、方波、三角波,频率和幅值自定义,且连续可调;

上一篇:河南煤化集团企业文化理念系统下一篇:马化腾创业故事