在线客服

c语言程序设计论文实用13篇

引论:我们为您整理了13篇c语言程序设计论文范文,供您借鉴以丰富您的创作。它们是您写作时的宝贵资源,期望它们能够激发您的创作灵感,让您的文章更具深度。

c语言程序设计论文

篇1

1)课件讲解。课件讲解包括两部分,即知识点要点总结和知识点运行机制剖析。知识点要点总结就是告诉学生该知识点如何使用;而知识点运行机制剖析则告诉学生该程序在计算机内存中的执行过程。由于绝大部分高校在开设C语言程序设计之前都会开设计算机文化基础等课程,因此学生有足够的计算机基础知识来理解C语言程序的运行机制。

2)实例演示。作为一门编程语言,C语言需要在实践中理解和掌握,因此,课堂教学中,在具体的编程环境(如VC++6.0)下演示十分必要。通过在具体的软件环境下编程,告诉学生应该做什么和不应该做什么,并总结该知识点的注意事项。相比传统的脱离编程环境,只在PPT或黑板上进行板书的教学模式,该方法的教学效果要好得多。在课堂教学中,具体的教学步骤如下:①使用PPT或者板书列出该知识点的注意要点;②在编程环境(如VC++6.0)下演示该知识点的用法,给出正确的和错误的使用方法,并进行对比;③通过幻灯片动画或Flas等形式演示程序在计算机内存中的执行过程,让学生更加深刻地理解程序的运行机制。

3)教学难点与重点——“复合知识点”。从C语言的教学内容来讲,数组、函数和指针是教学的重点章节,这些章节之间相互关联的部分又是重点中的难点,如数组和函数结合,数组名做函数参数,数组和指针结合,指向数组的指针变量,函数和指针结合,指向函数的指针变量等。在教学过程中要反复强调各个知识点的注意事项,如果基本知识点能够理解透彻,上述难点内容也就迎刃而解了。

1.2上机实践教学

在实践教学中,教师可以通过实际教学案例循序渐进地强化学生对C语言知识点的理解。上机实践的教学内容通常分为两部分:基本知识点练习和综合训练。首先通过基本知识点的练习,让学生掌握该知识点的使用,即巩固课堂所学内容;然后通过一个综合性的大作业,训练学生综合应用C语言知识点的能力,例如,通过编写“学生课程成绩统计系统”考查学生对数组、结构体、指针、函数、文件等知识的综合掌握情况。对于初学编程语言的学生,往往没有养成良好的编程习惯,出错的可能性较大,而出错之后进行调试又将耗费较长的时间,这势必对学生的学习热情产生负面影响。因此,一开始就给学生制定科学的编程步骤和规范,使学生养成良好的编程习惯,将大大减少程序出错的可能。下面是按照上述五步编写的一个完整的C语言程序,用来比较两个整数的大小。按照上述五步进行编程,经过一段时间的训练之后,学生出现语法错误的可能性大大降低,此时学生更多的精力将集中在程序算法的设计和实现上。

1.3考试形式

对于C语言程序设计的考核方式,我们采用知识点考核和编程实践相结合的方式。知识点考核偏重于C语言基本语法,用于检验学生对知识点的掌握是否全面,此项考核约占总成绩的40%;编程实践考核用于检验学生的实际动手能力,学生将在规定的时间内根据题目在机器上编程,此项考核约占总成绩的60%。为了实现知识点的考核,我们将考试与计算机二级C语言上机考试紧密结合,采用题库平台进行上机考试,学生直接在机器上答题并提交,知识点考核多采取客观题,如填空题、程序修改题以及读程序题等,编程题在实战编程中考核。C语言程序设计课程的重要特点就是实践性强,学习该课程的目的就是为了编写程序。因此从考试的角度讲,进行编程实践是最合适的方式,通过上机编程来考核学生的学习情况也是最公正和客观的方式。

2C语言程序设计教学实践结果分析

中国矿业大学(北京)每年都有40多个班级同时开设C语言程序设计课程,因此该课程教学质量的高低将直接影响全校理工科学生对C语言的理解和掌握。中国矿业大学(北京)C语言程序设计教学团队经过长期的探索总结出一套行之有效的C语言教学方法,我们将上述方法在学校越崎实验班中进行了试点。如图2所示,采用上述教学法的越崎实验班的C语言程序设计课程考试成绩要明显好于其他班级,其中90分以上的学生占10.7%,80分以上的学生占总人数的53.6%。另外,学生的学习积极性比采用上述方法前得到明显提高,很多学生都对计算机编程产生了浓厚兴趣,实践证明我们提出的上述方法是行之有效的。

篇2

1 背景

如今各大高校均需要一个完整的系统来管理和保存学生的各门课成绩信息,以便后期使用,论文以河海大学文天学院的工科专业学生成绩为例,运用C语言程序设计和程序运行的环境,设计了一个简单的学生成绩管理系统,下面就来介绍该系统是如何构建的。

2 系统需求分析

2.1 系统功能划分

该系统主要功能如下:

1)学生基本信息和成绩的录入;

2)学生成绩的管理,如计算总分、排序、统计等功能。

2.2 系统功能结构设计

这个学生成绩管理系统中包含的学生信息有:学生的学号、姓名、性别、高数成绩、英语成绩、计算机成绩、三门功课总分,主要的功能模块如下:

1)输出学生基本信息并算出总分;

2)按照学号进行排序;

3)按照总分进行排序;

4)统计各门课程平均分;

5)统计男女学生人数;

6)按照姓名进行排序;

7)统计高数成绩优秀(大于等于80分)的人数,并输出符合条件的记录;

8)统计每门功课成绩都在80分以上,或总分在240分以上的人数,并输出符合条件的记录。

C语言中系统的每个功能由一个函数来实现,其系统功能模块层次结构图如下:

图1 学生成绩管理系统功能模块层次结构图

因为函数就是功能,所以对于图1的功能模块层次结构图,每个模块就对应C语言中的一个函数,该系统中所涉及的函导捌涔δ苋缦拢

1)int Menu();

主控菜单函数,有返回值,无参数。用菜单形式显示该系统能实现的所有功能,以供用户查看和使用。函数中的返回值为用户输入的序号code,为局部整型变量。

2)void Read(struct student stud[],int *n);

读入数据函数,无返回值,有参数。形式参数stud为结构体数组,由于调用此函数时实际参数为数组名,因此此处用数组接收;形式参数n为指针变量,由于实际参数为存放学生人数的整型变量的地址,因此n指向存放学生人数的整型变量,这样可以在读入学生信息的同时,还可以统计出学生的人数。

3)void Print(struct student *pstud,int n);

输出数据函数,无返回值,有参数。形式参数pstud为指针变量,指向存放学生信息的结构体数组,这样可以将相关变动信息返回给主调函数;形式参数n为整型变量,存放学生的人数。

4)void total_order(struct student *pstud,int n);

按总分排序函数,无返回值,有参数。形式参数同上。

5)void num_order(struct student *pstud,int n);

按学号排序函数,无返回值,有参数。形式参数同上。

6)void ave_count(struct student *pstud, int n);

统计各门课平均分函数,无返回值,有参数。形式参数同上。

7)void nn_count(struct student *pstud,int n);

统计男女学生人数函数,无返回值,有参数。形式参数同上。

8)void name_order(struct student *pstud,int n);

按姓名排序函数,无返回值,有参数。形式参数同上。

9)void gxyx(struct student *pstud,int n);

统计高数成绩优秀人数函数,无返回值,有参数。形式参数同上。

10)void mm(struct student *pstud,int n);

统计每门课分数不小于80分或总分在240分以上人数函数 ,无返回值,有参数。形式参数同上。

3 C语言程序设计

一个C语言源程序由若干个函数构成,且有且仅有一个主函数,主函数的名字只能是main,其他函数名字由用户自己定义,只要满足标识符的四大规则即可。一个程序总是从主函数开始执行,无论主函数在前还是在后,该系统中除了主函数外,还有十个函数,下面针对其中几个重要的函数进行程序设计。

3.1 主函数程序设计

为了方便读者更好地读懂该程序,部分地方加了注释,以上程序中/* */为注释,计算机并不执行。其中第四行的N为符号常量,表示该系统记录了10个学生信息,每个学生信息用结构体类型的数组来保存,该结构体类型包含4个子成员,每个成员又是另一种类型的数据,其中学号、姓名、性别均由字符数组存储,成绩由整型数组存储,这样就构成了struct student结构体类型,主函数中的第一条语句就是用这种类型定义了结构体数组stud,用来存放十个学生信息。接下来就在主函数中调用各个函数,实现相对应的功能。

3.2 用户自定义函数程序设计

3.2.1 主控菜单函数的设计

在屏幕中显示主控菜单,scanf为输入函数,需要输入一个整数,通过输入相对应的数字序号,可以实现相应的功能,例如输入1,即显示学生全部信息。

3.2.2 读入数据函数的设计

该系统是从文件中读取数据,10名学生的信息存储在文本文件studfile.txt中,如果想修改学生信息,直接在文件中修改即可,不用修改程序,这样既方便又快速,大大节省了时间。

3.2.3 按姓名排序函数的设计

以上程序使用冒泡的排序方法按姓名从小到大排序,系统直接将排序的结果输出到屏幕中,以供用户查看和使用。

4 系统界面

将以上程序输入到计算机C语言开发环境Microsoft Visual C++6.0中,经过编辑、编译、连接以后就可以运行了,运行界面如下:

1)系统菜单界面

当按下回车键,系统进入菜单模式,按照序号选择需要显示的信息。

2)@示学生信息界面

当按下序号1,系统进入显示全体学生信息界面,显示的同时计算出了3门课总分。

3)按学号排序界面

按下回车键继续进入菜单进行选择,当按下序号3,系统进入按学号从小到大排序的界面。

4)统计高数优秀的学生人数和记录

按下回车键继续进入菜单进行选择,当按下序号7,系统进入统计高数不低于80分的人数和记录。

5 结束语

论文主要介绍了学生成绩管理系统的设计与实现过程,分别从系统需求分析、系统程序设计和系统界面设计三个方面展示了系统的设计与实现,其中系统需求分析包括大体功能划分和具体功能结构设计,并设计了功能结构图,描述了各项功能,系统程序设计包括主函数和其他自定义函数的设计。该系统总共实现了八项功能,学生信息来源于文本文件,这样大大方便了学生信息的增删改查等功能。系统中所有功能使用到的方法,还可以实现更多的功能,拓展性能良好,便于各高校各专业使用。

参考文献:

[1] 胡枫. 《C语言程序设计》的案例式教学的设计[J]. 青海师范大学学报, 2010(4).

