第一篇:C课程设计教学大纲
C课程设计教学大纲
一、目的与任务
根据高教委的要求,高校学生必须具备扎实的计算机基础知识,具有较强的程序设计和软件开发能力,特别对计算机专业及相关专业(如电子信息工程、通信工程、土木工程等)的学生要求更高。安排课程设计的目的,就是要通过一次集中的强化训练,使学生能及时地巩固已学的基础知识,补充未学的但又是必要的内容,更进一步提高程序设计的能力。望同学们能珍惜此次课程设计的机会,不但要使自己的程序设计能力更上一个台阶,而且要提高与程序设计和软件开发相关的各种综合能力。
二、时间安排
1.课程设计以编程序上机为主,具体按教师每次下发的课程序设计内容进行。2.总学时为周20个学时。
三、评分标准
课程设计结束后,由指导老师根据学生在课程设计中的表现及任务完成的数量与质量给每个学生评定成绩。总成绩由两部分组成。总成绩=课堂检查成绩*40%+设计报告成绩*60% 1.课堂检查。
在课程设计的每一次,由指导老师分别对每个学生的设计进行检查,检查的内容主要有以下三个方面。
① 每次课程设计完成的数量与质量,可采用学生先汇报并自我评价,然后老师作检查。
② 随机抽取题目对学生提问,从中判定学生的算法设计和程序设计的分析能力。③ 随机抽取学生地综合设计的模拟运算过程及结果,并作必要的提问,据此判别学生对综合练习的完成情况。
2.课程设计报告
指导教师认真阅读每个学生的课程设计报告,对其系统设计、数据结构设计、算法设计、程序设计等的合理性和质量以及对报告的编写质量作认真的审核,以此作为评定综合练习成绩的主要依据
四、设计报告格式(参考附件一)文档资料的统一要求:
1、文档中的正文字体用五号宋体。
2、每个问题均要有数据结构分析、算法思想描述、源代码和上机调试的过程及结果。3.工程名称:学号姓名任务;文件名称:学号姓名任务
4、源代码是C++编辑正确且含有编译、连接的提示信息贴图、程序运行的结果用贴图方式表示。
5、没有按要求做的同学则视为本课程设计不合格。
6、每次上机所做的内容用移动磁盘带走。
五、课程设计内容 第1章 分支与循环 1.1 算法与范例 1.递推算法
递推算法是循环程序设计的精华之一,在很多情况下使用递推算法能使程序简练,同时还能节省计算时间。
递推算法的基本思想:是利用前一项的值来推算出当前项的值,即利用前一项的值乘以(或加上)一系数得到当前项的值。使用递推算法的前堤,必须有一项的值(一般是最前项)是已知的。使用递推算法的关键地,是如何将多项式化成递推公式。
示范:求)的程序 n!(即1!+2!+3!+„+20!n120编程提示:n=1 to 20 当n=1时,要做两件事:① 实现t=t*n 注意t=1;② 实现 sum=sum+t 注意sum=0。当n=2时,还是要做以上两件事。因此t=t*n,sum=sum+t是递推项是编程的核心。
参考程序:
#include
2.测试法
在实际应用中,有许多问题是无法用解释方法实现的,这时采用测试法来求解是一种很有效的方法。
测试法的基本思想是假设各种可能的解,让计算机进行测试,如果测试结果满足条件,则假设的解就是所要求的解。如果所要求的解是多值的,则假设的解也应是多值的,在程序设计中,实现多值解的假设往往使用多重循环进行组合。
示范:百钱买百鸡问题 已知公鸡每只5元,母鸡每只3元,小鸡1元买3只。要求用100元钱正好买100只鸡,问公鸡、母鸡、小鸡各多少只?
编程提示:设公鸡、母鸡、小鸡分别为a、b、c只,依据题目能列出下列两个方程: a+b+c=100 5a+3b+c/3=100 这是个不定方程,无法用解释式求解。但可采用多重循环组合出各种可能的a、b、c的值。100元钱,全部买公鸡最多只能买20只,即公鸡的只数范围是:a=1 to 20 100元钱,全部买母鸡最多只能买33只,即母鸡的只数范围是:b=1 to 33 100元钱,全部买小鸡最多只能买100只,即公鸡的只数范围是:c=1 to 100 参考程序:
#include
1.若一个口袋中放有12个球,其中有3个红色球,3个白色球和6个黑色球,从中任取8个球,问共有多少不同的颜色搭配。
2.输入年月日,求它是该年的第几天。注:闰年的2月有29天,平年的2月有28天。3.简单计算器。请编写一个程序计算表达式:data1 op data2的值。其中op为运算符+、-、*、/。
4.猜数游戏。由计算机“想”一个数请人猜,如果猜对了,则游戏结束,否则计算机给出提示,告诉人所猜的数是太大还是太小,直到猜对为止。计算机记录人猜的次数,以此可以反映出猜数者“猜”的水平。1.3 实现过程
1.3.1设计任务1的实现过程
1.算法分析(用文字或流程图进行描述)2.编写的源程序代码 3.程序运行的结果
1.3.2 设计任务2的实现过程
1.算法分析(用文字或流程图进行描述)2.编写的源程序代码 3.程序运行的结果
1.3.3 设计任务3的实现过程
1.算法分析(用文字或流程图进行描述)2.编写的源程序代码 3.程序运行的结果
1.3.4 设计任务4的实现过程
1.算法分析(用文字或流程图进行描述)2.编写的源程序代码 3.程序运行的结果 第2章 数组与函数 2.1 启示与范例
1.输入n个学生的成绩,并求出其中高于平均分的人数。编程提示:
用程序来实现本题的要求,首先有两个值得思考的问题:一是数据结构的选择;二是数组的长度。
① 数据结构的选择:n个学生的成绩是否有必要开辟数组来存放还是定义变量来存放?从任务要求分析知,两次用学生成绩,一次是求平均分;另一次是将每个学生的成绩与平均分比较,高于平均分要输出。因此有必要将其定义数组。
② 数组的长度定义:学生个数n的具体数值一般表示在编写程序时是未知的,而在程序执行时由使用者随意确定。即n是一个变量,其值需要用输入来确定。这样一来,存放n个分数的数组a,其长度的定义就必须注意,既不能定义为int a[n];因为数组长度要求是常量,而n是一个变量,又不能将n定义成符号常量,因为n的具体值是未知的。对于这种情况的处理方法一般是:将数组的长度定义较大,让使用者在此范围内随意使用,当然这个长度的定义有其原则,那就是既不让使用者感到长度不够,又不至于定义过大而浪费内存,这种情况视应用情况而定。参考程序:
#include if(a[i]>=aver)num++;printf(“高于平均分的人数是:%dn”,num);} 2.输入任意个学生的学号及成绩,然后按顺序输出高分的前十名。编程提示: 依据设计任务的要求需要考虑几个问题:初始数据的数据结构选择;采用的算法如何实现及相关的数据结构;任意个数据的实现问题。 ① 初始数据的数据结构选择问题:所谓任意个学生,应该是个数不限,因此,对于存放初始数据的数据结构不宜选择为数组。并且,从算法实现的角度考虑,每个学生的数据输入后只需使用一次,没有再保留的必要,因此可选择简单变量作数据结构来存放一个学生的数据,而且每个学生的初始数据都用同一个数据结构存放,即对一个学生的数据使用完后就将该数据结构让给下一个学生的数据使用。 ② 算法的实现及相关的数据结构:本题核心的算法是排序,由设计任务可知只要求前十名的排序结果,因此算法上不需考虑对所有学生数据进行排序,只考虑对前十名排序即可。因此,应选择合适的数据结构来存放前十名排序结果的数据,显然,选择数组是最合适的。关于算法的实现可采用插入排序法最为合适。即存放排序结果的数组始终是存放当前已插入数据的前十名的排序结果,而后每输入一个学生的数据就进行一次插入排序更新这一排序结果。 ③ 任意个的实现:对于本题的程序来说,总体结构是然是一个循环结构,每次循环的任务是输入一个学生的数据并进行插入排序。问题是何时结束循环?循环结束的条件是什么?对用户输入的有用数据,循环继续;对用户输入的无用数据即输入数据为负数时,循环结束。 ④ 为了使程序更加清晰。主程序只提供输入学生的学号、成绩,并且输出前十名的学号及成绩;子函数实现插入排序的过程。 参考程序: #include if(score>a[i])break; if(i>=n)return; for(j=n-1;j>i;j--) {num[j]=num[j-1];a[j]=a[j-1];} num[i]=number;a[i]=score;} void main(){int i,num[10],a[10],number,score;for(i=0;i<10;i++){a[i]=0;num[i]=0;} while(1){printf(“输入学生的学号及学生成绩:n”); scanf(“%d%d”,&number,&score); if(number<0||score<0)break; insertsort(num,a,10,number,score);} for(i=0;i<10;i++)printf(“前十名学生学号%d 成绩是%dn”,num[i],a[i]);} 2.2 设计任务 1.有一个一维数组score[],内存放10个学生的成绩,要求编写三个函数分别求学生的平均成绩,求10个学生的最高分,求10个学生的最低分。 2.编写一个函数,将输入的一串字符中的小写字母转变成大写字母,并输出所有的大写字母。 3.输入10个学生姓名,按字典顺序将排在最前面的学生姓名输出。即在字符数组中求最小字符串。 4.用函数法求N*N的对角线的和。其中的N是用户通过键盘输入的任意值。2.3实现过程 2.3.1 设计任务1实现过程 1.算法分析(用文字或流程图进行描述)2.编写的源程序代码 3.程序运行的结果 2.3.2设计任务2实现过程 1.算法分析(用文字或流程图进行描述)2.编写的源程序代码 3.程序运行的结果 2.3.3设计任务3实现过程 1.算法分析(用文字或流程图进行描述)2.编写的源程序代码 3.程序运行的结果 2.3.4 设计任务4实现过程 1.算法分析(用文字或流程图进行描述)2.编写的源程序代码 3.程序运行的结果 第3章 指针与文件 3.1 启示与范例 1.指针变量作为函数参数最常见有以下两种用法:① 用于接受实参变量的地址,从而可以在函数中通过访问指针变量所指向的内存单元来达到间接地访问实参变量。这样,函数中既可引用实参变量原来的值,也可将结果存入实参变量所在的单元,达到双向传递的效果。② 用于接受实参数组的首地址,从而可以在函数中通过访问指针变量所指向的内存单元及基以下的各元素来达到间接访问实参数组的各元素,这样,函数中既可以引用实参数组各元素的值,也可以将结果存入实参数组的各元素中。 示例1:通过改变指针的指向来引用不同元素法:编写输入100名学生的成绩,输出其中高于平均分的人数。 参考程序如下: #include aver/=n;a-=n;// a-=n的作用是使a恢复其初始指向。 for(i=0;i printf(“n Enter a:”);for(i=0;i<100;i++)scanf(“%d”,&a[i]);number=over_aver_number(a,100);printf(“n输出高于平均分的人数number=%d”,number);} 2.文件的输出只要求掌握其基本用法,且一般是按指定格式输出到文件中。对文件输入,除了基本用法外,还必须注意文件中数据的格式与输入语句的格式相匹配,否则输入的数据会失真。对文本文件的读写步骤如下: ① 打开文件;对应的函数是fopen ② 读/写文件;对应的函数是fscanf/fprintf ③ 关闭文件;对应的函数是fclose 示例2:从键盘读入若干个字符串,对它们按字母大小顺序排序,然后把排序好的字符送到磁盘文件中保存 参考程序如下: #include if(strcmp(str[k],str[j])>0)k=j;if(k!=j){strcpy(temp,str[i]);strcpy(str[i],str[k]);strcpy(str[k],temp);} if((fp=fopen(“F:wangstring.dat”,“w”))==NULL){ //要将一个已经排好序的string.dat数据文件存放在F盘wang目录下 printf(“打开文件失败!n”);exit(0);} printf(“nThe new sequence:n”);for(i=0;i 1.已知一个整型数组a[5],其各元素值为4,6,8,10,12。使用指针法求该数组元素之积。2.100个围成一圈,从第1个人开始,每数到3的人出圈。问最后一个出圈的人是哪一个。3.编写一个排序函数,要求这个函数既能完成从小到大排序,又能完成从大到小排序,并编写主函数完成: ① 输入n个数; ② 组织调用排序函数对n个数重排,要求重排后的结果是以最小值所在位置为界,前段数据按从大到小排序,后段数据按从小到大排序; ③ 输出重排结果。3.3实现过程 3.3.1 设计任务1实现过程 1.算法分析(用文字或流程图进行描述)2.编写的源程序代码 3.程序运行的结果 3.3.2设计任务2实现过程 1.算法分析(用文字或流程图进行描述)2.编写的源程序代码 3.程序运行的结果 3.3.3设计任务3实现过程 1.算法分析(用文字或流程图进行描述)2.编写的源程序代码 3.程序运行的结果 第4章 综合设计题(学生可选做其中的一题或两题甚至全部)4.1 设计任务 设计任务1:运用C语言开发一个“小学生算术四则运算测试系统”。该系统是让计算机充当一位给小学生布置作业的算术老师,为学生出题并阅卷。该系统要求实现下列功能: 1.为小学生出题(分别进行+、-、*、/等不同运算)。 2.学生做题后,进行评阅。学生每做一题后,评阅给出“答题正确,很好”或“答题错误,重做”等信息。 3.加、减、乘、除运算功能可以自由选择实现。4.运算数值可控制在两位数的四则运算范围内。设计任务2:运用C开发一个“比赛评分系统”。打分原则为:满分为10分,评委给出分数后,去掉一个最高分和一个最低分后的平均分为选手的最后得分(精确到小数点后两位)。该系统要求实现以下功能: 1.参数人数为n名选手,评委为m名(不得少于11的奇数)。2.参赛选手按抽签序号依次比赛,统计最后得分。3.能够查阅选手的得分情况。4.比赛结束后,整理出“名次表”。5.公布一、二、三等奖得奖选手名单。 设计任务3:用C开发一个“学生成绩综合管理系统”。该系统要求实现下列功能: 1.读入学生情况数据(学生人数为n,课程门数为m)。2.按学号顺序输出成绩。3.输出任一名学生的情况。 4.输出有三门以上课程成绩在90分以上的学生名单。5.按平均成绩排序输出成绩单。6.输出各科成绩档次的统计数目。4.2 设计过程 教学大纲 课程设计与课程研制 Curriculum Design and Curriculum Development 教学目的:主要探讨外语教学的课程设计和教学大纲制定等的原则和步骤,并通过实例说明和提出实际运用的课题。 开课时间:第三学期; 34课时 实践环节:深入教学实际,了解所在学校的课程开发和大纲研制等实践,并提出分析报告。 教学内容: 一、课程设计与课程研制的概念 课程设计就是人们根据一定的价值取向,按照一定的课程理念,确定课程目标,并以特定的方式组织安排课程的各种要素或各种成分,从而形成特殊课程结构的过程及其产物。 课程研制则涉及完成一项课程计划的整个过程,包括课程设计、课程实施、课程评价三个基本阶段。 课程研制包含课程设计,课程设计是课程研制的一个阶段。课程设计与课程研制的区别: 课程设计:形成物态的课程产品。如课程计划、课程标准、教科书、教师用书、多媒体课程包、多媒体课件、教学光盘等。 课程研制:形成动态的课程链条。涵盖课程的各个方面和整个过程,不仅形成一个完整的课程模式,更致力于课程自身的完善与发展。 课程设计与课程研制的关系:课程研制=课程设计(课程理念价值取向+课程目标+课程内容的选择与组织)+课程实施+课程评价 二、课程设计的基本理念 1.实在性。即为实在的人服务,从学生的需求、可能、发展规律出发去设计课程。2.整体性。即为整体的人服务,促进学生全面发展。 3.活动性。人是一个活动的存在,因而课程必须给学生提供智力、情感和身体活动的空间。 4.发展性。即课程必须致力于最大限度地促进学生的身心发展。 5.多样性。人是一个复杂多样的存在,课程必须具有多样性以适应个体差异。6.动态性。社会与人都是不断发展变化的,因而课程设计也应该是动态的、发展的。 三、课程设计的基本模式 (一)学科中心设计 学科中心设计以体现人类文化科学知识精华的学科为中心设计课程。 学科中心设计的理论假设是:学校教育的目的在于把人类千百年来积累的文化科学知识传递给下一代;而这些文化科学知识的精华就包含在学校设置的各门学科里。学科中心设计的三种基本形式: 1.科目设计。科目设计把课程组织成许许多多的科目,每一门科目有意识地阐述专门的同质的知识体系,强调知识的同质性。 2.学科设计。学科设计以内容的内在组织形式为依据,强调标准的专门化,以此把知识体系确立为学科。而不像科目设计只是占有材料和信息,它强调专门化与学术性。 3.大范围设计。大范围设计通过把两门以上有关的科目合并成单一的大范围教程,试图克服科目课程的破碎形式与对知识的分裂, 它强调综合学科课程。 (二)学习者中心设计 学习者中心设计主张以学习者的兴趣、需要和动机为中心设计课程。其典型代表为活动—经验课程设计。 其主要特征有三: 第一,课程的结构要由学习者的需要和兴趣来决定。第二,在课程实施中形成课程结构。 第三,把重点放在所学习问题的解决过程上。 (三)问题中心设计 问题中心设计就是以学生生活或社会问题为中心来设计课程。社会改造主义者较早倡导这种设计方式。其课程代表为核心课程。 问题中心设计的主要特征: 1.强调内容的统一性和实用性,以及对学生和社会的适用性。2.课程内容主要来自周围的社会生活和人类不断出现的问题,学生积极参与学习,具有相当强烈的内在动机。3.通过积极的方式认识社会和改造社会。 四、课程研制的基本阶段 (一)课程设计阶段 课程设计主要解决“教什么”的问题,具体包括课程设置依据的选择,课程标准、课程目的、课程目标的确立及课程内容的选择与组织等。 (二)课程实施阶段 主要解决怎样教的问题,具体包括课程实施程序的设计和课程实施方式、方法的选择等。 (三)课程评价阶段 课程评价主要解决的是课程设计方案及实施方案的恰切性问题,其实施是在教学过程结束后进行的,包括评价指标的确立、评价方法的选择和评价结果的反馈等。 五、课程研制的基本模式 1.泰勒的目标模式 2.斯腾豪斯的过程模式 3.施瓦布的实践模式 4.批判模式 六、大纲研制 1. 在教学目的中体现课程目标 2. 大纲研制反映语言教学的内容、过程和成果 3. 大纲类型 4. 教材研发:搭建大纲与学习者之间的桥梁 考核形式:过程评估=笔试+研讨+实践环节 教材和参考书目:《课程设计》,Fraida Dubin, 上海外语教育出版社 Curriculum Planning for Social Studies Teaching, C.Kissock, Thomson Press(India)Ltd.《比较课程论》,Martin Mclean,教育科学出版社 《课程与教师》,佐藤,教育科学出版社 《课程社会学》,吴永军,南京师范大学出版社 《后现代课程论》,William Pinar,教育科学出版社 课程设计课程考核试卷分析 试卷覆盖教学目标的各个方面,代表了学生应掌握该课程的基本知识。试卷难度一般,主要目的是检查学生对课程整体内容的掌握情况,并实现了这一目的。 试卷成绩呈负偏态分布,说明大多数学生对课程了解到比较熟练的程度;因为是课程考核,该试卷没有把区分度作为其目的。 对于该课程今后的教学的改进意见:因为课程与学生的教学实践紧密相关,今后更应重视教学实践与课程的结合,在考核方式上予以体现。可以考虑一形成式的评估体系运作,更能发挥学生的长处,体现理论与实践结合。 **** 课程设计教学大纲 课程设计名称: 英 文 名 称: 课程设计编号: 编 写 人: 审 核 人: 课程设计指导书: 一、周数学分 周数: 学分: 二、先修课程 三、适用专业 四、课程性质、目的与任务: 五、具体内容及基本要求: 六、学时分配 : 七、考核方式: 说明: 教学大纲打印格式要求: ① 总标题宋体加粗2号字;小标题宋体加粗4号字;正文内容小4号字 ② 行间距:20磅;字间距:默认值 ③ 纸张大小:A4 ④ 页边距:上2cm,下2cm,左2.5cm、右2cm 附件1:课程设计教学大纲格式要求 《××××××》教学大纲 (英文) 课程编号: 学时/学分: 一、大纲说明 本大纲根据××××专业2002年教学计划制订 (一)适用专业 (二)课程设计性质 (三)主要先修课程和后续课程 1、先修课程: 2、后续课程: 二、课程设计目的及基本要求 三、课程设计内容及安排 四、指导方式 五、课程设计考核方法及成绩评定 六、课程设计教材及主要参考资料 制 定 人: 教研室主任: 教 学 院 长: 说明: 1、教学大纲打印格式要求: ① 总标题宋体加粗3号字;小标题宋体加粗5号字 ② 行间距:16磅;字间距:默认值 ③ 纸张大小:A4 ④ 页边距:上、下边距:2.5CM;左、右边距:2.8CM 《管理信息系统》课程设计教学大纲 《管理信息系统》课程设计 教学大纲 课程代码:16020223 英文名称:Management Information System,MIS 适用对象:信息管理与信息系统本科专业、工商管理类本科专业 学时学分:2周,上机不少于40机时,3学分。 一、课程设计目的 管理信息系统课程设计作为独立的教学环节,是信息管理与信息系统专业集中实践性环节系列之一,是学习完《管理信息系统》课程并进行完专业实习后进行的一次全面的综合练习。其目的在于加深对管理信息系统基础理论和基本知识的理解,掌握使用信息系统分析、设计的基本方法,提高解决实际管理问题、开发信息系统的实践能力。同时课程设计应充分体现“教师指导下的以学生为中心”的教学模式,以学生为认知主体,充分调动学生的积极性和能动性,重视学生自学能力的培养。 二、课程设计内容及要求 用管理信息系统开发工具(例如PowerBuilder、Delphi等)开发一个实用的中小型管理信息系统。 1.根据课程设计时间选择适当规模大小的设计课题。采用专业实习的调研内容作为课程设计选题。 2.根据合理的进度安排,按照系统开发的流程及方法,踏实地开展课程设计活动。3.课程设计过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档,最后提交详细的课程设计报告。 4.开发出可以运行的管理信息系统,通过上机检查。 三、课程设计时间 课程设计时间为2周。 四、课程设计的考查 中南大学商学院 《管理信息系统》课程设计教学大纲 评分标准:由指导教师根据学生完成课程设计任务的情况综合打分,包括管理信息系统软件的开发实施情况40%、课程设计报告的质量30%和课程设计过程中的工作态度30%。 成绩评定实行优秀、良好、中等、及格和不及格五个等级。优秀者人数一般不得超过总人数的20%。 中南大学商学院2第二篇:课程设计教学大纲
第三篇:课程设计教学大纲
第四篇:课程设计教学大纲
第五篇:课程设计教学大纲