发布时间:2023-10-07 15:40:55
导语:想要提升您的写作水平,创作出令人难忘的文章?我们精心为您整理的5篇模块化教学设计案例范例,将为您的写作提供有力的支持和灵感!
中图分类号:G642 文献标识码:B
1引言
“C语言”是从事计算机软、硬件开发和应用人员必备的专业知识。C语言既具有高级语言的特点,又具有低级语言的功能,语法结构简洁精妙,便于描述算法,写出的程序效率高,运用C语言可以编写系统底层的内核程序。C++、Java、C#、J#、perl等高级语言也是衍生自C语言,所以掌握了C语言,可以很容易掌握这些新型的语言去开发程序。因此在高等院校与计算机相关专业的教学计划中,“C语言程序设计”是一门必修的基础课及核心课程,是一门理论性和实践性均较强的课程。开设“C语言程序设计”课程主要培养学生掌握结构化程序设计的基本方法,建立严谨的程序设计思想及较强的动手编写及调试程序的能力,逐步培养独立分析问题和解决问题的能力。同时为数据结构、操作系统及其他高级语言课程等后续专业课程的学习打下扎实的理论和实践基础。
在以往的教学过程中,大部分学生对学习“C语言程序设计”存在畏难情绪,更不知如何运用C语言解决实际问题。教学效果不理想,给后续学习造成障碍。笔者在教学中调整了以往按部就班的教学模式和重理论轻实践的教学理念,将模块化案例教学引入“C语言程序设计”的课程中,进行了教材整合和强化实践教学,并围绕模块化案例展开C语言教学,以案例引出C语言的知识点。全部授课都以程序设计为目的,收到显著的教学效果。
2课程进行整合,建立模块化案例教学
2.1传统的教学模式以语言知识为主线
传统的“C语言程序设计”课程教学模式采用以语言知识为主线,按照变量、数据类型、表达式、数据输入/输出、流程控制、函数、指针、结构、文件等顺序进行教学,实训课多以验证为主。学生在学习的过程中每一知识点都是独立听记,不能将所学知识进行综合运用。因此,学生是边学边忘,学习后续内容没有前期知识支撑,学到5~6周就失去学习的兴趣和信心,甚至有些学生放弃对该门课的学习,到期末考试突击复习,不及格率比较高。
2.2课程整合以程序设计为主线
课程整合以程序设计为主线贯穿语言各知识点,就是将“C语言程序设计”课程内容分解为四个模块,即C语言基本程序设计模块、函数模块、指针模块、文件模块,每一模块都以案例展开C语言的知识点教学,讲解C语言的理论知识为目的,上机实训以授课中的案例贯穿始终,即强化理论知识的掌握,便于后续知识的学习,同时还要逐步培养学生编写C程序的能力,紧紧围绕这四个模块的案例举一反三展开程序设计的实训。
2.2.1基本程序设计模块
利用“统计一名学生的三门课程平均成绩”的程序,引导出变量、数据类型、表达式、数据输入/输出等C语言基本知识。这阶段主要是引导学生掌握C语言程序的基本结构,编写程序的基本方法,是学习C语言入门阶段。如图1所示。
2.2.2函数模块
C程序是由若干函数构成的,函数是C语言的核心知识。因此,在讲函数知识及设计函数程序时,将前面讲述的计算学生多门课程成绩组合成较完整的C程序案例。如图2所示。
通过这个案例讲清C语言中变量的存储类型的区别和功能,函数调用、参数传递的方式及要求,按值和按地址传递区别。在讲函数调用时启发学生逐步完成图2各个程序模块的组合。同时调动学生的积极性逐步扩展图2中的功能,将所学的知识进行综合应用,并提出预处理和文件包含知识概念及运用。
2.2.3指针模块
指针是C语言的重要功能,正确而灵活地运用指针,可以动态分配内存和对物理地址直接进行操作,方便地使用字符串和数组,有效地表示复杂的数据结构,在函数调用时能获得1个以上的函数值。指针内容非常丰富,而且复杂,这部分是C语言的重点,也是学习的难点。按常规模式教学,学生对指针知识理解难、运用更难,部分学生到此几乎放弃学习。采用模块案例教学,学生首先了解指针的运用,调动学生学习的兴趣和学习的欲望,然后逐步从指针案例中启发引出知识点,边学边用,通过实例反复练习,学生能较灵活运用指针知识编写程序。指针模块如图3所示。
首先利用演示链表案例引导出动态分配内存。然后演示用指针修改数组处理学生成绩排序的程序案例,或者设计较简单的对硬件操作的案例,让学生了解指针知识运用之后,再由学生模仿将函数模块中用数组存储数据修改为用指针进行数据处理。在知识引申的过程中,逐步提出字符串指针、指针数组及指针数组做main()函数的参数的运用。
2.2.4文件模块
主要讲述输入输出函数,将内存中存储的数据输出到外存上,仍然利用案例分析文件的概念及文件的运用。
3围绕案例展开教学
在基本程序设计模块中,以计算1名学生三科成绩的平均成绩这个程序开始引导C语言基本知识。程序如下:
#include
main()
{ int scor1,scor2,scor3;
float grade, total;
total = 0.0;
printf(“Enter grades: \n");
scanf("scor1=%d ,scor2=%d ,scor3=%d", &scor1, &scor2, &scor3);
total= scor1 + scor2 + scor3;
grade=total/3;
printf(“Grade average is %.2f\n", grade);
getch();
}
3.1案例启发教学,使学生轻松听课
在案例教学过程中,要求学生熟记模块中程序。例如:第一次课熟记“统计1名学生三科成绩”这个程序。然后调动学生学习的积极性和主动性,引导学生积极思考和参与,一起分析程序中语句的含义,在分析语句的过程中,采用启发式的循序渐进、由浅到深、由易到难,逐步提出新问题,引出C程序中新知识,用新知识解决新问题,再举一反三写出对应不同问题的C语言程序。例如:提出判断并输出学生三科成绩的最高分和最低分引出分支结构。提出若是8门课,进行总成绩统计的简便方法,由此引导出循环结构。根据对成绩升序或降序排序引导出一维数组,再计算多个学生中每个学生多科成绩引导出二维数组等,根据引导的知识逐步扩展和加深知识的运用。
保证学生动脑、用心听课。教师在讲解每个基本知识的过程中不要面面俱到,对常用的编程知识细讲熟练,不常用的知识略讲或用表格统解,有些基础知识是随着编程逐步引出或者以后应用时在自学,保证学生听课不疲劳。听得懂、跟得上、兴趣浓,兴趣是学习的动力,动力会产生效果。同时要求学生强化记忆判断最高分、成绩排序等程序,以便于后续课由用户建立的若干个自定义函数构成较完整的程序。在分析函数案例过程中,讲清数据存储类型的区别及参数的使用等知识。授课过程如图4所示,每节课结束前教师与学生共同总结本节课的重点知识,便于课后复习。
3.2培养阅读程序的能力
读程序是学习C语言入门最快,也是最好的方法。教师在讲述程序中各语句含义的时候,首先培养学生阅读程序的能力。在阅读程序的同时注重培养学生掌握C程序的结构。例如:编写程序首先根据表达式确定变量及变量的数据类型,然后给变量赋值(直接赋值或通过键盘接受值),再进行运算,最后输出计算后的结果等。要求学生不放过每一章中提到的所有例题,仔细研读程序,直到每一行都理解了。看懂别人是如何解决问题的,学习解决问题的方法和程序设计技巧,掌握程序结构。为了使学生尽快掌握编程思想和基本结构,教师课后给学生布置一些设计C程序作业,由学生根据自身能力,阅读程序、修改程序、给程序补充语句以及写出程序运行结果,强化训练。
3.3培养学生编写程序能力,掌握分析问题算法
3.3.1模仿编写程序
“C语言程序设计”是一门实践性很强的课程,“纸上谈兵”光学不练是学不好C语言的。在阅读程序的过程中,培养学生学会模仿编写程序,如果没有深刻地理解C语言的语句及掌握编写程序的基本方法,模仿编写程序也是一句空话。在模拟编写程序时,如果写不出来,回过头来再继续研究例题,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到熟练为止,在模仿编程的过程中培养学生养成良好的编程风格。
3.3.2分析算法
利用C语言编程解决实际问题,所需要的不仅仅是C语言语句,还需要相关的专业知识及算法。例如,如果你不知道计算π的公式,即使C语言学得再好也无法编写计算π的近似值的程序。如果不知道判断闰年的条件,就无法计算某年是否为闰年。所以在程序设计过程中,必须注重培养学生分析问题及找到解决问题的最优算法,这是设计程序的重要条件。
3.4强化编程能力的训练,树立编程信心
教师在全部的授课过程中,时时鼓励学生能学好C语言。因此教师在提供丰富多样的实验题目时,注重学生的差异,让学生根据自身水平和兴趣,选择自己能理解的训练题目。让每一个学生都能享受编写程序获得成功的喜悦,以促进学生坚定学习的信心和激情。同时教师鼓励学生在学习“C语言程序设计”的过程中,阅读一本C语言方面参考书,经常上一些好的C语言论坛进行学习、交流,开阔自己的视野。教师也经常组织学生进行师生间、学生间的学习交流活动,对实训题目采取自测、在线判题等活动。这些多种交流学习方式,其目的是充分发挥学生在教学活动中的主体地位,调动学生学习的主观能动性和求知欲望,使学生在交流中得到学习、思考,取长补短获取编程的技巧。成绩考核以笔试、实训、交流等多种形式,每一环节着重考核学生综合运用所学知识编写程序、解决实际问题的能力。
4围绕模块案例开展实训教学
在“C语言程序设计”的实训教学中,通过上机调试模块中的案例强化学生对所学知识的运用及深化理解,不仅培养学生编写程序、调试程序的专业技能,同时注重对学生的人际技能方面的培养。
4.1培养学生专业技能
4.1.1调试基本程序设计模块
初学者首先掌握C语言编程软件的使用及调试程序的基本方法,修改程序中出现的语句、语法、程序流程等错误,积累调试程序的经验。在调试程序的过程中,逐步培养学生主动思考、分析、探索、发现出错的原因,并且能独立加以解决。再通过修改已经运行程序的某些语句,查看程序发生的变化及分析结果变化的原因,加深对新学知识点的理解。实现“输入”程序加深知识的记忆,“修改”程序加深对知识的理解。记忆和理解相辅相成,相互促进编程能力的提高。
4.1.2培养综合实训能力
当学生掌握了基本调试程序方法之后,对函数模块、指针模块、文件模块案例进行调试,提高学生调试综合程序的能力,修改程序中出现的逻辑结构、流程错误。综合实训可以根据函数模块案例建立学习小组,每个自定义函数分配给小组中不同学生独立编写程序、调试、运行,逐步养成独立分析问题,运用知识解决问题的能力和自学能力。然后将小组中每个人编写的程序综合在一起,进行综合调试、运行。调动学生求知欲望及运用知识的能力,鼓励学生树立创新意识,增加程序的功能,利用开放的实训环境进行自主调试,培养学生自我发展的意识。
4.1.3撰写实验报告
实验报告是对实训的总结和知识的巩固,总结实训中调试程序的经验、收获、不足和需要解决的问题,便于后续实训课的操作。实验报告也是师生交流的最好手段,老师掌握每个学生实训过程中的问题、想法、效果等,可以调整授课进度和方法,提高学生学习效果。
4.2注重学生人际技能培养
1.设计目标
盲人按摩作为中医按摩中的特殊类型,具有其局限性,是由盲人的生理特点决定的,所以教学内容和方式也与正常的医学教育有着很大的不同。根据盲人按摩岗位的实际需求,提出按摩专业课程设计目标为:
(1)符合盲人按摩教学、学习规律,又要充分体现中医按摩的特点。
(2)体现盲人按摩岗位实际需求,为盲人按摩发展服务。
(3)努力体现学生自主学习的学习方法和学习规律,在教学设计上运用先进的教学理论指导。
2.设计原则
就业导向、能力本位,构建模块化知识体系,明确“盲人按摩学什么”的问题。模块化知识体系的构建,是盲人按摩专业改革与建设工作的核心,课程内容整合按照“保证‘三基’、减少重复、避免遗漏、补充新知”的思路,对课程内容进行分化、整合、更新,对教学内容进行统筹安排,合理布局,整体优化。制定模块化知识体系应遵循以下三个原则:
一是岗位应用原则。做到岗位需要什么知识就传授什么知识,需要什么能力就锻炼什么能力,突出知识模块的针对性。
二是综合化原则。以盲人按摩最终临床实践应用为导向倒推,总结归纳应掌握的知识和技能,打破传统的课程界限,实现各个学科知识的充分交叉、融合,形成垂直综合化的知识模块、知识单元、知识点。
三是纳新原则。模块化知识体系要及时吸纳中西医学在盲人按摩和康复治疗体系内的新成果、新技术、新方法,使得知识体系处于不断更新,保持盲人按摩发展的动力和活力。
这样的设计,突破了传统的教学模式,使每个模块以支持盲人按摩职业能力和素质为核心进行了优化,避免重复,这是传统课程难以比拟的。通过课程模块化教学,有针对性的培养学生的职业能力,从而增强针对性和实用性,进而提高了学生的综合素质和就业能力。
二、按摩课程和教学设计
1.优化整合各课程间的内容,确定五大专业课程模块
(1)中医理论知识模块,将《中医基础理论》《中医诊断学》《方药学》《中医养生保健》《医学心理学》等中医理论性强的整合成一个模块,精简选编,确保学生具备最基本的中医理论知识。
(2)针灸推拿保健技能模块,包含了《按摩学基础》《中医保健按摩》《足疗》《精油推拿》,通过这一模块的学习,学生能完全掌握中医保健的操作技能,确保学生在保健领域的就业能站稳立足。
(3)划经点穴技能模块,包含《经络学》《腧穴学》,通过一模块的学习,学生基本具备了经络腧穴知识,为临床的治疗奠定基本的理论基础。
(4)针灸推拿治疗技能模块,包含《刺法灸法》《按摩针灸伤科学》《按摩针灸内科学》《按摩针灸妇科学》《儿科按摩学》《刮痧》《康复技术》,这一模块是盲人按摩专业的核心技能模块,通过整合,避免了疾病理论知识的重复讲授。学生通过这一模块的学习,必须掌握临床常见疾病的诊断和治疗,确保在保健的基础上能在基层的医疗机构就业,为盲人按摩的发展奠定最基本的专业能力。
(5)西医知识模块,包含《解剖学》《生理病理学》《触诊》《西医诊断学》《局部解剖学》《西医综合》,学生通过这一模块的学习,掌握基本的现代医学知识,确保在疾病的诊断和治疗过程中科学、准确,为向更高的层次发展打下基础。这5个专业模块既相对独立,又紧密联系,循序渐进。
2.教学过程设计实施“四结合”
教学过程是课堂教学设计的核心,教学目标、教学任务、教学对象的分析的选择,课堂教学结构类型的选择与组合等,都将在教学过程中得到体现。所以,课堂教学过程改革的第一步,是我们教师下决心“把课堂还给学生,让课堂充满生命气息”。因此,我们要求教师在课堂上努力为每一个学生的主动参与教学提供广泛的、足够的可能性,在教学过程中创建“理论教学―模拟教学―案例教学―实训、实习教学”四位一体的教学模式。
(1)教师演示与学生模拟相结合。采取了“理论与实训相结合”的方法,教师边讲授边演示,手把手教学,学生相互模拟练习,做到了理论实训一体化。
(2)信息化教学与课堂仿真模拟相结合。充分应用音频、视频、图片、语音光电感应多媒体针灸人体穴位发光模型、仿真多媒体按摩点穴人体模型和微波治疗仪、康复器等多媒体资料和现代化教具,开展课堂模拟训练,提高了学生学习本课程的兴趣,有效地增强了学生的实际操作能力。
(3)案例教学与理论探讨相结合。针对本课程实践性强的特点,强调使用理论与案例教学相结合的方式。即在教学中即时引入病案,从实际问题入手,把基础知识、基本技能的掌握和能力培养结合起来,把书本知识与经验积累结合起来。
(4)课堂教学与网络学习相结合:课程建设中,要求制作系统的多媒体教学课件、音频视频、习题库,利用永德读屏软件、盲人按摩网等丰富的网络资源。既利于任课教师通过网络平台自由地进行备课和修改、添加、更新资料,又促进学生学习能力的培养。
三、教学评价
评价:本课程在教学过程中,由学校教务管理者、专业教师、学生共同对教学内容、教学设计、教学效果进行了考核,与传统教学模式相比:
1.激发了学生的学习兴趣,提高了学习的自主性。
2.改善了管理运行机制,激发了教师的积极性。
3.改善了教学条件。
4.教育教学质量整体提高,毕业生社会认可度大幅提高。
通过对盲人按摩专业课程与教学设计研究及实践,教学内容得以精简实用,知识衔接顺畅,激发了学生的学习兴趣,发挥了学生的主体作用,培养了学生学会学习,自主创新能力。让学生在构建知识、形成能力、积累素质的过程中,促进了个性和潜能的发展,也提高了教师的实践教学能力和双师素质。
参考文献:
[1]张俊龙,田岳凤,王军.以中医人才成长规律培育中医人才的实践探索[J].中医教育,2012,(01):12-14.
一、引言
C语言程序设计是近年来在国内外得到迅速推广应用的一种计算机语言,它功能丰富,表达力强,使用灵活方便,目标程序运行效率高,兼有高级语言与低级语言的许多特点,许多机型、操作系统都支持C语言开发[1]。C语言的实用性使之成为编程的首选语言,但概念多、规则繁杂、使用灵活、书写方式多变、容易出错,教师教学和学生学习都感到闲难,增加了教学的难度,而学生抱怨课程内容枯燥乏味,没有兴趣,在解决实际问题编写代码时往往无从下手,缺乏编程和调试的能力[2]。
在C语言程序设计教学实践中,广泛采用任务驱动法、模块化教学、项目教学法、案例教学法等优秀的教学方法,并取得相应的教学效果。本文提出一种基于“金字塔原理”的知识构建的教学方法,注重在教学过程中引导和训练学生思维,由上至下构建目标问题框架(分解问题),由下至上逐步解决问题,纵向运用模块方案,横向保持内在联系。该方法在提高教学效率和学生思维能力方面,效果明显,是其它教学方法的有益补充。
二、目前主要教学方法及其特点
(一)任务驱动教学方法
该方法强调任务设计对学生学习兴趣的引导与激发,任务的设计贴近学生的现实生活, 以激发学习兴趣为出发点,选取有典型性意义的、覆盖教学目标知识范围的任务,分解难点和重点,引导学生在完成任务过程中探究式学习,对加强学生的实践技能方面效果较好。
(二)模块化教学方法
模块化教学法是20世纪70年代初由国际劳工组织研究开发出来的以现场教学为主,以技能培训为核心的一种教学模式。它的本质在于教学内容的取舍取决于职业岗位对从业者的要求,从职业活动的实际需要来组织教学内容,强调能力本位和知识的“必须和够用”,与传统教学强调知识的系统行和完整性有所区别[3]。
(三)案例教学法
案例教学法运用社会或身边发生的事例激发学生学习兴趣,说明道理,给学生的行为以启发的教学模式,通常是“以例激趣―― 以例说理―― 以例导行”。案例教学法是一种注重师生互动的研究性教学方法,教师要预先选择典型案例,在案例教学实施过程中,教师要注重引导,启发学生进行积极的思考,让学生保持较强的求知欲和浓厚的学习兴趣,以培养学生的创造性思维,提高学生参与课堂的能力,然后通过案例的步步进阶,使得学生掌握全面的知识点[4]。
(四)项目教学法
在项目教学中引入软件工程的概念,以团队的形式进行项目的开发。主要注重培养学生的综合能力,提高学生的程序设计水平。在实践环节中,让学生在沟通中成长,在协作中进步,在自由中学习。实践中,首先给出实践参考项目,提出实践的基本要求,再者引导学生构建自己的团队,实施项目。最后进行项目成果展示,实现各个项目小组的交流沟通[5]。这种方法适用于在学生掌握了课程的基本内容的基础上使用。
三、基于“金字塔原理”的教学方法
(一)金字塔原理
金字塔原理是避免文章或语言表达上的“思维混乱”而提出的一种组织结构,即:自上而下式地寻找论据支持论点,或自下而上式的根据事实做出判断。无论哪种方式,最终都要呈现出骨架刚劲有力的、有金字塔结构的描述。表达的总论点放在顶端,下一层是支持总论点的关键句,再下一层是支持关键句的论据,依次类推,便于更形象地理解了逻辑性和条理性[6]。C语言程序设计无论是从语法结构还是从代码编写上来看,都具有表达和描述的特征,同时在学生学习过程中知识体系构建的过程,也是一个金字塔形的知识建构的过程。
(二)金字塔原理组织教学,建立课程的知识构架
在教学设计中,以“整体―部分―整体”的模式进行教学设计,课程开始时,学生对一门新的课程的积极性、学习兴趣较高,笔者直接给出“寻找最佳存款方案”的源程序,首先讲解程序的基本组成部分(头文件#include、主函数main{ }、自定义函数、{函数体}、数据),初步建立C语言程序设计的基本知识框架;其次对于浅显易懂的部分如定义变量、基本语句等采取精要讲解完成教学,最后简要讲解该程序的其它内容。此时并不要求学生都掌握该实例的全部内容,而是对C语言程序设计有一个宏观上的理解,同时掌握一些初步内容。这种模式有利于学生在思维上上升一个高度初步了解C语言程序设计课程,消除陌生感,避免一开始就进入细节学习的混沌状态。
建立初步的知识架构后,就像登山之前从地图或高空对登山路径、环境和景区分布有了全面的了解和掌握,在登山时,目标明确,任务清晰,这种前瞻地把握事物整体的方法避免学生在学习中遇到困难时产生迷蒙感和挫败感,有利于保持学习兴趣。
(三)采用模块化与案例教学法进行各项内容的教学
(1)模块化建立知识结构
一个完整的C语言程序由头文件、函数、函数体、数据4个基本部分组成,我们就把这四个部分划分为四个大的知识模块,有的模块包含较多的内容,需要再次细分二级模块,如数据模块中,就分为数组、常量、变量、指针,还涉及到函数值返回等内容。模块划分强化知识集合的相对集中,而不是割断模块之间的内在联系。课本中指针、函数返回值和链表的内容靠后一些,难度相对增加,在模块教学的顺序中,适当延后或提前,分散难度,保持整个教学过程中难点呈均匀分布,而不是先易后难。在教学中巧妙把握模块的独立性与内在联系,在学生知识构建中模块化内容自然形成,同时也包含模块间的关联。
(2)模块化与案例分析教学
在模块化教学过程中采用案例分析教学,一个案例包含多个知识,甚至是课程的大部分知识,呈现给学生的是该案例程序的完整内容,讲解时重点放在目标知识点上,非目标知识点仅作简要讲解或功能描述,形成既有侧重点又有覆盖面的教学,而不是单一知识点的“攻坚”,多个案例分析教学后就构成了一个知识面的“重复结构”,这种“重复”有利于加深记忆。例如,课程开始时,就用一个包含基本语句、变量、循环结构这些相对简单内容的案例,侧重点放在基本语句和语法上,对于变量、循环这些内容仅做功能描述或简要讲解,对于少数学生来说,已经能掌握案例的全部内容,而大部分学生则应掌握目标知识点(基本语句和语法),在后续的变量部分的教学中,又涉及到语法的内容,采取同样的方式处理,形成知识的循环结构,让学生的学习能“跑”的跑起来、能“走”的走快点、其它的跟着“走”。
以住的教学模式习惯按课本的章节顺序进行各知识点的教学,然后结合实例巩固,由下至上堆积知识来构建知识结构,在进行知识点教学时,常常过度讲解,割裂了与其它模块的联系,知识重复概率降低,听懂的学生已经走神,没接受的学生仍然不懂。在改进的教学中,我们采取既突出重点,又注重知识板块之间的连贯性和覆盖面的策略,在涉及到另一模块的内容时仍然简要讲解,对于旧的知识点有利于加深印象,起到良好的复习作用,个别没有掌握的学生得到再次的学习机会,甚至产生顿悟;对于新的非目标知识点,经过简要讲解后,接受能力好的学生已经掌握,其它学生即便没掌握也有了一个初步的印象。每个案例始终保持程序的完整性和准确性,方便学生笔记和复习时阅读。
(3)实践环节
在上机实践环节中,直接把授课案例的源码给学生调试通过,引导学生简要分析程序与输出结果之间的因果关系,间接复习了整个程序的全部知识,然后给出与之相似的任务,鼓励学生自己分析,画出由知识结构组成的程序流程图,敲出代码,并调试,再次形成一个知识的“重复结构”。布置任务时,障碍设置不宜过大,避免随着学习的深入、难度增加,产生挫败感,导致学习兴趣下降。
按总学时72个课时算,当教学进行到45个学时的时候,已经完成大部分内容的教学,经过案例实践的训练,学生掌握了一定的编写和调试程序的能力,具有较强的主观能动性了,实践课也应作相应的调整,难度加大,按模块化任务的形式进行软件开发模拟,把一个复杂任务分为若干个相对简单的子任务,每个子任务即为一个模块,模块化是组织程序的基础,多人或多组协同工作来完成软件的不同模块可以提高开发效率,这是软件工程对模块化的要求。另一方面,C语言又称之为函数语言,函数是实现程序功能的最小单位,一个函数完成一个功能是程序设计的基本要求。一个模块通常用C语言的函数来实现,因此函数是实现模块化思想的有力工具。我们在教学过程中,以函数作为着眼点,培养学生的模块化设计思想。
首先,训练学生以函数为单位组织程序。教材中的例程为了节省篇幅,往往在一个程序当中实现全部算法或功能。针对这一问题,我们安排学生按模块化思想用函数重新组织程序,培养学生的模块化思想。
其次,加强团队协作训练。在上机或作业过程中,在一个题目中给出多项任务,将学生分组,不同小组分别用函数来完成不同的任务,借此来培养学生的协同工作能力,促进学习[7]。
(四)思维训练
德国教育学家第斯多惠曾说:“教学的艺术不在于传授本领,而在于激励、呼唤。[8]”在C语言程序设计课程教学中,激励学生树立一种有效的思维模式显得尤其重要,在学生的学习过程中,我们注重金字塔形式的自上而下构建知识结构,自下而上学习巩固,纵向模块化案例训练实践,横向重复巩固。在案例分析中,引导学生分解问题,建立架构,逐步细化,画出知识结构图,完成代码编写。经过这种思维训练,学生在思考和解决问题的过程中,就是一个若干知识模块的集合在大脑里运转、优化组合和实现的流程,最终完成任务。
(五)教学中的几个原则
(1)整体性原则
整体大于局部之和,无论知识模块的大小,尽可能的把整个框架呈现给学生,有利于从整体上把握知识点,上升一个高度来学习、分析和解决问题,有了整体构架后,再逐步细化,深入学习各个知识点,在学习各知识点时清晰的知道它在模块中的地位与用途。
(2)层次性原则
在某一个特定知识目标教学时,这个目标本身要反映出学习效果的层次性。如布卢姆、加涅等人对教育目标分类都是有层次性的,他们累积性的层次分类,表现为每一层次的行为或操作包含了较低层次的行为和操作。应用这种层次累积的思想,对教学目标要求进行层次分析。
(3)动态性原则
即所构建的金字塔式知识结构不应当处于僵化状态,必须根据学生学习的效果反馈能够进行不断调节的动态结构,这种动态性也体现在学生随着学习的深入,对课程内容的掌握逐步增加,知识结构的纵向加深和横向的丰富和完善。
四、结束语
在《C语言程序设计》教学中,采用“金字塔原理”的知识构建模式,结合其它教学方法开展教学,通过案例激发学生兴趣,模块化搭建知识结构,目标任务的分解实现来提高学生解决问题的能力,取得较好的教学效果。这种基于知识构建的教学方法和学生思维训练的方法,同样适用于其它课程和知识的学习。
[参考文件]
[1]谭浩强.C程序设计(第三版)[M].清华大学出版社,2005.
[2]王创伟,汤克明,蔡长安.《C语言程序设计》教学改革方案与实践[J].现代计算机.2010(10).
[3][4]蔡茜.浅谈模块化案例教学法在《C/C++语言程序设计》实践课程中的应用[J].科技信息.2010(13).
[5]黄婷.浅谈《C语言程序设计》实践教学[J].北京电力高等专科学校学报.2010(10).
[6][美]巴巴拉.明托.金字塔原理[M].汪洱,高愉,译.海口:南海出版社, 2008:10.
中图分类号:G424 文献标识码:A DOI:10.16400/ki.kjdkx.2015.04.062
The Case Study of Course Modular Teaching in Computers
Information Technology Fundamentals
LIU Bo[1], LI Yan[2]
([1]School of Information Science and Technology, Shihezi University, Xinjiang 832000;
[2]School of Science, Shihezi University, Shihezi, Xinjiang 832000)
Abstract The concept of course modular teaching in the computers information technology fundamentals is defined firstly. Taking the office software and information retrieval for example, the contents of course module is designed and the specific implementation process of the sub-modular teaching mode is analyzed. Finally, combined with practice, some suggestions are proposed to implement the modular teaching.
Key words the computer professional; modular teaching; case study; countermeasures
0 引言
计算机信息技术基础课程是针对石河子大学信息科学与技术学院计算机专业学生开设的一门专业必修课程。该课程开设的主要目的是培养计算机专业学生的信息技术与实践应用能力,初步让学生系统地、正确地建立计算机理论相关概念,使学生掌握在信息化社会中工作、学习和生活所必须具备的计算机基础知识与基本操作技能,为将来专业课的学习打下坚实的基础。而模块化教学是一项培养学生能力和素质的专题教育,在教师的教学方法上强调知识能力一体,在学生的学习方法上强调知识实践一致,是以课程模块为单位集中开展相关的理论知识、实践经验、操作技能以及活动方式的一体化的教学模式,以实现具体能力和素质为培养目标,它是对教育观念、教学方法、教学内容、教学手段的全面改革与创新所产生的教学模式。①因此,采用模块化教学是实现上述培养目标的一种较为理想的选择方案。
1 模块化教学模式的教学实施案例
1.1 设计课程模块内容
以办公软件与信息检索内容为例,将该章节分成4个子模块,每个模块划分为若干个教学任务,模块内容设计如表1所示。②
1.2 具体实施过程―以子模块一任务二为例进行教学设计
1.2.1 教学内容分析
制作电子刊物是word综合知识应用的实践案例,该内容涉及到艺术排版,需要掌握的知识点是:艺术字的制作,艺术字与图片的组合,图文混排,文本框和页边框的设置等知识点。要求学生通过本任务的学习,可以独立设计(下转第169页)(上接第132页)完成一份主题形式新颖,色彩搭配和谐,内容丰富的电子刊物。
1.2.2 学习者分析
有部分学生在高中阶段已经使用过word文字处理软件的基本使用方法,为本内容的学习打下了基础。但是学生缺乏综合技能的应用。本次教学案例设计的目的在于把所学知识应用于解决实际问题,同时也有助于激发学生的学习兴趣。
1.2.3 教学环境
计算机公共机房(教师机、服务器、学生用机70台,投影仪各一台,并组成局域网)
1.2.4 教学目标
(1)知识目标。掌握艺术字的制作;掌握图片与艺术字的组合;掌握图文混排;掌握文本框的输入;掌握页面边框的设置。(2)能力目标。培养学生信息检索收集的能力和 word 软件使用的综合应用能力。(3)情感目标。培养在学习过程合作、探究的学习意识和创造性思维。
1.2.5 任务设计
(1)收集素材,确定主题;(2)制作艺术字、插入图片、设置文本框;(3)图文混排。
1.2.6 教学策略及过程
本次教学采用案例驱动式教学具体教学过程:创设情境,分析案例―总结案例,提出任务―分析任务―教师指导,学生自主学习―作品展示评价。
1.2.7 评价标准(如表2所示)
表2 评价标准
2 实施模块化教学模式的反思
模块化教学在实施的过程中,能够将理论知识与操作技能有机的结合在一起,提高学生的实践动手能力,但在实践教学中还是发现了以下一些问题:③(1)学生的不适应性。部分学生觉得这样的教学模式对他们的要求过高,因为在每个模块的学习过程中,学生需要完成大量的案例任务,相对于传统教学来说任务量较多,便会产生厌倦和畏惧情绪。因此如何才能使教与学达到同步双赢的效果,防止学生出现两极分化的现象是关键。(2)教师的不适应性。模块化教学对教师要求过高,需要教师具有丰富的实践经验,每个模块需要教师设计大量的案例任务,教师的工作量无形中增加了很多,教师的心里难免会产生一些的压力。因此在今后的教学中应增加教师的专业知识和技能操作的培训,使其能够灵活的展开教学。(3)实践教学耗费时间精力过大。模块化教学在实践应用中,首先需要做大量的教学分析,来确定每个课程模块的名称和具体的教学内容,其次每个课程模块结束后都需要对其进行评价,最后归总为学生的总成绩,学生考试不达标还要继续考试,直到达标为止,整个课程的实施需要一年之久,固模块化教学相对传统教学耗费较多时间和精力。(4)评价标准有待完善。在模块化教学的评价过程中,教师只能根据学生完成任务的实际情况给予评价,而对于学生创新能力、动手能力等方面的测评标准还有待于进一步研究。
3 结语
本文举例分析了计算机信息技术基础课程的模块化教学模式的应用,结合自身的教学经历,提出了模块化教学实践中所存在的问题,提出相应的对策。但是,对模块化教学模式背后的理念挖掘不够,需要进一步深入模块化教学实践,总结出更好的经验。
基金项目:石河子大学教育教学改革项目:KG-2013-21
注释
Engineering" Graduate Course Teaching
SUI Xiuwu, NIU Xuejuan, DU Yuhong, SANG Hongqiang
(Tianjin Polytechnic University, Tianjin 300387)
Abstract To address the basics of mechanical engineering graduate course big difference in disciplines, research areas scattered, weak technological base of electronic problem, this paper Tianjin Polytechnic University's "Mechanical and Electronic Engineering" course teaching reform projects and excellent graduate students in the teaching content will be re-planning to mechatronics design as the main line, the implementation of modular teaching of sensing technology, computer and information technology, automatic control technology, servo drive technology, system integration technology were the basis for the requirements module, high demand module , demanding three-level design module. Teaching practice over the years shows that the modular design and implement teaching guide students according to their own conditions and needs of a targeted selection of research to learn the content, teaching according to the need, individualized, and achieved very good results.
Key words Mechanical and Electronic Engineering; graduate training; teaching reform; modular teaching
1 机械电子工程教学内容的总体规划
机械工程学科的研究生,大多数来自机械工程及自动化本科专业,一般具有较扎实的机械专业的基础,在“机械设计、机械制造”领域具备一定的专业知识,但是电子方面的基础知识却比较薄弱,许多研究生连常识性的电子知识都不具备,甚至对“测量”、“控制”领域一无所知。因此需对其在电子技术、计算机技术、机电系统集成技术等方面进行专业培养。
由机械电子系统的构成要素可见,机械电子工程技术一般包括六大共性关键技术:机械技术、传感检测技术、计算机与信息技术、自动控制技术、伺服传动技术、系统集成技术。如图1所示。
图1 机械电子系统的构成要素
因此,机械电子工程的教学将以机械电子工程的原理与系统设计为主线,在上述各关键技术为主要模块深入展开,而在每一关键技术中,又分别设置三个层次的教学内容:基础要求模块、较高要求模块、高要求模块,形成“一纵三横”的模块化结构。模块化教学设计很好地实现了引导学生根据自身条件及科研需要有针对性地选择要学习的内容,做到因需施教,因材施教。
2 “一纵三横”的模块化教学
“一纵”是指按机械电子工程原理与系统设计为主线的纵向结构,具体包括:传感检测技术模块、计算机与信息技术模块、自动控制技术模块、伺服传动技术模块、系统集成技术模块。“三横”是指在每个技术模块中又细分为三个层次的教学内容:基础要求模块、较高要求模块、高要求模块。具体内容如下:
传感检测技术模块:基础要求模块包括传感与测试技术基础知识(传感器的基本构成、传感器的静态数学模型及其静态特性指标、传感器的选用),机电系统最常用的位移检测(光栅传感器、绝对码编码器、增量码编码器),力学量检测(应变式多维测力弹性体、扭矩传感器等),视觉检测(线阵CCD和面阵CCD的基本原理)。较高要求模块包括双目视觉检测的基本原理及标定,触觉传感器(指端应变式触觉传感器、多功能触觉传感器)。高要求模块包括机电测试新技术,现场总线系统,虚拟仪器技术,多传感器数据融合等。
计算机与信息技术模块:基础要求模块包括计算机控制技术基础,计算机控制系统的组成、分类,及常用控制器(工控机、 PLC、单片机),软件方面要求测量数据的预处理,数字滤波,线性化处理,标度变换。较高要求模块包括PLC、单片机的应用高级技巧。高要求模块包括PMAC原理及应用,基于DSP的运动控制及DSP运动控制卡。
自动控制技术模块:基础要求模块包括PID控制算法的基本原理,标准PID算法的改进,数字PID参数的选择。较高要求模块包括模糊控制,模糊控制的定义及特点,模糊控制系统的组成,模糊控制系统的基本原理,应用模糊控制算法解决实际问题。高要求模块包括其它先进控制方法,如智能控制、自适应控制、模型预测控制、神经控制等。
伺服传动技术模块:主要讲解直流电动机、交流电动机、步进电机及其控制。基础要求模块讲解三种电机的基本原理、机械特性及最常用的控制方法。较高要求模块讲解更深一层次的原理,如直流电机的电枢电动势、电磁转矩,交流电机的旋转磁场和定转子的电路分析,变频控制的原理及实现方法,步进电机的磁阻最小原理等。高要求模块讲解三种电机的先进控制技术,如直流电机的双闭环控制、交流电机的矢量控制等。
系统集成技术模块:基础要求模块主讲机电系统各模块之间的级联设计,重点讲解模块之间的电气性能的相互匹配、信号耦合、时序配合、电平转换接口。较高要求模块主讲机电系统的电磁兼容技术,重点讲解接地技术、屏蔽技术、共模干扰的抑制、差模干扰的抑制、供电系统抗干扰、印刷电路板的抗干扰等。高要求模块重点讲解软件抗干扰技术,如软件冗余技术、软件陷阱技术、“看门狗”技术等。
3 以案例为载体,推进模块化教学设计
针对上述的模块化教学内容,设计了针对不同教学内容相应的数字化资源,建设了课程网站,开发了多媒体课件,设计了多个教学案例。在典型的机电一体化的应用领域,将“加工中心”、“工业机器人”、“自动导引车”、“汽车防抱死刹车系统”制作了教学案例,并对一些复杂系统进行了分解设计。采用单片机进行直流电机控制、采用PLC对交流电机进行变频控制,基于MATLAB的模糊控制仿真等案例模块在教学中起到了很好的效果。通过这些案例,是将机械电子工程领域的科研成果及前沿技术引入教学,最大程度地吸引了学生的学习兴趣,激发了研究生的学习动力。