[2] 谭浩强. C程序设计[M]. 4版.北京: 清华大学出版社, 2010.

篇3

[2]StandleyB.lippman.C++Primer中文版.人民邮电出版社,20006.3.

[3]谭浩强.C程序设计(第二版).清华大学出版社出版,2005.6.

[4]钱能.C++程序设计教程.清华大学出版社,2005.5.

[5]沈美明.IBMPC汇编语言程序设计.清华大学出版社,1993.9.

[6]钱晓捷.汇编语言程序设计.电子工业出版社,2003.

【参考文献】

[1]翟乃强,隋树林,汇编语言与C语言及VisualC++混合编程[J].青岛科技大学学报,2003,24(B09):136~138.

[2]钱晓捷,汇编语言程序设计(第二版)[M],电子工业出版社,2003.6.

[3]钱春英,浅谈C语言与汇编语言混合编程的一些技术[J].南通航运职业技术学院学报,2005,4(1):50~52,55.

[4]郭晓梅,汇编语言与C语言的混合编程及应用[J].南京农专学报,2002,18(4):49~52,62.

[5]普拉塔.CPrimerPlus(第五版)中文版[M].人民邮电出版社,2005.

[6]斯马尔迪诺.教学技术与媒体[M].高等教育出版社,2008.

[7]教育部考试中心.全国计算机等级考试二级教程——C语言程序设计[M].2010年版.北京:高等教育出版社,2010.

参考文献:

[1]周以真.计算思维[J].中国计算机学会通讯,2007,(3):77-79.

[2]董荣胜.计算思维与计算机导论[J].计算机科学,2009,(36):50-52.

篇4

1.引言

“C语言程序设计”课程是计算机科学与技术和软件工程学科相关专业的重要基础课程。课程要求学生掌握C语言的基本数据类型和控制语句,灵活运用顺序、选择和循环三种结构设计程序。学生的学习效果直接影响后续相关课程的深入学习。

由于课程特点,使得传统的被动教学方式让学生觉得枯燥、乏味,只有自主的、探索性的学习才能调动学生的积极性,使其更好的学习本课程。网络环境下专题探究式教学模式则符合这一要求 [1,2] 。

2.网络环境下的专题探究式教学模式

专题探究式教学模式是指在网络环境下,以计算机等终端设备做为传播媒介,在教师的指引下,从课程中选择和确定相关的专题,以分组讨论的学习方式,开展研究,并自主获取相应知识、应用相关知识解决实际问题的一种综合性教学模式。

网络环境下的专题探究式教学模式主要由情景架设、问题提出、探索实践、结论确定和巩固评价等多个部分组成[3]。

3.专题学习网站的总体设计

根据教学需求,专题学习网站分为如下四个功能模块:系统管理模块、专题管理模块、教师专题模块、学生专题模块。系统用户分为教师与学生。网站的系统结构如图1所示:

4. 专题的设置

“C语言程序设计”专题探究式教学的指导思想为面向授课学生, 培养全体学生自主学习能力, 注重学生创新能力的培养, 鼓励学生进行探索性的学习。根据教学的基本要求,在专题学习网站中将设置如下专题:基础知识专题、结构程序设计专题、复合数据类型应用专题、模块化结构设计专题、指针专题和文件专题。

6.结束语

本文简单介绍了网络环境下的专题探究式教学模式的特点和基本组成,详细阐述了“C语言程序设计”专题网站的总体设计方案。通过在网站中设置丰富多样的专题,辅以相关学习系统的支撑, 激发了学生学习的自主性,扩展了学生的学习空间, 满足了学生个性话的发展需要。

参考文献

篇5

Java Programs Applied Undergraduate Teaching and Research Group for the Training of Software Engineers

YU Xiao

(Wuhan Technology And Business University Department of Information Engineering, Wuhan 430065, China)

Abstract: In this paper, application-oriented university training Java software engineers in the process of teaching a number of issues, analyzes how demand-oriented enterprise Java software engineers conduct group teaching curriculum design, including accurate positioning training applied talents teaching objectives, optimize Curriculum reconstruction and the accumulation of experience teaching curriculum system, integration and research.

Key words: Application-Oriented; Training of Software Engineers; Java Curriculum Group; Teaching and Research

1 应用型本科Java课程群的教学现状

随着计算机行业的发展进入到互联网时代,由于 Java语言在计算机软件开发尤其是支持网络编程方面的优势,大多数高校计算机科学与技术专业在培养计划中都设置了Java系列课程的培养方案。应用型本科大学作为第三类大学在进行Java系列课程教学改革中确定Java课程群体系的培养目标是非常重要的。因为应用型本科培养的软件类毕业生在就业中将会与研究性大学本科专科毕业生、职业技术专科学院和职业培训机构的学生进行竞争。为了适应软件行业对Java开发人才的需要,高校简单的开设一门Java语言程序设计是远远不够的[1]。现阶段,应用型本科大学的Java课程体系是参考研究性大学本科课程体系的标准而制定的,并没有突出应用性的特点,而学生在编程方面的能力培养远不及职业技术学院、职业培训机构的学生在实践编程能力的培养。

2 面向培养Java软件工程师课程教学的重要性

现阶段计算机应用软件的开发主要采用.Net平台和Java两大平台,这两个平台各有千秋[2]。在计算机类职业培训机构的课程体系中Java系列课程也是热门的课程。Java软件工程师的职位在目前就业市场中属于紧缺职位。面向培养IT企业需要的软件工程师,为企业输送急需对口人才是各大高校在进行Java课程群的教学建设中需要考虑的问题。但是,很多Java课程体系的教学与市场需求存在脱节的情况。另外,Java教学的知识落后于企业正在使用的技术。计算机行业是发展和更新知识非常快的行业,由于高校教师缺乏与企业交流而导致在Java教学过程中不能及时更新到最新的技术,使得学生在毕业时所学的知识过时。

3 面向培养软件工程师的Java课程群教学思路

3.1应用型本科大学在Java课程群教学改革中的优势

应用型本科大学比科研型本科大学在课程设置上允许更为灵活,所以在Java课程群教学中可采用多种培养方式相结合。例如,在实践教学环节可以加强校企合作。Java的实践课程可以由企业的讲师或软件培训机构的人员参与教学过程,在教学内容上,可以比研究性大学更偏重应用。也可以在高年级的实践教学中的有限课时内让学生直接在企业中实习。为实施素质教育,提高学生的专业技能,培养技术应用型人才,需要不断探索以变更落后的教学方法,改革传统的教学模式[3]。

应用型本科大学在教学过程中比职业培训机构更注重综合能力的培养。比如,应用型本科教学不仅教授的是Java语言,除此之外教学课程体系中还会设置有《数据库原理》、《计算机网络工程》、《操作系统原理》和《软件工程》等重要的理论性指导课程,使学生在计算机应用能力上更具全面性,为学生更好的在职业发展中成为软件工程师打好理论基础,而不仅仅只能成为程序员。

3.2 面向培养软件工程师的教学目标

应用型本科Java课程体系教学应将与Java技术紧密相关的多门课程整合起来形成课程群,以强化课程间的关系,理清课程间的衔接,避免课程内容的重复性。设计课程群中实践课程的递进关系。课程群的建设应紧密结合企业的需求,设计面向培养软件工程师所需的能力项目的定向案例或课题。进行Java课程群教学培养的目标应是面向企业需求的以应用型为主的强化实践编程能力的软件工程师。

3.3 Java课程群体系

根据现有Java技术相关的教学课程选择五门课程组成Java课程群,分别是Java语言程序设计、Java语言程序设计课程设计、Java Web程序设计、Java Web程序设计课程设计、Java技术毕业设计。课程群中前一门课程是后一门课程的基础,课程的难度是递进的由浅入深的介绍Java技术的应用。每门课程都有不同的教学培养的侧重点,如下表所示。

表1 Java课程群的培养与考核

[课程名\&能力培养侧重点说明\&考核方式\&Java语言程序设计\&Java语言基础、面向对象程序设计、图形用户界面编程、文件编程\&理论笔试与实践课程综合评分\&Java语言程序设计课程设计\&三个方向的综合应用程序开发:图形用户界面与文件流结合编程;图形用户界面与网络通信结合编程;图形用户界面与数据库结合编程\&答辩与课程设计论文综合评分\&Java Web程序设计\&JSP技术基础、JDBC、JSP进行动态网站开发\&理论笔试与实践课程综合评分\&Java Web程序设计课程设计\&使用JDBC数据库连接技术进行JSP动态网站开发的综合应用\&答辩与课程设计论文综合评分\&Java技术毕业设计\&使用EJB应用开发、Java API的使用及服务的应用进行小型实际应用项目的开发\&毕业设计答辩与毕业设计论文综合评分\&]

课程群的每门课程都分为理论教学环节、实践教学环节和考核环节组成。每门课程的评分标准根据课程的特点而定。程序设计课程以理论考试与实践课程的程序完成情况进行综合评分,课程设计课程以系统运行演示与答辩结合课程设计论文的综合评分,毕业设计环节需要通过本科毕业设计答辩和本科毕业论文的考核综合评分。

4 面向培养软件工程师Java课程群的教学研究

4.1 面向培养软件工程师Java课程群教学方法的研究

在应用型本科大学教学多年Java课程群的课程以后,根据教学实际情况在教学方法方面进行了归纳总结。在Java课程群教学中应以学生在学习该课程的实际情况为出发点,一方面强化面向对象编程思想,因为面向对象是软件工程的基础,为后续用Java工具进行软件工程与产品设计打基础;另外一方面应突出Java与C++的不同点和各种工具包,主要以图形用户界面与事件作为重难点。具体来说,课堂教学方法上尽量深入浅出而突出重难点,因为一般来说,开设《Java程序设计》课程是在大学本科已经开设了至少两门语言课程《C语言程序设计》、《C++语言程序设计》之后的高年级专业课,一部分内容希望学生在老师的引导下培养自学能力或在后续课程《软件工程》与《Java Web程序设计》课程中逐步强化细节。

4.2面向培养软件工程师Java课程群教学方式的研究

教师在本校应用型本科大学教学过程中与学生进行了多次交流,得到了学生宝贵的反馈,结合教师在不断教学探索与实验教学过程中的体会与思考,对进行培养面向软件工程师的Java课程群教学方式改革进行了总结,得到以下五个方面的改进措施。

1) 实践教学与课堂教学整合

学生反映理论教学在教室学习效率不高,建议安排在实验机房进行教学,理论教学后及时进行上机操作能更好的巩固知识,实现理论与实践的同步教学。课堂教学中的每个知识点在理论教学后布置上机的小实例作业,学生通过完成小实例作业就能很好的检测该知识点的掌握情况,将实践教学与课堂理论教学整合。整个教学全程安排在实验机房完成。

