第一篇:《C语言》教学设计
《C语言》教学设计
一、教学设计
本课程的教学设计是根据软件人才的培养目标,突出创新型、应用型人才的培养方案而设计的,实行“基础知识+基本技能+项目实践+技术延伸”的教学理念。
基础知识是指涵盖该课程的主要知识点;基本技能是指通过实验案例来训练学生的基本项目开发技能,巩固提高学生对基本知识点的理解;项目实践是指通过项目形式,训练学生的综合能力;技术延伸则是指涵盖相关领域的最新技术发展,属于不断更新的动态模块。
根据本课程的教学设计我们精选C程序设计课程的教学内容,精心设计教学案例和课堂讨论题目,实验类型和实验内容,通过特定的教学方法来予以实现。
二、教学方法
C程序设计课程主要采取案例教学法和实践教学法。本课程主讲教师利用业余时间深入大连高新园区、软件园区和软件行业的大中小型企业,搜集、整理了大量的教学案例,有效地运用于课堂教学。通过案例教学,增强了C程序设计教学的实务性和应用性,提高了学生运用C程序设计解决实际问题的能力。在多年的教学实践中,总结了多种C程序设计的教学方法和软件人才培养模式,并在计算机教育和电脑知识与技术上发表。具体方法如下:
方法之一:实行“1+3案例教学”的教学方法
“1+3案例教学”的教学方法是指针对每一个难懂的问题或概念,都会找三个案例程序。一个是非常易于理解概念的例子;一个是引起学生兴趣的例子;一个是现实当中非常实用的例子。采用这种方法可以使学生容易理解难懂的计算机程序,又能引起学生的学习兴趣,还能让学生了解企业的实际应用。
方法之二:突出讲授C语言程序设计的普遍性和特殊性
程序设计课程可以分不同层次,C语言只是其中的一种,在这门课的讲授中,要突出程序设计方法的讲解,让学生分清哪些是C语言所特有的,哪些是通用程序设计语言所共有的,这样就可避免讲了一种程序设计语言,再讲一种,既不深入也不透彻。当日后学生根据专业的使用情况及学生的具体状况来选择某种高级语言作为实际操作语言时,学生就具有了学习程序设计语言的能力、扩展的能力,而不是就学C语言而学C语言。但不同的专业对该课程的要求可以有所差异,但不论哪种情况,都不能停留在某种高级语言的介绍,而是要突出讲述程序设计方法,正确地选择算法与数据结构,进行正规的程序设计训练,这样才可深入、透彻的了解程序设计语言的真谛。
方法之三:强调“做中学”的教学模式
“做中学”的教学模式是指在实际的教学过程当中,不是按照从基础理论到专业理论,再到实习的路径来展开教学的,而是把教学顺序完全颠倒过来,先从“做”开始,在做的过程中,以任务驱动方式,通过实例讲授程序设计的基本概念和基本方法,重点放在思路上。学生如遇到问题,再以此问题为基点去学习专业理论。这样做不仅有利于学生实践能力的培养,同时也有助于学生自主学习能力和兴趣的提高。
方法之四:采取粗讲和细讲的方法,缓解课程内容多和学时相对少的矛盾
高校计算机教学的特点是:知识更新快,内容范围广,应用要求高。由此带来的问题之一就是课时的相对减少。在实际教学工作中,我体会到,要缓解课程内容多和学时相对少的矛盾,就是要将“粗讲”和“细讲”结合起来,例如,在《C语言程序设计》课的教学中,前面的几章主要是常量、变量、数据类型、运算符和表达式等一系列规则性、语言的语法要求很强且很琐碎的内容,如果一开始就按部就班地一条条给学生讲解这些规则,常常使学生产生“只见树木,不见森林”、茫然不知所措的感觉。所以应该先通过一个简单的C程序实例“细讲”为什么要制定这些规则,使学生清楚这些规则在程序中的用途,然后对于这些规则“是什么”就可有代表性的“粗讲”,甚至有些部分可以不讲,让学生边用边学。
方法之五:突出重点,鼓励和引导探索式学习
《C语言程序设计》这门课授课的原则是要让学生先抓重点而后才是细节,重点放在思路、算法、编程构思和程序实现上。语句只是表达工具,讲一些最主要的,细枝末节的东西根本不讲,让学生自学,动手上机练,计算机是实践性极强的学科,所学的内容和要实践的东西是一个整体,所以学生可以自己动手来学,书上看不懂的在机器上动手试试,往往就弄懂了,因此很多东西完全是可以自学的。教师应引导学生在解题编程的实践中探索其中带规律性的认识,将感性认识升华到理性高度,只有这样,学生才能举一反三。在这一过程中教师起着很大的引导作用,要求学生在课堂上积极思考,尽量当堂学懂,突出上机训练,在编写程序的过程中,使学生提高利用计算机这个智力工具来分析问题和解决问题的能力。
方法之六:选择合适的数据结构,设计满足限定条件的最优算法在C语言程序设计中,用设计程序解决问题时除了认真分析问题之外,最重要的是选择合适的数据结构,并设计满足限制条件的算法或选择最优的算法。因此,要求学生要熟练掌握各种常见的数据结构,深刻理解某些经典算法的原理和时间、空间复杂度,掌握算法设计的一般步骤。
方法之七:养成良好的编程习惯
让学生养成良好的编程习惯是十分重要的。我们在与国内一些软件公司的技术人员座谈时了解到,中国软件之所以上不去的原因之一就有“习惯问题”。印度十个人编程,会编出一样的东西,而我们十个人编程会有十种风格。因为我们忽略了一个重要问题是“顾客”的感受,因为程序的编写是给别人看的,而不是只给我们自己看的,这样才更符合软件规范的要求。鉴于此,在课堂上我们非常注意让学生养成良好的编程习惯,如:强调程序的可读性、规范性;变量必须加注释;程序构思要有说明;学会如何调试程序;尽量使程序优化;还要求对程序的运行结果做正确与否的判断与分析等。
方法之八:强化实践教学模式
对程序设计教学模式进行改革,以强调动手实践、上机编程为切入点;以任务驱动方式,通过实例讲授程序设计的基本概念和基本方法。重点放在思路上,即:在C/C++语言的环境下,针对问题进行分析,构建数学模型,提出算法并编程实现,同时要求养成良好的编程习惯,在此过程中培养学生的思维能力和动手能力,鼓励学生探索、研究和创新。只有让学生动手,才会有成就感,进而对本课程产生兴趣,学起来效果才比较好。因此,我们的基本思想应该是在理论指导下,让学生动手、动脑更多地上机实践。因为学生只有在编写大量程序之后,才能获得真知灼见,感到运用自如。注重学生动手能力的培养是这门课和以往课程最大的不同之处。
三、教学手段
为了实现本课程确立的教学目标,落实教学内容,改革教学方法,提高教学效率,我们利用课程组教师的优势,应用现代教育技术,长期地进行了教学手段的改革和信息化建设,并取得了很好的成果。
(一)多媒体教学
《C程序设计》课程在我校是最先采用了现代信息技术、应用多媒体技术进行课堂教学的课程之一。本课程组的全体教师早已全部掌握了应用多媒体信息技术进行课堂教学,制作了多媒体课件和多媒体教学案例。通过多媒体教学,突破了传统教学手段的时空限制,节省了大量宝贵时间,增加了课堂教学的信息量,使课堂教学形象化、生动化。随着现代信息技术的不断发展,这些多媒体课件在实际应用中也在不断的修改和完善,其质量不断提高,教学效果也非常好,受到了学生的普遍好评。
(二)网络教学
本课程组较早就开始着手进行网络教学系统的开发建设,目前网上教学资源已经十分丰富,极大地方便了教师与学生之间的交流。在网络平台上,学生可以看到与C程序设计课程相关的所有资料。教师给学生布置作业,学生可以在网上直接作答,教师在网上直接批阅。学生在学习中遇到问题,可以在网上直接向教师请教和讨论。通过课内教学与课外研讨相结合的方式,使教与学有机地融合在一起,有利于学生充分消化和理解教学内容。
(三)实验教学
我们在开展案例教学的同时,积极开展实验教学。通过实验教学,指导学生自己动手完成各项业务操作,使学生验证、理解、巩固了所学的计算机知识;指导学生运用所学的知识,分析和解决实际问题,使知识转化为能力。在验证实验和应用实验的基础上,指导学生进行开拓型训练,使学生拓展了思维,增强了创新能力。
在学时安排上,理论教学与上机实践的学时比例基本为1:1。本课程设置“验证型实验教学+设计型实验+综合型实验教学”的实验教学体系,构建递阶型实践教学模式,验证型实验教学是与理论课同时进行的上机实习;设计型实验是与理论课同时进行的学生自行设计的运用理论学习内容进行实际开发的实验;综合型实验教学是理论课讲授完毕后的集中实训,是综合能力的训练。对程序设计教学模式进行改革,强化实践教学,以强调动手实践、上机编程为切入点,是本门课程的特色。
四、教改举措
(一)精选教学内容,改革课程设计,实行“基础知识+基本技能+项目实践+技术延伸”的教学理念
根据软件人才的培养目标,我们精选C程序设计课程的教学内容,精心设计教学案例和课堂讨论题目,突出创新型、应用型人才的培养。
基础知识涵盖该课程的主要知识点;基本技能则通过实验案例来训练学生的基本项目开发技能,巩固提高学生对基本知识点的理解;项目实践通过项目形式,训练学生的综合能力;技术延伸则涵盖相关领域的最新技术发展,属于不断更新的动态模块。
(二)改革教学方法,实行“1+3案例教学”的教学方法
摒弃了过去传统的灌输式教学方式,采用灵活案例式教学方法和实践教学方法。尤其是采用实用、有效的“1+3案例教学”的教学方法。即针对每一个难懂的问题或概念,都会找三个案例程序。一个是非常易于理解概念的例子;一个是引起学生兴趣的例子;一个是现实当中非常实用的例子。采用这种方法可以使学生容易理解难懂的计算机程序,又能引起学生的学习兴趣,还能让学生了解企业的实际应用,提高了学生的实践能力。
(三)改革作业形式
布置的作业题侧重于应用性,训练学生应用能力。在作业的布置和批改上,均通过网上进行。
(四)改革实验形式
为强调“以学生为中心”的实验教学模式,自主开发了“C 程序设计网络化实验教学平台”。
(五)改革考试形式
为辅助教师加强对学生实践环节的考核,自主开发了“C 程序设计网络化考试软件”,以保证实验教学的质量。
(六)改革教学模式,强调“做中学”
“做中学”的教学模式是指在实际的教学过程当中,不是按照从基础理论到专业理论,再到实习的路径来展开教学的,而是把教学顺序完全颠倒过来,先从“做”开始,在做的过程中,以任务驱动方式,通过实例讲授程序设计的基本概念和基本方法,重点放在思路上。学生如遇到问题,再以此问题为基点去学习专业理论。这样做不仅有利于学生实践能力的培养,同时也有助于学生自主学习能力和兴趣的提高。
第二篇:C语言设计
C语言课程设计任务书1 题目:学院教学信息管理系统
功能:学院教学信息管理系统,每一条记录包括一位教师的职工号、姓名、职称、性别、3门课程,教学效果综合评分。系统要求实现以下功能:
1、输入:输入每一位教师记录,将其信息写入文件中。
2、显示:显示每位教师记录。示。示。
3、排序:按职工号或教学效果综合评分进行排序,并显
4、查找:完成按姓名或课程查找教师的相关记录,并显分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位教师的相关(教学)信息写入文件中并能显示于屏幕上。
3、完成排序(按职工号、姓名、职称等)、查找等功能。要求:
1、用C语言实现程序设计;
2、利用结构体数组实现教师信息的数据结构设计;
3、系统的各个功能模块要求用函数实现;
4、界面友好(良好的人机交互)。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书2 题目:酒店房间登记与计费管理系统
功能:
1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。
2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。
3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。
3、进一步要求:完成计费和费用查询功能。要求:
1、用C语言实现系统;
2、系统的各个功能模块要求用函数实现;
3、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书3 题目:学生成绩管理系统
功能:学生成绩管理系统,每个学生是一个记录,包括学号,姓名,性别,3门课程成绩。系统
要求实现以下功能:
1、信息录入:录入学生成绩信息(包括学生学号、姓名、各门课程的成绩等);
2、信息查询:输入学号,查询学生各门课程的成绩,并显示。
3、排序:按各门课程的成绩平均分进行排序,并显示。
4、信息删除与修改——输入学号,删除该学生的成绩信息。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位学生的信息写入文件中并能显示于屏幕上。
3、完成上述信息查询(学生学号、姓名等)、排序、信息删除与修改功能。
要求:
1、用C语言实现程序设计;
2、利用结构体数组实现学生信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书4 题目:职工档案管理系统设计 功能:职工档案管理系统设计,每个职工是一条记录,包括编号,姓名,性别,出生年月,所在
部门,职称,工资级别、电话等。系统可实现以下功能: 件中。
1、输入功能:输入每一位职工记录,将其信息存入文
2、显示功能:完成全部职工记录的显示。
3、查找功能:完成按编号或姓名查找职工的相关记录,并显示。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位职工的信息写入文件中并能显示于屏幕上。
3、完成上述查找(编号,姓名,性别等)、修改等功能。
4、进一步要求,修改记录设置密码操作。要求:
1、用C语言实现程序设计;
2、利用结构体数组实现职工信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书5 题目:学生管理系统设计
功能:学生管理系统设计,每个学生是一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等。系统要求实现以下功能:
1、输入功能:录入学生信息(包括学生学号、姓名、性别、出生年月、专业等);
2、显示功能:完成学生记录的显示。
3、查找功能:完成按学号或姓名查找学生的相关记录,并显示。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每位学生的信息写入文件中(人数利用宏定义设定)并能显示于屏幕上。
3、完成上述显示、查找(姓名,性别等)、修改等功能。
4、进一步要求,修改记录设置密码操作。要求:
1、用C语言实现程序设计;
2、利用结构体数组实现学生信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书6
题目:银行存取款管理设计
功能:能够输入和查询客户存款取款记录。在客户文件中,每个客户是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种。本系统能够输入客户存款或取款记录;根据客户姓名查询存款和取款记录。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、建立一个文件,输入客户的必要信息,能对文件进行显示、输入、修订、删除等。
3、进一步要求:完成客户姓名查询存款和取款记录,并能得到每次帐户总金额。要求:
1、用C语言实现系统;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书7 题目:院职工工资管理系统设计
功能:院职工工资管理系统应包含职工的全部信息。每个职工是一条记录,包括姓名、性别、出生年月、年龄、婚姻状况、家庭住址、职称、工资级别情况等。本系统重点进行工资管理,系统登陆后可计算职工工资总额和平均工资,可按工资进行排序,并能够找出工资级别相同的职工名单。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、建立一个文件,将每位职工的信息写入文件中并能显示于屏幕上。
3、计算职工工资总额和平均工资,可按工资进行排序,并能够找出工资级别相同的职工名单。要求:
1、用C语言实现程序设计;
2、利用结构体数组实现职工信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书8 题目:通讯录管理系统
功能:录入联系人信息(包括姓名、电话号码、地址、备注等);通讯录管理系统要求实现以下功能:
1、输入每一位联系人记录,将其信息存入文件中。
2、查询所有联系人的信息,并按可选的自定义规则进行排序;
3、记录修改,将修改的记录信息保存于文件中。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。
2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上。
3、完成上述查询(姓名、电话号码等)、信息删除与修改功能。
4、进一步要求,修改记录设置密码操作。要求:
1、用C语言实现程序设计;
2、利用结构体数组实现联系人信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书9
题目:计算机辅助教学(CAI)软件开发:教小学生学算术。
功能:可做个位数,十位数的加,减,乘和除,减法不能得负数,除法要除尽,屏幕上随机出现两个数,提示小学生给出答案,答错了要提示重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从个位进到十位。同样,也可降级。(rand(),#include
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成基本要求:能答对个位数的加法和减法,并有统计功能,即一次答对的成功率为 90%上后可晋级,做十位数的加减;
3、进一步要求:完成乘法和除法的学习,也有晋级功能。要求:
1、用C语言实现程序设计;
2、系统的各个功能模块要求用函数的形式实现;
3、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书10
题目:学生考勤系统设计
功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上
3、完成上述添加(出勤情况)、查找(学号,姓名,性别等)、修改等功能。
4、进一步要求:自动给出每个学生的考勤分数 要求:
1、用C语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书11 题目:学生选修课程系统设计
功能:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。试设计一选修课程系统。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上
3、完成上述添加、查找(课程编号、课程名称、课程性质等)、修改等功能。
4、进一步要求:学生选修课程(可选项)要求:
1、用C语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书12
题目:商品订购系统设计。
功能:屏幕上出现一个界面,让顾客或输入商品名称,或商品型号,或选择列表进而输入商品编号都可以,如查到所选商品,则列出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:所选商品编号—列出对应商品的信息—要求顾客输入邮寄地址信息—确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。建立两个文件,分别存放商品信息与订购信息。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立一个小系统,包括10种产品能供顾客选择。
3、进一步要求:完成全部功能的系统。要求:
1、用C语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书13 题目:设备管理系统设计
功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上
3、能对文件进行补充、修订、删除,能统计所有设备的总价值。
4、进一步要求:完成设备按种类、按所属部门进行统计。要求:
1、用C语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书14
题目:学生计算机机房管理系统设计 功能:该计算机房共有100台计算机,分为20排,每排50台。管理系统应包含每台计算机一周内的使用全部信息,包括计算机序号、配置、位置、状态、使用情况的历史记录(包括使用者姓名、学号、使用时间段)等。本系统可以模拟学生上机和离开的登记过程,查询机房计算机的使用情况。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、建立一个文件,将相关的信息写入文件中并能显示于屏幕上;
3、能实现学生上机的登记过程模拟;
4、进一步要求:查询机房计算机的使用情况。要求:
1、用C语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书15 题目:商店销售管理系统。
功能:屏幕上出现一个界面,让售货员输入商品编号或者商品名称,可以进货,进货后商品库存同时增加。顾客买走商品后,售货员输入商品编号或者商品名称,可以生成销售清单,统计本次销售总的价钱,同时库存数量相应减少。完成前面的基本功能后,还可以完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、建立一个文件,将相关的信息写入文件中并能显示于屏幕上;
3、能按商品编号进货和销售;
4、进一步要求:完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。
要求:
1、用C语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书16
题目:计算机辅助教学(CAI)软件开发:教小学生学英语。
功能:屏幕上随机出现一个汉语单词,英语单词,汉语词组,英语词组或一短句提示小学生给出相应答案,答错了要提示要求重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从单词到词组,从词组到短句。同样,也可降级。起步阶段可各选30个,软件可扩充,即扩大词库的容量。
(rand(),#include
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:能教单词,并有统计功能,即一次答对的成功率为90%以上后可晋级;
3、进一步要求:完成词组和短语的问答,也有晋级功能。要求:
1、用C语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
释。
4、界面友好(良好的人机交互),程序加必要的注课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书17 题目:飞机订票系统设计
功能:本飞机共有80个坐位,分20排,每排4个位子。编号为A,B,C,D。如10D表示10排D座。A和D靠窗,19到20排为吸烟区。本系统可让乘客自己选座号和区域,直到乘客满意为止,无法满足的话,只能改乘另一个航班。定上票的乘客需给出姓名和身份证号,最后要打印出乘客清单。分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立一个小系统,包括5排座位,两个区域,能供乘客选择;
3、进一步要求:完成全部功能的系统。要求:
1、用C语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
释。
4、界面友好(良好的人机交互),程序加必要的注课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
C语言课程设计任务书18
题目:高速公路计费系统设计
功能:在某高速公路出口收费处,对三种类型的车辆计费,大型车每公里0。5元,中型车每公里0。4元,小型车每公里0。3元,来车验条,乘公里数即得该收的款项。在交班时要统计出总数。
分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2、完成最低要求:建立一个只有三个入口的计费系统,并能进行统计计算,打印出报表;
3、进一步要求:完成任意多个入口的通用系统。要求:
1、用C语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
释。
4、界面友好(良好的人机交互),程序加必要的注课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
# include
int main(){struct student *p,*pt,*head;int i,j,sum,average,length,inum,flag=1;int find=0;while(flag==1){printf(“input length of list(<10):”);flag=0;}
for(i=0;i
for(i=0;i<10;i++){sum=0;for(j=0;j<3;j++)sum+=p->score[j];p->aver=sum/3;average+=p->aver;}
printf(“input num:”);scanf(“%d”,&inum);pt=head;p=pt;if(pt->num==inum){p=pt->next;head=pt=p;find=1;} else pt=pt->next;while(pt!=NULL){if(pt->num==inum){p->next=pt->next;find=1;} else p=pt;pt=pt->next;} if(!find)printf(“no find %d.”,inum);p=head;printf(“nNO.name sex scoren”);while(p!=NULL){printf(“%4s%8s%6s%9sn”,p->num,p->name,p->sex,p->score);p=p->next;} return 0;}
第三篇:《C语言程序设计》课程教学设计
《C语言程序设计》课程教学设计
理学院电子科学系计算机基础教研室 赵永梅
《C语言程序设计》是大学计算机基础教学系列中的核心课程之一,是计算机及信息类专业本科生必修的一门专业基础课。它讲述了C语言的语法、数据类型、结构化程序设计方法等方面的内容,从而形成一个比较完整的、系统的计算机及信息类专业计算机程序设计基础教学内容,是学员从技术的角度学习计算机的主要基础课,具有不可替代的基础性、先导性和全局性作用。
一、课程教学对象分析
本课程的教学对象是培训部计算机类专业一、二年级本科层次学员。所有教学对象都应该已经学习过《大学计算机基础》,但由于学员的计算机基础的较大差异,针对教学对象的实际情况,应当根据教育部高等学校计算机科学与技术教学指导委员会《关于进一步加强高等学校计算机基础教学的意见》暨计算机基础课程教学基本要求,给以适当的分类、分层次教学,即一般要求和较高要求,使学员掌握C语言的简单程序设计的基本技术和方法。
二、课程基本理念
本课程以培养复合型的专业技术人才为目标,全面贯彻素质教育和创新教育思想,着力提高人才培养质量。通过本课程的学习应使学员掌握正确的程序设计方法与思想。具有初步的利用计算机分析问题、解决问题的意识与能力,为学员将来到社会从事专业应用软件的开发打下重要基础。
三、课程设计思路
以本课程的基本理念为指导,对课程目标分别从知识与技能、过程与方法、情感态度与价值观等方面进行了具体明确的阐述。课程内容与教学要求主要阐述学员学习本课程必须掌握的内容要点及达到的基本要求,并注明了重点和难点。在实施建议部分,分别对课程教学实施、课程考核评价、教材选编使用、课程资源开发与利用以及教学保障等提出了明确建议。本课程是一门实践性很强的课程,应改变传统的注重语法规则的应试型教学模式,合理安排教学实践环节,加强程序设计技能的教学,以培养学员的专业技能,突出学员学习的主体地位。可通过与实际应用结合紧密的例题,增设小型工程应用项目的研究或运用案例式教学,提高学员编程的技巧。
四、课程教学目标
以《计算机程序设计》的课程标准为参考,根据教育部新的精神和要求,通过课堂教学与实践教学,让学员了解《C语言程序设计》这门课程的性质、地位和在工程应用中的价值;熟练掌握C语言的语法,掌握程序设计的基本思想和方法,具备良好的程序设计风格和程序的调试技能。能够利用软件工程的思想,运用数据结构基本知识和算法,解决实际生活中或者专业课中涉及到的实际问题,从而培养学员分析问题、解决问题的能力。
五、课程教学内容
(一)教学内容
根据《C语言程序设计》课程标准,参照相关专业人才培养方案以及后续课程的开设情况,讲授8个教学单元的教学内容。
第一单元:C语言概述
教学内容:C语言的特点、C语言源程序简介、C语言源程序的基本结构、C程序的编辑、编译、链接和运行
学时分配:讲课2学时,实习2学时
目的和要求:了解C语言及其特点、掌握C语言源程序基本结构、掌握C语言源程序集成开发环境
重 点:C语言源程序的基本结构。难 点:C语言源程序集成开发环境。第二单元:基本数据类型及其运算 教学内容:C语言的基本数据类型及其分类、变量与常量、各种运算符及其表达式
学时分配:讲课4学时,实习2学时
目的和要求:了解C语言的数据类型、掌握常量与变量的概念和使用方法、掌握C语言中的整型数据、浮点型数据和字符型数据的表示方法、掌握各种运算符和表达式的使用方法、掌握各类数值型数据之间混合运算的方法
重 点:基本数据类型及其分类 难 点:各种运算符和表达式的使用 第三单元: 结构化程序设计
教学内容:算法的概念及特性、算法的描述、结构化程序设计方法、C的语句、赋值语句、数据的输入与输出、顺序结构程序设计、关系运算、逻辑运算和条件运算、if语句、switch语句、while、do„while、for、break、continue语句、循环结构程序设计
学时分配:讲课22学时,实习6学时
目的和要求:理解算法的概念和特性、掌握用N-S图描述算法、初步了解结构化程序设计的思想、掌握用N-S图描述三种基本结构、掌握C语句的种类和特点、掌握数据输入、输出的方法、掌握顺序结构程序设计方法、掌握关系运算、逻辑运算和条件运算、掌握if语句和switch语句的执行过程、掌握选择结构程序设计方法、掌握三种循环语句的执行过程和区别、掌握break和continue语句的用法、掌握循环结构程序设计方法。
重 点:算法的概念及特性、C的语句、逻辑运算,if语句和switch语句构成选择结构、三种循环语句
难 点:掌握用N-S图描述算法、数据的输入与输出、switch语句的执行过程、循环结构程序设计
第四单元:函 数
教学内容:函数的定义与声明、函数的调用与返回、数组作为函数的参数、变量的存储类别、内部函数和外部函数
学时分配:讲课4学时、实习2学时
目的和要求:理解函数的基本概念、掌握函数的定义、声明、调用和返回、掌握数组作为函数的参数的特性、掌握变量的作用域及存储方式、了解内部函数和外部函数的使用方法及区别
重 点: 函数的定义和调用,数组作函数的参数 难 点: 函数的递归调用和嵌套调用 第五单元:数 组
教学内容:数组的概念、一维数组的定义、引用和初始化、二维数组的定义、引用和初始化、字符数组的定义、引用和初始化、字符串处理函数
学时分配:讲课6学时、实习2学时
目的和要求:理解数组的基本概念、掌握数组的定义、初始化和数组元素的引用方法、掌握字符数组和字符串处理函数的使用、掌握与数组有关的常用算法(冒泡排序和选择排序)
重 点:数组的定义、初始化和数组元素的引用 难 点:二维数组和字符数组的应用 第六单元:结构体和共用体
教学内容:结构体类型及其使用方法、指向结构体类型数据的指针、用指针处理链表、共用体类型及其使用方法、枚举类型及其使用方法、用typedef定义新类型
学时分配:讲课4学时、实习2学时
目的和要求:理解结构体、共用体类型和枚举类型的概念、掌握结构体、共用体和枚举类型数据的使用、了解用指针处理链表的方法和意义、掌握typedef命令的使用方法
重 点:结构体、共用体类型和枚举类型数据的使用方法 难 点:指针处理链表的方法 第七单元:指 针 教学内容:指针的概念、指针与变量、指针与数组、指针与字符串、指针与函数
学时分配:讲课6学时、实习2学时
目的和要求:理解指针的概念、掌握指针变量的定义、引用方法及运算、掌握通过指针访问数组的方法、掌握通过指针处理字符串的方法、掌握使用指针作为函数的参数、掌握函数指针、掌握指针数组和指向指针的指针
重 点:指针的概念、指针作函数的参数、数组的指针和字符串的指针
难 点:函数的指针、指针数组和指针的指针 第八单元:文 件
教学内容:文件类型指针、文件的打开与关闭、文件的读写 学时分配:讲课2学时,实习2学时
目的和要求:掌握文件概念及文件的打开与关闭、掌握文件的顺序和随机读写、了解文件的出错检测
重 点:文件的打开、关闭和读写函数的使用 难 点:文件类型指针
(二)教学实践
本课程是一门实践性很强的课程,上机实习是教学过程中的一个重要环节,目的是使学员熟练掌握C程序编辑、编译、链接和运行的基本步骤,提高学员在TURBOC环境下,运用C语言对具体问题进行程序设计的能力。按照课程标准,本课程共安排20 学时的上机实习。
为了更好地开展教学实践,给每位学员统一发放了与主讲教材配套的上机指导书《C程序设计上机实践指导书》,以辅助理论教学,提高学员的程序设计的能力。
实践教学内容与课时分配如下: 实验1: TURBOC 2.0环境下的基本操作 课时分配:2学时 实验目的:
(1)掌握TURBOC 2.0的基本操作;
(2)掌握TURBOC 2.0环境下编辑、编译、链接和运行程序的基本方法;
(3)初步了解C语言源程序的基本结构。实验2 :基本数据类型及其运算 课时分配:2学时 实验目的:
(1)掌握C语言的基本数据类型,学会变量的定义和赋值;(2)熟练掌握C语言有关运算符、表达式的使用方法;
(3)进一步熟悉C语言程序的编辑、编译、链接和运行的基本步骤。实验3: 顺序结构程序设计 课时分配:2学时 实验目的:
(1)熟练掌握各种基本类型数据的输入、输出方法;(2)熟练掌握赋值语句的使用方法;
(3)熟练掌握格式输入、输出函数的使用方法。实验4 :选择结构程序设计 课时分配:2学时 实验目的:
(1)掌握关系表达式、条件表达式以及逻辑表达式;(2)熟练运用if语句的不同形式编写程序;(3)掌握switch语句的使用方法。实验5: 循环结构程序设计 课时分配:2学时 实验目的:
(1)熟练掌握while,do„while,for语句的使用;(2)掌握在程序设计中用循环方法实现的一些常用算法;(3)进一步熟悉调试程序的方法。实验6: 函数 课时分配:2学时 实验目的:
(1)掌握实参和形参在函数间进行“值传递”的对应关系和传递方法;
(2)掌握函数的嵌套调用和递归调用;(3)理解变量的存储类别和作用域。实验7: 数组 课时分配:2学时 实验目的:
(1)掌握数值型数组的初始化和输入、输出的方法;(2)掌握字符数组的初始化和字符串的输入、输出方法;(3)掌握数组下标的表示方法。实验8: 结构体与共用体 课时分配:2学时 实验目的:
(1)掌握结构体类型和结构体变量的定义和使用方法;(2)学会构造合理的数据结构解决实际问题的方法;(3)理解动态内存分配的概念;(4)掌握简单链表的定义和操作;(5)掌握共用体数据的定义和使用方法;(6)掌握枚举类型数据的定义和使用方法。实验9: 指针 课时分配:2学时 实验目的:
(1)理解指针和地址的概念;掌握指针变量的定义和使用方法;(2)掌握用指针处理数组的方法;(3)掌握字符串指针的使用方法;(4)掌握函数的指针的使用方法;(5)掌握指针数组和指针的指针的使用方法;(6)掌握指针变量的运算。实验10: 文件 课时分配:2学时 实验目的:
(1)掌握文件的打开和关闭方法以及文件的读写方法;(2)了解文件的定位以及出错的检测。
六、教学方法手段
(一)教学方法
通过对基础知识的讲解,突出基本概念、基本思想的讲授和基本技能的训练,结合案例精讲多练,注重讲解与实际应用结合紧密的例题,加强实践练习。在教学过程中,贯穿“讲授式”、“启发式”、“案例式”、和“研讨式” 等教学方法。
注意教学方法的灵活性,教学过程中,借助现有的多媒体设备,灵活运用教学方法,再现问题情景,增加互动氛围,培养学员分析问题、解决问题的能力和探究意识。
作业量每次3-5题,难度应当适中,教员应做到定时批阅,及时讲评。
注重实践环节。实习课(20学时),在教员指导下,单人单机自主进行。实习内容根据程序设计基本技能中的要求合理设计,依次实施。
适当增加一些小型项目或以大作业的形式,使学员进一步加强学习的自主性,培养解决综合问题的能力。
(二)备课与课堂设计 1.备课
按照人才培养方案、课程标准和教学基本要求,在开课前需要深刻理解本课程各单元的主要教学内容,以课程教学组为基本单位组织集体备课,统一教学要求、统一授课标准、统一课程进度。认真撰写教案、制作课件并对针对重点如何突出、难点如何突破进行讨论与试教练讲。
2.课堂设计
将课程的全部教学内容分解落实到有限的25次课堂面授(50学时)和10次自主上机实习(20机时)之中去。在开课之前适当时候组织学员进行摸底考试,并且在开课后的两周之内及时组织召开教学联系会,全面了解学员对C语言的掌握情况和掌握程序设计方法的情况,以便因材施教,有的放矢。
七、教学评价
本门课程采用笔试与上机考试(机试)成绩相结合的方式评价。笔试成绩占70%,上机考试成绩占30%。
第四篇:基于CS的C语言教学设计
基于(拐模式的C语言教学系统概念设计
//作者简介:贺秦奎(1982一),男,湖北天门人,武汉科技大学信息科学与工程学院研究生,武汉科技大学中南分校助理工程师。32软件导刊·2007·4月号//
贺秦奎
(武汉科技大学中南分校,湖北武汉430223)摘要:探讨基于client/server的智能计算机辅助教学(ICAI)的实现技术,据此采用vC#、SQL Server、ns等开发平台,建立了一个用于C语言程序设计的ICAI系统。关键词:Client/Server;CAI:ICAx 中图分类号:TP319文献标识码:A文章编号:r672一7800(2007)04一0032一02 1ICAI的评价标准
智能计算机辅助教学系统(InielligenceComputerAssistedInstruetio卜ICAI)具有如下特征:①能自动生成各种问题与练习;②根据学生的学习水平与学习情况选择与调整学习的内容和进度;③在了解教学内容的基础上自动解决问题,生成解答;④具有自然语言生成与理解能力;⑤对教学内容有解释咨询能力;⑥能诊断学生错误,分析原因并采取纠正措施;⑦能评价学生的学习行为;⑧能评价教师的教学行为。
具备上述全部特征的ICAI系统是完美的,但实现起来却较困难。一般认为只要具备上列一个或几个特征,就可以称之为ICAI。2实现技术
2.IC肚en口Server的实现
将用于教学的内容、刻画学生的认知模型所必需的数据资料保存在Server端。教师在教研室通过Client,负责实现对Server端教学内容的更新与维护。学生在多媒体教室通过Client与Server相连,实现对教学内容的学习,学习结束后,学生客户端软件将依据学生对知识点的掌握情况,为其自动修改认知模型。督导人员在教务处通过Client与Server相连,实现对教学过程的监督与引导。2.2认知模型的建立
ICAI强调要按学生不同的认知模型,为其准备不同的教学内容,用以实现个别化教学与启发式教学。受认知心理学与教育学发展的制约,目前还无法准确地建立出单个人的认知模型。我们粗略地将学生的认知模型,按其不同的认知能力分成高、中、低三类。同一内容的教案也按高、中、低三种难度组织,分别提供给具有相应认知能力的同学学习使用。学生在学习完每节教学内容后,系统将要求他回答一定数量的相关问题,并根据其回答问题的准确率,确定他的新认知模型。
2.3智能化教学过程的实现
我们借鉴专家系统的设计方法,实现ICAI课件系统中的智能功能。在该系统中组织了相应的规则库、事实库(学习历史纪录库)和推理实现机制,如图1所示。图,下面对推理实现机制作简要的介绍。规则库由册、章、节、超文本教案地址、阀值及多个前提组成.反映对该节的学习应满足的前提条件。学习历史库由册、章、节、认知等级、已学次数组成,反映学生对该节的认知能力。规则库的内容由教师负责修改。学生的学习历史纪录,在库中按每个人一张学习信息表组织,其内容在每次学习之后,由学生客户端软件依据该生对知识点的掌握情况自动修改。推理过程由专用的推理模块按规则库提供的规则与学生学习历史纪录库提供的事实作出判断。通过学生在每节教学内容学习完成之后对所附习题回答的准确率,将其认知能力划分成高、中、低三个层次,并将这一结果保存在学生学习历史纪录库中。学生下一次使用该系统进行学习时,该系统会按其不同的认知能力,为他准备相应难度的教学内容。不难看出,这种对认知能力的衡量是动态的。若学生不想按系统默认 的进度学,也可以自行选择学习内容。若所选内容已经学过,则根据其当时所获得的等级为他准备学习内容;否则将视规则库及学习历史纪录中的内容,判断其是否可学而定。例如:规则库中限定在学习第1章第l节之前不能学习第l章第2节,某生试图越过第1章第2节学习第1章第2节时,系统会给出警告。为了使学生能在系统的控制下学习,无论是高、中、低难度的教案均是一节一个超文本文件,其中不含有链接。
当然对于某些特殊情况,学生需要跳过章节进行学习。由于这一操作破坏了系统的逻辑性,故应在教师(系统管理员)的授权下完成,同时修改学生学习信息数据表,保持数据完整性。2.3.1阀值的给定
当学生完成对某一节的内容学习之后,回答系统提问所得的分数小于该节所具有的阀值时,系统并不会将该节标志为已学。所以该生下次登录时,系统将强制他对该节的内容进行重新学习。通常,那些在本学科中具有特殊重要地位的章节具有较高的阀值。下面给出评价某一节在本门课中的重要程度的方法: Important(N)=IN(N)+OUT(N)Important(N)—第N节(将全书中的节以流水形势编排号码)知识在本课程中的地位;IN(N)—本课程中,其余节知识中对第N节的知识有影响的个数之和,即前驱总数;OUT(N)—本课程中,第N节知识影响其余节知识的个数之和,即后继总数。
当对本课程中所有的Important(N)计算完成后,即可据此给出某一节的阀值。阀值Valve(N)以百份数形势表示,小于1且与Important(N)成正比。
设Right(N)表示某生在学习完第N节的知识后,回答系统所提问题的准确率。变量Ruler==l一valve(N)。给定认知模型的修改规则如下: IfRight(N)If Valve(N)≤Right(N)Then认知能力定为“低”
If Valve(N)+Ruler*(1/3)≤Right(N)Then认知能力定为“中” If Valve(N)+Ruler*(2/3)≤Right(N)Then认知能力定为“高” 2.3.2系统的安全技术
由于ICAI会针对用户不同的认知模型(高、中、低)准备不同的教学内容,所以为确保对用户认知模型刻画的准确程度,要求学生在使用学生客户端软件时,需用自己的姓名和口令向系统登记。当验正该生是系统的合法用户后,将到学生资料库中读取相应的资料,送给ICAI的分析模块用以构建该生的认知模型,作为教学的依据。如不是系统的合法用户,将要求学生进行简单的注册,如实填写部分信息后成为系统的合法用户,并在学生资料库中为其分配一个低认知能力等级的缺省值,作为他第一次使用该系统时构建认知模型的依据。
用户初次登录时,口令即为用户名,登录成功后系统立即要求对当前缺省口令进行修改。以后,用户能对自己的口令做任意的修改。学生机房及教师使用低访问权限的Client端,不具备对规则库的写权限,及对事实库的GUI接口;教研室不设置Server端;Serve端及数据库统一置于中心机房进行管理。2.3.3教学评价
我们用下述方法实现了对学生个人学习水平的评价。设n为该系统用户的总人数;凡为第£个学生的考试成绩。定义: 由定义知,S是学生整体成绩的标准差。Zi反映了第i个学生的成绩与平均成绩的差是标准差的几倍。用Zi来衡量考试成绩不会受考卷难度值的影响,比Xi更有说服力。因为标准分(Zi)是一种参考零点(平均分)位置固定、单位长度(标准差)一样的统计量。不同次测验的原始分数换算成标准分后,就可以做互相比较。如某生两次测验的成绩原始分数分别为:so、90,标准分分别为25、2。不能由第二次考试的原始分比第一次高而断定该生的学习进步了,正确的断言是:因为第二次考试的标准分比第一次低,所以该生学习成绩退步了。经验表明,标准分的数值一般在-3一+3间。当标准分数值为正时,表示其学习水平在团体水平值上;反之,则表明学习水平在团体之下。3系统性能探讨
我们完全可以根据上述思想建立一个基于aien心erver模式,用于C语言程序设计教学的ICAI试验系统。该系统的Server端采用SQLServerZ以x〕组织管理“学生库”(用来存放学生资料、答题档案、学习历史纪录)和“知识库与规则库”(含问题库、试题库、规则库、通讯库与试卷备份库)。用于教学的教案被组织成超文本形势,由服务器上运行的Windows NT Serve :的115(Internet Information Server)管理。Client端采用VC#NETZ(X)3为开发平台。它的主要特点是具有智能性,技术先进、结构清晰、交互能力强、界面友好、操作方便、扩充性强等。提供给学生学习的内容采用先进的超媒体组织结构,利用WWW上处理图、文、声、像等多媒体数据的能力和优势,并配有鼠标选中区域高亮、背景声效等多种形式化的表现方式,使设计出的系统以生动、灵活、逼真的方式吸引学生学习,充分调动学生学习的积极性和主动性,加深学生对课程的印象及重点、难点的理解。教师客户端与督导客户端的引人,可以使学生、教师、督导人员互通信息,协作教学,我们相信该系统具有很强的生命力与实用性。
软件导刊·2007·4月号33
参考文献:
【l]苏建志,谭东风.计算机辅助教育的新进展 【M].能京:国防科技大学出版社,1995.t21张永梅,马礼,吴志华.《C程序设计》CAI课 件开发[J」.华北工学院学报,2001,(6):469-471.【3〕桂诗春.标准化考试理论、原则与方法【M〕.广东高等教育出版社,1986.〔41宋云娴.智能CAI的理论与实践〔JI.航空教 育,1993,(3).(责任编辑:杜能钢)
第五篇:C语言教学设计(写写帮推荐)
C语言中的“潜规则”
C语言中有一些默认处理规则,了解这些规则对于阅读程序和理解程序运行结果非常有帮助。
(1)自动类型转换。① 将一个值赋值给变量时,如果那个值与变量的数据类型不同,则将自动转换为变量的数据类型,否则数据无法写入变量。② 表达式求值过程中,char型变量和常量被引用时,自动转换为int型;float型变量被引用时,自动转换为double型;然后按照“int 在C语言中,任何标识符都有意义。但是函数名的意义是什么呢?它实际上是一种函数指针值,代表着函数的第一条指令。初学者在调用函数时容易漏掉(),可能导致逻辑错误。试比较下面程序中的2条if语句。if fun() { … } void main() { if(fun())/*如果函数fun的返回值逻辑上为真,则如何如何*/ … if(fun)/*这里fun被看作是指针值,函数没有得到调用。*/ … }(3)默认的数据类型。 请问,下面的函数定义中,函数的返回值类型是什么? fun(float x,float y) { … } 如果你认为是void或者没有返回值,那就错了。C语言规定,默认的数据类型一律是int。函数定义时,不指定返回值类型,编译器将返回值类型默认为int。如果设计一个没有返回值的函数,必须将返回值类型默认为void。 下面程序中,函数Multi的意图是计算参数x和y的乘积,但是只保留小数点后1位,其他位按照四舍五入处理。但是运行时,当用户输入1.63,4按“回车”键后,程序输出结果是: The result is 6.0 而我们期望的结果应该是: The result is 6.5 而且,无论你输入哪两个数,最终输出结果中小数点后面一定是0.问题就出在Multi函数定义上。这个函数在定义时没有指定返回值类型,C语言编辑器将其默认为int型。