时间:2023-03-15 14:55:40
引言:寻求写作上的突破?我们特意为您精选了12篇c语言课程设计小结范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
中图分类号:TP312.1-4
工学结合在当今的高职教育中是最热门的话题,反映了现今高职教育对工学结合的重视。教育部关于《推进高等职业教育改革创新引领职业教育科学发展的若干意见》 教职成[2011]12号文件和《国家中长期教育改革和发展规划纲要(2010-2020年)》,这些国家文件都表现要推动体制机制创新,深化校企合作、工学结合,进一步促进高等职业学校办出特色,全面提高高等职业教育的质量。
在“十二五”规划中,还明确地提出新一代的信息技术作为战略性新兴产业之一是国家重点扶持对象。计算机行业也属于信息技术行业的一员。计算机行业知识更新速度快,学校传统的课程设置和课程教学培养出来的学生毕业后到企业中工作,他们无法满足企业的要求。学生的知识与社会脱节,而企业也难以找到合适的人才,企业开始出现招专业人才的困境。尤其C语言程序设计课程在计算机专业课程中不可划绝,它与计算机专业的众多后续的课程密切相关。本文尝试通过探索工学结合模式在C语言程序设计课程教学改革的道路。
1注重校企合作
为培养适应社会行业需求的人才,提高学院教学质量,高职院校要注重与校外企业建立良好的校企合作关系,使用多种灵活的措施实践工学结合人才培养模式。把一个学期灵活分段,实行模块化教学,合理安排教学进程。按实际出发,针对计算机专业的行业形式,实行分段式教学。现在广东省高职院校都会与校外企业建立校企合作基地,近两年还有多家高职都建立了协同创新孵化基地,以培养适应社会发展需求的人才。
高职学生在新进大学校门的时候,建立体验式实训。组织学生到企业工作单位实地考察,了解企业的文化、管理模式、企业的人才需求等,让学生对目前企业的运营模式、人才需求等有大致的了解,从而对课程学习产生兴趣。进行课程式教学改革,在课堂学习中实行以“项目驱动”为导向的学习模式。采用项目案例任务驱动教学方法。构建项目实例,将项目实例按照模块功能进行分组,以任务驱动形式让学生参与到工程的实施过程当中,培养学生的动手操作技能,同时培养学生的团队合作精神。承揽校外企业的一些项目,进行真实的项目训练。在教学过程中实行分段式教学,前期让学生在学校里面学习基本的知识,中期让学生到企业当中实践学习,通过实践学习把前期的学习知识在生活、生产中应用。在实践中,或多或少会存在知识、实验与实际工作中的差异。后期,让学生总结实践中所遇到的困难以及自己在实践中存在的问题进行反馈,通过后期的继续学习教育弥补自己的缺失。这样完成“学习――生产――再学习”的分段式教学。
2高职教育的工学结合模式对课程定位
高职院校主要“以就业为导向,以服务为宗旨”的教育目标,更注重学生在动手能力的培养。采用工学结合教学模式可以更好地与企业交流,可以更好地培养出企业所真正需的学生。C语言程序设计课程在计算机专业中占着重要的地位。它被认为是编程语言的基础,是建立编程思想的先驱。一直以来,C语言程序设计课程都被当中一门单一并且独立的课程看待,与其他课程的互动性较少。然而当今计算机行业在开发软件的过程中,不单单是需要熟练掌握语言编程能力的开发者,还需要配合整体软件系统构建能力。而且经调查发现学生虽然对C语言非常熟悉,但是普遍缺乏开发软件系统的思想,这样会导致他们毕业后走向社会,很难适应企业的编程规范。因此,我们需探索如何把C语言课程设置成为更适合于社会中所需求的课程。
对于以上的问题,认为在C语言程序设计的课程的教学中融合软件开发相应的方法,结合当今社会计算机行业使用先进的软件开法方法,可结合多样化的工学结合模式。
3实施适合的教学方式
3.1教材选择
紧密和企业联系,在选择教材的同时可以咨询校企合作单位的意见。甚至可以尝试使用计算机行业的优秀材料作为教学的辅助材料。提高教学质量,也可以达到教学跟上行业潮流的目的,使教学不落后于最新信息。
C语言程序设计课程作为众多学院的计算机专业的精品课程,我们可以自主编写一本适合高职院校以及行业潮流发展的教材,教材可先带出基础知识后再运合软件开发的方法,以项目作为导向结合课程设计穿插于教材当中。
3.2教学模式选择
3.2.1项目驱动教学
为提高学生的学习兴趣,提高学生的学习掌握能力,我们可以采用项目导向教学的方法。从校企合作的行业中,获取一些项目,然后分解成若干个设计模块。例如我院积极地与多迪网络有限公司在校内建立起多迪网站工作室,通过工作室接触一些行业内的项目。我们可以运用这些项目,拆分成为若干个有意义的模块。设计模块可以由浅至深,由基础到难点,慢慢一步步深入讲解。在讲解模块的过程中,渗入每章节的基础知识,以项目为导向引入C语言的知识。在解决每个模块的过程中,针对学生个体的不同,开发思维的不一样,可能会遇到很多不同的问题。因而在解决问题的过程中,向学生引入有效率的、创新的软件开发思想。慢慢地学生在学习C语言的知识的过程,可以培养正确、良好的软件开发思想,甚至可以掌握编程过程中遇到难题的解决方法。这还能让学生充分发挥团队精神,通过分工合作完成一个完整的项目,掌握编写程序所必备的三性――可读性、可扩展性和可维护性。
3.2.2分段式教学模式实践
分段式教学是工学结合教学模式之一。分段式教学旨在分阶段地到企业进行实践实习。我们可以改变以往单一的只在第六学期到企业顶岗实习的模式,在每个学期根据课程的进度及安排,或者根据企业的工作安排,合理地安排学生到校企合作的行业进行体验式实践实习,更有效地提高教学质量,并校验项目导向教学的成果。
4结束语
在工学结合模式下,C语言程序设计在课程定位、教学模式尝试进行较大的改革。通过项目驱动教学以及分段式教学的方法,培养学生达到能适应当今社会行业发展的要求,为计算机行业提供合适的人才。
参考文献:
[1]程敏.基于项目驱动的高职《C语言程序设计》教改研究[J].青岛职业技术学院学报,2011(01).
目前,高职教育在教学内容、教学方法等方面,知识老化,方法陈旧落后,理论与实践相脱节。这迫切要求我们对教学方法方式进行改革。
一段时期以来,教学改革仿佛变成了关于媒体、工具如何在教学中使用的改革。从简单的教学用具,到音像材料,到计算机、多媒体技术、计算机网络等,信息传播通道的改进,使教学内容表达趋于直观,增大了课堂信息量,提高了教学效率,但不能代表整个教学改革的全部内容,这一点在我们的教学实践中得到了证明。所以如何设计目标为导向的教学活动,是我们教学改革研究的重点。
二、改革思路与方案
(一)消除学生对C语言的神秘感,培养学生的兴趣
教师应做好入门阶段的工作,向学生讲授C语言的发展历史、当前的状况,通过举例说明学生们所熟知的某些软件或作品其内在的创作工具是C语言或C语言也可以同样地制作完成,最好能够编写一个小型实用程序,以培养学生对C语言的兴趣,缩短学生所熟知的软件工具与课堂知识间的距离。
(二)精选内容,突出重点,讲清难点
教科书一般内容较多,教师应精选课程内容,确定讲授重点。精选课程内容是提高教学质量的一项重要工作,它是教学内容的核心部分。《C语言程序设计》的核心内容包括C语言基本语法、程序设计思想和程序调试方法。语法是任何一门语言的基础,C语言的语法包括数据、数据类型、运算符、流程控制语句、数组、函数及其调用、变量的作用域、指针、文件等。在介绍这些语法时应该重点讲清楚那些对后续章节影响较大、且在实际编程过程中频繁使用的语法,而不可过多地拘泥于讲解一些琐碎却并无多大用处的语法。C语言和程序设计的学习是相辅相成的,C语言基本语法的学习必须通过必要的程序设计实践才能真正掌握,同样,也只有掌握C的基础知识才能设计出好的程序。
(三)教学方法的改进
在教学实践中,对C语言程序设计的教学方法不断地研究和改革,探索与尝试,在不同的教学环节上,针对不同的教学内容,采用了多种多样的教学方法进行教学,例如启发式教学、讨论式教学和互动式教学以及理论与实践结合式教学,还有边学边用式教学等等。
在课程的宏观教学上通过逐步拓展的实训项目和设计,将每一阶段的学习进行小结性的贯穿与能力提高。将知识点都溶化到一个个实训项目的程序编写中。在课程初期,主要是进行单项的编程练习,重在掌握C语言的基本语句、数据类型与程序结构等。在进入数组、函数、结构、指针和文件内容教学时,开始实训项目的编程实践,逐步组建如“学生管理系统”这样的综合性程序系统,并且不断添加功能模块,不断优化设计,使整个系统按照内在关联逐步拓展而成。这样的实践性教学内容与方法设计给项目拓展教学法以实际落脚点,符合认知与学习规律。
在课堂的微观教学上采用实例递进驱动教学法,改变满堂灌的做法,将学生的眼手脑全部调动起来。精心设计实例,给学生一个比较实际的切入点,通过老师的演示使学生感觉能够入手,然后再通过将此实例不断修改、扩充,引导学生参与到程序的编制过程中,在这个过程中,展示学生所作的程序,让学生来评判优劣,吸收优点,修改错误,引导学生进行优化。这样通过一个程序实例的层层推进,引入课程内容,使得学生的每一步学习都有基础,是循序渐进,螺旋式上升的过程。
(四)课程设计环节的把握
C语言由于它的实践性很强,要真正掌握它,课程设计是必不可少的重要环节。要想使课程设计收到实效,一定要根据学生的实际情况,开展不同的教学活动。所以在进行课程设计准备选题时,应充分考虑学生的兴趣,多选择一些学生熟悉的、实用的趣味性强的题目,包括一些简单的游戏。另外,不同的学生根据掌握程序不同,或者根据不同的课时数,活动形式也应区别开来。对成绩好的,课时多的,只给出题目,指导他们去找资料,分组讨论,引导他们的思考方向,由他们自己独立编码调试。而对成绩中等的这部分同学,应给出思路,帮助他们进行整体设计,指导他们编码调试。这样一来,在整个课程设计的过程中,绝大多数的同学都动了起来,都能认真调试程序,他们自己在课程设计总结中都感到很有收获。
三、改革实践的效果
(一)突出了学生主体作用
学生不再是被动的、教师传授知识的对象,而成为了学习的主人。他们可以根据自己的对课程掌握的情况和认知情况,自主地选择学习方式和学习内容。这样使学有潜力的学生可以有更多的学习选择,得到应有的发挥。而学习上有困难的学生,也可得到教师有效的指导,既解决了学习起点不一的问题,又可以充分发挥学生学习的主动性和积极性,变被动学习为主动学习。
(二)体现了教师的指导作用
在这个教学过程中,教师的角色已经转换,他们不再是教学活动的中心,课堂教学也不是教学活动的唯一形式。教师传授更多的是如何获取学习信息,教会学生如何掌握学习的方法,学会学习。教师真正成为学生的启发者、指导者和帮助者。
(三)加强了学生协作性的培养
所有的学生都可以在课堂上、上机练习时或课程设计中,围绕一个主题和问题,大胆地展开自己的想象思维,发表见解,经集体讨论和交流,寻求问题的解决方式。这样可以使参加讨论的每一位学生对同一问题,获得多方面、较深入的认识,有助于思考能力、交往能力的养成,有助于团队精神、集体观念的培育,使学习者为某—相同目标而团结共事的合作精神得到提升。
教学要与科学技术以及社会经济发展相结合,尤其是计算机语言教学,更应与当前计算机应用技术的发展相适应。我们将面临许多新情况和新问题,我们要为计算机语言教育在已有的基础上再上一个新台阶去研究和探索。
参考文献:
[1]谭浩强.C语言程序设计[M](第一版).北京:清华大学出版社.2000.
[2]郭慧玲、胡海芝.《C程序设计》课程教学改革探究[J].电脑知识与技术,2006,(35):201-202.
[3]屈晓.浅谈C语言教学的体会[J].科教文汇(上旬刊),2009,(06):147-148.
1课程基本情况
高职软件技术专业,《编程算法》课程类型为软件技术专业核心课程,修读方式为必修课,学分/学时为4学分/72学时,上课场所为一体化实训教室。课程的总体设计思想为以“成果导向+行动学习”教学理念为指导,遵循学生认知规律、技能形成规律及技术发展规律,采用成果导向教学模式,并运用五步技能训练法(必备理论、操作准备、引导训练、同步训练、拓展训练)进行学训一体、多元实时评量的课上课下教学活动。在课程设计和实施过程中完成:转———转为现代职业教育教学理念;建———课程体系建设、教师专业建设;改———课程改革、方法改变、课堂改造的成果导向教育教学改革。
2课程描述设计
本课程旨在引领学生运用经典算法处理程序设计问题,掌握C++程序设计技巧,选取合适数据结构、编写有效算法和对算法进行分析和评价(目的)。
3教学活动历程设计
在教学活动历程中按照准备活动、发展活动、整合活动开展教学活动,完成12个教学环节。3.1准备活动:提高沟通整合等能力。教学导航:明确编程算法的教学目标、重点和难点、熟悉教学方法、了解教学环节必备知识:教师根据单元学习成果,对确保改学习成果能够顺利达成的相关理论知识进行讲解。操作准备:提示本单元操作所需的学习资源,分发学习素材、信息单。3.2发展活动:提高问题解决、沟通整合、专业技能、职业素养等能力。引导训练:教师给出操作任务单、算法对应程序的执行结果-即学习成果,学生在教师的引导下进行操作,完成案例,形成操作技能单。引导训练考核评价:对学生操作态度及完成情况进行评价。同步训练:教师给出操作任务单、算法对应程序的执行结果-即学习成果,由学生按照引导训练中所学知识完成算法设计及程序编写,组内成员互相帮助,巩固所学技能。引导训练考核评价:对学生操作态度、小组合作情况及完成情况进行评价。拓展训练:根据本单元学习的内容,学生在网上搜索可用该算法实现的相关案例,并互相研讨,讲解,合作实现。拓展训练考核评价:对学生的任务完成情况、设计创新情况进行评价。代码解读:对单元中所涉及的数据结构或程序代码进行深入解析。问题探究:对编程算法的相关常见问题进行探究。3.3整合活动:提高学习创新能力。单元小结及游戏:对本单元学习内容,学生表现,存在问题等进行总结,完成评量单,并公示单元评量结果。通过游戏进行算法创新思维设计,并放松。单元作业:布置习题,学生课下完成作业单,巩固所学内容。
4教学评量设计
中图分类号:G642 文献标识码:A
1引言
数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广泛的技术之一,已成为计算机信息系统与应用系统的核心技术和重要基础。当前,计算机的计算模式已由单用户发展到主从式或主机/终端式结构、C/S结构、B/S结构,进而发展到了Web服务与网络计算时代,而数据库及其技术一直是它们的后台与基础。
当前国内软件产业发展迅速,为了增强学生的就业竞争能力,必须全面培养学生的软件项目开发能力,以适应时代的发展。学生在大学四年学习中,不仅应该掌握一定的理论与技术知识,而且应该树立管理理念,建立项目工程思维观念。
数据库课程设计是学生实践数据库理论知识,真正掌握数据库应用系统开发技能所必须的学习环节,目的在于培养学生面对大量而复杂的数据管理要求时,具备分析问题和解决问题的能力。我们于2004年完成对数据库课程设计的教学方法改革,不仅在教学手段(包括课程设计的实施过程、考核方法等)上进行了体系化和规范化,而且与“软件工程”课程结合,对两门课程的实践教学环节进行了整合。
通过两课整合的课程设计,不仅使学生在理解数据库理论的基础上,实际动手开发一个实际的应用系统,而且培养学生应有的团队协作、自主管理、主动学习、创新思维、综合运用、动手实践等能力,使课程设计真正成为学生验证理论的“实验场”,成为开发学生潜力、培养实战能力的“战场”,成为体验项目开发过程的“运动场”。
2数据库课程设计的教学方案
2.1基本内容
学生运用已学数据库理论思想和数据库设计理念,具体设计一个实用小型数据库应用系统。开发设计过程按以下顺序进行――自选课题研究方向,调查用户需求,总结归纳数据流程,分析性能,书写需求分析及总体设计报告(包括数据流图、数据字典、数据库概念模型、逻辑模型、系统功能模块),完成应用系统的开发,汇报设计成果(包括撰写设计报告、系统验收、结果汇报),在这一系列工作中树立学生项目开发管理思想,培养学生的综合素质。
2.2进度安排
为使学生充分感受数据库系统开发的全过程,安排课程设计进度如下。
2.2.1前期准备阶段
该阶段主要任务是理解数据库、数据模型和数据库系统的基本概念;掌握数据库的概念模型、数据模型及数据
库系统的设计方法;进而确立自选课程设计题目,并依据软件工程中项目需求调研方法进行系统需求调研,绘制系统数据流程,提出系统要解决的问题。该阶段成果主要包括3份报告。
(1) 系统需求分析报告:包括采用的工程开发模型,数据流图和数据字典,系统功能。
(2) 数据库信息要求报告:对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行详细描述。
(3) 数据库的操作和应用要求报告:详细描述数据库的数据操作要求、处理方法和处理流程,画出系统功能划分的模块图。
2.2.2基本操作阶段
主要任务是掌握数据库系统的基本操作,包括SQL语言的应用以及利用DBMS的工具进行数据库定义、维护、查询及掌握数据库安全性、数据完整性和并发控制技术等基本操作,初步设计系统测试数据,并能够正确解决实际遇到的问题。该阶段的成果包括一套系统数据表、关系以及基本数据。
2.2.3技术提高阶段
该阶段要求学生不仅掌握书本上的内容,而且还需要自学一些数据库系统开发新技术和相关知识。主要任务是掌握数据库备份和恢复技术以及有关的数据转换、复制、传送和数据库系统编程技术。该阶段成果为新技术交流讨论资料。
2.2.4设计完成验收阶段
该阶段教师通过3种方式对学生设计的应用系统进行全面验收:系统运行测评、分小组成果汇报和上交课程设计报告。
2.3全程指导原则
在课程设计进行过程中教师仅从宏观上把握一系列原则,让学生自己有更大的可选范围,实践时间长,紧密结合应用,实现了在课程设计中全面培养项目开发能力的目标,体现了新课程教学理念。在方案实施中严格要求学生从理论出发,与实际项目结合,从而提高他们项目开发的综合能力。
2.4评分原则
2.4.1根据数据库系统总体结构对系统从三方面进行评测
数据库原理、数据库应用和数据库设计三部分有机地联系起来形成数据库系统的总体结构,因此对课题设计的评测也从这三方面着手,达到对数据库系统的主要内容和框架的评测。
(1) 数据库原理部分:主要评测学生在数据库的数据结构设计、数据库系统总体设计以及数据库安全保护方面完成的工作。
(2) 数据库设计部分:主要评测学生如何将现实系统的数据通过某种数据模型组织起来,并利用DBMS系统提供的功能,完成结构及其约束的建立。
(3) 数据库应用部分:主要评测现实系统业务逻辑的实现,即通过某种应用模式(C/S模式、B/S模式)和某些(个)程序设计语言、开发技术和工具,在数据库设计以及DBMS平台支持的基础上,实现现实系统的业务功能,为用户提供友好和人性化的业务操作界面。
该环节的目的是使学生对于理论课中涉及的内容和自学内容进行综合实践以达到对它们之间关系的清晰理解,实现理论与实际的紧密结合。
2.4.2严格把关和考核,确保每一名学生在课程设计中得到实实在在的锻炼
由于课程是在学生第七学期开设,并且贯穿整个学期,很多学生面临考研或其他一些毕业前的事务,为了防止有些学生对课程设计任务敷衍了事,我们对课程设计的考核方法进行了详细规划,实施过程考核,而不是结果考核。具体考核步骤主要分为以下几个方面。
(1) 开题阶段:在第1~3周进行,要求每组写一份开题报告,包括课题内容、建立的需求分析及总体设计、小组成员任务分配、具体时间分配计划等,审验合格后方可进行系统开发。
(2) 中期检查:在第8~9周开展,根据计划表检查学生开发进度,纠正问题,督促学生按计划开展课程设计。
(3) 系统验收:在第13周进行,学生演示系统,说明和解释运行效果。考查的重点:每名学生是否完成了分配的任务以及任务量的多少、完成情况等。通过该阶段以后方可进入答辩阶段。
(4) 答辩:在第14周进行,每组学生指派一名代表进行陈述,然后进入教师提问环节(可提问小组中任何一名学生,为了鼓励学生参与提问,凡是提问的学生可以获得成绩加分)。考查的重点:陈述是否清晰、回答问题是否正确。
(5) 课程设计报告:报告的编写是考查一个学生总结工作,撰写科技论文的能力。考查的重点:报告是否内容完整、充实,条理是否清楚,格式是否符合科技文章规范。
以上各个方面考查的结果,进行汇总和综合评判,最后得出评分。
3数据库课程设计的创新点
3.1整合课程
目前在我国项目管理人员奇缺,大多数项目负责人在技术上能独当一面,而项目管理方面的知识缺乏,并且普遍存在着“重技术,轻管理”的思想,因此导致项目开发效率低、花费大。我们在课程设计中结合软件工程课程中学习的项目开发管理思想,对整个课程设计任务进行全面管理与实施,树立工程概念,培养团队合作精神。主要从以下几个方面强调管理理念。
(1) 认真执行需求分析与需求管理。
(2) 合理制订时间执行计划,记录与分析时间分配效果,积累时间分配经验。
(3) 个人分工明确,团队合理协作,通过全过程管理理念的贯彻,提高学生的管理能力,培养学生团队合作进行项目开发的素质。
同时各项目小组在课程设计的各个阶段还需填写阶段性报告,包括项目开发计划、小组角色的职责、需求规格说明书、概要设计说明书、详细设计说明书、项目开发日志等。
通过全过程管理理念的贯彻,提高学生的管理能力,培养学生团队合作进行项目开发的素质。
3.2丰富选题
教师推荐部分设计题目供学生选择,学生也可以自拟题目课题。但是课题的选择要由教师把关,主要依据以下几个原则。
(1) 随着Internet和Intranet的普及,网络数据库应用需求越来越广泛,因此课题注重开发基于B/S或C/S结构的网络数据库系统,以适应时代需要。
(2) 选题要求学生尽量选择实际需求的题目,这样学生不仅可以走出“象牙塔”,通过调查走访,了解国内计算机应用发展的状况,开阔眼界,而且在开发一个真实项目中,带来求学的动力,激发自主学习的渴望以及创造力。
(3) 对于虚拟题目,要求学生切合实际需要,符合发展潮流。
3.3工具多样
市场实际可用的编程开发工具与日俱增,且不断更新,为此在课程设计中,对于学生到底选择哪种开发工具,不做过多限制,鼓励学生自主选择,使学生可以选择自己感兴趣的程序设计工具进行系统开发,一方面锻炼他们自学的能力,另一方面也让学生成为项目开发的决策者,这种“主人翁”意识使得他们变被动学习为主动学习,实践证明学生自主学习的积极性和主动性直接决定了项目开发的成与败。
实际运作中教师会随时了解开发工具的发展形势,提出指导性意见,使学生根据选题“量身订做”工具,避免所选工具“大材小用”;跟上当前发展方向,实践技术“与时俱进”。同时,要求学生以讲座形式分类介绍所用新的开发工具,讲解自己学习新开发工具之后的体会,通过这种研究性的学习方式,避免学生重复学习、盲目学习,同时打开眼界,更加广泛了解技术发展局势。
3.4彰显个性
在完成数据库应用系统基本功能的基础上,鼓励学生运用安全技术、多媒体技术和美术功底等突出系统特色,完善系统性能,培养学生综合运用知识和创新的素质。
主要在以下几方面做进一步要求。
(1) 强调系统中信息安全保护的实现,把理论课中关于“数据库安全保护”的教学内容应用到所开发的系统中,学以致用。
(2) 用户界面友好、设计合理、画面优美反映系统设计人员的审美意识,强调色彩的协调,布局的合理,操作的方便。
(3) 各组之间允许选题相同,但必须突出本组特色,使学生通过竞争,努力发挥个人特长和创新意识。
3.5理论联系实际
系统的评测按照数据库系统的总体结构进行,从而达到对数据库系统的主要内容和框架进行评测,使学生对于理论课中涉及的内容和自学内容进行综合实践,以达到对它们之间关系的清晰理解,实现了理论与实际的紧密结合。
3.6过程评测
课程设计分阶段,每阶段设有检查与评估,既做到及时指导,又确保督促每一名学生在课程设计中得到实实在在的锻炼。考核依据环节的特点进行不同形式的考评,不仅培养学生的语言表达能力、编写技术文档、科技论文的能力,而且可以发现有组织能力的人才。
4实践效果
依据汇总的五轮评测统计表格可以看到,学生在课程设计中,学习积极性高涨,开发出来的系统形式多样,有单机版、C/S或B/S结构的网络版,甚至C/S和B/S结合的网络版,使用的数据库管理系统从小型DBMS,如VFP、ACCESS到大型DBMS,如SQL Server、Oracle等,前台开发工具从传统的Delphi、VB到先进的.Net、Java等,学生们普遍乐于挑选新工具、新技术,积极检索学习资料,参与网上BBS技术论坛,相互讨论,全面体验网络学习环境的乐趣。各组学生除了完成系统应具备的功能外,都在努力突出系统性能特色,完善系统功能,发挥本组同学的特长。各组开发的系统基本符合课程设计总目标的要求,并有几个系统成为他们工作后继续研究的方向。
通过数据库课程设计,表现出大部分学生具备参与一个项目开发的基本能力,并使他们动手实践、自主学习、积极创新等科学素质得到很好的培养,反映出课程设计大大提高了学生综合应用所学知识的素质,说明我们培养的学生具备终生学习的能力,能够适应社会发展的需要。
5小结
学习是人生的一个环节,就业是大学学习后的现实目标。面对严峻的就业形势,培养学生的实际动手人力,提升他们的竞争能力,是教师的责任。在课程教学过程中不断探索新方法,开展课程教学过程的改革,是教师的必须任务。这里所做的数据库课程设计改革,意在与大家共同探讨如何帮助学生摆脱“没有工作经验”难于就业的尴尬局面。
参考文献:
[1] 钱雪忠. 数据库原理及技术课程设计[M].北京:清华大学出版社,2009.
[2] 苗雪兰. 数据库系统原理及应用教程[M]. 北京:机械工业出版社,2004.
[3] (美)Stephen R.Schach.面向对象软件工程[M]. 黄林鹏,等译.北京:机械工业出版社,2008.
[4] 张海藩. 软件工程[M]. 北京:人民邮电出版社,2006.
The Training for Students’ Project Developing Ability in Database Course Design
WANG Yan-hong, ZHANG Xiao-li, JIANG Xiang-gang
为期10天的课程设计将要结束了。在这两周的学习中,我学到了很多,也找到了自己身上的不足。感受良多,获益匪浅。
这10天中,我们小组分工合作、齐心协力,一齐完成了课程设计前的准备工作(阅读课程设计相关文档)、小组讨论分工、完成系统开发的各个文档、课程设计总结报告、小组汇报PPt、个人日记,个人小结的任务。在课程设计的第一天我们便对这次任务进行了规划和分工。在以后的几天中,我们组的成员一齐努力,查阅资料、小组讨论、对资料进行分析,并在这段时间里完成了网站的开发设计,并最后撰写课程设计报告及个人总结。我的主要工作是完成课程设计总结和制作PPt,并上台汇报。应对这样的任务,我开始真的很担心,不是害怕要写那么多资料,而是怕站在讲台上,应对那么多的人,我怕讲不出话来。有过两次上台经验的潘同学就耐心的给我传授一下他的心得。而且这是我们必经的过程,以后走入社会肯定会有很多场合需要我们在公共场合讲话,此刻如果不去讲的话,那以后我们怎样办呢?还是硬着头皮上吧,没有别的选取了。
在课程设计的过程中,我们经历了感动,经历了一齐奋斗的酸甜苦辣。也一齐分享了成功的喜悦。这次的课程设计对我们每个人来说都是一个挑战。课程设计中文档的撰写我从来就没有担心过,就是网站的设计我真的很担心,平时对这方面的知识接触的就不是很多,而且对于软件我就更抓狂了。这时候小组的力量就体现出来了,各司其职,各尽其能。发挥了群众的效用。
在这个过程,我受到了好多帮忙,一句温暖的话语,一杯热热的咖啡,让人有无比的动力和解决问题的决心。其实这次的课程设计我的最大的感受不是知识的获得,而是人格的磨练和交际的潜力。
和大家想的一样我们也会产生一些小矛盾,当然这是不可避免的。在产生小矛盾的时候,我们没有逃避。重要的是我们如何去解决它。为什么会产生这些矛盾,以怎样的方式去解决它,这是我们就应去思考的问题。我想经过这样的一个过程我们会学到很多,学会了怎样去和别人沟通,理解别人所做的事,别人也会宽容的对待我们,从而我们就在无形之中加强了我们的人际交往潜力。这个经验对我们以后的人生将会发挥很大的作用。毕竟我们是生活在人类这个群体之中的。假如世界上只剩下一个人,那么他不可能长久的生活下去的。[由整理]
课程设计这样群众的任务光靠团队里的一个人或几个人是不可能完成好的,合作的原则就是要利益均沾,职责公担。如果让任务交给一个人,那样既增加了他的压力,也增大了完成任务的风险,降低了工作的效率。所以在群众工作中,团结是必备因素,要团结就是要让我们在合作的过程中:真诚,自然,微笑;说礼貌用语;不斤斤计较;多讨论,少争论,会谅解对方;对他人主动打招呼;会征求同学的意见,会关心同学,会主动认错,找出共同点;会理解帮忙,信守诺言,尊重别人,持续自己的特色。
课程设计结束了,但我们一齐奋斗的精神和这份宝贵的经历将会成为人生道路上一道亮丽的风景线。
课程设计总结(二):
1、透过这次课程设计,加强了我们动手、思考和解决问题的潜力。在整个设计过程中,我们透过这个方案包括设计了一套电路原理和pcb连接图,和芯片上的选取。这个方案总共使用了74ls248,cd4510各两个,74ls04,74ls08,74ls20,74ls74,ne555定时器各一个。
2、在设计过程中,经常会遇到这样那样的状况,就是心里想老着这样的接法能够行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。
3、我沉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试资料有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。
平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。而且还能够记住很多东西。比如一些芯片的功能,平时看课本,这次看了,下次就忘了,透过动手实践让我们对各个元件映象深刻。认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。所以这个期末测试之后的课程设计对我们的作用是十分大的。
4、在制作pcb时,发现细心耐心,恒心必须要有才能做好事情,首先是线的布局上既要美观又要实用和走线简单,兼顾到方方面面去思考是很需要的,否则只是一纸空话。
5、在画好原理图后的做pcb版时,由于项目组成员对单面板的不熟悉,导致布线后元件出此刻另一边,增加了布线难度,也产生很多不曾注意的问题,今后要牢记这个教训,使以后布线更加顺利。
6、经过两个星期的实习,过程曲折可谓一语难尽。在此期间我们也失落过,也曾一度热情高涨。从开始时满富盛激情到最后汗水背后的复杂情绪,点点滴滴无不令我回味无长。
生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。透过实习,我才真正领略到“艰苦奋斗”这一词的真正含义,我才意识到老一辈电子设计为我们的社会付出。我想说,设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会,但我们能够,而且设计也是一个团队的任务,一齐的工作能够让我们有说有笑,相互帮忙,配合默契,多少人间欢乐在那里洒下,大学里一年的相处还赶不上这十来天的合作,我感觉我和同学们之间的距离更加近了;我想说,确实很累,但当我们看到自己所做的成果时,心中也不免产生兴奋;正所谓
“三百六十行,行行出状元”。我们同样能够为社会作出我们就应做的一切,这有什么不好我们不断的反问自己。也许有人不喜欢这类的工作,也许有人认为设计的工作有些枯燥,但我们认为无论干什么,只要人生活的有好处就可。社会需要我们,我们也能够为社会而工作。既然如此,那还有什么必要失落呢于是我们决定沿着自己的路,执着的走下去。
同时我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,务必发扬团结协作的精神。某个人的离群都可能导致导致整项工作的失败。实习中只有一个人明白原理是远远不够的,务必让每个人都明白,否则一个人的错误,就有可能导致整个工作失败。团结协作是我们实习成功的一项十分重要的保证。而这次实习也正好锻炼我们这一点,这也是十分宝贵的
对我们而言,知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次实习必将成为我人生旅途上一个十分完美的回忆!
透过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手潜力和独立思考的潜力。在设计的过程中遇到问题,能够说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
这次课程设计最后顺利完成了,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,最后游逆而解。同时,在老师的身上我们学也到很多实用的知识,在次我们表示感谢!同时,对给过我帮忙的所有同学和各位指导老师再次表示忠心的感谢!
7、此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作就应更简单,自己也都能扛的起并高质量的完成项目。
8、在此,感谢于老师的细心指导,也同样谢谢其他各组同学的无私帮忙!
课程设计总结(三):
透过此次课程设计,使我更加扎实的掌握了有关高频电子线路方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查最后找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,透过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获龋最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计最后顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,最后游逆而解。在今后社会的发展和学习实践过程中,必须要不懈努力,不能遇到问题就想到要退缩,必须要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!
课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。透过这次课程设计,我掌握了常用元件的识别和测试;熟悉了常用仪器、仪表;了解了电路的连线方法;以及如何提高电路的性能等等,掌握了焊接的方法和技术,透过查询资料,也了解了收音机的构造及原理。
我认为,在这学期的实验中,不仅仅培养了独立思考、动手操作的潜力,在各种其它潜力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要应对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮忙。以后,不管有多苦,我想我们都能变苦为乐,找寻搞笑的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都能够在实验结束之后变的更加成熟,会应对需要应对的事情。
回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,能够说得是苦多于甜,但是能够学到很多很多的东西,同时不仅仅能够巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。透过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手潜力和独立思考的潜力。在设计的过程中遇到问题,能够说得是困难重重,但可喜的是最终都得到了解决。
实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一齐体会喜悦的情绪。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。
此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。
课程设计总结(四):
对于此次课程设计,我早在寒假就借了linux相关书籍参看,但上面讲的主要是有关linux操作方面的资料,编程方面讲得很少,而且在假期中也并不明白课设的题目是什么,因此此次课设基本上都是在开学后的这两周内完成的。
以前做过的软件方面的课设如c语言课设、数据结构课设都是在假期完成的,由于自己是一个十分追求完美的人,因此几乎每次都花了将近大半个假期的时间来做,如c语言就花了一个多月的时间来做,分数当然也较高,有90来分。对于课程设计,我历来都是相当认真的,此次操作系统的课程设计当然也不例外。但是linux以前没怎样接触过,学校也没怎样系统地讲过,在刚接到题目时除了明白如何用gcc编译等等,几乎能够算作处于一无所知的状态。时间紧任务重,要从对linux一无所知的状态到独立出色地完成课设,不下点苦功夫是不成的。那两周里我除了吃饭睡觉几乎就没离开电脑过,有时时间晚了食堂关门饭都没得吃了。最后,在这样近乎玩命地学习工作下,身体撑不住了,在第二周周三晚上我发烧了。但是眼看就要到检查的日期了,而我的课设也就快完工了。我不想因为看病而耽误下去弄得前功尽弃,因此只买了点药,继续在电脑前拼命
……最后,总算赶在周五检查前做出了较满意的作品。
在周五检查那天,老师看了我第4题后,又抽查了一下我的第3题,其实也只是要我把第3题运行一下而已罢了。若放在平时,这绝对是小菜一碟,但当时正在发烧,加上一点紧张,居然把模块加载命令insmodfdev.o错打成insmodfdev.c了,由于这个低级失误造成心中慌乱,于是后面的一条生成设备文件命令mknod干脆就照着参考资料打上去了。于是老师认为我不熟,在那题上打了个半钩。当时心里确实感到十分地遗憾和沮丧,心想所谓“台上一分钟,台下十年功”,一分钟若把握不好,也同样尽毁十年功啊!
但最后,我最后明白,分数但是是个数字,知识才是自己的。透过这次课程设计,我确实学到了很多东西,多年后我可能已经忘记这次课设最后打了多少分,但这些学到的东西却能够使我受益终生。除了知识技术上的东西,我更锻炼了自己的快速学习潜力;我学会了如何快速有效地从图书馆、网络获取自己需要的信息;我尝到了在周围很多同学拷来拷去时孤军奋战的痛苦;我体会了夜以继日完成一个项目时中途过程的艰辛及最终完成后巨大的成就感……我更加深了人生的信心,以后应对任何一个困难的项目,我想我都不会惧怕,并最终能够成功地将其完成。
感谢老师,感谢此次课程设计。虽然在其中吃了不少苦头,但我毫不后悔,因为我满载而归。
课程设计总结(五):
整个设计透过了软件和硬件上的调试。我想这对于自己以后的学习和工作都会有很大的帮忙。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有必须的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题务必要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于教材管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新潜力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是能够借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。因此能够说系统的设计是软件和硬件的结合,二者是密不可分的。透过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。
这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生用心的影响。其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我们的设计以极大的帮忙,使我们获益匪浅。因此十分感谢老师的教导。透过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要好处,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名软件工程专业的学生,这次课程设计是很有好处的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法透过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮忙和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。
我认为这个收获就应说是相当大的。一开始我们从参考书上找来了课题,但是毕竟是参考书,做到之后发现很多程序都是不完整的,这让我们伤透了脑筋。看着别的小组都弄得有模有样了,但是我们连一个课题都还没有定好。好不容易又找到了课题,但是结果还是很不尽人意。程序接线什么的都弄好了,调试也没有问题,但是就是无法到达预期想要的结果。参考书毕竟只是一个参考,设计这种东西最后还是要靠自己动脑筋然后我们大家一齐齐心协力,从平时做的实验老师上课的举例书本上的知识以及老师的辅导和其他同学的帮忙下最后完成了。就应说这是透过我们小组成员的共同努力和动脑完成的,虽然资料并不是很复杂,但是我们觉得设计的过程相当重要,学到了很多,收获了很多。我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点能够联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合相处,以及自身的动脑和努力,都是以后工作中需要的。
所以我认为这次的课程设计好处很深,和其他4位同学的共同学习配合努力的过程也很愉快,另外还要感谢老师的耐心辅导。
课程设计总结(六):
本学期实时测量技术实验以电子设计大赛的形式,老师命题,学生能够选取老师的题目也能够自己命题,并且组队操作其他的事情(包括设计总体方案、硬件电路、软件设计、焊接、调试等工作)。趣味性强,同时也能够学到很多东西。
我们认为,在这学期的实验中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们透过查找超多资料,请教老师,以及不懈的努力,不仅仅培养了独立思考、动手操作的潜力,在各种其它潜力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要应对社会的挑战,只有不断的学习、实践,再学习、再实践。
之所以使用avr单片机作为我们的执行核心,不仅仅是因为老师说avr此刻是社会上应用比较多的单片机,也因为想透过使用avr锻炼自己的c语言编程潜力,养成良好的c语言编程风格。不管怎样,这些都是一种锻炼,一种知识的积累,潜力的提高。完全能够把这个当作基础东西,只有掌握了这些最基础的,才能够更进一步,取得更好的成绩。很少有人会一步登天吧。永不言弃才是最重要的。
而且,这对于我们的将来也有很大的帮忙。以后,不管有多苦,我想我们都能变苦为乐,找寻搞笑的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都能够在实验结束之后变的更加成熟,会应对需要应对的事情。
与队友的合作更是一件快乐的事情,只有彼此都付出,彼此都努力维护才能将作品做的更加完美。而团队合作也是当今社会最提倡的。以前听过,mba之所以最近不受欢迎就是因为欠缺团队合作的精神和技巧。
电压电流测量装置虽然结束了,也留下了很多遗憾,因为由于时间的紧缺和许多课业的繁忙,并没有做到最好,但是,最起码我们没有放下,它是我们的骄傲!相信以后我们会以更加用心地态度对待我们的学习、对待我们的生活。我们的激情永远不会结束,相反,我们会更加努力,努力的去弥补自己的缺点,发展自己的优点,去充实自己,只有在了解了自己的长短之后,我们会更加珍惜拥有的,更加努力的去完善它,增进它。只有不断的测试自己,挑战自己,才能拥有更多的成功和快乐!tous,happinessequalssuccess!快乐至上,享受过程,而不是结果!认真对待每一个实验,珍惜每一分一秒,学到最多的知识和方法,锻炼自己的潜力,这个是我们在实时测量技术试验上学到的最重要的东西,也是以后都将受益匪浅的!
对本学期实验的评价
趣味性强,不仅仅锻炼潜力,而且能够学到很多东西,在与老师和同学的交流过程中,互动学习,将知识融会贯通。老师提出的革新十分的好,认为本学期的实验模式十分实用。但是提议能够申请将课程浓缩,在必须时间内只做这个,只有高度的集中才能作出好的东西。时间的紧缺成为一个很大的问题。也期望老师能够为我们明白一下以后的发展方向。如果能够让每个人都有动手焊接以及参与其他的各个流程,有专门的明白就更好了。
电压电流测量的遗憾
如果能够制作出多量程的电压电流测量并且使用更高精度的装置就更好了。
但是对于我们这些初学者来说,能够到达这个程度,相信也已经能够相当骄傲了!再接再厉!fight!!!
项目成员贡献排序
尹聪软件设计,硬件分析与调试,ppt报告资料设计,论文负责
神祥娜网页设计,ppt报告效果处理,论文负责
危清玉硬件焊接,论文负责
团队管理的体会
与队友的合作更是一件快乐的事情,只有彼此都付出,彼此都努力维护才能将作品做的更加完美而团队合作也是当今社会最提倡的。以前听过,mba之所以最近不受欢迎就是因为欠缺团队合作的精神和技巧。
课程设计总结(七):
这次是第一次工程制图的课程设计。我没有什么经验,拿到课程设计任务书,我大致浏览了一下:1、课程设计的资料和要求;2、课程设计图纸资料及张数;3、实验资料及要求;4、课程设计进程安排。以及三张需要画的图:二层结构平面图,基础祥图,基础平面图。
首先要掌握结构工程图的制图规范,具体的规范在平时的学习中老师已经强调过了,所以不必在学习。其次,解决手工绘图与计算机绘图的技术难题。还有其他东西在具体的绘图过程中逐步改善。
我第一张画的是二层平面图,透过读图了解了画法的特点及要求:比例(1:100),定位轴线(横轴线为1~7,纵轴线为A~e),图线(被剖切到的墙柱轮廓线用粗实线,没有剖切的用中实线,其他用细实线),投影要求,尺寸及其他标注(根据具体的图例自行调整)。之后,按照规范的绘图步骤进行绘图:1、画基准线。即按尺寸画出房屋的横向和纵向定位轴线;2、画主要墙体和柱子的轮廓线及次要结构的轮廓线;3、按规定画窗图例及细部构造并注写尺寸和文字说明等。在绘制第一张图的过程中也遇到了不少麻烦,图上有几个地方的尺寸表示不清楚,给绘图带了困难,透过与老师的讨论最终解决了,还有是画图的铅笔有粗细,造成了图线出现了粗细不等,还有夏天容易出汗,一不留意容易弄脏图纸。好在这些问题最后都一一解决了。
之后一天是老师检查进度和讲评,透过检查进度,老师了解到大家普遍的问题和遇到的困难,并一一解决了。使我们有了新的认识,能够更好的完成课程设计。我也总结了第一张图的问题及积累的经验,继续下一阶段的绘图。
第二张是基础平面图,与平面图有必须的区别。图示的方法不同,基础平面图是在土方开挖、基础做好、未回填土前假想用一个水平面沿地面将房屋切开,向下投影所得的全部面视图。画法特点及要求在平面图的基础上增加了基础梁、柱的代号表示,才用汉语拼音的缩写;剖切符号,规定为:1、外部按顺时针方向从左下角开始编号,2、内部横向从左至右,从上至下编号,3、内部纵切从上至下,从左至右;图示资料。我再按照绘图步骤一一完成了绘图。有了第一张的经验,这张顺利了好多了。
第三张是基础祥图。基础详图是基础平面图的配合图,透过配合来表达完整的基础状况。画法特点及要求:图线,比例(1:20),定位轴线,基础祥图定位轴线与基础平面图一致,图例(剖切的断面需要绘制材料图例),尺寸标注。第三张图的绘图量比效小,因此比较简单的就完成了。这张图要求附带一张基础与基础梁的表,节省了画图的工作量。
完成了三张图之后,要完成课程任务书,按照绘图的步骤及遇到的问题一一填好。最后是完成课程设计小结,本次设计的小结就是把绘图过程中的问题、心得、体会写出来。
课程设计总结(八):
时光飞逝,岁月如歌,繁忙的两周课程设计转眼间就结束了。在这两周的时间里,我们每一天在寝室─教室-食堂这三点一线的生活里,让我们回忆起了那高中时代的点点滴滴,那久违的充实的而又温馨的气息涌入心头,而这两周时光也成为我在大学两年里最为充实的学习时间。虽说每一天8节课的的安排对于我们大学生来说,有点不可思议,但我们还是坚持着并沉浸在这课程设计的完美时光之中。
在这两周的课程设计的学习中,前两周我们忙于铜精炼反射炉的计算,而后一周我们则进行着铜精炼反射炉的图纸的设计。在前一周的计算过程不仅仅检验者我们对有色冶金原理及设备的课程知识的了解及掌握程度,同时也培养了我们将所学知识同理论实际相结合的潜力。而且,在设计过程中,当我们遇到问题时,我们同学之间相互讨论,相互学习,相互监督,加强了同学之间的友谊,也让我们学会了合作,学会了宽容,学会了理解,学会了做人与处世。
年产2.2万吨铜精炼的反射炉设计使我们也进工程专业的必修功课,也是对我们有色冶金化工过程原理及设备专业知识的综合应用的实践训练,是我们巩固、学习、运用专业知识必要的过程。同时,也是我们由学校迈向社会,从事职业工作前的必不可少的过程,所谓“千里之行,始于足下”,的确是真实的体现出来。透过这次课程设计,我深深的体会到了这句真理的的内涵,我此刻认真的进行课程设计的任务,学会理论联系实际,学会脚踏实地的迈开人生的一步就是为了明天的辉煌,为明天能稳健的在社会大潮中立足打下了坚实的基础。
透过这次课程设计,我在各方面都有了必须程度的加强,透过对反射炉的计算及结构图的设计,加强了对铜冶炼知识的了解及掌握,同时,综合运用本专业所学知识及理论和生产实际的知识进行了一次同精炼反射炉的设计工作的实际问题从而培养基加强了我们的学习独立自主潜力,巩固和扩从了有色冶金化工设备原理及设备等课程的资料,掌握了铜精炼反射炉的设计方法及步骤,掌握了铜精炼反射炉设计的基本知识,怎样确定设计方案,了解反射炉的基本结构,提高了计算潜力及绘图的潜力,熟悉了规范和标准,同时各科有关的的课程度有了全面的复习,独立思考的潜力也得到显著的提高。
在这次设计过程中,体现出自己单独设计反射炉的潜力及综合运用知识的潜力,体现了学以致用,突出劳动成果的喜悦情绪。同时,也从这次课程设计中发现了自已平时的学习的不足与薄弱环节,而这些也将是我们今后学习与工作需加强的方面。
在这课程设计结束之际,我衷心的感谢我们的课程设计郭年祥老师,郭老师教学严谨细致,一丝不苟的作风,固然让们倍感不适应,但他的这种态度正是当今社会所需要的,是我们今后学习工作所需具备的潜力。同时,感谢那些帮忙过我的同学们,谢谢你们对我的帮忙与支持,让我倍感温馨与充实。
最后,由于本人的专业知识及对实际问题的了解程度有限,在设计过程中难免出现错误,恳请老师多多指点,我十分乐意理解你们的批评与指正,谢谢!
课程设计总结(九):
课程设计总结
经过一个学期对《c++程序设计》的学习,我学习到了基本的理论知识,了解到了c++语言程序设计的思想,这些知识都为我的课程实践和进一步的学习打下了坚实的基础。在为期近两周的c++课程设计中,我体会颇多,学到了很多东西。我加强了对c++程序设计这门课程的认识,并且复习了自己以前学习到的知识。这些都使得我对计算机语言的学习有了更深入的认识!总之,透过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。像职工信息表这样的程序设计,经历了平时在课堂和考试中不会出现的问题和考验。而这些问题,这并不是我们平时只靠课本,就能够轻易解决的。所以,锻炼了我们挑战难题,学会用已掌握的知识去解决具体问题的潜力,进一步培养了独立思考问题和解决问题的潜力。个性是学会了在Visualc++中如何调试程序的方法。当然,老师的指导和同学的帮忙也是不可忽视的,他们给了我许多提示和帮忙,教会了我编译复杂程序的方法。
在老师和同学的帮忙下,透过自己的努力,最后完成了这次职工信息表的简单课程设计。我经过这段时间的编程,对其中的艰辛,我是深有体会。从刚开始的选取程序、理解程序到之后的调试程序以及改善程序这个过程中,我遇到了各种各样的困难和挫折。但是我坚定信念,对自己充满了信心,想尽一切办法克服重重困难。
透过课程设计的训练,我进一步学习和掌握了对程序的设计和编写,从中体会到了面向对象程序设计的方便和巧妙。懂得了在进行编写一个程序之前,要有明确的目标和整体的设计思想。另外某些具体的细节资料也是相当的重要。这些宝贵的编程思想和从中摸索到的经验都是在编程的过程中获得的宝贵财富。这些经验对我以后的编程会有很大的帮忙的,我要好好利用。
虽然这次课程设计是在参考程序的基础之上进行的,但是我觉得对自己是一个挑战和锻炼。我很欣慰自己能在程序中加入自己的想法和有关程序资料,也就是对它的程序改善了一番改善,并有创新但是我感觉自己的创新还不够典型,总之还不是很满意。另外由于时间的紧迫和对知识的了解不够广泛,造成了系统中还存在许多不足,功能上还不够完善。以后我会继续努力,大胆创新,争取能编写出透射着自己思想的程序。这次课程设计让我充分认识到了自己的不足,认识到了动手潜力的重要性。我会在以后的学习中更加努力锻炼自己,提高自己,让自己写出更好更完善的程序,为以后的编程打好基础!
总而言之,这次c++程序设计实践让我收获很大。
课程设计总结(十):
这次课程设计最后顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,最后游逆而解。在今后社会的发展和学习实践过程中,必须要不懈努力,不能遇到问题就想到要退缩,必须要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!
课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。
本次毕业设计是为了培养我们的动手潜力,同时也让我们对单片机有更为直观的了解,对其相关软件了解并熟悉使用,我了解了keilc51软件包含的窗口及其功能,且学会使用Proteus软件进行仿真。透过此次毕业设计,明显的改善了,首先对于硬件电路的工作原理有了进一步的学习,同时有了一个提升;软件方面,在程序的设计,程序的调试方面都有了很大的进步。到如今才明白它有这方面的实用,期望能运用到实践中设计出更好更完整的系统。在王老师的指导下,我对51单片机的概念有了深刻的理解。为透过这次的设计我也学到了许多实际的东西,也让我提高了独立做事和动手的潜力。
本学期学习单片机的课时不多,对单片机的硬件设计,软件设计掌握的深度不够,但透过此次课程设计,明显的改善了,首先对于硬件电路的工作原理有了进一步的学习,同时有了一个提升;软件方面,在程序的设计,程序的调试方面都有了很大的进步。
在一个好的氛围里才能踏下心来做东西,在这一段时间里,寝室成员都认真对待这次课程设计,除了自己做好自己的课题外,在遇到不懂的地方互相讨论,查阅资料,互助解决问题。透过单片机的设计,不断的发现错误,修改错误,在一个设计项目中都是一个团队协作,一个人的潜力和知识都是有限的,要有较强的团队协作精神,组员之间互补。
透过这次课程设计,我体会到了成功的喜悦,听着自己设计的程序下载到单片机中播放出音乐,心理十分自豪。这次的课程设计在必须程度上改变了我学习单片机这门课程的态度,从最初的认为学它没有什么实际好处,到如今爱上单片
机学习,并期望能将理论运用到实践,设计出更好更完整的系统。我明白了一个人要想做好一件事,就务必具备自信心,耐心,还要有毅力,要胆大心细,要勇于尝试,要手脑并用,最后才能交出一份令人满意的答卷。在这个过程中,老师的付出最多,给我们指导,为我们讲解,给我们检查错误,在此表示感谢。
课程设计总结(十一):
课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践潜力的重要环节,是对学生实际工作潜力的具体训练和考察过程。此次课程设计依然是分组进行的,我们组的课程设计题目是方波信号发生器频率漂移及跟踪校正控制。透过此次课程设计,使我更加明白计算机的重要性,也让我对Proteus软件有了更深刻的了解。以前对Proteus的了解只是皮毛,透过在网上查询才明白Proteus是世界上著名的eDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PcB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PcB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、Hc11、PIc
10/12/16/18/24/30/DsPIc33、AVR、ARm、8086和msP430等,2019年即将增加cortex和DsP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、keil和mPLAB等多种编译器。
在这次设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查最后找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,透过亲自动手,使我们掌握的知识不再是纸上谈兵。
课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。透过这次课程设计,我对PID控制算法有了进一步的认识,也弥补了因当时只为了课程期末考试而只关注了它的表面而遗留下的不足。
回顾起此次计算机控制课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在这一星期的日子里,时间是很紧迫的,也能够说得是苦多于甜,但是能够学到很多很多的的东西,同时不仅仅能够巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。透过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手潜力和独立思考的潜力。在设计的过程中遇到问题,能够说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说PID控制算法怎样才能在真正的应用中发挥作用,怎样才能让它到达比较完美的纠正效果
……透过这次课程设计之后,必须把以前所学过的知识重新温故。
我认为,在这次的课程设计中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们透过查找超多资料,请教同学,使我在专业知识和动手实践方面都得了到很好的提升。此次课程设计的成功,少不了同学的热心帮忙,以及小组中其他成员的大力配合。没有大家的默契,也收获不了今日的成功,在课设的过程中每一个人都努力查找资料,仔细检查,认真核对,都付出了自己的努力和艰辛,在此,谢谢所有人的努力和帮忙,才使这次课程设计能够得以顺利地完成。
此次设计让我更加明白团队精神的真实含义与其可贵之处;让我明白了有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识。
课程设计总结(十二):
此次课程设计最后结束了,在这次的课程设计中我的任务是设计一个小学生数学考试系统,透过这次课程设计不仅仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分享学习心得,和同学们相互探讨,相互学习,相互监督让我学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。
课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,透过这次课程设计,我深深体会到这句千古名言的真正含义.我这天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.
透过这次数据结构的课程设计,本人在多方面都有所提高。
在这次设计过程中,让我对利用栈求表达式的值有了更深层次的学习和运用,透过查阅超多的资料,发掘出自己单独设计的潜力以及综合运用知识的潜力,体会了学以致用、突出自己劳动成果的喜悦情绪,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
中图分类号:G642 文献标识码:B
程序设计是计算机专业学生必须掌握的专业技能,我校对该类课程的教学十分重视,学生的学习兴趣也都很高,但教学效果普遍不太理想。我们结合近年来从事实践教学的经验,就计算机程序设计类课程的实验教学模式的改革做了以下探讨。
1注重教学内容的系统性与科学性
程序设计类课程之间的内容具有一定的连贯性,如目前大多数的院校先在一年级开设C或C++,接下来就是基于C或C++的数据结构和面向对象程序设计,因此我们一定要合理、科学地安排这些课程的实验教学内容。如在C语言课程中除了讲授基本的程序设计的语法使用、程序设计的思想之外,还必须花一定的时间讲解结构和链表,以及逐步灌输面向对象一些思想,为后继C++和数据结构等课程打好基础,注意内容的系统性,避免重复[1,2]。
注意教学内容的不断更新。计算机技术的发展非常迅速,我们应该根据学科发展、经济发展及市场人才的需求来及时地更新教学内容。我院从最初的“Pascal语言程序设计”、“C语言程序设计”到后来采用以C++语言为主要编程语言。如在程序设计基础课程中以C++作为基础语言,在“数据结构”课程中以C++语言代替C语言,在数据库课程中以Visual C++作为前台开发的实验环境。近年来根据社会对计算机专业人才的需求以及程序设计发展的趋势,目前我院计划计算机专业学生以Java作为基础语言课程(软件专业继续开设C++语言课程),并增开基于.net的相关课程。
2实验教学和理论教学有机结合
将实验教学与课堂讲授有机结合起来,进行恰当衔接,可以提高学习效率。首先,教师必须充分准备好实验的内容,及时解决学生实验过程中遇到的问题,同时采纳学生提出的合理化意见并及时改进。其次,在每周一次的教研活动时,同门课程的教师可集体备课,研究教材与实验教学的方法,讨论学生的学习情况,交流心得,研究考
试及评分方法。
理论课教师需兼上实验课,这样可以了解学生的实验课情况,并经常把学生出错的问题和难理解的问题通过课堂再次讲解,同时应与本课程的其他实验课教师沟通交流,便于课堂教学的改进,把理论课与实验课统一组织、计划,避免理论课与实验课脱节。
3注重基本技能的训练,培养学生分析解决问题的能力
(1) 基本技能的训练
程序设计类课程是实践性非常强的课程,通过基本语法知识、基本算法的学习,最后形成一系列的基本技能,包括语法知识的灵活运用、上机调试技巧、编写代码等。因此在实验教学中应有意识地进行这些方面的训练,比如带领学生读一些经典的程序,分析经典的算法并进行模仿,上机调试程序并对运行结果进行评析,对已有程序进行修改实现新的功能。通过以上训练,学生既复习了基本的语法知识,又获得了一定的技巧。
实验教学是教师和学生的共同活动。但是目前一些学生基础比较薄,动手能力和独立工作能力相对也较差,加上或多或少的惰性,因此依赖教师的情况比较严重。为此我们在实验教学中开展了协作式教学方法,增加了学生与教师的互动,培养学生分析解决问题的能力,收到了良好的教学效果。
(2) 开展协作式教学法
学生成立学习小组,每组4~5人,在每次实验课和课余时间,每个小组对教师事先布置的内容进行讨论,并且将讨论内容进行总结。下次实验课上教师要留出一点时间让每组总结讨论结果,必要时教师做简单的总结。教师发现好的设计思路和想法时,应鼓励各小组之间相互学习、相互讨论、集思广益,发挥大家的创造力去将这些好的想法加以实现。充分利用开放的交互网络实现资源共享,如网上答疑、网上聊天、BBS、讨论区,同学们可就学习中遇到的问题展开讨论,任课教师可定期为同学们解答。同时在有限的设备条件下,学校应尽量提供更好的实践环境和实践机会,尽可能地开放实验室,鼓励学生独立工作,培养独立思考的能力和创新精神[3]。
4考试和评分方法的改革
根据计算机程序设计课程实践性强的特点,我们在考核中提高了平时实践和讨论的成绩比例,占到50%甚至更高。平时实践中增加单元考核的内容,并将每次考核的分数按相应比例记入总评分。另外由于开展了讨论教学,因此教师根据学生的情况和小组的考评情况将每次讨论成绩按比例记入总评。在期末的实验考试中,利用开发的实验教学平台进行上机考试,学生随机从试题库中抽取试题(与平时训练的题目类似),然后由系统自动评判。这样即节省了老师批改试题的时间,而且可以减少相互抄袭现象。由于考试题目与平时训练的题目类似,可以促使学生在平时实验中独立分析问题,解答问题。
在每学期末,我们用2周的时间开设课程设计,让学生结合自己的专业或兴趣进行选题,然后自编程序上机调试,完成一个大作业或一个相对完整的系统。通过这一过程可让学生了解并熟悉整个系统的开发过程与操作的步骤。我们认为,通过考试和评分方法的改革能更好地考查学生应用计算机的水平,更好地培养学生把学到的计算机基础知识和基本能力应用到专业实际问题的处理上。
5小结
这几年的教学实践表明,上面介绍的一些整合思路是行之有效的,激发了学生程序设计的兴趣,开发了学生的潜能,提高了学生的编程能力和解决实际问题的能力。这几年我们在大学生ACM竞赛、省市级的程序设计大赛中取得了优异的成绩,有大批的学生通过了国家级程序员、高级程序员资格证书。计算机知识和技术更新非常快,对于培养这类人才的专业课程,特别是程序设计类课程,必须及时更新教学理念,科学进行课程设置,合理安排教学计划,运用网络化教学手段,在教学内容、教学方法和考核方式上进行一系列的更新与整合,以适应新形势下人才培养的需要。
参考文献:
2.一些计算机课程设计与就业严重脱节。很多中职计算机专业课程设计过于简单和粗放,一些课程设计不合理。很多实用性高、专业性强的课程学生却没有学到,同时因为学校硬件条件的限制,中职生缺乏较强的计算机操作能力和对所学知识的更新及应用能力,导致中职计算机教学和学生就业严重脱节。
二、有效建立以提高计算机技能为中心的课程体系
中等职业学校计算机教学必须坚持以就业为指导,知识学习和培养技能相结合,坚持理论与实践相结合,能力与创新相结合,在这一基础上构建以提高技能为中心的计算机课程体系。中职计算机课程体系主要包括以下两个模块:一是“基础技能模块”,主要包括计算机基础知识和计算机的基本操作与应用等;二是“专业技能模块”,主要根据具体专业和将来的就业方向确定具体的学习模块。我们可以从计算机这一大专业中细化出多个小专业,中职学生可以根据他们的爱好选择不同的小专业,也可以进行多个小专业的学习。两个模块课程设计具体如下:
1.基础技能模块。这一模块可以说是为各类专业学生开设的公共课,可以安排在第一学年学习。主要包括两个小模块:第一计算机基础课程:主要包括《计算机原理》、《计算机应用基础》和《计算机常用软件及系统》等;第二办公自动化课程:主要包括为Office办公软件、现代办公设备的使用和维护等。
2.专业技能模块。在第二、三学年根据中职生兴趣和就业需求,开设多个相关小专业。主要包括:计算机的组装和维修课程:主要课程为电脑组装与维修、电脑的销售和服务;网络技术模块:主要课程为局域网组建和管理、网站组建和网页设计;广告设计模块:主要课程为平面设计、Photoshop;程序设计模块:主要课程为VB程序设计、C语言等。这一模块对计算机教师的专业要求比较高,需要我们精通各种软件的设计与应用。
三、科学、有效地选用教材,优化教学模式
计算机教材的选用,直接影响中职学生的学习兴趣与教学质量高低。所以,在选取计算机教材时,要尽量选用注重操作、有丰富实例的教材,我们也可以根据本校情况编写校本教材。中职学校计算机教学要注重培养学生的操作能力和创新能力,因此我们必须不断创新教学方法,做到多种教学方法的有机结合,以取得良好教学效果。经过多年不断探索,我认为计算机教学中应该采用以下几种教学模式:
1.演示过程,讲练结合。这是中职学校计算机教学中经常使用的教学方法,可以在入学初期采用此方法。大部分中职学校微机房都配置了多媒体网络教室,这样我们在讲授新课时可以锁定学生机,演示操作过程,学生练习时再开放学生机。但是这一方法用多了,学生会觉得乏味,不利于培养他们的创新力。
2.案例引导,任务分解。课堂教学中多采用教学案例,有利于培养中职学生解决问题的能力。例如:在讲解Word图文混排时,以校报为实例组织教学,让学生在解决问题的实践中学习知识。将每一节的教学内容设置成多个小任务,分步骤、分层次地学习,适当分步有利于学生掌握教学难点。这样使得原来对学生来说很难下手的问题,变得轻松容易,不仅高效地完成了教学任务,而且培养了学生的实践操作能力。
3.设疑自学,设错分析。中职学生直接经验的体验,其过程往往是不可以代替的。中职计算机教学中为培养学生的自作能力,常常让他们先进行自我摸索,在发现问题后,再引导解决,进而获得新知。中职学校的学生学习能力不强,在教学过程中我们要敢于放手,设置疑问,让学生自学。我们要教给他们自学的,如应用程序中的辅导、利用互联网自学等,培养学生的自学能力。对于某些内容,我们可以先不讲,让学生在原有的知识基础上练习,在练习中出现问题,提出意见时,再引导学生找到解决问题的方法或讲解新知识。例如:在传授C语言程序设计时,我就积极鼓励学生自己编写程序,并且让他们上机测试,如发现问题再及时修改,这样要比直接修改学生的程序效果要好得多,同时学习效果也非常好。
0 引言
c语言是国际上广泛流行的计算机高级语言,既可用来写系统软件,也可用来写应用软件。它是一种理想的结构化语言,语言结构清晰,便于学习,而且编译、运行效率高,数据类型丰富,灵活性强,特别有助于初学者学习模块设计思想和数据结构的运用,对培养学生的抽象思维能力有很大帮助,因而成为计算机高级语言教学的首选语言。我们开设的“c语言程序设计”主要针对信息工程、电子商务、信息管理与信息系统、通信工程、网络工程、广播电视工程、自动化专业等专业,是电子信息类等专业的重要通识基础课。该门课程在新生入学第一学期开设,由于学生基础参差不齐,高中接触过计算机编程的学生对教授的内容理解较快,而初次学习计算机编程的学生反映课堂上听得懂,课下编程难。如何能够及时解答学生问题、让学生有自主学习的“课堂”、能及时了解自我学习的状况,从而培养学习的兴趣,是我们课题组的研究内容。
教育信息化是在教育领域全面深入地运用现代信息技术来促进教育改革和教育发展的过程,其结果必然是获得一种全新的教育形式――信息化教育。教育信息化建设对转变教育观念,改革教学模式,提高教育质量和效益,培养创新人才具有深远意义。基于上述原因,项目组决心对“c语言程序设计”课程从主教材到全套教学资料进行更新,实现教学资料的多元融合,即纸质化、多媒体化和网络化相融合;并对教学方法进行改革,实现教学方法的多元融合,即课堂教学、网络教学和实践教学相融合。
1 教学资料的多元融合
1.1 教材编写:纸质化
教材是教学之本。建构主义学习理论认为,知识是学习者在一定的情景下,借助其他人(包括教师和学习伙伴)的帮助,利用必要的学习资料,通过意义建构而获得的。因此,我们在编写普通高等院校计算机课程规划教材《程序设计基磷(c语言版)教材时,改变以往程序设计教科书的编写方式,不对语法做冗长的介绍,而是通过大量简洁的实例程序让学生通过阅读程序掌握相应的语法,注重案例教学,以程序设计为主线,语言实现为目标,强调实用性,让学生学会用计算机编程的思想考虑问题。实践检验表明,这样的做法基本达到了我们的目标。
“c语言程序设计”是实践性很强的一门课程,对此我们还编写了与教材配套的《程序设计学习指导与实验》以及多本辅导资料,形成拥有公开出版教课书、实验指导书,自编辅助教材等多方位的纸质教材体系,在课程教学大纲的统一要求下,对不同层次的学生在学习的内容广度和深度的把握上有一定的可选性、灵活性。
1.2 堂件制作:多媒体化
教育心理学研究表明:人获取的外界信息中,83%来自视觉,11%来自听觉,3.5%来自嗅觉,1.5%来自触觉,1%来自味觉。显然增加视觉、听觉信息量是多获取信息可取的方法。而多媒体辅助教学恰恰在视觉、听觉效果方面有其独特的优势,所以,从教育心理学角度看,运用多媒体辅助教学对提高课堂实效肯定大有裨益。在堂件的制作过程中,我们并不是单纯地做一个电子教案,简单地将粉笔板书替代为电子板书,而是在充分理解媒体语言、合理应用其传播特性基础上进行设计。比如,在众多的教学媒体中,文本是最基本、最重要的成分,擅长表述高度概括的、极为抽象的和具体结论性的内容,我们通常用于在概念上的表达,例如算法的基本描述,语句的基本介绍等。动画可以表现其它媒体所无法实现的各种教学内容,得当的动画成分可以增强多媒体的视觉效果,起到强调主题、增加情趣的作用。我们通常表述程序执行的过程演示,例如指针的应用部分采用动画方式进行讲解,使得学生了解每一条语句在执行过程中的作用,增强学生的直观感觉,起到事半功倍的效果。
1.3 网站建设:网络化
网络教学是课堂教学的有益补充。我们开发了c程序设计网络课程网站,提供了一个在教师指导下的学生自主式学习的环境,以充分发挥学生的主动性,真正体现学生的认知主体的作用。在网络课程设计中以动画演示的方式,将抽象问题形象化、枯燥问题生动化;以语音讲解的方式,强化教学中的重点难点问题;探索程序设计方法与规律,发挥实例教学的优越性。网络课程大体分为三个模块:理论教学模块:以“学习目标”开始,“本章小结”为结尾;实践教学模块:设有“上机实习”栏目,注重实验教学和学生动手能力的培养;检查巩固模块:配有“自我测验”及“习题”两部分内容,通过“自我测验”检查学习的结果,“习题”则以巩固基本知识点为目的(涵盖面广,题型丰富,包括选择题,程序填空、读程序写结果和编程题等)。
在该网站上学生不但可以浏览教学课件,而且可以进行课后练习和模拟测验。模拟测验采取随机抽题方式进行组卷,与静态的试卷表单相比,具有组卷更方便、更灵活、更多样的优点。另外网站的在线答疑、热点讨论等模块也有助于学生增强学习c语言的兴趣,使学生由害怕学习c语言转变为爱学习c语言。该网站投入使用后大大改变了c语言的教学面貌,提高了c语言教学质量。
2 教学方法的多元融合
2.1 课堂教学与网络教学融合
采取了以课堂教学为主与网络教学相结合的新思路。在网络课程教学网站上,配有教学大纲、电子教案、电子教材、课件、习题、视频等教学内容,以适合不同的学习需求、学习习惯;在保留传统的教师与学生面对面答疑方式的基础上,借助于在线教学网站中的电子邮件、BBs等手段,实现网络在线答疑,构建了一个学生自学和师生互动的平台;学生可以通过在线考试,随时检查学习情况。网站让每一位学生都有自主学习的“课堂”。
2.2 课堂教学与实践教学融合
实践教学是课程教学体系中不可替代、不可或缺的组成部分,其作用就在于帮助学生完成从知识向能力、从理论向实践的飞跃。除课堂教学外,我校本科学生的c语言程序设计课程安排了两个实践环节:上机实验和程序设计。上机实验与课堂教学同步进行,目的是让学生对课堂教学中所学的内容进行实践检验,初步掌握程序设计的基本方法和程序调试的基本技能;程序设计是在课堂教学结束后,集中安排一次40学时的编程上机训练,目的是通过集中强化训练后使学生的程序设计能力上一台阶。
多年来实验教学主要采取学生模仿实习指导书的内容练习,教师答疑辅导的方式,其存在的问题是学生过分依赖教师,达不到培养独立设计与调试程序能力的目的。“授人以鱼不如授人以渔”,为配合这两个实践环节我们首先重新编写了实习指导书。实习指导书在内容编写上,遵循启发为主的原则,既有上机实习过程的详述,又穿插着许多问题,引导学生思考。学生带着问题上机,通过上机实践解决问题,教师作启发式的答疑辅导,指出问题解决途径,有助于培养学生解决实际问题的能力。
“示范―模拟”教学策略是教学中常用的一种策略。它主要用于动作技能类的教学以及操作技能的学习。《C语言程序设计》课程是高职院校计算机及相关专业的必修基础理论课。旨在培养学生具有程序设计的基本思想,锻炼学生的逻辑思维能力,为后续课程的学习打下良好的基础。传统的C程序课程教学都是采用“示范―模拟”的教学策略,实施“定向―参与性练习―自主练习―迁移”的过程,教学过程的具体内容如下:(1)定向:通过多媒体教学等多种方式教师在课堂向学生阐述语法、原理、规则等理论,并给出一定量的例题,指导学生如何使用这些理论知识。(2)参与性练习:学生上机练习。教师参与整个学生上机练习过程,边练习,边指导。(3)自主练习:课后给学生一定量的练习作业,要求他们独立完成。(4)迁移:做一个课程设计,目的是使学生掌握C语言程序设计教学中的知识点,了解程序模块化开发等内容。
从以往的教学情况来看,C语言涉及的概念、原理和规则繁多,语句使用灵活,语法限制不太严格。高职高专学生的学习情绪化色彩较强,对感兴趣的东西学习积极性较高,而对于枯燥的学习内容则吸收效率较低。学生学习的主动性、自觉性不足,学习习惯不好。许多学生的学习没有计划性,不考虑各学科之间的关联性,基本是被动上课,课后也以完成作业为主,完成作业大部分也是通过抄袭等方式完成的。对于一年级新生特别是基础相对较弱而又没有学过计算机语言的高职生来说,刚接触C程序设计课程会感到一些茫然,不知如何学习,加之以往高年级学生给他们带来的是“C语言如何难学”的信息,使他们出现一些学习心理障碍。因此,高职学生普遍对这门课程感到难学、枯燥、兴趣不大,畏学、厌学情绪较严重,使得教师的教学比较困难。
在认真分析“示范―模拟”教学模式的四个基本程序的基础上,根据高职C程序设计课程的学科特点,依据高职学生实际情况以及教师多年的教学经验,结合清华大学提供的Tsinsen网络平台,我们把原有的“示范―模拟”教学模式扩展为:定向参与性练习小结被动学习自主练习迁移考核等七个基本程序。扩展之后的新模式如图1所示。
Tsinsen网络自动评测系统是一个用于程序设计类课程管理和自动评测的软件,旨在为程序设计类的课程教师提供免费的课程管理服务,共享不同课程的教学资源,促进程序设计类课程教学的发展,为培养计算机科学技术人才提供帮助。Tsinsen网络自动评测系统能够动态实现学生的管理和题库的修改(如图2所示),对学生作业实现网上布置、提交和评阅(如图3所示)。
Tsinsen网络自动评测系统是为高职高专程序设计课程的改革研究提供的一个平台。Tsinsen网络自动评测系统面向的是全部学习程序设计的学生。高职高专学生在使用本系统时,该系统题库的难度已经超过了学生必须掌握的技能范围。因此,必须针对高职高专学生自身学习特点进行改进,构建一套适合高职高专学生学习和使用的题库。有了优质的题库支持,扩展“示范―模拟”教学模式才可能取得预想的效果。在“扩展示范―模拟”教学模式指导下,利用Tsinsen网络自动评测系统我们研究出了一套适合高职高专C程序教学的教学方式。扩展模式的主要操作过程如下。
定向:用问题驱动弥补学习兴趣不足 定向过程实现面向个体的定向,教师向学生阐明必须掌握的技能,并说明该项技能的原理和程序,演示所创设的问题情境,激发学生的学习兴趣。高职院校学生学习兴趣不足,一直以来都是影响高职院校教学质量的一个难题。但高职高专学生的学习情绪化色彩较强,对感兴趣的东西学习积极性较高。因此,如果能设计一些学生感兴趣的情境问题,就能激发学生思考,也就能弥补学生学习兴趣不足而带来的厌学等问题。所以,针对不同的知识点必须设计出一个个学生感兴趣的问题,引起学生兴趣,学生就有了学习动力。
参与性练习:用贴近生活的案例提高理解能力 在学生的参与性练习过程中教师要全程参加。高职学生是来自中专、职高、技校等学校的学生。他们的文化基础相对较差,逻辑思维能力不足。C语言这门课程主要的教学目标是培养学生的程序分析、设计和调试能力,这要求学生具有较强的逻辑思维能力。所以,教师在课程案例设计时应选择贴近学生生活的案例,让学生从实际生活知识中提升理解能力。在案例讲解时,要注重解题思路,重点讲解算法分析与设计,避免纠缠语法细节,降低学生一次性学习的难度,把语法学习和解题能力训练分别解决。让学生在实践中体验程序设计的方法和步骤,完成相关知识的认识。
小结:用重讲编译错误代替漫灌语法 传统的“示范―模拟”教学模式是在参与性练习之后就自主练习。但是,针对高职院校学生的实际情况,我们把语法学习和解题能力训练分成两个阶段,在提高学生解题能力之后,再来实施语法学习。C程序设计这门课程一般开设在第一学年,学生计算机基础知识积累不够,如果此时给学生“满贯”语法,学生很难理解。所以,可以设计各种例题,例题中包含学生比较典型的、普遍容易出错、尚未完全理解掌握的知识点,引导学生积极纠错,让学生在修改错误的过程中观察、分析、归纳语法。通过小结的方式,向全体学生补充新的语法,演示分析错误原因,从结果反推程序语法学习。用重讲编译错误代替漫灌语法,让学生在编译中自己学习、总结语法规则,形成学生程序设计的自我意识。
被动学习:用示范模拟加强解题思路引导 高职院校学生对数学概念、原理理解不够透彻,不清楚数学符号的含义,对数学在现实生活中的应用缺乏必要的了解,导致在编写程序时思路不清,写不出程序。应通过一系列作业指导学生参与性练习,激发学生参与性练习的兴趣,让学生循序渐进地掌握知识。作业要尽量与示范内容相似,加强指导解题思路学习,同时,作业中要涵盖一些重要且在一般性示范中尚未涉及的常用知识点,满足较高层次学生提高水平的需求。院校学生自主学习能力不强,因此,不能完全依靠学生自己学习,可以通过课堂练习、上机实践等方式让他们被动学习。
自主学习:用引导教学促进自主学习 在学生掌握了语法规则之后,就要改变教学中学生被动接受的单向灌输为主的教学方法,将学习主动权交给学生,激发学生内在动力。但高职院校学生的自我约束性不强,自学能力差,学习毅力不够,容易浅尝辄止,因此,如果把学习主动权全部交给学生,他们自己又会“放羊”。因此,可借助Tsinsen网络平台,在该平台上给不同层次的学生布置不同难度的作业,要求学生在规定时间内完成。这种带有引导性的学生自主学习,一方面,能满足不同层次学生的学习需要,另一方面,又能强制性地引导学生自主学习,对自我控制能力差的学生还能起到一定的监督作用。
高职院校具有高等教育与职业教育双重特征,高职的办学方向要精准定位,它的人才培养目标是培养具有较强职业能力的专门人才。与计算机相关的国内大学毕业生每年有几十万人,其中而符合软件行业要求的人才则比较少,企业招聘的部分大学毕业生也要花较长时间培训才可以投入工作,尤其在软件开发这个领域上更加突出。为培养符合企业用人标准,满足软件开发岗位能力需求的高素质软件开发人才,计算机软件技术专业课程的建设显得尤为重要。课程建设要与企业的需求对接与融合,应当适应人才发展的需求,要增强学生的职业适应能力和可持续发展能力。
1 课程建设现状
目前各高职院校普遍存在着培养的人才职业技能不强,岗位适应能力差等问题。调查显示,很多高职计算机软件技术专业的毕业生实践不够,不能很快适应工作岗位。如何建立突出职业能力培养的课程标准,规范课程教学的基本要求,提高课程教学质量是目前各高职院校计算机专业人才培养面临的重要问题。目前,很多高职院校都认识到了高校的“共性”教育与企业的“个性”需求相矛盾,也进行了基于企业需要的课程体系设计,同时加大了实训教学的力度,将学校的教学内容实用化,按软件企业的要求进行人才培养。但目前所做的工作缺少系统性,没有从整个课程体系结构上进行设计,真正联合企业的专家参与到课程建设中的还很少。
2 职业胜任力分析
Spencer提出胜任力是与有效的或出色的工作绩效相关的个人潜在的特征,包括:知识、技能、自我概念、特征与动机。胜任力的提出可以最大程度上实现人员与岗位的匹配,为员工搭建有效的职业发展路径。职业胜任能力是在企业实践知识与职业要求为指导下,在具体工作情景中形成的各种知识与技能,以及解决企业实践问题的胜任能力,是一个学生在职位上取得成功的能力。它包括职业岗位能力,即某项技术专才和职业适应能力,即职业的迁移能力。高职学生职业胜任力是毕业生职业工作的承担能力与适应能力,高职教育要服务好现代产业,高职课程的定位、目标与内容、组织、实施及评价就要符合企业的需求。计算机相关职业注重团队合作,沟通能力、语言能力、组织能力、信息处理能力显得很重要。
3 基于职业胜任力培养的软件技术专业人才课程建设
为了培养具有职业胜任力的软件开发技能型实用人才,需要围绕岗位适应能力和职业拓展能力设计课程,将知识融入到职业技能训练之中,使学生获得的知识、技能真正满足职业岗位要求,充分体现了“以服务为宗旨、以就业为导向”的职业教育办学方针和“以人为本,全面发展”的教育理念。
课程建设要与企业或行业进行合作,从学生就业的实际出发,调研软件开发企业岗位需求,在此基础上分析确定软件技术专业的主要典型工作任务及完成典型工作任务必须具备的职业能力,总结出某个岗位主要工作职责及其必需的知识与技能,进而研究探讨为培养学生具备该职业能力所需开设的核心课程和课程教学内容,以期提高学生的职业发展力,提升学生的就业能力。
下面是招聘网站51job上某企业招聘软件工程师的职业能力描述。
职位标签:IOS 软件工程师
职位职能:高级软件工程师 软件工程师
职位描述:
【岗位职责】
(1)负责IOS平台客户端程序的开发,包括iPhone、iPad;
(2)按照项目计划,在保证质量的前提下,按时完成开发任务;
(3)参与软件系统需求分析和设计,编写有关技术文档;
【职位要求】
(1)计算机,通信等相关理工科专业;
(2)精通iOS下网络通信机制,对TCP/IP、http/https、MQTT有一定经验;
(3)具备扎实的Objective C、C/C++语言基础,熟悉XCode;深入理解面向对象的设计模式;
(4)对用户体验、交互操作流程、及用户需求有深入理解;
(5)责任心强,良好的沟通表达能力和团队意识;
(6)工作踏实认真、积极主动,善于学习,较强的责任心,抗压力强。
上面的招聘描述了对软件工程师岗位需求以及员工的职责要求。可以看出,企业的岗位要求涉及对知识、技能、自我特征、潜在特质等方面的描述。基于职业胜任力的人才需求描述是依照职业胜任力定位岗位特征与具体的岗位综合能力要求。在结合软件技术专业的典型工作任务及完成典型工作任务须具备的职业能力,软件技术对应的软件开发类岗位主要所需的知识、能力、素质要求如表1所示。
表1 软件技术专业知识、能力、素质要求
将人才培养对应岗位梳理成软件技术活动流程的主要岗位群,包括软件程序开发岗位群、软件测试岗位群、技术文案管理岗位群、软件技术支持岗位群,软件推广及售后服务岗位群,明确岗位群的职业胜任力模型。
基于职业胜任力模型引入工作过程导向法,改革传统的以课本为主体的课程体系,构建基于岗位职责需求的课程体系,包括了基础学习领域、专业学习领域、专业拓展学习领域、人文素质拓展学习领域。
在专业学习领域的课程建设中,将企业岗位职责与课程设计进一步融合是课程建设的关键。基于职业胜任力的课程建设中,通过对专业课程所具备的岗位特征,与本地区的软件企业合作,引入企业的实际项目,根据专业课程与企业项目开发活动要素的关联性,将“Java高级程序设计”、“Java Web程序设计”、“数据库原理”、“静态网页设计”、“JavaScript程序设计”、“JavaEE轻量级框架开发” 等课程教学活动以跨课程项目为纽带、以企业实际项目开发过程为主线进行有机编排。
基于职业胜任力的课程建设中,不仅仅关注专业学习领域,还需要重视人文素质拓展学习方面的课程建设,人文素质拓展学习领域课程如表2所示。
表2 人文素质拓展课程列表
通过增加职业素质教育方面的课程,更能培养学生沟通、语言、组织、信息处理等方面的职业适应能力,职业素质教育活动安排如表3所示。
表3 职业素质教育课程列表
4 小结
一、引言
高职高专课程教学改革已取得极大进展,但其教学模式仍值得探讨,同时也需要经过实际教学不断完善。
归纳高职高专课程教学设计存在的问题主要有六个方面:教学目标不够明确、教学内容不够适合、主体地位不够突出、课堂驱动不够有力、教学评价不够合理、学习资源不够丰富。分析造成该问题的根本原因,是由于课程开发脱离教学实际,教学组织又不能和课程开发合理衔接。因此,有必要对高职高专的课程教学设计进行重新思考。
二、课程教学设计思路
1.基于工作过程的课程开发方法
20世纪90年代,“基于工作过程”的课程开发方法由德国不莱梅大学技术与职业教育研究所提出,随之在全德推广使用。该方法在21世纪初,由欧盟“亚洲联系”项目带入中国,已成为当前我国高等职业教育界推崇的课程开发方法,也是高等职业教育示范性院校建设课程改革所运用的工具之一。
该方法打破了原有的学科课程体系,基于行动体系进行课程开发,以培养能力为主线,根据现代职业工作整体化分析和描述进行工作过程系统化的课程开发,按照工作过程中不同工作任务的相关性实现知识和实践技能的整合,以学生的“学”为中心,使学生将各门课程的学习过程变成符合企业的工作过程。
相对学科课程体系而言,“基于工作过程”的课程设计更适合于培养应用型技术人才为目标的高等职业教育。“基于工作过程”的课程设计以由实践情境构成的、以过程逻辑为中心的行动体系为基础,主要解决“怎么做”和“怎么做更好”的问题。
2.任务驱动教学模式
任务驱动型教学模式是以现实任务为动力、以实践活动为途径、以独立思考为前提、以自身经验为基础、以语言符号为工具、以交流协作为手段、以获得实践能力和完成任务的完整的行动能力为目标,在完成任务的行动过程中通过人际影响进行意义建构的体验式教学模式。该模式注重的不是最终结果,而是完成任务的过程,学生在完成任务的过程中理解和把握课程所要求的知识和技能,体验创新的艰辛和乐趣,掌握分析问题和解决问题的方法,学会工作和学习。
3.两种方法结合在课程教学设计中的作用
由上述两种方法的介绍可知,基于过程的课程设计方法适合于教学过程的课程开发,而任务教学驱动模式适合于教学过程的课堂组织和设计。现实教学过程中,课程开发和课堂组织同样重要,两种方法结合将使课程开发、教学过程和课堂组织更系统化、更明确化、更有效化,使高职高专的课程设计既符合教学目标,又保证课程对学生的驱动力。
三、基于工作过程和任务驱动模式的课程教学设计
1.运作步骤
鉴于上述思路,基于工作过程和任务驱动模式两种方法结合的课程开发和教学组织流程如图所示。
2.高职《网络营销》实践课程教学设计与组织
上图详细地展示了“基于工作过程和任务驱动模式”的课程设计和教学组织流程,该操作流程可概括为三大阶段八个步骤。现结合《网络营销》课程实践教学特点,分析具体的操作流程。
(1)基于工作过程的《网络营销》实践课程开发
①整体化职业分析。互联网已逐渐进入我们的生活并开始成为一种重要的商业手段,许多企业都已认识到了互联网巨大的经济价值,网络营销的应用,已逐渐开始成为现代企业整体营销策略中的一部分。网络营销理论是传统营销理论在互联网环境中的应用和发展,是近年来众多营销理念的进展、凝练和升华,在网络时代无疑将成为提升企业核心竞争能力的一把金钥匙。企业要想在网络经济大潮中占有一席之地,离不开大量的专业网络营销人员。互联网成为巨大的潜在市场,随之产生的职业岗位和职业资格有电子商务师、网络营销资格认证、网络市场推广专员、网络市场策划师等多种职业和认证。②提取典型工作任务。鉴于高职院校开设《网络营销》课程对学生能力培养的要求,上述职业分析需要经过整理、分析、筛选,从而提取有代表性的典型工作任务,主要包括网络商务信息的收集与、网络市场推广、网上商店的开设与管理、网络市场策划、网络市场运作操作等。③典型任务转化为学习领域。根据典型工作任务,将其内容转化为学习领域即课程,包括学生在该课程中应学习哪些任务等方面。根据上述《网络营销》课程的典型工作任务,转化的学习领域包括网络市场调研、网络推广手段的熟练掌握、网络市场前台和后台管理、网上商店的开设与管理、网络营销策划书的制作等领域。④学习情境与课业设计。由资深教师将每个学习领域的学习任务进行分解,分析并加工完成这些任务所需的职业行动能力,从而形成学习情境和课业,具体有网络营销推广、网络营销策划、网络市场管理、网上商店管理等,根据该设计进行任务驱动模式教学组织环节。
(2)《网络营销》任务驱动模式教学
根据学习情境与课业设计的任务安排,进行该阶段的教学步骤,分为三个环节:①呈现任务。教学中除了告知学生需要完成的任务,还需要据此呈现相关的任务经验,可通过视频或录像来分享相关的任务经历。如:网络营销推广的呈现任务为:搜索引擎、电子邮件、邮件列表、网络广告、论坛等;网络营销调研的呈现任务为:网络市场调查、调查问卷设计、、收集、整理、总结;网络营销市场操作的呈现任务为:B2C、B2B、C2C过程的熟练操作等。②明确任务。将任务明确地分发给学生,包括操作过程、完成目标、考核方法等。③完成任务。任务完成后,经结果无误可以提交。如网络市场调研任务要检查网络市场调研方案、设计的问卷、问卷方式、收集、整理等,完成即可提交任务。
(3)评价分析
教师根据该教学过程及课程设计,对整体进度、完成率进行评价,对所遇到的困难进行总结,以便于下一任务的展开。
评价分析后,将再次从基于工作过程之典型任务转化为学习领域步骤开始新的学习任务循环,所有典型工作任务完成,即表示该课程结束。
结合网络推广专员的职业分析,归纳《网络营销》课程实践教学操作步骤可简要归纳为如下表所示。
四、小结
“基于工作过程”和任务驱动模式的课程开发和教学组织方法,对高职《网络营销》课程实践教学及其他高职课程具有一定的操作可行性,现对其实施保障给予一定的建议:
首先,典型任务的提取工作需要有一定成功经验的的资深教师担当,确定教学中典型任务之间的先后顺序,学校也可就此类问题深入各类企业进行访谈,以实际问题来确定任务;
其次,为了任务的有效完成,学校可预先安排学生到与任务有关的公司学习,并发现问题,从而带着问题完成任务;
最后,评价分析阶段需要学生自我评价,自我发现原因,为下一阶段任务的更好完成做好准备。
参考文献:
中图分类号:G642 文献标识码:A
“数据结构”课程自1968年成为计算机学科的专业基础课程以来,其讲述的理论知识至今发展不多,但是教材却在不断更新,主要变化在于算法所用描述语言不断追新。一定要追新?追新对编程能力培养有意义吗?如何提高学生编程能力?值得教师深思,因为只有处理好这一问题,才可能在课堂上把教学内容讲得清楚,说得明白,才可能让学生学习时不糊涂,让他们真地爱上“数据结构”课程,在学习中提升编程能力,掌握快速编程的技巧。
1数据结构课程难点
通常“数据结构”教材给出课程的教学目标是“研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科”,与编程关系不明确。只有参考文献[1]中开门见山地指出“这是一本关于编程方面的书籍”。查阅各类”数据结构”课程教材发现,数据结构涉及的理论知识主要有:(1)关于非数值计算要解决的3大基本数据结构――线性、树型和图形――的逻辑关系和两种物理关系(顺序存储和链式存储),(2)关于两大常见应用――查找与排序――的几种基本算法理论。教材上对3类数据结构的主要操作和查找与排序算法进行了代码实现,并讨论实现代码的时间复杂度和空间复杂度。这些内容始终变化不太多。但是,教材却在不断更新,主要是算法描述语言在追新,从Pascal到C(C++)和Java。国内教材即使是用C++描述的基本算法,其实现上也不一定是采取面向对象的编程思想。虽然Java语言提供了集合框架LinkedList、TreeSet类等,可以大大降低基本算法的实现,提高代码的复用,但是目前在学校教学中真正使用集合框架的不多,因为框架的使用让算法编程实现发生很大的改变,会转移教学难点。所以,从算法思想描述上追新的必要性可以商榷。
“数据结构”是“高级语言程序设计”的延伸,是从高级语言课程的学语句、语法,走向求解实际问题的过程。对学生来说,学习第一门编程语言时,常常花很多的精力研究语言使用的符号、语法、语言环境,忽略实际问题的分析与求解。在不断压缩的理论课时面前,面向过程的模块化思想训练有限。而在“面向对象程序设计”课程中又很难涉及到数据结构的集成框架介绍。如此之基础上,学生学习“数据结构”时,鉴于非数值计算问题解决过程复杂,算法代码量提升快,由十几行突然猛增到几十行,甚至好几百行。尤其,当强调模块划分时,子程序数量会达到十几至二十几个。这种“大规模”的程序开发,往往使学生陷入一堆语法错误的处理中,忽略知识本身的学习。教学中,放弃实践环节,则肯定不可能。毕竟探究“数据结构”课程的本质,还是在培养学生编程,以解决非数值计算的能力。
由于教材上给出的只是基本算法模块,代码量只有几行,一种数据结构的知识连贯性不明显,学生通读课本时不容易理解这些基本算法的实际作用。教材上列举的实际应用例子解决的都是小问题。而实际需要中,无论是游戏软件,还是编译、操作系统、数据库等大型计算机系统软件都与数据结构知识紧密相关。教材与实际的脱节,难于提起学生的学习兴趣,也是教学的一大难点。
2拉近理论与实践距离的探索
实践环节可以帮助学生理解和消化理论知识点,并且使学生自己动手编程解决实际问题。为了不同层次的学生都能自己动手做实验,实践内容分层设立教学目标。
初级:验证型实验。本着自己动手练习一遍,以帮助理解理论知识点的目的,依据理论学习,设置验证型题目。如线性结构应用题目有:教材43页的多项式相加的实现;53页的10以内数据的表达式求值等。这类题目的主要算法已经在课堂上详细讲述,所以学生在实验中的任务就是把教学内容验证一遍。
这类实验题目比较合适前导课程“高级语言程序设计”学得不好的学生,他们不会因为语言基础差,又需要理解很多“数据结构”的内容,而难于自己动手。但是对于成绩好的学生,显然,训练力度太小。
中级:扩展型实验。这是为有一定能力进行程序设计的学生设置。实验题目主体内容与初级要求相同,结果却要求更多。如整型数或实型数表达式计算、多项式相乘等。学生在完成初级题目的基础上,做适当的扩充能达到中级要求。
高级:设计型实验。这类题目主要是针对程序设计能力强、有自我发挥愿望的学生设置。题目本身的内容与生活贴切,如“超市大赢家”电视节目中的猜商品价格、计算机与人对弈五子棋等。学生必须独立分析问题和设计问题。
分层设立教学目标的优点是:不同学习能力的学生都有机会实际动手,每个人都有可以独立完成实验的空间。
3 “抄”的由来、作用与方法
具体教学实施中发现,实验内容设置的良好愿望未必能激发学生的学习兴趣,跨不过自己能编码的这道“鸿沟”,学生的学习兴趣依然不高。究其原因是教材上的理论与实践题目,尤其是高级目标题目离得太远。新问题是如何跨越“鸿沟”?
抄作业、抄实验是时下校园里很常见的现象,教师如何引导学生以杜绝抄袭?惩罚!没见本质上的改变;放任!肯定不可取。鉴于“数据结构”教材上的知识是基本操作的实现,在实际问题求解中引用这些知识点可获得较好的结果,因此在教学中,提出可以“抄”。课堂上注重分析不同代码之间的异同点,如教材24页线性表结点插入和删除算法中,移动元素代码是相同的,不同是前一算法插入一个元素,后一算法删除一个元素。再如,“数据结构”中每种结构定义一个抽象数据类型,分析它们的相同和不同,再进一步对比它们的实现代码的异同点,学生会发现:基本操作相同的不同数据结构之间,其基本算法实现有很多相同点,从而理解教师说的:“抄袭不是copy,而是理解了之后的copy and rewrite”,是根据情况找到一段功能相似的代码,按需要修改,而不是乱抄、瞎抄。教师平时在作业批改中,注意区分两类不同性质的“抄”,对乱抄提出批评,介绍如何判断乱抄。在实验中,给出数据结构基本操作算法的可调用代码,让学生直接引用,以便他们有精力关注待求解问题的核心内容。
“抄”的点子源于学习与工作的体会――大量实例的阅读与积累,可以提高工作效率。也源于“数据结构”课程本身的特点,树型结构和图形结构中,核心算法思想只有“遍历”,其他关于这两大类结构的基本算法都是遍历算法的变形和应用。实际教学中,对比遍历算法和实际应用问题求解的核心思想,分析“抄”的作用。
“抄”的作用非常强大。现在市场上有很多“百例”书籍,给出各种典型应用问题的设计思想与实现代码。学生在实习、课程设计以及毕业设计中需要完成的任务,虽然与这些典型实例不相同,但是若干典型实例具体求解的局部思想完全可以借鉴和参考。因此,在指导实习与实验中,建议学生找到与求解问题的最接近解,以之为核心,逐步修改或扩展,完成任务。这种方法比完全从空白开始设计到代码编写更快,结果常常也相对更好。
“抄”是否会阻碍学生创新能力的发挥呢?回答是:不会!因为提倡的是为我所用的“抄”,是理解之后依据需要合理的“抄”,是围绕自己求解问题的主题思想来抄。这种学习方法,“抄”仅仅是一个用词而已,实质是“参考”和“复用”。但是对学生来说,教师提倡他们“参考”,他们会有畏难情绪,感觉学不会。改用“抄”一词,从心理上给他们简单容易、顺手拈来的感觉,更利于引导他们自信地自己动手解决问题。例如,在“线性结构应用”实验中有题目“求解两个多项式之间的相乘C(x)=A(x) *B(x)”,分析题目要求可知,复用教材第2章多项式相加算法,再在调用复用代码前编程子算法得到first(x)(A(x)前一项与B(x)之积)和second(x)(A(x)后一项与B(x)之积),就可以实现实验要求。实验指导中提示学生用连续加法完成乘法的思想,他们自己就能很好地复用教材代码。再如,教材上“图结构”内容虽然和“树结构”一样主算法是“遍历”,树结构中应用主要是直接修改遍历算法中的“访问”语句,图结构的最小生成树、拓扑排序等问题却不是直接调用遍历算法,而是另外编写代码,然而分析代码可以发现,它们贯穿的是遍历思想。所以在“图结构”授课之后的章节小结中围绕“遍历”算法,分析其他应用算法实现中如何用遍历思想,有利于学生在完成图相关的“城市巡游”“星球大战”等实验题目编码时,参考“遍历”算法实现的方法。
4高手“抄袭”之门道
“抄袭”可以说也是计算机业界的行规。面向对象设计是现在软件开发的重要方法,其目标是提高代码的复用率。而复用的更高境界是设计模式。C. Alexander说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心思想。这样,就能一次又一次地使用该方案而不必做重复劳动”。设计模式,实现了同类问题求解的思维方式的共享。用通俗的话来说,使用设计模式就是“抄袭”他人求解问题的思想。在面向模式的软件体系结构一书中,归纳了常见的软件体系结构,并给出了这些软件实现的设计模式思想。一个编程高手,必然会对设计模式有深入的了解,并在自己的编码工作中使用各种设计模式实现框架来搭建自己任务的程序代码架构,随后按任务的要求编写必要的模块代码。如Struts和Hibernate框架在数据库应用系统的开发中被广泛使用。如今作为计算机软件工程方向的专业课程――《软件工程》――就在软件设计中包含了“复用设计”,全方位的介绍组件、应用框架和设计模式的复用。
Java语言集合框架以几个相关的组件:接口、抽象类和完全定义的类,对基本数据结构进行了实现,如List、Set、Collection等接口,ArrayList、LinkedList、HashSet、HashMap等类,这些集合框架在具体用Java语言做数据结构实验时可以直接导入(import)引用,大大缩小了编码量。当然,集合框架具有软件特性:逻辑产品,不可见。因此,对新手来说,有一定的使用难度。不过,集合框架从旁证明了:如今不该再从零开始编写问题求解代码,而应该首先“抄”一段来,再下手改,以达到问题的快速求解。
5小结
每个计算机专业的学生必须具备编程能力,学校知识的学习只是进入编程的起点,掌握各类问题的程序设计方法,是教师和学生共同需要完成的任务。本文提出的“数据结构”课程中编程能力培养的教学方法,意在探索如何快速提高学生编程能力、训练学生编程思维。
参考文献:
[1] [美]William J. Collins.数据结构和Java集合框架[M]. 陈曙晖,译.北京:清华大学出版社,2006.
[2] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.
[3] [美]Erich Gamma, Richard Helm.设计模式――可复用面向对象软件的基础[M]. 李英军,等译.北京:机械工业出版社,2000.
[4] [英]Ian Sommerville.软件工程[M]. 程一剑,等译.北京:机械工业出版社,2005.
[5] [德]Frank Buschmann, Regine Meunier.面向模式的软件体系结构(I):模式系统[M]. 贲可荣,等译.北京:机械工业出版社,2005.
Debating on “Copying and Rewriting rather than Plagiarizing ”
――Exploring A Way to Improve Students’ Ability for Program in Teaching of Data Structure
ZHANG Xiao-li; LI Xiao-dong; WANG Yan-hong