2) 分步式案例教学

Java课程群中的课程的每门课程开始列出该门课程的重要知识点。在教学过程中以一个综合应用案例为线索,涵盖该门课程大部分最重要的知识点应用。将这个综合案例分解成若干部分,整个教学过程中在不同的重要章节中逐步分别讲解案例的某个部分。最后,将分步骤讲解的案例部分组合在一起,完成整个案例的拼接运行与演示。这种分步式案例教学让学生对该门课程有一个完整的知识体系。分步式案例教学在培养学生综合应用能力方面取得了很好的效果,使学生从应用角度对该门课程每章的内在联系有了一个总体的了解。

3) 学生演讲与教师指导相结合

一般来说,学生在学习Java课程群的课程时已经具有了一定程序设计语言的基础,学生在现有的C语言或C++语言学习的基础上进行多种编程语言的对比,能更好更快的掌握Java课程群的新知识。关于Java语言基础和JSP语言基础部分,例如变量与常量、表达式与运算符等知识点,可以让学生进行课下自学,并在上课过程中由学生进行演讲,对比现已学过的语言,分析Java语言或JSP语言的不同点和相同点。教师在学生讲课中及时进行补充或更正学生知识点的讲解。学生演讲与教师指导相结合的方式适用于Java课程群中程序设计语言基础部分。这种教学方式在一方面锻炼了学生的表达能力,在另一方面让学生巩固了以往的知识点并学习了新的知识点。在一定程度上调动了学生的学习积极性和促使学生更加参与课程教学,增加教与学的互动。

4) 分组答辩式教学

学生的课程设计或教学演讲都可以采用分组的方式,例如一个班级30人,一般将该班级分为6个组,每组5人。因为企业大型项目开发都是以团队的方式进行的。在应用型本科Java课程群的课程设计类课程中以团队方式进行答辩,每组团队得到相同的分数等级。使学生更具有团队合作意识,增进团队合作能力进行编程,使学生在企业中作为软件工程师能更快适应软件开发团队。

5) 案例式扩展教学在实践教学过程中的应用

Java课程群中实践课程教学可以采用一个应用实例贯穿到每个实践环节。从课内小案例的添加功能就可以完成该门课程的大案例,再在这个大案例的基础上进行优化完善可以完成综合课程设计,然后添加高级应用功能可以达到毕业设计的要求。使实践课程体系中的所有课程共同使用一个应用实例使这些多门实践课程具有内在的连续性,又可以很好的扩展性,使一个应用实例不断进行加强与优化。

参考文献:

篇6

Spline Broach CAD and Manufacturing

篇7

0引言

目前,国内外已有很多有关计算机语言类课程的考试软件,它们大多已能很好地完成对常见客观试题的自动评阅工作,但是对于一些主观性很强的题目,尤其是程序设计题,还没有很好的解决方案。其中主要采用的是结果评分法,即只依据程序运行结果给出相应分数,而并不查看考生程序内容。在这种评分机制下,程序中一个小小的错误就将导致一个几近正确的程序无法运行,从而因无运行结果,考生将丢失全部分数。这与传统人工阅卷中的评分原则是不相一致的,评分结果也并不能反应出考生的真实水平。本文以常见的C语言课程为例,对C语言程序设计题的自动评分方法进行了研究,在比较结果的评分方法基础上,设计了动态评阅与静态评阅相结合的方法,评分结果更加公正、准确。

1指导思想

经过大量分析与研究,我们设计了动态评阅和静态评阅相结合的方法实现对程序设计题的评分。具体步骤如下:

(1)结果对比。检查考生程序的结果文件,若与标准答案文件中的结果一致,则可得满分。若不完全一致,可依据正确输出数据的数量以予一定比例的得分。

(2)动态评阅。对于无结果的考生程序,我们可在系统控制下对其进行模拟运行以获取运行结果。对有语法错误的考生程序,可以通过词法分析和语法分析程序找出错误,同时设计改错算法尽最大可能改正考生程序中的错误,最终使程序得以运行并保留错误信息。若考生程序经评改、运行,获取了正确结果,则可依据错误信息从总分中扣除相应的分数。若仍无法运行或结果不正确,则采用静态评阅。

(3)静态评阅。所谓静态评阅,是指通过对考生程序中语句的静态检查获取评阅信息。系统事先在程序设计题的题库文件中根据考试题目设置有多条关键语句,评分时,通过检测考生程序中关键语句的数量可判断其逻辑合理性,给出相应分值。

尽管上述评分方法,仍不可能做到像人工阅卷一样实现真正的按步骤评分,但相对于以往只按结果评定成绩的评分方法,相信该系统还是有积极意义的。由于考试题都是较小的程序,评分可以做到较大程度的准确。

3解决方案

程序设计题的评分最为复杂,在确定了程序设计题评分目标后,着重从以下四个方面进行了考虑:

(1)通过运行结果判定程序功能是否实现

我们要判断一个程序是否正确,就是要看其是否完成了要求的功能,即程序的运行结果是否与实际应有的结果相符。C程序的运行结果是可以通过数据文件保存起来的,因而只要我们合理设计考题源程序中的部分内容,即在程序中指定程序结果的存储文件,则在考生答题结束后,我们即可依据该结果文件中的内容是否与标准答案相符来判定考生程序的正误。标准答案文件可在抽取试题时同时生成。

(2)采用“以程序改程序”的方法对错误的考生程序进行评改,使其趋于正确

C语言源程序文件是扩展名为.C的文本文件,可被作为普通文本文件一样进行读写处理。一个没有运行结果的程序不外乎两种情况,或是有语法错误,或为死循环。针对前者,我们可以采用词法分析及语法分析方法进行处理。词法分析和语法分析任务有两个,一是找错,即要尽可能地找出程序中的词法及语法错误,生成错误文件;二是改错,要将发现的每一处错误尽最大可能修改正确,以便程序得以运行。编译原理讲述了开发高级语言编译器的一整套原理和方法,我们可以借鉴这些原理和方法,结合C语言自身的特点设计出详实的改错算法。

(3)在程序中编译运行修改后的考生程序

编译器的设计是相当复杂而繁重的工作,由少数人在短期内去开发一个全新的编译器是不现实也是不可能的。Turbo C提供有行编译命令TCC.EXE,其使用方法类似于一般的DOS命令,可以将C程序直接编译为目标代码和可执行程序。据此,评分程序可在Visual Basic中借助Shell函数调用TCC命令程序,从而对考生程序进行编译。通过检查编译结果即可执行文件是否生成,可判定考生程序是否正确。可执行文件为.EXE文件,可作为外部程序被其它程序所调用。若可执行文件生成正确,可再通过Shell函数调用可执行文件使考生程序得以运行。

(4)用API函数防止系统崩溃

如果考生程序为一个死循环程序,被 Shell启动后将使系统陷入崩溃。Windows提供有很多控制应用程序运行的API函数。论文参考。为防止此种情况发生,可利用VisualBasic调用相应的API函数来处理。

(5)通过合理设计关键语句,检验考生程序的逻辑准确性

对于运行结果不正确,或经过评改仍无法运行的程序及死循环的程序,如何评阅以给出较合理的分数呢?这个问题其实就是要检验程序的逻辑合理性。一个可用多种方法编制的程序,由于其功能是确定的,因而其所采用的基本算法应是一致的。如求1至100的和,则不论用哪种循环语句,其基本算法都应是累加求和。考虑在给出的考生源程序中,可事先设定好存放结果的变量,并对程序中其它变量的命名加以适当规定,如循环变量必须使用i、j、k等。经过这样的设计,使得试题程序中存在有部分确定的关键语句。在编程题的题库文件中,我们可事先存放好正确的关键语句,评分时通过查找考生程序中这些关键语句的数量,即可给出相应的较合理的分数。

由于本系统主要用于对在校学生C语言基础应用能力的考核,要求考生编制的源程序均不是很复杂,因此经过上述一系列的评改方法,本系统对考生程序是能够给出一个较合理的考试分数的。与以往以结果论成败的评分方法相比,本系统给出的评阅结果将更加接近于人工阅卷的结果。

4 系统设计

(1)功能结构分析

对程序设计题进行自动评卷较为复杂,主要包括两个方面:一是要检验结果的正确性,二是要检测程序的语法和逻辑是否符合要求。程序设计题阅卷评分系统的功能结构图如图1所示。

图1 程序设计题评分系统功能结构图

(2)评阅流程设计

经过对C程序结构的透彻分析与研究,对程序设计题的评阅主要采用结果对比、静态评阅与动态评阅相结合的方法,具体步骤如下:

1)结果对比

检查指定的结果文件是否存在,若存在则与标准答案文件进行对比。与标准答案文件内容完全相同,则说明结果正确,得满分,否则转去静态评阅。若无结果文件,执行动态评阅。

2)动态评阅

①对考生源程序进行编译连接,若生成可执行文件成功,则运行考生程序并进行结果检查,若生成失败,说明考生程序存在语法错误,转入以下过程继续处理。

②对考生源程序进行词法分析。扫描源程序,将其转化为特定格式的TOKEN串,存入TOKEN文件。

③根据词法分析的结果,即TOKEN文件,进行语法分析。论文参考。详细指出程序中存在的语法错误,生成错误文件,在保证不对考生程序正确部分产生破坏的前提下,尽最大可能将考生程序修改正确,生成修改后的TOKEN文件。

④调用转换程序将修改后的TOKEN文件重新生成为C语言源程序,其与考生源程序不同名,称其为新生源程序。

⑤调用TCC程序以命令行方式对新生源程序进行编译连接。论文参考。

⑥编译连接成功,运行新生源程序的执行文件,并调用API函数控制程序运行, 以防由于死锁的发生导致系统崩溃;编译失败则退出动态评阅过程,改用静态评阅。

⑦对新生源程序的运行结果进行检测,若有结果,则转去进行结果比较,若无结果则转去进行静态评阅。

3)静态评阅

从程序设计题题库文件中读取该试题的关键语句,对考生程序进行检测。根据检测出的考生程序中的关键语句的条数判断程序的逻辑合理性,给出相应分值。

5 结论

本文提出了一种较新的C语言程序设计题的自动评分方法,对其进行了系统的研究与设计。通过运用编译原理的理论编写相应的评改算法,可实现对C语言程序设计题的自动评分,此种方法已经过代码设计初步实现,经测试,评分结果更加人性化,更加接近于人工阅卷的结果。此种评分方法对于如C++、JAVA等程序的自动评分方法的设计,具有一定的参考价值。

参考文献:

[1] 段汉周,凌捷,郑衍衡. Visual Basic程序设计考核自动评阅系统中若干问题的研究. 计算机工程,2001,27(4)

[2] 李丁. 计算机考试系统中自动评分策略的研究与实现.计算机与现代化,2002(9):8

[3]王春霞. 自动阅卷系统的开发. 盐城工学院学报,2002,15(1)

篇8

C语言是一门长盛不衰的程序设计语言,深受广大软件爱好者的喜爱。它功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,而且有着比较丰富的数据类型、运算符以及函数供以选用,又直接与内存打交道,使修改、编辑其他程序与文档变得轻松、简单,因此而广受业内人士的青睐。在中等职业学校,C语言程序设计作为一门高级语言程序设计课程,是各理工科专业的公共基础必修课。所以,开展好C语言程序设计的教学工作具有非常重要的理论意义和现实意义。

作为中职学校的C语言程序设计教师,我认为要想让学生学好这门课程,不仅要通过认真讲解课本知识让他们掌握教材内容,更重要的是通过上机实践增强和巩固他们的知识,达到活学活用的教学目标。要让学生在理论学习和基础实验的基础上,提高他们的实际操作能力,培养他们综合运用理论知识来分析和解决实际问题的能力、严谨的科学态度和良好的程序设计习惯,最终实现由知识向智能的初步转化。在课堂教学中,要把注重教师的教转向注重学生的学,要让学生充分参与、充分体验、充分感受C语言程序设计,通过自主合作探究和动手动脑实践操作熟练掌握编程技巧,将课本上的理论知识与动手实践有机地结合起来,既锻炼他们分析解决实际问题的能力,又提高他们适应实际、实践编程的能力。这是在传统教学中难以实现的,因此突破传统教学的禁锢和束缚,全面深化课堂教学改革,发挥现代课堂的生机与活力,激发学生的学习热情和求知欲望已经成为当代教师义不容辞而且迫在眉睫的重任。

二、推进C语言程序设计课堂教学改革的紧迫性

本人任教的重庆工商学校创建于1987年7月,1996年被认定为首批国家级重点中等职业学校,2002年被确定为中国――澳大利亚职教合作项目五所项目学校之一,先后获得全国职业教育先进单位、全国成人教育先进单位、全国中等职业学校德育工作先进集体等荣誉称号。经过27年的办学实践探索,我校已成为目前中国西部地区规模最大、综合办学实力最强的中等职业学校之一。但是,我校的C语言程序设计教学工作还存在一些亟待解决的问题,迫切需要我们一线教师更新观念、大胆创新,积极推进这门课程的课堂教学改革,点燃学生的学习热情,提升课堂教学实效。

从教师的角度来说,由于C语言程序设计是各理工科专业的公共基础必修课。因此涉及这门学科的专业较多,由于不同的专业根据实际情况制定了不同的人才培养方案,导致各专业在C语言程序设计课程上设置的学时数、考试性质等不尽相同,教学大纲也会根据人才培养方案中对该课程的不同安排再进行修订,这就为我们一线教师增加了教学工作需要不断变换的难度。为此,我们教师应该坚持学习,努力提高自身的教育教学理论水平,把不同专业的不同学时合理地分配到顺序、选择、循环三大基本结构和数组、指针、函数等教学内容当中去,并通过大胆尝试和积极摸索,全面推进课堂教学改革,培养学生对C语言程序设计的兴趣,激发他们的学习实践热情,提升课堂教学实效,让学生通过这门课程的学习切实掌握技能,全面增强能力。

从学生的角度来说,C语言程序设计课程既不算是文科,也不算是理科,因为文科就算一个论文再长,写100张纸也总有写完的时候;理科的数学题再难,只要套上了公式就能得出答案,1就是1,变成2就错了。但是计算机语言并不是这样,如果要写一个程序,你可能2天就做出来了,也有可能两个月都做不成。再加上这门课程概念繁杂、知识点多、内容枯燥、难度较大且实用性不强,很容易让学生产生畏难情绪和厌学情绪。而且由于教材对知识的介绍是分散的、循序渐进的,学生在学习过程中接触到的例题也大都比较简单,仅为说明某种特定算法而已。与之相反,我们在实际工作中将面临的问题会复杂得多。另外,C语言提供了大量实用函数和扩展功能,这些往往是学习过程中无法涵盖的。因此经常会出现这种情况:学生把课本上的知识掌握得滚瓜烂熟,但拿到一个设计却无从下手,这也会严重削弱学生的积极性。针对这种情况,唯有教师改革课堂教学手段,把理论与实践结合,把知识与能力并重,才能真正提升课堂教学实效,达成这门课程的教学目标。

三、C语言程序设计课堂教学改革的具体举措

1、改变“满堂灌”的教学方式,把注重教师的教转向注重学生的学

课堂上,我们要一改往日“满堂灌”的授课方式,通过提出问题,引导学生分析问题,让他们自己去找寻解决问题的方法;然后再给出源代码,分析源代码,引出新知识点,对知识点进行讲解;最终留给学生一个设计任务,让他们自主合作探究,通过小组讨论、齐心协力共同完成任务,达到巩固知识点的目的。这样的授课方式与“满堂灌”相比,更为形象直观,而且学生可以主动参与到问题的分析与讨论中来,把注重教师的教转向了注重学生的学,更有利于集中学生的注意力,更有利于发挥学生的主观能动性,课堂效率也就自然而然提高了。

2、把理论与实践结合,把知识与能力并重

篇9

课程是知识的载体,是能力形成的着力点,课程建设的好坏,直接关系到人才培养质量的好坏。

1 课程建设的定义

课程是指教育内容的进程,是为实现教育目标而规定的教学科目及其目的、内容、范围、分量和进程的总和。这是一种广义的理解,狭义的课程是指一门学科。课程建设指的是为了推进教学进程的实现所包含的“师资队伍建设、教学内容和质量建设、教学方法和教学手段建设、教学条件建设和教学管理建设”等与之相适应的各种分量的总和。

课程建设是提高教学质量、深化教学改革的一项综合性的建设,课程建设是确保人才培养质量的最重要的基本建设任务之一,是教学改革的核心。

2 课程建设的内涵、外延及其相关要素的关联

探索和明确课程建设的内涵、外延及其相关要素的关联,是课程建设基础,主要包含以下几个方面的内容:

(1)师资队伍建设。它是课程建设的先导,主要内容包括学历结构、年龄结构、职称结构和学缘结构以及学术水平、教学水平、教育理论和思想素质等,要建设具有一流水平的课程,首先要有一流的学术水平、丰富的教学经验、深厚的教育理论功底、扎实的教学技能、严谨治学的师资队伍。

(2)教学内容和质量建设。它是课程建设的核心和主体,也是衡量课程建设质量的主要标准,包括:教学思想的改革与建设,知识内容建设、教学水平建设、教材建设、教学资源建设以及结合专业特点积极开展教学改革与教学研究等内容的建设。

(3)教学方法和教学手段建设。它是实现课程建设目标的主要途径和基本保证。要紧紧围绕提高教学质量、提高学生素养和能力,结合专业的特点、教学内容积极开展现代化教学手段、教学方法的研究与建设。

(4)教学条件建设。它是课程建设重要保证,包括:课堂教学的基本设施、实验、实训、实习等实践教学条件的开放性、先进性、教学环境和教学氛围等建设。

(5)教学管理建设。它是课程建设的组织保证,包括:科学、规范、系统和配套的教学管理规章制度、教学质量评价体系、教学档案资料和教学激励机制等内容的建设。

3 我国国家层次课程建设的路径(近15年)

我国从2003年起开始精品课程建设,先后经历了“精品课程、精品资源共享课、精品视频公开课,大学MOOC、微课 ”等过程,加上即将推出的“系列微课”,现在统一称之为“精品开放课程”,下面简单的介绍。

3.1 精品课程

精品课程是教育部为推进教育创新,深化教学改革,促进现代信息技术在教学中的应用,共享优质教学资源,在“高等学校教学质量与教学改革工程”中开展的一项工作。这项工作开始于2003年,截止2010年底,教育部组织建设了3909门国家精品课程,主要集中在985和211高校。省级、校级精品课程数量也达2万多门。

精品课程建设出现,对当时各高校的课程建设,起到了引领作用,对推动教育创新,深化教育改革,起了十分重要的作用。通过几年的实践,加上互联网技术的发展,人们发现,精品课程建设离当初的想法渐行渐远,暴露了不少问题,主要表现在:

(1)精品课程建设脱离教学实际

精品开放课程建设了不少,其中相当一部分是为申报国家级、省级精品开放课程而应急建设的,没有充分考虑平台的服务性和实用性,一些精品开放课程成了学校的品牌装饰,与教学过程“脱节”。

(2)建成的精品课程不少,但比较零乱,不成体系,名校、名师和“大家”的作品少见。

(3)建成精品课程资源不足,满足不了学习者的需求,后期维护跟不上,资源的再开发、再利用严重滞后。

(4)课程建设的目标不正确,重申报轻可持续发展现象严重。

很长一段时间,我国精品课程大多为立项而建,建设周期短,一次建设即告完毕,许多课程长期缺乏维护,资源内容陈旧,难以成为优质资源。因此,对已经建成的精品开放课程要定期检查、评估和反馈后续建设情况。只有持续改进课程资源,才能保证精品开放课程资源的质量和时效性,才能减少“重申报轻可持续发展”的现象,从而切实提高精品开放课程的质量。

针对以上问题,教育部【教高厅〔2012〕】2号发文强调:在“十二五”期间,教育部将在原国家精品课程建设成果基础上,科学规划,合理布局,优化结构,通过高等学校本科教学质量与教学改革工程,支持建设5000门国家级精品资源共享课。其中,2012年和2013年重点开展原国家精品课程转型升级为国家级精品资源共享课的建设,采取遴选准入方式选拔课程;同时,从2013年起,适应新需求,结合高等教育发展趋势和教学改革成果,采取招标建设和遴选准入两种方式建设一批新的课程。

3.2 精品资源共享课

资源共享课除了要提供全部教学单元的录像外,突出基本资源共享。

包括课程介绍、教学大纲、教学日历、教案或演示文稿、重点难点指导、作业、参考资料目录和课程全程教学录像等反映教学活动必需的资源。

精品课程和精品资源共享课由于专业性强,主要的受众群体是高校教师和在校大学生,受众群体狭窄。

3.3 精品视频公开课

精品视频公开课是以教师授课录像为展示内容的一种开放教育,每门课程总讲数应至少5讲,每讲时长30~50分钟。有科学文化素养教育类和专业导论类两种类型,其中科学文化素养类推荐单位为部属院校或者教育主管部门,专业导论类的推荐单位为本学科国家级教学指导委员会。

3.4 微课

微课是指按照课程与教学实践的要求,以视频为主要载体,记录教师在课堂内外教育教学过程中围绕某个知识点或者某几个知识点(重点、难点和疑点)或教学环节而开展教与学的全过程

它最早是由美国新墨西哥州圣胡安学院的高级教学设计师、学院在线服务经理戴维・彭罗斯(David Penrose)于2008年秋首创的。后来,戴维・彭罗斯被人们戏称为“一分钟教授”(the One Minute Professor)。

4 我校课程建设的基本做法

学校开设这门课程源于上个世纪90年代,受当时的条件限制,教学大纲、教学方法和教材均参照本科院校,培养出来的人不能满足市场对人才质量的要求。随着职业教育的浪潮的到来,受理论讲解力求体现“必须,够用为度”的影响,学校把人才培养的落脚点绑定在市场急需的应用型人才培养的目标上。先后申报学校《IT 蓝领系列专业办学方向探索建设》、《IT 蓝领软件人才的素质培养》、《计算机类学生实践技能培养模块的构建及应用》、《应用型大学课程的样板建设研究――以为例》等教学研究项目,通过深入企业、事业单位调研,了解市场对计算机类人才的具体需求,形成了计算机类各个层面的培养模块,并将能力培养模块落实到具体的课堂教学和实践环节之中,《C语言程序设计》课题组率先完成了应用型大学的课程教学大纲、上机实训大纲、自编了上机实训手册等一些齐备的课堂教学资料编写工作。2007年3月在中国水利水电出版社出版了《C语言程序设计》教材。

4.1 明确课程建设的基本思路

2007年年初,我校升格为本科院校并招收计算机科学与技术专业本科生,自此《C语言程序设计》和其他课程一样面临着从专科层次向本科层次转型的问题。本着突出应用特性,课题组理清的《C语言程序设计》课程建设的思路是:

(1)高职高专阶段课程建设的成果、资料、经验和团队协作精神不能丢,在搞清楚《C 语言程序设计》(本科)的规格和内涵之后,将相应的积累和经验移植到本科课程建设之中,提高建设速度和质量。

(2)围绕学校创办“应用型大学”的战略目标,将“培养应用型人才,建设双师型、社会型教学团队”的理念融入到课程建设之中。

(3)打造精品开放课程。有步骤,分层次将《C 语言程序设计》打造成校级、省级、国家级精品开放课程。

(4)建设优秀的教学资源,满足广大师生自主学习的需要。到2020年末,所有的教学资源(包括精品课程网站、精品视频公开课网站、微课等)全部上线,做好跟进维护工作,让优质资源发挥应用的作用。继续完善《C语言程序设计》及其配套教材修订工作,力争把教材做成应用型的精品,完成《C 语言程序设计》系列微课的录制。

(5)加强团队建设,打造梯度结构的“双师型”教师队伍,发挥教学名师,学科带头人的 “引领、传承、创新、共享”作用,促进课程建设质量的提升,争取有一批优秀的教师脱颖而出,争创学校和省级的教学名师。

4.2 对课程建设的教学定位

《C语言程序设计》是计算机语言类教学中第一门系统地讲授程序设计的课程,通过该课程的学习,使学生了解程序设计语言的基本语法、基本结构,理解计算机科学求解实际问题的基本过程,掌握程序设计的基本思想、方法和技巧,了解计算机的一般算法,养成良好的程序设计风格,培养利用计算机求解问题的能力。

学生通过该课程的学习,应该在知识与能力方面达到以下基本要求。

(1)基础知识要求

通过该课程的学习,学生深入了解计算机的基本工作原理,掌握程序设计语言的基本语法、数据表达形式和流程控制的方式。理解模块化程序化的基本思想,掌握程序设计的基本方法和流程。

(2)能力培养要求

重点培养学生读程序、写程序和调试程序的能力,突出实际编程能力的训练。学生应该掌握基本的分析问题和数据表达的能力,以及算法描述与基本算法实现的能力;掌握面向过程的程序设计方法;掌握集成化程序开发环境的使用和程序的调试方法;初步具有利用程序设计技术求解实际问题的技巧与方法。

4.3 研究制定了我校《C 语言程序设计》课程建设的实施方案

按照行业的岗位需求进行“理论教学内容的设计”,“实践教学内容的设计”,“课程设计”。 “理论教学内容的设计”和“实践教学内容的设计”都是以知识点为单位进行设计的。

(1)理论教学的知识点分布及能力基本要求(以“结构控制”知识点为例)

[知识单元 教学内容 教学要求 教学目标 重点和难点 常用的结构控制 用读/写及赋值实现顺序结构的程序 掌握 熟练第掌握C 语言的各种语句的使用,熟练输入/输出等库函数的调用;正确选择使用相应的流程控制语句实现三种基本结构的程序设计;掌握几种重要的算法(求和、统计、求数列等)的算法思想及其实现;了解几种常用算法的思想 重点: 三种基本控制的实现,各种流程控制语句的正确使用

难点: 多分支、循环嵌套、分支和循环结构的嵌套,常用的算法设计与实现 用if、switch语句实现分支结构的程序 掌握 分支结构的嵌套 掌握 用while、do-while

、for实现循环结构的设计 掌握 循环嵌套的控制与执行 掌握 break、continue语句的使用 掌握 分支和循环结构嵌套的特点和应用 掌握 一些常用算法设计思想,部分算法的实现 理解 ]

(2)实验实践教学设计

本课程实践教学的指导思想是:首先通过教师案例讲解、编程演示使学生对程序设计有一定的感性认识;然后通过设计由浅入深的实验项目,使学生通过理解程序、模仿程序、改写程序到编写程序的实践训练,逐步强化学生熟练掌握程序设计的基本方法;加强学生的实际编程能力、动手操作能力和团队协作能力。

实践教学分为“演示实验”和“知识单元实验”两个部分。知识单元的实验有验证性和设计性两大类,前者是理解和巩固理论课所学知识的,后者意在培养学生运用课程知识独立进行问题求解、程序设计的能力。下表给出了“分支结构”知识单元的实验方案。

实验教学中课程实验方案(以“分支结构”为例)

[实验序号 实验内容 实验目标 建议实验项目 3 分支结构 掌握分支、多分支结构程序设计的办法;

掌握排除语法错误的基本技能 案例:超速判断、出租车计价,成绩转换,纳税问题

项目:比较大小,分段计算居民水费、计算天数、简单计算器、出租车计费系统 ]

(3)课程设计

课程设计的主要目的是通过大型程序训练,培养学生研究性学习、综合应用能力、复杂程序的调试能力,要让学生深刻体会程序设计的全过程,初步体验软件工程方法,培养学生软件文档的写作能力。加强团队工作中的个人责任,培养学生团队协作精神。

课程设计示例:

作物产量统计系统

问题描述:输入某村各户各类农作物的产量,以便统计全村各种农作物的总产量以及向亩产较低的农户提供参考数据。作物产量统计系统中每条记录包括各户村民的编号、户名、种植作物种类、亩数、产量等信息,主要实现作物产量等信息的输入、打印、查找、排序、统计等基本管理功能。

基本功能:

输入n户村民及其种植作物的基本信息,并将输入的数据存入文件。

统计全村各类作物的总产量,并将结果写入文件。

计算各户各种农作物的亩产量,输出计算结果。

按由小到大的顺序对全村各类农作物的亩产量进行排序,将排序的结果写入文件。

按户查找指定村民的作物信息。

设计要求:

在输入村民及其作物种类等基本信息时,要求输入完一户村民的所有种植作物及其产量等信息后再输入另一户村民的基本信息。

5 我校在《C 语言程序设计》课程建设中取得的成绩

教学工作是学校的中心工作,“加强课程建设,夯实发展基础”是学校内涵建设的理念,自2010年以来,《C 语言程序设计》课程建设取得了如下成绩。

(1)微课《冒泡法排序》和《汉诺塔与递归算法》2015年参加 “第二届全国高校微课教学(本科)比赛” 分别湖北赛区“一等奖”和“二等奖”,《数组元素的冒泡法排序和选择法排序》参加全国决赛获得“优秀奖”。

(2)教学研究项目《基层应用型大学课程建设探索与研究(教材)》参加2013年“湖北省第七届教学成果奖”的评选,湖北省人民政府授予“三等奖”。

(3)课程《生活中的C程序设计》被湖北省教育厅评定为“2014年度精品视频公开课”。课程《C语言程序设计》2011年被湖北省教育厅评定为本科层次的“精品课程”。

(4)教材《C语言程序设计》2010年被教育部“教指委”评定为“优秀教材”。《C语言程序设计》(第二版)被中国电子教育学会评定为2012全国电子信息类(研究生、本科教育)“优秀教材”。

(5)编辑出版《C 语言程序设计》、《C 语言程序设计上机指导与习题解答》3个版次共6本教材,发表与《C语言程序设计》课程内容有关的教学论文7篇。

(6)指导的学生从2012年起参加第三届至第六届全国“蓝桥杯”软件专业人才设计与创业大赛(C/C++类),多人次获奖。

(7) 将《C语言程序设计》按照知识点重组录制成“系列微课”共65讲,时长1350分钟,该项目是目前国内第一门将专业知识碎片化重组后以“微课”形式进行展示的课程,我们坚信,只要进入该课程的学习者,一定会有所获。

6 对课程建设的几点思考

(1)课程建设必须遵循高等教育规律

课程是知识的载体,课程教学是为落实人才培养方案服务的,起着强基固本的作用。高等教育有别于基础教育,有他特点和规律,只有营造宽松、和谐的教学环境,为多样性、个性化、有思想的教学科研人员提供条件;排除“不确定性、非物理性、外部性”的干扰,才是还原“学校教育质朴真实的面目”的,凡是“追求短期内量化、有形的物理绩效”都是严重违背高等教育发展规律。

(2)对教学工作的重视程度决定了“课程建设”质量的好坏

近10年来,各级教育主管部门和各高校都把“加强专业建设、学科建设,加强课程建设”作为“本科质量工程”的重要内容。由于各校理解上的差异,对待教学工作的重视程度也参差不齐,导致在课程建设的效果和结果上不尽相同,近10年来,全国各级教育主管部门和各高校共建设精品开放课程不少于二万门,建成的这些课程比较零散,成体系的不多,特别是名师,名校、“大家”的作品甚少,如果把各名校、名师、“大家”的积极性调动起来,用他们的眼光,用他们的智慧来打造优秀的教育资源,对于教育均衡、信息共享一定会起到事半功倍的作用。

(3)组建教学团队、发挥名师的作用,是做好“课程建设”基本保证

当今社会是一个多元化的社会,靠一个人的单打独斗,是无法建功立业的,所以课程建设需要一个团队的协作才能做好,课程建设的结果一定是一个团队集体智慧的结晶。尽管课程建设的周期长,也有可能长时间出不了成果,还是需要一批愿意奉献的人来完成。所以,就要发挥团队的作用,发挥教学名师,学科带头人的 “引领、传承、创新、共享”作用,促进课程建设质量的提升。

(4)加强“教学设计”,是目前环境下提高教学质量的重要环节

“教学设计”涉及很多方面,包括课程的基本描述,课程的教学背景,教学目标、重点、难点的拟定,重难点突破的方法,教学手段的确定,教学时间的分配等, 在目前环境下,实现教学的辅助手段很多,无论采取什么样的辅助手段,都要根据课程的性质、学生的认知基础和学习特点、授课内容等进行教学设计,只有充分的“教学设计”,才能保证教学质量的提高。

8 结束语

高等教育的根本问题是人才培养的问题,根据国务院《统筹推进世界一流大学和一流学科建设总体方案》要求,建设高校强国,到2020年底推进一批学校进入世界一流行列,若干学科进入世界一流学科行列,只有遵循高等教育规律,认真开展专业建设、学科建设,扎实推进课程建设,努力打造人才培养特色,充分开发优质资源,才能使“双一流”建设方案得以实现。

参考文献:

[1] 高等学校计算机基础核心课程教学实施方案[M].教育部高等学校计算机基础课程教学指导委员会,高等教育出版社, 2010.

[2] 李金萍.新建地方本科院校课程建设理论探讨与有效实践[J].科学决策,2008(10):83-84.

篇10

程序设计能力是计算机专业学生必备的一项基本技能。程序设计能力培养不仅包含技能培养,还包含学生分析问题、解决问题以及创新能力的培养。为此,各高校从大一开始就开设了高级语言程序设计课程以及后续一系列课程,以提高学生的程序设计能力。然而,即使各高校设置了丰富的程序设计能力培养课程,学生的程序设计水平也没有得到大幅度提高。

当前软件企业招不到合适的人才,计算机专业学生找不到工作,这种局面的形成归因于学生的程序设计能力并未达到软件企业预期的要求。调查表明,企业新招聘员工中只有15%直接来自高校毕业生,而85%来自社会招聘,因为社会招聘人员动手能力强,入职后能很快适应工作岗位。程序设计能力层次见表1,从表1可以看出,要胜任企业软件开发工作,至少需要100000行代码量;对于本科毕业生,至少需要有10000行代码量,而目前计算机专业大多数学生本科4年的代码量均在1000行,有的甚至更低。

1)程序设计类课程依然重教学,轻实践。理论教学依然是程序设计类课程的重点,理论学时多,实践学时少。教师花费大量时间进行语法、数据结构概念、算法理论讲解,因此也使得有针对性的实践太少,基于相关知识和理论的案例教学不足,学生很难将所学知识点和理论用于解决实际问题。

2)实践环节枯燥,学生无法提高学习积极性。

在传统程序设计实践教学中,教师布置3~6道作业题,学生当堂完成,然后将代码以及运行结果截图打包上传到服务器,教师一一评阅。教师给出的习题往往直接针对课堂教学的知识点,无任何实际背景或故事情节,实验枯燥乏味,学生学习积极性无法提高。

3)学生多,教师少,教师无法逐个解答学生的问题。

在大学不断扩招的情形下,师生比进一步扩大。实践教学过程中,教师无法一一发现和解答每个学生的问题。学生将作业代码和运行结果截图通过FTP上传至服务器,教师查看运行结果,由于学生多,教师无法逐个查看和运行学生代码,疲于应付,因而导致实践效果差。

4)实践能力评价方法单一。

目前的课程考核多采用笔试,学生的实践能力只能通过平时作业和实验进行主观性评价,难以激发学生自主训练实践能力的激情。在这样的教学模式下,久而久之学生就失去了编程兴趣,同时也降低了后续程序设计类课程的学习积极性,以致形成恶性循环,学生代码阅读量、代码编写量均得不到保证,程序设计能力自然无法提高。

为了提专业提供论文写作、写作论文的服务,欢迎光临dylw.net高学生的程序设计能力,文献[1]提出一种贯穿在系列课程中的程序设计能力培养方法,强调在一系列课程中持续不断地进行系统化训练,采用面向专业应用的分类教学,贯彻落实案例驱动、强化实训等教学方法。文献[2]初步将ACM模式应用到程序设计类课程实践教学中,使学生的编程能力和解题思维能力得到有效训练,教学效果显著提高。文献[3]也提出采用ACM竞赛形式的程序设计能力层次化培养模式。这些方法都是提高学生程序设计能力的有益尝试。

2 立体化程序设计能力培养模式

针对目前程序设计能力培养方面依然存在的一些突出问题,我们借鉴国内外一流大学的经验,与学校、学院教学部门配合,探索并建立立体化程序设计能力培养方法。立体化程序设计能力培养方法如图1所示。

1)培养方法和过程。

在立体化程序设计能力培养方法中,教学活动仍然分为理论知识讲授与编程实践,但理论课不再以单纯介绍语法知识为主,而是以具体的程序案例分析为主,让学生从案例中掌握语法。在实践教学环节中,教师设计若干有趣的问题,学生在解决问题过程中学会相关的语法知识与编程技巧。学生编写的程序代码全部通过安徽大学程序自动评判系统进行评判,学生只需在规定时间内完成,不再局限在实践课堂内完成,令学生有了足够多的思考和动手编程时间。对于学生在编程过程中出现的各种问题,教师和ACM/ICPC队员及时进行在线细致辅导。在每次作业结束后,系统公布所有学生的解题代码,以供所有学生在线查看和评价。获得优秀评价的代码将在系统上公布,以便学生有机会进一步学习优秀代码,增加代码阅读量。

2)立体化程序设计能力培养特点。

(1)以高级语言程序设计课程为依托。高级语言程序设计课程是学生接触的第一门程序设计类课程,其教学与实践对培养学生的编程兴趣和能力起着至关重要的作用,可以帮助学生树立自信心并步入程序设计的殿堂。

(2)课堂教学以案例为中心。程序设计=算法+数据结构。在高级语言程序设计课程的教学过程中,我们摒弃单纯讲授语法的课堂教学方法,改之以程序案例为中心。在课程早期,案例以语法知识为主,逐步增加基本数据结构和算法。整个教学过程以案例分析为中心进行语法教学,让学生在潜移默化中学习到基本的数据结构和算法。

(3)实践教学以问题求解为中心。在实践环节,教师通过设置有趣的故事和实际的问题,帮助学生在求解问题过程中掌握课堂上所学的语法知识、基本数据结构和算法。

(4)实践环节从课内延伸至课外。实践环节要求学生完成指定的编程题目。与传统实践环节不同,通过在线程序自动评判平台,学生所有的编程作业只需在教师规定的时间段内提交,学生既可以在实践课上完成,又可以利用课外时间完成课堂内没有完成的作业。将实践课延伸到课外的优点表现在:①学生有足够的时间思考分析问题并最终通过编程解决问题;②实践题目数量适当增加,学生的代码量随之增加 ,充分的课外实专业提供论文写作、写作论文的服务,欢迎光临dylw.net践可以进一步巩固学生的理论知识基础。

(5)经验丰富的ACM/ICPC队员参与程序设计实践环节辅导。ACM/ICPC队员经过长期的编程实践,积累了丰富的编程经验,代码能力强,因此我们利用ACM/ICPC集训队的优势资源,实行“传帮带”机制,对于每个学生编程过程中出现的问题及时给予解答,有效提高学生的编程积极性。集训队学生优秀的编程水平对于低年级学生也是一种激励,可以进一步激发其编程热情,增加其向更高编程水平迈进的动力。

(6)学生作业采用自动化评判模式。学生提交的作业通过服务器自动评判给出程序的运行结果。自动评判模式对于编译错误,会直接给出编译出错位置和出错类型,方便学生自查;对于运行错误,包括结果错误和运行超时,则需要学生重新审查程序代码。服务器自动评判能够有效减轻教师批改作业压力,还可以大大提高实践教学效果。此外,服务器上保留了每个学生的做题细节,包括以往的代码、做题的数量、错误类型等信息,可以进一步增强学生做题的成就感和积极性。值得一提的是该自动评判平台不仅支持高级语言程序设计,还支持C++、Java、VB和Pascal语言,因而吸引了省内一些初中、高中学生进入该平台进行程序设计能力实践。

(7)优秀代码展示有助于增加学生代码阅读量。学生代码量包括代码编写量和代码阅读量。代码阅读量是提高编程能力的一种重要途径,然而在实际教学过程中常常被忽视,通过教师评阅、学生互评等方式,可以筛选出优秀代码并加以展示。优秀代码主要指具有巧妙的算法、运行时间短、内存占用空间少、代码格式规整、符合标准编程风格的程序代码。展示优秀代码可以让学生有机会看到彼此对于同一道题目的多种解决方案,有效促进学生之间的交流,积极提高学生的代码阅读量。这种相互的交流还可以进一步激发学生的创新灵感,在提高学生编程能力的同时也提高创新能力。

与传统专业提供论文写作、写作论文的服务,欢迎光临dylw.net程序设计能力培养主要依靠“教师一学生”这种二维扁平的实践教学模式不同,立体化程序设计能力培养方法以案例教学为中心进行教学,以问题驱动为中心进行编程实践,采用机器自动评判和学生互评相结合的方式进行学生编程实践效果评价,在教师—ACM队员—学生之间建立一个跨越时间和空间的三维立体互动教学网络。这种教学方法将课内实践延伸至课外,将实验室实践延伸到实验室外,对学生的程序设计能力进行主客观相结合的综合评价与即时反馈。

3 实施成效

通过一系列的研究与设计,我们构建了立体化的程序设计能力培养模式,在安徽大学自主研发的自动评判系统基础上增加了高级语言程序设计实践模块。自2008年以来,学生通过该自动评判平台进行程序设计实践呈逐年增多趋势,多名学生参加了ACM/ICPC程序设计竞赛以及省级程序设计竞赛,获得各类奖励10余项,其中亚洲区邀请赛金奖2项、省级竞赛一等奖4项。实施该培养方法后,学生进行自主程序设计训练的积极性明显提高,目前在校生中程序代码量已经达到10000行的有200人左右,部分毕业学生直接进入腾讯、百度等企业工作,用人单位也对毕业生的编程能力普遍表示满意。安徽大学计算机专业学生2008—2012年提交代码量如图2所示。

该培养方法不仅提高了学生的程序设计能力,而且培养了学生的创新精神和可持续发展能力,还吸引了许多非计算机专业学生学习程序设计技术。近年来,陆续有电子学院、自动化学院、数学学院、化学化工学院、资源与环境工程学院和物理学院的学生参与到程序设计实践中,并且取得了不错的学习效果。例如,安徽专业提供论文写作、写作论文的服务,欢迎光临dylw.net大学物理学院一名学生经过该平台实践后,积极参与ACM/ICPC程序设计竞赛,获得2010年ACM/ICPC亚洲区竞赛铜奖并于2012年成功考取复旦大学计算机专业研究生。

4 结语

强调师生互动、实践反馈、学生互动足立体化程序设计能力培养方法的关键,而利用案例教学与趣味实践是重要途径。实践证明,立体化程序设计能力培养方法在提高学生编程水平和算法能力方面具有较大优势,取得了显著成效。今后我们将进一步注重教师与学生互动,探索更多的师生之间、学生之间互动手段,不断提高学生编程素养和创新水平。

篇11

1.C在单片机教学中的地位

C语言作为一种结构化的程序设计语言,它是程序开发工具中使用最广泛一门编程语言。C语言具有很强的功能性、结构性、可移植性。用C语言编写程序比汇编更符合人们的思考习惯,程序开发者可以摆脱与硬件不必要的接触,更专心地考虑程序的功能和算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。由于它具有良好的程序结构,适用于模块化程序设计,因此采用C语言设计单片机应用系统程序时,采用结构化的、自顶向下、逐步求精的程序设计方法,将功能模块化,由不同的模块完成不同的功能。这样可使整个应用系统程序结构清晰,易于调试和维护。

2.单片机教学现状

单片机技术是现代电子工程领域一门飞速发展的技术,是现代电子技术中的一项不可缺少的重要技术。随着技术的不断进步和日益普及,单片机技术已渗透到各个领域,影响着我们的日常生活和工作。因此电子技术及相关专业的学生学习单片机技术越来越成为社会发展的需求。当前,各大高校的电子、计算机类专业均开设单片机课程。

《单片机》是我院电子系一门实践性极强的专业主干课程,是我校电子系重点建设课程之一,是本专业学生的必修课程。为了提高我系单片机教学效果,我们对单片机教学进行了大胆改革,使用C语言开发单片机,且课程的设计打破了学科体系的框架,将单片机和C语言的相关知识和技能按“项目”进行整合,并将《C程序设计》课程列为电子类专业核心基础课程之一。因此,《C程序设计》课程教学效果的好坏,将直接影响学生后续专业课程的学习。

从近几年我系《C程序设计》课程的教学效果来看,学生普遍反映该课程的学习比较困难,课程的语法知识较多,理解和记忆都不太容易,即使记住了语法知识也不能灵活应用;不知道学习C语言究竟有何用处,学完C后不能很好地利用C进行单片机小型系统的开发,缺乏知识的灵活应用能力。因此,根据以往单片机教学所得经验,我觉得教师有必要在《C程序设计》课程的教学过程中在以下几个方面引起足够的重视,并在教学中加以改进,为后续单片机课程的学习打下坚实的基础。

3.《C程序设计》课程教学方法探索

3.1上好每堂课,激发学生的学习兴趣

语言程序设计教学被认为是一种需要师生双方改进的一门课程,因为大多数语言教材中通常先给出一般的语法格式,然后逐步讲解语法要点,再给出实例。这种顺序灌输会使学生失去学习的兴趣,所以我认为在课堂教学环节应采取以学生为主体、以教师为主导的教学模式,要求学生自己先看有关知识点,并识记。教师采取精讲实例,在这过程中引出相关知识点,然后再举一类似实例让学生自己分析,巩固知识点。教师应把主要精力放在算法的分析和各语句语法的具体应用上,同时培养学生自学能力,采取互动机制,迫使学生主动学习。

3.2注重演示,强化实验,提高实践操作能力

因为授课对象是一年级新生,所以教师多用通俗易懂的语言进行讲解,多举实例,使学生容易理解和消化。在教学过程中,尽量采用讲解、演示方法,如在讲解经典算法后,按照理论方法所述,用DEV C++软件进行编程演示,从而加深学生对教学内容的理解。

在教学过程中,教师应将理论知识与实验内容进行整合,根据教学内容并结合实际应用设置实验题目,让每个学生独立完成。遇到学生不能解决的问题,教师应利用多媒体进行演示解决问题的过程,从而加深学生对教学内容的理解并提高实践操作能力。  3.3培养良好的编程风格

3.3.1优化程序

由于在许多工业测控领域中的嵌入式系统都采用单片机开发,它们所需要的计算和控制工作日趋复杂,其中软件的设计是最复杂和困难的,工作量大,特别是对于控制系统,设计人员需要考虑单片机的软硬件资源分配,但是单片机系统是一种资源十分有限的系统。这主要表现在CPU和片内结构简单、程序存储器资源的不足。因此在用C语言进行单片机开发时,如何使用好这些有限的资源就显得十分重要。虽然C语言具有许多的优点,但是生成的代码相对要长,基本多占用存储空间20%—50%。因而,在“C程序设计”课程教学中,教师不仅要教会学生如何编写程序,而且应在教学过程中向学生灌输优化代码的思想,让学生从大一开始就有开发项目的一些经验。

3.3.2合理选用数据类型

C语言在程序开发中提供了的丰富的数据类型,尤其是关于用户界面开发和一些动画与图像技术的实现。但是在开发单片机系统时,我们要按照实际需要,合理地选用数据类型。C语言中有Char等少数的数据类型是机器语言直接支持的数据类型,用此类数据类型的语句所生成的代码较短,而其它的数据类型如整型、浮点型等数据要有一定的内部程序或内部函数的支持,相对来说较复杂的数据类型的语句生成的代码也复杂,不利于转化成单片机的代码。因此,在“C程序设计“教学过程中,要向学生适当说明选择合适数据类型的好处,并尽可能地减少程序中使用的数据类型的种类,为以后学生的单片机学习打好基础。

3.3.3灌输模块化程序设计思想

在普通微型计算机上进行C语言程序开发设计时,只需考虑程序功能实现,而不必考虑程序代码的长短。但是在单片机上进行C语言程序设计就必须考虑系统的硬件资源,要求设计的软件程序结构是合理、紧凑和高效的。同一任务,有时用主程序完成是合理的,但有时需子程序效率最高,占用资源最少;有时并不是程序的算法越简单、长度越短越好,由于有一些算法要调用一些内部的子程序和函数,生成的机器代码质量反而较低。不同的算法对程序代码效率影响很大。因此,在进行“C程序设计”教学时,教师应适当向学生灌输模块化程序设计的思想,在不影响程序功能实现的情况下可以采用一些优化算法,并且把程序分成若干个功能独立的模块,为学生今后的单片机项目开发做好铺垫。

4.结语

单片机系统采用C语言开发与设计,极大地促进了单片机在生产、生活各个领域的应用,提高了程序开发效率。因而,C语言学习效果的好坏,对今后单片机课程的学习具有深远的影响。除了讲解C语言的基本语法外,更重要的是改善教学方法,利用各种方法培养学生的学习兴趣,并向学生灌输良好的编程风格与编程方法,为今后的单片机课程的学习打下良好的基础。

参考文献

[1]向艳.“C程序设计”课程教学体系和模式探讨[J].计算机教育,2010,(3):112-114.

[2]董蕴宝,潘旭君.浅谈C语言在单片机中的程序设计[J].科技信息,2009,(13):59-67.

[3]张洪静.电类专业C语言教学探讨[J].电脑知识与技术,2010,(29):8280-8281.

篇12

在21世纪这个信息高速发达、高速流通的时代,计算机的普及以及计算机网络的广泛应用,让普通人能够接触到比以往更多的知识。面对信息时代的信息量大“爆炸”现象,怎样才能使教育事业跟上时代的步伐,而不至于被时代抛在后面?很多教育工作者都在思考这个问题“如何把教育资源移植到网络上面去,使更多的人可以分享这些资源”。

精品资源共享课程建设是国家精品开放课程建设项目的组成部分,旨在促进教育教学观念的转变,引领教学内容和教学方法改革,推动学校优质课程教学资源通过现代信息技术手段共建共享。

随着信息技术和网络技术的飞速发展,教育信息化和网络化与会成为必然的趋势。网络的开放性和分布性的特点以及基于互联网的巨大计算能力使得教学管理突破了时间和空间的限制。基于网络技术的教育系统已成为人们的研究热点之一,其中精品资源共享课程建设也已成为互联网的重要应用之一,所以说精品资源共享课程建设与研究具有重要的理论意义与现实意义。

二、现状分析

1.我国精品资源共享课程的发展现状

在国际知名大学开放课程运动蓬勃发展、全世界对高等教育质量日益关注的背景下,我国教育部也提出了推进文化传承创新,全面提高高等教育质量的要求。“十二五”期间,教育部、财政部实施的“高等学校本科教学质量与教学改革工程”中将支持建设5000门精品资源共享课。

截至2012年8月,我国共了75门精品课程,涵盖文化艺术、哲学历史、基础科学等六大领域,主讲教师不乏国内高校的名家大师,其中相当一部分课程受到了学习者的追捧,如北京师范大学于丹教授的“千古明月”课程。同时某些课程下方的参与评论的访问者的数量已超过千人,评论不仅有网民对课程的充分肯定,也有对国内大学向社会公众开放更多教育资源的殷切期盼。由此可见,我国的精品资源共享课建设已初步取得了良好的反响,同时也推动了我国高等教育开放事业的发展,在一定程度上提升了高校学生及大众的科学文化素养。

然而,与国外名校公开课相比,我国公开课在国内网民中受追捧程度还存在差距。网易作为国内免费向公众经过翻译的国外名校公开课先驱,在国内网民中具有一定影响力。目前,网易不仅将国内公开课收录在线,同时对国外公开课也在不断进行更新翻译,集国内外优质教育于一身,真正做到了百花齐放、百家争鸣。然而通过网民对公开课的选择趋势中可以看出,目前最热门的课程仍是国外名校的课程。由此可知我国的公开课要赶上或超过国外名校的公开课,我们不仅要加快建设,更要发现我们在发展中存在的不足并及时修正,为我国精品资源共享课的可持续发展打下良好的基础。

2.我国精品资源共享课程的发展趋势

随着网络精品课程网站的建设与不断研究、不断深入,其发展趋主要有以下几种:

从研究的广度上,可以发现研究范围由开始的集中网络精品课程设计的研究扩展到设计、开发、管理、应用、评价等各个领域,研究覆盖面不断扩大。研究的重心也发生了变化,对于网络精品视频公开课的构思受到了广泛的重视,在创造了大量精品课程资源之后,如何实现资源共享、如何实现资源的充分利用、如何对资源进行评价,怎样消除一个个信息孤岛等问题备受人们的关注。因此,教育技术核心期刊中很多论文也都是针对这一问题进行构思。

三、项目实施目标

1.实现精品课程教学资源共享的目标

精品资源共享课是以教师和学生为服务的主体,同时面向社会学习者的基础课与专业课等各类网络共享课程。精品视频公开课,以学科为基础,放眼社会,面向本院各系部各专业学生。通过资源共享系统向全院师生提供优质教育资源服务,促进现代化信息技术在教学中的应用,实现优质课程教学资源共享的目标。

2.实现教育的持续、健康、协调发展的目标

精品资源共享课程建设是国家精品开放课程建设项目的组成部分,同时也是我院教学改革的重要组成部分,通过精品资源共享课程项目的实现,可以促进教育教学观念转变,引领教学内容与方法的改革,推动我院优质课程教学资源通过现代化信息技术手段共建共享,提高人才培养质量,实现教育的持续、健康、协调发展的目标。

四、项目申请理由

本项目申请的理由主要从理论行性与实践可行性两方面来说明

1.理论可行性

(1)C语言精品资源共享课网站的建设符合一流应用型大学的指导思想,网站的重点为优质精品课程教学资源共享,符合国家教学改革的精神。符合信息管理系及信息管理与信息系统专业人才的培养目标。

(2)项目团队成员系信息管理系学生,都学习过C语言程序设计、与网页制作、数据库技术与应用等专业基础与专业核心课程,并在学习的过程中都具备较好的理论素质与较强的实践经验。

2.实践的可行性

本教学改革课题由3人组成的团队协作完成。团队的成员在项目开发前期曾多次与从事C语言程序设计课程的教学任务,并对该项目所涉及到的基本资源与拓展资源的建设具较丰富的教学经验与阅历的教师进行过多次探讨与研究。同时该项目组成员中的3位同学对网页设计与网站建设具有较强的实践经验。所以说本项目具有实践可行性。

五、项目实施方案

1.项目的实施计划

《C语言程序设计》精品资源共享课程网站建设所涉及到的计划内容主要体现以下几方面:

(1)教学大纲

教学大纲是规定课程教学内容,包括课程的教学目的、教学任务、教学内容的结构、模块或单元教学目标与任务、教学活动以及教学方法的主要依据。所以在本项目中对教学大纲的研究是首要考虑的内容。并结合我院应用型本科人才培养方案的要求来制定适合我院学生的教学大纲。

(2)演示文稿

演示文稿是学生通过网络共享资源进行自主学习的主要方式,同时演示文稿也可以作为正在学习《C语言程序设计》课程学生的一种参考学习资料。所以本项目中要C语言程序设计精品课程的演示文稿要做详细与完善的设计。

(3)教学录像

教学录像是实现网络授课最直观、最直接的教学方式,所以在本项目中教学录像是一个重要环节。计划本网站可以提供全面、高清的教学录像。

(4)教学案例与例题

本项目拟定增加一定数量具有典型意义,能够说明C语言程序设计课程在实际应用中的案例;并在每一章节中增加一部分具有典型意义、结构完整、并包含解答过程与分析的例题。使学生通过网络学习之后,能够找到相关的习题进行练习。

(5)实验指导书

本项目中拟定为每一章节中的实验增加了实验指导书,在指导书中会详细说明实验的目的、内容、与实验步骤。使学生通过实验指导书可以自主地上机进行实验。

2.项目的技术路线

《C语言程序设计》精品资源共享课程网站建设的前台主要是用html语言来编写,后台主要是用C#程序来编写,数据库选用sqlserver。

3.项目的人员分工

本项目共有三人组成,其中李威同学担任项目负责人,项目组成员的具体分工如下所示:项目负责人完成整个项目的策划工作,后台程序的开发;其他2个人负责页面设计,美工与版块划分工作、素材的收集与整理工作。

六、项目特色与创新点

1.项目特色

(1)项目思路基于“资源共享”理念。

(2)项目中体现“学生为中心、教师为主导”的教学模式。

(3)项目中通过案例式教学方式实现“学有所得、学有所用”。

2.项目创新点

(1)任务驱动机制

在C语言精品资源共享课中,每一次课都提出一个具体的任务,通过任务来掌握每一章节的知识点,突出重点,分解难点,教学目标明确。

(2)案例教学模式

在C语言精品资源共享课中,以“学生成绩管理系统”项目为主线,贯穿顺序、选择、循环结构、数组和指针各章节,先提出项目目标,接下来通过知识讲解、方法演示、实践演练、复习归纳等方式来解决实际应用的问题,进而学习软件开发的方法。使学生体会到学习的实用性,提高学习兴趣。

(3)“教、学、做一体化教学模式”

在C语言精品资源共享课的实验导书中导入贴近实际应用的案例,将最新软件开发技术引进课程,适当安排学生自主设计程序的实践环节,学生通过调试自己设计的程序,让学生亲自观察和体验程序设计的成功感,加深知识的理解。

七、项目预期成果

初步建成C语言程序设计精品资源共享课程网站。

基金项目:2013年辽宁省大学生创新创业训练项目《C语言精品资源共享课网站建设》(项目编号:201310841037)。

篇13

C语言程序设计是一门实践性很强的课程,如果只是单纯的面对面授课不能达到培养学生的独立编程的能力,而且传统的教学方法并不能培养学生对于C语言的学习兴趣,不能提高学生自主学习的能力,经过我校专业教师调查研究发现,大部分学生们初出社会时,在工作岗位面临编程时就会发现无从下手,似乎学校里学习的C语言和实际应用中的C语言存在着天壤之别,出现这种现象的根本原因是学生无法将所学的知识与实际动手能力相结合,为此,课改小组积极去探索和改进教学方法,引入线上/线下混合式学习方法,提高学生对于C语言课程的学习兴趣,从被动学变成我想学,并且实现独立编程的能力。

一、传统教学方式存在的弊端

经过对本校该课程近几年的教学现状进行了认真梳理和仔细分析,发现主要存在以下问题:(1)课程学分设置不合理,教学课时严重不足,高职学校在校学习专业知识的时间只有两年半,时间短课程多,无法再增加课时总数;(2)教学方法和教学手段较落后。C程序设计教学主要以讲授法为主,填鸭式的讲法,教师讲得很辛苦,学生听得更心烦。课下布置编程作业,大部分学生疲于应付,程序抄袭现象严重;(3)教学目标不明确,在教学中存在着重语法,轻算法的现象,迷失了学习方向,丧失了学习信心;(4)教学内容及安排顺序有待调整。自该课程开设以来,受课时限制,课程后半部分的指针、结构体等核心内容很难从容展开。

二、引入混合教学,构建新的教学流程

2.1混合式教学模式分析

混合教学是人们对传统课堂上的面对面教学和网络教学进行深刻反思后形成的一种教学方式,将面授教学与网络教学进行有机结合的教学方式,是学习资源和不同学习环境如教室和虚拟的网络环境的混合。混合式教学核心是在恰当的的时间为适合的人采用合适的学习技术来传递合适的技能来优化教学内容。C语言课程是一门重实践的课程,只有让学生多操作多练习,且让教师能在学生练习的过程中立马能发现问题解决问题,加深学生对于课程内容的了解,才能提高学生的学习效率,但由于课程课时数的限制,往往不能实现,而采用混合式教学模式,我们将重要的需要面授的知识点放到课堂上,不太重要的知识点部分借助第三方平台放到网络上,让学生利用课余时间自主学习,完成练习,教师对学生学习情况进行监督检阅即可。这首先解决了课时不足的问题,同时赢得了更多的在课堂上帮助学生解决实践中问题的时间。

2.2线上学习,引导自主学习

每周教师在网络平台上上传课前预习通知,让学生根据通知进行课程预习,预习内容包括课程动态视频,视频总时长一般不超过60分钟;单元知识点的课前小测,用于了解学生观看视频后对知识点的掌握情况;线上课程的讨论区,考虑到学生在自主学习过程中会有疑问,一般又不习惯在课堂上提问,在讨论区上留言,不然能及时解决疑问,也能让更多学生参与进来,提高学生的学习兴趣,教师在课前对问题集中整理分析,选择共性问题在课堂重点讲解、答疑或讨论,除了预习通知以外,还有课后小测以及课后讨论区,学生通过完成课后小测,让教师能更好了解学生对于知识点的掌握程度;课后讨论区是为了让学生完成课后任务后,将学习的心得体验,亦或是仍然存疑的部分提出来,让教师更好的根据学生的学习体验调整授课的方式。

2.3线下学习,提高授课效率

线下学习即课堂中教师与学生面对面授课,课堂教学活动的教授方向是以课前线上学习任务的完成为基础,就线上学习的课前讨论区整理的共性问题,引导学生深入思考,强化重点、难点和易错知识点,采取案例程序分析的形式,分析程序算法,对实际问题进行分析和讨论,进而再进行案例程序的改写,对学生进行发散思维训练,让学生在改写过程中,发现问题,解决问题,培养学生自主解决问题的能力和独立编程的能力。在讲解完单元知识点以后,增加上机实践时间,布置课堂任务,让学生以小组为单位完成课堂任务,程序编写和调试中出现的问题先在组内讨论解决,教师在课堂巡查中,进行针对性个别引导,就出现的共同问题进行分析指导,上机实践课结束之前要求学生上传实践任务书,任务书内容主要是算法分析以及编程代码。

2.4考核评价设计

混合式教学的课程可通过提高线上学习部分考核分数在总成绩的占比来激发学生自主学习的兴趣,在网络教学平台里,有课前视频学习、课前作业、课后小测、讨论、答疑、交流、公告、文件下载等几个助学模块,在课程结束后,可以通过每个助学模块来汇总学生的成绩,同时教师也可以通过讨论区学生的活跃度评价学生在班级学习活动中投入的总体情况。

三、结语

从整个实施过程看,混合教学模式应用在一定程度上解决了教学和实践课时严重不足的问题,网络教学平台使得教学资源更加的多样化也更加丰富,学生对于混合教学的方式接受度很高,课堂授课互动效果较好,上机练习机会增多提高了学生程序分析及设计能力。但想要激发学生长久的学习主动性和学习热情还需要不断的探索与改进。

引用:

[1]陈旭.混合学习模式下大学生网络自主学习能办发展的策略研究[D],2010.