前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的计算机编程技术学习主题范文,仅供参考,欢迎阅读并收藏。
>> Java多线程编程技术的研究 基于案例驱动教学法的“计算机网络编程技术”教学改革研究 项目驱动教学法在《Java EE Web组件编程技术》课程中的应用 基于JAVA编程技术的网络数据分析 面向方面编程技术的研究 数控编程技术中提高尺寸精度的研究 C语言编程技术的分析研究 浅谈《Delphi编程技术》的实例教学法 PLC编程技术的灵活教学与运用 刍议java编程技术在物流信息平台的应用 探究分析JAVA语言的开发平台及J2EE编程技术 《数控加工自动编程技术》课程的教学研究 高职JavaEE编程技术课程改革的探索与实践 基于有效教学的《网络编程技术》实验教学的探索 极限编程技术在软件开发中的重要作用研究 C#中的数据库编程技术研究 数控机床自动编程技术中尺寸公差的研究 基于面向方面编程技术(AOP)在信息系统中的研究与实践 基于模型的叶轮测量离线编程技术研究 编程技术国内市场需求的方向研究 常见问题解答 当前所在位置:l改为.jsp,即用JSP进行动态网页开发,随后将Servelet、JavaBean、EJB等内容逐步添加进去,经这一步学习,可将动态网页的设计与实现融入的系统开发中,使学习者掌握动态网页的特征及相应的开发技术,了解动态网页与静态网页的区别,同时进一步的熟悉JAVA编程技术在案例中的实际应用,再由此扩展到利用JDBC连接数据库,实现新闻一级标题的增、删、改、查;可以使学习者深刻理解JDBC工作原理。
最后将整合后的所有资源即为软件部分、课件部分、视频部分、学习文档、练习题等几个部分放入教学资源网站中供学习者学习。
(三)教材建设
本项目改革可先形成讲义、实验、案例、习题等教学资源资料,在此基础上经过不断的修改,争取在以后形成案例驱动的Java编程技术教材。
四、案例驱动的Java编程技术教学模式改革效果
Java编程技术是计算机专业实践性很强的专业课,经过本项目的研究与建设预期的课程效果是:学生对程序设计的兴趣大大提高,从原来的被动学习变为改革后的主动学习;同学们的实际编程能力能够大大提高,同学们对Java编程技术会由原来的零散的知识点变为改革后的系统掌握,并且能够学以致用。
1.让学生学到知识点在具体项目中应该如何使用,在项目中加深对Java编程技术各知识点的理解。
2.让学生学会如何从界面设计开始动手写一个实际项目,切实锻炼学生的编程思维,提高学生的实际编程能力。
3.可为计算机专业其余专业课的授课模式与学习方法的改革和改进提供一定的参考。
案例驱动的Java编程技术教学模式改革,注重企业实际编程实例在高校教学中的应用,注重产学研结合;教学内容上重视就业与发展能力,重视课程内外经验的一致性;学习过程上注重任务驱动的项目导向学习,注重学生创新能力的培养;在学习方法上,注重“以学生为中心”,实行团队式与服务式及教室与实训一体化的学习;教学评估上注重动手能力和技能评价。会对学生的编程思维和编程技能提供一个有效的训练平台,为同学们后续的就业工作铺平道路。
参考文献:
[1]陈,耿永军,闫洪亮.《JAVA程序设计》课程教学改革探讨[J].信息系统工程,2010.
教学与科研相结合是培养高素质研究生的有效途径。高水平的人才培养是通过研究生高水平的学术成果来反映的,高水平的学术成果主要源于大量的高水平的科学研究,而严格的教学环节在培养研究生扎实的学术功底、严肃的科学态度、创新性的思维,以及在产生高质量学术成果方面起到了一个关键的基奠作用。本文从研究生网络课程教材体系建设中需要注意解决好的四个问题出发,讨论计算机及相关专业硕士研究生网络课程教学与教材体系建设思路、教材体系建设与教学方法改革问题。
1研究生“计算机网络”课程教学与教材体系建设的指导思想
在研究生网络课程教材体系建设中需要注意解决好四个问题。一是课程内容的先进性与前瞻性问题;二是研究生与本科课程内容的衔接问题;三是理论教学与能力培养的并重问题;四是自主学习和因材施教问题。
1.1课程内容的先进性与前瞻性问题
研究生的教育必须突出“研究”,教材要能够反映学科前沿的研究成果与发展趋势。一本好的研究生网络教材或教学参考书应该是:在保持网络理论体系的基础上,跟踪当前技术的发展,综述最新研究的领域、课题、方法、成果与趋势,让读者能够直接了解当前研究的前沿问题、方法、进展与趋势。
与传统的数学、物理、化学学科相比,计算机学科应用性人才培养的要求更高,技术发展速度更快。而在计算机学科中网络技术的发展与知识更新的速度尤为突出。因此,保持计算机网络课程内容的先进性与前瞻性更为重要,也更加困难。因此要很好地解决这个问题,必须将教学与科研工作紧密地结合在一起,发挥科研教学团队的作用,以高水平的科学研究支持高质量的课程与教学体系的建设。南开大学网络实验室在多年来一直注意开展以下几个方面的工作:
(1)通过科研预研工作实践,了解当前热点问题的研究现状与进展。
(2)跟踪美国ACM和IEEE/CS最新制定的计算机学科课程体系,重视学术交流。
(3)跟踪和浏览国外知名大学教学网站,研究和了解网络课程教学内容、教材与主要参考书,以及作业与实验、教学方法与教学过程控制方法改革的动向。
(4)选择国际流行教材,分析如何处理新的技术发展与教学内容的关系,梳理技术的内在关系与发展主线。
(5)跟踪国际知名网络设备制造商与网络软件公司的研究工作,以及技术认证与考试内容的变化,了解产业界对技术与人才需求的变化。
(6)参与信息化规划与建设工作,通过与产业界、政府各级管理人员的合作,了解我国信息化发展的现状与社会对网络人才的需求。
以上工作在我们把握研究生教材内容的先进性与前瞻性方面起到了重要的指导作用。
1.2本科与研究生课程内容衔接问题
计算机及相关专业的硕士研究生一般在本科阶段都修过计算机网络课程。同时,由于学生不是来自一个学校或同一个本科专业,所以学生在网络技术方面的基础差异很大。这个问题在研究生招生规模扩大后更为突出。教师很难在某个起点上安排教学内容。任课教师比较为难,照顾到基础比较差的学生,基础好的学生认为“吃不饱”;考虑到基础比较好的学生,基础差的学生反映“跟不上”。无论老师想什么办法,都无法解决好这对矛盾。这是在很多大学都很普遍的问题。经过多年的实践我们逐渐认识到:要保证教学质量,必须根据研究生培养目标,改变教学方法,强调“自主学习”和“因材施教”。要为实现学生的“研究”、“自主”学习和教师的“因材施教”创造条件,就必须从课程教学目标定位入手,研究本科与研究生教学一体化、理论教学与能力培养一体化的网络教材体系。
1.3理论教学与能力培养并重问题
团队成员通过总结多年指导研究生学位论文的体会认识到,学生的实际工作能力需要他们在参加科研项目和完成开发任务的过程中提高。在多年指导和审阅相关学科硕士与博士学位论文的过程中,导师们深刻地感觉到:有相当比例的研究生在本学科领域眼界不宽,网络应用系统设计与编程能力亟待提高。如果能够在他们准备学位论文之前认真地训练这一方面的能力,那么他们的论文的研究深度与论文水平还能够有较大幅度的提高。研究生能力培养可以通过网络环境中的课题、大编程量的训练来实现。提高网络软件编程的实际工作能力对于研究生今后的研究工作与就业将会有很大的帮助。而这些编程课题应该是由教学科研团队从研究工作与开发的课题成果中提炼出来,将科研成果有选择的转化为“近似实战”的研究生训练课题。这种训练对学生深入理解网络原理与实现方法会有很大的帮助,对于日后的科研工作和提高学位论文质量也是很有益的。
1.4自主学习和因材施教问题
从研究生自身学习的角度应该强调“研究性”与“自主性”,学生应该变被动的“听课、做笔记”转向主动的、研究地学习和提高。从任课教师与导师角度应该强调“因材施教”。
从我们多年的教学经验看,同一届的研究生实际能力差异都很大。研究生教学更多的应该是根据不同的学生、不同的研究重点、不同的起点,有不同的训练方案,不能没有区别。导师的因材施教应该体现在:指导学生根据自己的基础、研究方向,选择不同类型、不同编程量,或不同的难度级的课题自主的完成训练,循序渐进地提高实际能力。教师要做到这一点,需要做很多艰苦细致的工作和积累很多教学资料。经过10多年的积累与团队成员的集体努力,我们初步完成了一些基础性的工作。
研究生教材不应该仅是一本一学期使用的教科书,更应该是一本技术参考书,甚至是一本手册。导师可以根据需要选择教材中部分内容,作为基本的学习要求。学生学习的过程应该在导师的指导下有选择地自学和阅读,完成编程训练。有些内容可能第一次仅仅是读过和了解,如果今后科研、开发工作需要,可以再回过头来继续阅读和参考。
为了适应研究生“研究性”与“自主性”学习的要求,我们设计的《计算机网络高级教程》内容的覆盖范围宽,涉及当前网络研究的多个领域;《计算机网络高级编程技术》总的编程训练量大,问题近似实战,难度差异也比较明显。为了有利于学生自主学习,我们对每个课题都提供了入门所需要的资料、工具与实现方法的范例,学生可以通过自学的方式完成训练要求。
2 《计算机网络高级教程》教材的编写
研究生教材体系由《计算机网络高级教程》与《计算机网络高级软件编程技术》两部相互配套的教材组成。主教材《计算机网络高级教程》重点讨论了网络研究的最新发展与研究的热点问题,力求达到“反映计算机网络前沿研究成果与发展趋势”的要求。
《计算机网络高级教程》分12章按网络技术发展的三条主线讨论了技术的演变与发展。其中:
第1章对网络技术研究与发展的阶段、重点问题和基本概念,以及各个阶段的标志性技术作了一个概要的总结。
第2章讨论了广域网(WAN)技术的演变与发展趋势。
第3章讨论了局域网技术,尤其是对高速局域网(Gigabit Ethernet与10 Gigabit Ethernet)和无线局域网(WLAN)技术作了较为系统地讨论。
第4章讨论了城域网(MAN)概念的演变,以及宽带城域网组建技术与接入网技术。
第5章对IPv4协议近年来的发展与演变过程作了较为全面地总结和讨论。
第6章对IPv6的基本内容与应用方法进行了较为系统地介绍。
第7章对移动IP的基本概念与关键技术作了系统地介绍。
第8章对传输层分布式进程通信的概念,以及TCP、UDP协议进行了系统地讨论。
第9章对应用层协议与Internet应用系统设计技术进行了系统地讨论。
第10章对无线自组网络(Ad hoc Network)与无线传感器网络(WSN)、无线网格网(WMN)的概念、特点、体系结构,以及关键技术的研究与进展作了比较全面地总结和介绍。
第11章讨论了网络安全与网络管理技术。
第12章对国外大学与产业界在评价研究成果时常用的网络性能分析开源工具、网络模拟开源工具及其应用进行了系统地介绍。
在准备这本书的资料和写作的过程中,作者有两点体会最为深刻。一是尽管Internet技术与Ad hoc网、WSN、WMN在设计目的、应用的领域与技术特点上差异很大,但是在研究方法上基本上是相通的,并且在高层又都汇集到Internet之中。二是尽管作者认真地在这个领域已经工作了20多年,但是网络技术发展得实在是太快了,个人的研究工作与阅历不可能涉及到各个领域。个人与团队的研究工作也只能是限制在网络技术中的几个比较窄的方面,深度也十分有限。因此在系统地总结网络技术领域的研究与进展时感到难度很大。尽管也经常与同行交流和请教,仍然是力不从心。但是本着对学生学习负责的态度,还是坚持完成了写作任务。这部教材应该说是汇聚了很多人的研究心血,作者只能是将个人能够理解的部分按照自己的思路整理出来,以便读者学习和研究。作者试图在相关章节的后面注明某些研究工作总结与论文的出处,以及相关的参考文献、文档与标准,请有兴趣的读者自己去阅读相关的文献与标准。
3 《计算机网络高级软件编程技术》教材的编写
高素质创新性计算机人才应具有较强的实践能力。社会对网络人才的需求十分强烈。但是真正懂网络技术,能够具备深入到网络协议内部的高层次网络应用系统设计和网络软件编程能力的软件人才是非常缺乏的,也是社会急需的高级人才。研究生要能够做出有自主知识产权、创新性的成果,就必须踏踏实实地苦练内功。编著《计算机网络高级软件编程技术》一书,是希望对高级网络软件人才的培养贡献一点力量。
《计算机网络高级软件编程技术》的特点可以总结为以下几点。
(1) 在总结了20多年科研工作经验与研究生教学工作实践经验的基础上,构思了教材的写作思路与全书的内容结构。
(2) 参考了国内外知名大学网络课程训练与著名信息技术企业在员工网络软件编程训练中的相关资料与文献。
(3) 结合了网络技术在Internet、无线网络与信息安全等3条发展主线,总结提炼出22个网络软件编程题目。
关键词: C语言 教学模式 教学改革
随着计算机科学技术的迅速发展,计算机科学技术已成为广泛应用技术[1]。随着目前高科技的发展,需要专业的计算机人才,程序设计技术是专业计算机人才所必备的基础能力之一;与此同时计算机学科与其他学科的结合越来越紧密,程序设计技术已经成为高校计算机专业乃至一些非计算机专业学生的必修课程,程序设计技术课程是以某种程序设计语言为载体,使学生掌握程序设计的基本思想和方法,各个专业依据培养目标和具体的课程设置选择某种程序设计语言作为授课内容。
C语言编程技术作为程序设计技术中尤为重要的一种应用语言,也是计算机课程中一门基础的计算机程序设计技术课程。C语言以强大的功能和广泛的应用成为高校工科院系的首选程序设计语言,不但是计算机专业的专业基础课,而且是物理、水利建设、电子电气、自动化控制、食品等非计算机专业的语言类基础课;作为高校非计算机专业的主要程序设计语言课程之一,C语言在计算机等级考试中占有重要地位,既是二级备选科目之一,又是三级网络、信息管理技术、数据库的上机考核内容。通过这门课程的学习,不仅可使学生获得程序设计的思想,锻炼逻辑思维能力,而且可为后续课程的学习打下基础[2]。
1.C语言编程技术课程现有课堂教学模式的问题分析
传统C语言教学方式主要由理论教学和上机教学组成,首先由课程教师对C语言课程的基础理论知识进行讲解和演示,学生再进行上机实际操作,然后根据教材和实际授课情况安排一些辅学习训练。但是C语言与其他程序设计语言比较,基础理论知识具有比较抽象且涉及的知识点多,想要在规定学时内以常规的授课方式针对学生讲授C语言的基本思想和方法,难以达到理想的效果;目前我国高校上机教学往往因为课时少及课下学生很少进行巩固而出现效果差[3]。
张逸琴[4]调查发现,大部分学生对C语言课程积极性不高、学习的主观能动性不强,主要是因为在对于C语言在学习中不但基础理论知识概念复杂,编程过程中规则苛刻,而且程序设计过程和算法比较抽象,在学习程序设计编程中出错率高,编程很难掌握。但是作为高校计算机专业的主要程序设计语言课程,学生往往通过背诵完成考试,这样培养出来的学生缺乏创新意识、逻辑思维能力、自学能力和研究能力。
2.C语言编程技术课程的实践教学模式改革
对于目前社会高科技需求的计算机人才,熟练掌握C语言的应用比掌握复杂的理论更有实际意义。因此,在教学中我院非常重视教学方法和手段的改革,根据不同的教学内容采用不同的教学方法和手段,打破传统教学模式的缺陷和局限,调动学生学习C语言的主动性和积极性[5]。
2.1现代化教学手段
现代化教学手段是利用多媒体和网络技术,能够以声音、视频、图形、语言等直观生动形象的形式,使课堂呈现多样性、新颖性、趣味性、直观性,能够激发学生的学习兴趣,调动学习积极性。我在教学过程中通过PPT演示文稿、系统演示、案例分析和讨论等方式进行理论教学;通过网络教学平台进行教学资源、自主学习、在线测试、提交作业等形式进行网络辅助教学。
2.2案例驱动教学法
在课堂上采用“案例驱动”的教学方式,用“案例”引出相关知识点,课堂上围绕一个“案例”展开相关教学,然后对此“案例”项目进行拓展训练和对案例的学习进行总结与回顾。最后让学生实现案例中的相应功能,课后学生再完成课后案例中对应的功能。
在案例教学方式中,可以对“案例”稍作修改加强学生对程序的各项参数的学习;所用的案例可以重复使用,从而进一步加强学生的学习;在案例教学方式中要把重点、典型的框架和算法的要点进行提取并进行单独多练、多讲学习。
2.3分组教学
课程中将学生分为若干学习小组,每组4―6人,每组组内自己解决问题,组内在学习过程中相互帮助,共同提高,组间相互借鉴,互有竞争,最后汇总所有解决方案。对比出最优的解决方案向其他同学介绍。课堂讨论以小组为单位,提出本组的意见或解题办法,可以充分调动学生学习编程设计的积极性,调动大家发现新方案,培养学生的创新意识和协作意识,激发学生对C语言的学习兴趣,增强学习的主观能动性。
2.4学生示范教学法
课程后教师可以布置练习题目检测学生对教学知识的理解和掌握程度,学生因缺少监督及自觉性,常常会借助互联网、书本等其他途径寻找练习题目答案,而不是通过独立思考完成。鉴于这样的情况,可以安排少量课时讲解题目实施“学生示范教学法”。在“学生示范教学法”中可以让一个同学上台讲所设计的编程,学生设计编程会展现给全体同学,在设计的编程展现过程中出现的错误,教师可以及时改正、更正、讲解,并且介绍避免此类编程错误的技巧和方法。
3.结语
为了适应现代社会人才需求,在课堂教学中帮助学生掌握C语言的基本方法和理论并将其融入今后的专业学习之中,必须对C语言课程的课程体系和教学方法进行改革。改革传统的C语言课程体系,引入适合学生的教学手段和方法,理论和实验相结合,任务和案例相结合,培养学生的程序设计思维能力和计算机程序设计动手能力。通过C语言课程的学习使学生初步掌握和了解结构化程序设计原理,运用C语言的基本要素进行基本的结构化程序设计,掌握利用计算机解决问题的基本思路和方法,能够解决专业学习遇到的相关问题。在本院和老师的努力下,一定能将这门课程讲授好,为社会不断培养高能力的计算机人才。
参考文献:
[1]孙玉霞.基于教育心理学的C语言教学探讨[J].湖北师范学院学报(自然科学版),2011,01:105-108.
[2]刘彩虹,郭政,于建海,王锦.C语言教学探讨[J].信息与电脑(理论版),2011,02:113.
[3]邓松,何火娇,彭莹琼.C语言教学改革探讨[J].计算机教育,2008,16:55-56.
1、《C语言程序设计》:讲述了C语言的基本概念、各种数据类型的使用技巧、程序流程控制、数组、函数、指针以及有关程序设计的方法等内容。是计算机专业和非计算机专业的一门技术基础课程,也是程序设计的启蒙语言课程。通过本课程的学习,使学生更好地了解和应用计算机,培养学生应用计算机独立解决问题的能力。
2、《编程技术》:本书详细的叙述了编程的初学者应该掌握的事项与技巧。
3、《代码大全》:从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。
(来源:文章屋网 )
关键词:网络工程专业;网络程序设计课程;教学内容
截至2008年,我国已经有143所高等学校开设了网络工程本科专业,其中大学类高校89所,“211”大学21所,学院类高校54所,高校所在地覆盖全国26个省和直辖市[1]。网络工程专业培养的是具有良好科学素养,系统地掌握网络工程技术的基本理论、方法与应用,有较强的获取新知识的能力、创新能力和实践能力,能从事网络工程及相关领域中的系统研究、设计、运行、维护和管理的高级工程技术人才。因此,该专业不仅要求学生掌握与网络工程相关的基础知识与理论,以及各种网络系统设计、建设与维护技术,如网络协议体系、网络互连技术、网络服务、信息安全、组网实践、网络测试与管理等相关知识,也要求学生掌握基本的网络应用软件与系统开发知识与技术,满足毕业生在今后的工作与学习过程中的多元需要。
为了让网络工程专业的学生掌握一定的网络应用软件与系统开发知识,很多高校都开设了网络程序设计或网络编程课程。然而,由于网络工程专业在大多数高校的开设时间不长,相关任课教师对网络程序设计课程的教学还缺乏足够的经验,因此对教学活动中的一些基本问题,如课程内容设置与学时分配、实践环节内容与安排等还缺乏统一的认识[2-3]。本文依据网络工程专业的培养目标,结合我们在教学过程中
的体会,对该课程教学活动中的基本问题进行了初步探讨,阐述了作者对这些问题的理解和认识。希望本文能引起更多同行对网络程序设计课程的关注,从而尽快提高该课程的建设水平。
1教学目标与特点
1.1教学目标
根据网络工程专业的培养目标,我们认为网络程序设计课程的教学目标是让学习者了解网络程序设计的基本概念和常用的网络编程接口,理解网络程序设计的基本原理,掌握基本的网络程序设计模型,同时具备进一步学习新的网络编程知识与技术的能力。网络工程专业的网络程序设计课程应重点教授基于网络编程接口的网络程序设计基础知识,为后续使用和开发网络应用系统打下基础。有别于信息管理类专业面向Web的网络程序设计,本课程的中心内容是基于操作系统套接口的客户/服务器程序开发技术。
1.2课程特点
程序设计课程对计算机类专业的学生来说并不陌生,但其多针对具体的程序设计语言,以学习某种程序设计语言的基本语法和用法为主。网络编程接口在本质上与编程语言无关,因此网络程序设计与以前
作者简介:纪其进(1974-),男,讲师,工学博士,研究方向为计算机网络与多媒体通信;朱艳琴 (1964-),女,教授,工学博士,副院长,研究方向为计算机网络与信息安全。
的程序设计课程并不相同。网络应用程序具有以下两方面的主要特点:
1) 程序结构较为复杂。网络程序至少涉及客户端与服务器两方面,且需要双方协同配合,因此程序的结构和逻辑都比较复杂。
2) 网络程序设计对操作系统知识和网络知识的依赖性很强。比如,多线程技术是避免程序在交互过程中发生阻塞的基本手段,因此开发者至少需理解操作系统的进程与线程的概念及多线程程序设计技术。再如消息驱动是Windows系统的基本机制,Windows网络应用程序开发也需要理解消息驱动机制。利用网络接口编程需要理解底层网络协议,特别是与网络接口直接相关的运输层协议知识。
2内容设置与学时分配
运输层以下的网络协议功能在操作系统内核中实现,或利用系统应用编程接口(API),通过专业的函数库实现[4]。尽管IEEE已经制定了网络编程的接口标准,各操作系统通常也支持标准接口,但一般会结合系统自身特点,对标准接口进行修改或扩展。因此,实际网络编程接口实现与操作系统密切相关。当前,Windows系统占据了工作站(含台式机)与小型服务器市场的主要份额,Unix系统(含Linux)则在服务器特别是大型服务器市场中仍然占据主导地位。考虑到学生毕业后的实际工作情况,接触Windows系统的机会应该更多。因此,教学内容选择的指导思想是以Windows平台网络编程接口为主,同时兼顾标准网络编程接口。
网络程序设计是网络工程专业的一门骨干专业课程,教学内容较丰富,实践性要求高。根据网络程序设计课程的教学目标和特点,我们为该课程安排了以下课堂教学内容:
第1章 网络程序设计基础知识。本章介绍网络编程相关的基本概念和知识,内容包括网络程序设计概念、进程与线程的基本概念、TCP/IP协议及其在操作系统中的实现、基于客户/服务器模式的网络应用程序模型等。
第2章 基于Berkley套接口的网络程序设计。Berkley套接口是事实上网络编程接口标准,它出自于Unix系统,Windows系统也尽可能地与之兼容。本章重点阐述Berkley套接口的基本用法,包括套接口编程的基本概念、面向连接的套接口编程、无连接的套接口编程及原始套接口编程等。
第3章 Windows程序设计基础。在Windows平台上进行网络程序设计离不开Windows系统编程知识。本章介绍Windows编程的基础知识,包括Windows操作系统的基本原理、Windows API的实现机制与调用方法及Windows消息机制。
第4章 Winsock网络编程接口规范。Winsock是Windows系统中的套接口实现,经历了Winsock1.1到Winsock2.2版本的发展。本章在第3章的基础上全面介绍Winsock网络接口规范及其使用,包括Winsock1.1及Winsock2.2的扩展能力。
第5章 基于MFC 套接口类的程序设计。MFC利用面向对象技术,对基本的Windows API进行了封装。Winsock编程接口的主要功能被封装成为CAsyncSocket和CSocket两个类。本章将通过实例说明这两个类的用法。
第6章 Windows多线程网络编程技术。多线程可以避免网络应用程序被某个调用阻塞。本章介绍多线程技术的必要性、Windows系统的多线程机制、MFC对多线程的支持及多线程机制在网络编程中的应用等。
第7章 Winsock编程接口I/O模型。支持异步网络程序开发是Windows系统的特色,为此Winsock引入了5种I/O模型实现非阻塞的套接口工作模式。本章分别介绍5种异步I/O模型的原理与使用。
第8章 Winsock编程接口选项与I/O控制命令。套接口选项和I/O控制命令是在套接口建立以后对其各种属性进行操作。本章介绍Winsock编程接口的基本选项及主要I/O控制命令的用法。
第9章 网络程序设计实例。网络编程技术具有很强的实践性,学习与分析实例可以更好地理解基本知识与技术。本章通过讲解分析实例中的各种网络编程技术巩固前面所学的知识,为以后的综合应用打下基础。
本课程重在教授网络编程的基础知识与技能,内容选择主要是为了满足教学需要,而非求全求深。因此,部分网络编程相关知识没有在课程中出现,如Winsock对网络服务质量的支持、IPv6版本套接口等。
本课程的重点内容在第3~6章。其中第3章是整个网络编程的基础部分,而第4章和第5章则包括了Windows平台下网络程序设计的基本知识,第6章的多线程技术是无阻塞同步网络编程的基本技术。第7、8两章内容与操作系统关系较密切且较抽象,是课程的难点。我校为该课程安排64 学时,其中理论讲授48学时,实验教学16 学时。根据重点难点内容分析结果,我们按表1分配课堂教学学时。
3课程实践环节
3.1实践环节的必要性
传统的网络课程教学方法多以讲授计算机网络基础理论为主、少量的验证性实验为辅。网络程序设计本身是一门实践性非常强的课程,对引导学生掌握最新的网络编程技术,培养学生的动手能力、协作精神和创新能力都具有重要作用。在学生学习过程中,如不注重理论和实践紧密结合,则不仅所学基本知识难以得到深入理解和巩固,更不能将其灵活运用于解决新的问题。因此,教师在系统讲述网络编程基础知识的同时,要充分调动学生的主动性,认真完成网络编程实验的教学。
3.2教学组织与学时分配
实验是基本的实践教学手段。通过实验教学,学生可以更快地实现从概念理解到实际编程能力的转变。每次实验前,教师首先讲解实验的设计目标、要求和所需的编程技术,要求学生做好充分的准备工作,进行初步的需求分析和程序设计。在实验过程中,教师通过解答学生提出的需求分析、设计与实现问题,为学生提供帮助。实验结束后,学生需按一定的格式规范按时提交实验报告;教师通过实验报告检查和评价学生的实验质量。如有条件,可组织学生对实验结果进行简短的讨论,让学生总结和分析自己的实验体会。
我们根据网络程序设计课程的教学大纲和实验大纲制定了实验计划。实验包括验证型、设计型和综合型实验三种。验证型实验主要让学生理解所学的网络编程知识,通过重复课堂示例掌握某一项网络编程技术。设计型实验需要学生利用某一项网络编程技术,根据具体问题要求设计并实现一个网络应用程序。综合性实验需设计并实现一个相对复杂的网络应用程序,其中需用到多种网络编程知识和技术。全部实验内容包括Berkley套接口编程实验,Winsock套接口编程实验,利用原始套接口进行PING 程序的设计及实现,基于MFC套接口类的网络编程,电子邮件程序的设计与实现(SMTP客户端、POP3 客户端程序)或FTP客户端实现及聊天室软件的设计及实现。实验报告与其他课程基本类似,有相应的实验题目、实验目的与要求、实验步骤和实验结果等内容。实验结果要包括实验过程中的问题分析、解决方式及心得。表2总结了实验的内容与学时分配计划。
有条件的学校还可以集中1周左右的时间进行课程设计。课程设计以课程教学内容为基础,实现一个具有一定规模和实用价值的网络应用系统。课程设计对所学的理论知识及实验中所学的各种方法与技巧进行综合性应用,对培养学生综合分析能力、编程动手能力具有重要作用。课程设计报告包括系统需求分析、功能设计及各模块详细设计等,类似于计算机类毕业设计论文格式。
4结语
网络工程专业是近年来为满足社会信息化需求而出现的相对较新的专业。该专业目前还没有一个明确的规范,开设该专业的各个院校对某些课程的教学尚缺乏统一的认识。本文以该专业的培养目标为依
据,结合个人教学过程中的体会,探讨了网络工程专业网络程序设计课程的基本问题。文中讨论了该课程的教学目标与特点,给出了具体的课程内容设置和实践环节安排建议,希望对完善网络工程专业以及网络程序设计课程建设具有一定的借鉴意义。
参考文献[ 规范格式]:
[1] 刘悦,张远,贾忠田. 高等学校网络工程本科专业的科学规范探讨[J]. 计算机教育,2008(4):120-121.
[2] 王一飞,吴素芹. 网络编程技术课程教学研究与探索[J]. 科技信息,2008(34):20.
[3] 冯健昭,肖德琴. 网络编程教学改革探索[J]. 现代计算机,2009(8):69-70.
[4] 叶树华. 网络编程实用教程[M]. 2版. 北京:人民邮电出版社,2010.
Discussion on Network Program Design for Students Majoring in Network Engineering
JI Qi-jin, ZHU Yan-qin
(School of Computer Science and Technology, Soochow University, Suzhou 215006, China)
关键词:数据结构;建构式教育理论;理论教学;实践教学
近年来,在产业界急需大量软件开发人员的情况下,普通本科院校计算机专业学生的就业率持续走低。网络、报纸等媒体对计算机本科教育现状多有批评,甚至出现了大学不如培训公司的极端观点,严重影响了学生对专业课程的学习兴趣、动力和信心。数据结构是计算机专业的核心基础课程,上承程序设计语言、离散数学,下启操作系统、编译原理等课程,其重要性不言而喻。一方面,数据结构学科具有难度大、抽象层次高、概念繁杂等特点,学生很难掌握,更不要说将抽象理论与就业实践需求相结合。另一方面,国内主流数据结构教材和相应的传统教学模式侧重于培养学生的计算机学科基础理论素养,而将如何通过组织数据结构教学活动积极推动就业的问题留给了任课教师[1]。这造成了学生学习数据结构的目标不明、信心和动力不足。笔者面向就业需要明确了数据结构的两大主要教学目标,并在实际教学过程中实践建构式教育理论,尝试解决学生对专业认识不清、学习兴趣不足、编程基础薄弱等问题。一些做法得到了学生的认可和配合,成功地激发了学生的学习主动性、在一定程度上培育了学生的创新精神。
1面向就业需求的数据结构教学目标
教育要服务于社会生产需求。数据结构教学也必须紧扣这一根本目标。本节从满足就业需要的角度阐明了数据结构教学的两个主要目标:
1) 培养超越具体程序设计语言技巧的编程技术。
现阶段是一个传统的生产生活方式迅速向电子化、信息化转变的时期。人们需要开发和维护更多、规模更大的计算机系统来满足生产和生活的需要[2]。这就决定了具有熟练编程技术的程序员在很长时期内都将受到产业界的青睐。大学对学生编程技术的培养始于程序设计语言的教学,如C语言,Java语言等。但是现今编程语言繁多,各种新概念层出不穷,常常出现学生无所适从或者质疑某门语言课程已经过时无用的现象。甚至很多教师也在争论讲授何种编程语言。笔者看来掌握编程技术(而不仅仅是语言),回归编程的本质问题更加重要,无谓地追赶时髦不可取。作为编程语言课程的后续,数据结构教学的重要目标就是帮助学生理解编程的本质、锻炼编程技术以及学习提高编程技术的方法。
2) 培养围绕复用的软件开发方式。
随着软件规模的日益增大,软件开发模式逐渐从“从无到有”的模式过渡到“从有到有”的模式,即复用现有的丰富的软件资产,开发新的应用系统。事实上,复用的思想已经被广泛的用于软件开发实践之中,从各种各样的程序库、软件开发包、软件构件、Web服务等各种可复用资产已经简化了软件开发的难度、提高了软件开发的效率也极大地改变了软件开发的模式。数据结构学科本身就是对软件复用思想的一种实践,它通过总结大量软件系统中反复出现的数据结构(如表、树、图、集合等),定义和实现处理这些数据结构的基本操作,最终达到能够在不同项目开发中反复应用的目的。这些基本数据结构和算法已经被实现为可复用的产品随着程序设计语言,如C++ STL、C# collections, Java collections等,并得到了广泛的使用。因此,数据结构教学的另一个重要目标就是引导学生习惯围绕复用的软件开发方式,能够使用和定制已有的数据结构和算法库。
其他传统的数据结构教学目标,如培养学生面向实际问题进行算法设计和分析的能力,培养学生计算机学科的基本理论素养和思维方式等也非常重要。但普通本科院校学生对理论内容的接受能力以及将理论和现实就业需求相联系的能力相对较弱且教学时间有限[3],笔者认为重点突破本节给出的两个更具体、更可达的教学目标,并在实现这种具体教学目标的过程中潜移默化地培育学生的计算思维和理论素质,将会取得更佳的效果。
2建构式数据结构教学
教学理论研究以及教学实践反馈均表明,学生主动学习的效果远较被动地接受老师灌输的效果好的多。因此,为实现上述教学目标,在建构式教育理论的指导下,笔者探索并采用了一系列建构式教学措施,激发学生的主动性和兴趣,取得了较好效果。
建构主义认为,学习并非学习者对教师所授知识的被动接受,而是学习者以自身已有知识和经验为基础的主动建构过程[4]。知识不仅是通过教师传授而得到,更是学习者在一定的情境中,利用必要的学习资料,通过同化新知识、顺化自身知识结构的方式而获得。建构主义提倡在教师指导下的、以学习者为中心的学习,也就是说,既强调学习者的认知主体作用,又不忽视教师的指导作用,教师是意义建构的帮助者、促进者,而不仅仅是知识的传授者与灌输者。学生是信息加工的主体、是意义的主动建构者,而不仅仅是外部刺激的被动接受者和被灌输的对象。下面从理论教学和实践教学两个方面介绍我们采用的一些教学措施。
2.1理论教学措施
课堂教学是数据结构教学活动的主要部分,充分利用课堂教学时间,激发学生学习数据结构的兴趣和信心,帮助学生建立学习数据结构的环节非常重要。我们采用了如下措施:
1) 组织小型讨论。
好的开始是成功的一半,好的课堂教学须在上课之初就抓住学生的注意力,让学生带着轻松、愉快的心情听课。我的做法是在课堂的前5分钟,提出一个学生感兴趣的话题,组织若干个有3~5位同学参与的小型讨论。到一个学期结束时,每位同学都有至少一次的发言机会。讨论的主题可以灵活设置,如时事、技术、社会热点等。有时,课堂中间学生比较疲惫、注意力下降的时候,也可以穿插一点讨论,改善课堂环境。大多数学生非常喜欢这种讨论活动,积极参与其中,成为课堂的一部分,从被动上课转变为喜欢上课。
2) 重建理论知识所针对的问题。
国内的经典数据结构教材侧重严谨的理论,较少讨论各种概念、算法出现的背景以及探讨的问题是否仍然具有现实价值。而回答这些问题能够帮助学生重建理论知识所针对的问题原型,重现解决方案的提出、发展乃至最终成熟的整个过程,更有助于培养学生解决实际问题的能力,养成批判性、创新性思考的习惯。众所周知,关于树的存储方法很多,有双亲表示法,孩子表示法和二叉链表表示法[5],其中以树的二叉链表表示法使用最广,但其他存储方法也有其适合的应用。例如,在利用树表示各个集合,求集合中的等价类时,双亲表示法更为合适。每一个集合都用树的双亲表示法存储时,并设树的根结点的值为集合名,集合中的每个成员都对应一个结点,这样很容易找到一个元素所属的子集(顺着双亲指针找树的根结点)。
3) 组织“我来讲”活动。
数据结构涉及很多抽象的概念和算法,初学者很难理解。而教师则对理论内容比较精熟,常常倾向于从理论的角度逐步递进、展开讲解,这就增加了学生的学习难度。教师和学生在教学语言上的鸿沟是影响教学效果的一个重要障碍。教师当然可将抽象的理论概念与生活中更形象的概念进行类比,帮助学生理解,也可以将复杂的算法过程用多媒体动画模拟出来,直观地展示给学生,帮助学生掌握。但一方面,根据建构主义理论,教师和学生的知识背景不同,由教师设计概念类比语境和算法模拟动画实际上仍然是基于教师的知识结构对知识点进行的同化和顺化,而不是对学生知识体系的直接建构。另一方面,教师的经验和智慧有其局限性,未必总能够找到最适合的类比语境和动画模拟。为此,笔者采用了充分发挥学生智慧的方法,组织“我来讲”活动,要求学生通过设计算法的动画模拟,创建概念的类比语境等方式进行学习,并随机选择学生走上讲台对抽象理论概念和复杂算法进行说明。这样不但能够调动学生思考问题,还能帮助那些无法完成自我知识体系建构的同学从学生的视角去理解同一个问题。例如,对于n维数组是元素为n-1维数组构成的线性表这一递归的类型定义,可采用符号推理的方式,培养学生的理论素养,而同时可鼓励学生根据自己的理解将抽象理论具体化,建立帮助理解和记忆的现实语境。
2.2实践教学措施
数据结构是帮助具有基本编程语言基础的学生锤炼编程技术的关键课程。它揭示了程序设计的基本面,即如何处理相互之间存在一种或多种数据关系的数据元素所构成的集合、如何设计算法并分析算法的优劣。若没有相应的配套实验指导学生如何将理论应用于实际问题,只是泛泛而谈、纸上谈兵,学生容易迷失在数据结构的一连串复杂概念和算法之中,而不知道学习数据结构的意义何在。为实现教学目标,笔者锁定实验内容设置和实验考核等两个关键环节,实践了如下措施,取得了较好效果。
2.2.1实验内容设置
实验内容设置是进行实践教学的最重要部分。从覆盖知识点的角度看,实验内容须面向数据结构教学目标,即实验内容须能够锻炼学生的编程技巧,如算法设计、调试、测试以及调优等能力,还能够让学生体会到围绕复用开展软件开发的威力以及思路。从覆盖教育对象的角度来看,实验内容须面向大多数同学并充分考虑优秀同学,即实验内容须划分不同的层次,让大多数学生能够很容易入手,并让有能力、有余力的学生能够不断地深入,直至形成综合型课程设计。
基于以上考虑,并借鉴同行经验,笔者开展三个层次的实验教学活动,一是要求所有学生都完成的实验内容,要求学生采用不同的数据结构实现同一个问题并进行对比分析,例如,分别使用静态数组和动态分配的连续内存区实现顺序表,使用整型、字符型数组或者链表实现长整数的乘法,使用带头结点或不带头结点的循环链表模拟约瑟夫环等;二是组织程序设计竞赛,让部分学有余力的同学能够在算法设计、程序实现和调试、优化等方面得到锻炼和提高;三是设计综合型课程设计锻炼学生解决问题的综合能力,并通过适当分组,培养学生团队协作精神和能力,锻炼学生解决问题的综合能力的目标,最终达到以点带面全面提高学生能力的目的。
2.2.2实验考核手段
考核手段在教学环节中至关重要。考核手段是学生学习和锻炼自身能力的风向标。为保证每位同学都能积极完成实验并有所收获,避免抄袭和敷衍的现象,笔者采取了综合型的考核手段。其一,提交实验成果,即程序及其运行结果;其二,记录实验过程、分析实验结果以及总结实验得失的实验报告,对实验报告进行选优讲评,培养学生撰写科学实验报告的能力;其三,每位同学必须面向教师讲解自己编写的程序,包括主要思路和细节性语法,优秀的同学可走上讲台宣讲自己的实验方案和程序设计技巧。这就基本杜绝了学生相互之间抄袭程序和实验报告的现象,使得学生真正能够思考问题,并尽力动手完成实验。综合上述三种手段的综合型考核方法既能够达到督促大部分同学完成实验、锻炼动手能力目的,又能够达到培养优秀同学的目的。特别地,优秀同学宣讲活动能够使学生观摩到如何从学生的视角从无到有的解决问题的过程,这能够培养学生解决实际问题的信心并激发其学习积极性。
3应用中遇到的问题
建构式教学模式在应用和推广过程中遇到的主要问题来自三个方面。其一,目前学生的课业负担较重,习惯于被动“填鸭”而不习惯于主动“求索”,这是推动和开展建构式教学模式的主要障碍。其二,建构式教学活动,需要师生的密切交流,但现有师资不足难以满足实际需求。一个可能的解决方法是综合多门课程和多个老师,建构整体的知识框架和学习体系,避免课程教学中的重复劳动,提高师资的利用率。另一个可能的解决方法是利用互联网技术,建立在线教学园地。其三,建构式教学模式仍然处于探索阶段,各学科缺乏建构式教学素材。从笔者在实践教学的体验来看,应尽量从学生的学习背景和能力成长规律出发而不仅仅是从学科背景出发,为学生建构知识体系设计更平滑的路线。
4结语
笔者提出将“培养超越具体程序设计语言技巧的编程技术”和“培养围绕复用的软件开发方式”作为普通本科院校的数据结构教学目标,在建构式教育理论的指导下,设计并实践了一系列建构式教学措施,分析了应用建构式教学模式所遇到的一些问题。
未来将开展两个方面的工作。一是通过问卷调查、统计分析等手段定量地分析建构式教学方法的实际效果;二是创造和积累建构式教学素材,如研究数据结构课程设计过程中不同类型学生的知识建构路线,挖掘并推广其中优秀的知识建构方法。
参考文献:
[1] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M]. 北京:高等教育出版社,2006:8-101.
[2] 蔡敏,郑尚志,梁宝华.“数据结构”课程教学改革之我见[J]. 计算机教育,2009(4):50-51.
[3] 揭安全,李云清,杨庆红,等. 项目教学模式指导的“数据结构与算法”教学改革[J]. 计算机教育,2008(22):21-23.
[4] 郝长胜,贾茹. 运用建构主义理论构建程序设计基础的新型教学结构[J]. 计算机教育,2007(1):24-25.
[5] 严蔚敏,吴伟民. 数据结构(C语言版)[M]. 北京:清华大学出版社,2008:135-136.
Application of Constructivism Theory in Data Structures
SUN Lianshan, ZHAO Xiao
(College of Electrical and Information Engineering, Shaanxi University of Science & Technology, Xi’an 710021, China)
[关键词]模拟列车;控制系统;开发;应用
[中图分类号]U284 [文献标识码]A [文章编号]1005-6432(2014)27-0128-02
当下,计算机技术广泛应用于社会生产各个领域,在最近几年飞速发展的高铁产业,计算机也在其中扮演着举足轻重的角色,计算机技术给高速铁路的发展注入了新的活力,极大地提升了高速铁路的发展速度,而计算机技术上的一个漏洞也曾经给高铁的运行带来过毁灭性的后果,我们的项目就是实现计算机对模拟列车的控制,从而可以在线下模拟列车的运行,让公众在校园以及博物馆就可以接近全真地观察、了解列车的运行,而模拟列车系统中开发的实验运行方案同样可以服务于真实的列车,从而节约成本,进一步加快高速铁路发展速度,提升高速铁路运行效率。
1 模拟列车控制系统概况
我们的模拟系统是基于美国的Digitrax公司提供的硬件设备基础上进行开发的,依托于美国铁路列车模型1997年标准的Loconet协议框架进行设计的。通过对该套设备零件包括列车、信号灯、轨道、道岔等共200多个,我们利用计算机对其进行逐一编号,从而可以实现对它们的单个控制,同时也可以分别接受各个设备向计算机传输的信号。我们将现实中的列车运行的真实场景搬到了系统平台上,通过计算机使各个独立设备建立联系,从而可以实现道岔自动扳动,信号灯根据相应区间信号来自动进行颜色变化等设备关联性变化,完成对现实列车运行的全真模拟。
2 系统的创新性主干控制技术
我们软件编程语言主要用了C#,Java和C语言。主要用到的软件编程技术有多线程技术,xml解析技术,Socket网络通信技术,串口编程技术。为了提高系统的互动性,我们还加入了Android技术。可以利用手机与列车互动。除了这些基本技术之外,我们还应用了一些在模拟控制系统领域较为先进的技术。
2.1 Loconet串口协议
Loconet是一种以太网协议,是美国铁路列车模型于1997年提出的标准协议框架,通过Loconet我们就可以把模拟系统平台上的所有设备通过网络的形式结合起来。
2.2 DCC数位列车控制
DCC列车数位控制原理是对轨道分别加一个直流电压和一个交流电压。直流电压用来为列车供电,为列车亮灯、运行提供能源及动力。而交流电压是用来给列车传递信号的,不同的交流电压会被列车模型翻译为不同的指令,从而实现对列车的控制。这样做的好处就是可以同时对多辆列车进行逐一的控制,为每辆列车提供个性化运行方案。
我们的实验设备,是将这两种技术结合在一起,实现列车运行模拟的高精度仿真。
2.3 Socket通信技术及Andriod技术
我们利用Andriod技术开发出在手机里的控制程序,再通过Socket通信技术将手机入网,实现手机对列车模拟系统的操作。
3 自主开发的人机友好界面及设备
3.1 可实时反应轨道状态的检测界面
在模拟列车运行的过程中,我们的计算机可以实时地接受轨道系统返回的信号,从而检测轨道的情况,包括列车所在区间段,各个信号灯的显示状态,以及道岔的扳到位置。及时搜罗系统信息并反馈给操作人员,便可以随时根据轨道情况调整运行方案,提高运行效率,避免轨道上可能发生的事故。参观者也可以通过检测界面了解他们想要获取的相关信息,从一个简单的界面就可以了解列车常规的运行情况,极大地降低了普通人了解学习铁路知识的难度,使得一些专业的铁路知识变得直观且简单易懂。
3.2 安卓手机程序控制列车运行
我们在编译计算机控制程序的同时,也开发了手机上的控制移动终端:用Andriod技术开发手机控制应用,再利用Socket技术将手机接入计算机的wifi网络,使得每一个在手机上安装我们的应用程序的用户都可以实现对于列车系统的控制。极大地增加了人机互动性,使得参观学习可以更为自由,参观者根据自己的需要对模拟列车系统进行控制,使得参观更为自由、随意。
关键词:数据库课程体系;教学改革;教学特色
中图分类号:G642 文献标识码:B
文章编号:1672-5913 (2007) 24-0110-04
1数据库课程体系改革的背景
随着IT产业的迅速发展,可视化程序设计、计算机网络技术、数据库技术、多媒体技术和软件工程等计算机技术已经出现了大融合,网络数据库技术已经成为数据库技术的主流。而以前数据库课程建设主要针对关系数据库的理论和设计方法,偏重理论教学环节,实践环节较为薄弱,也不涉及网络编程,与应用性人才培养模式的要求不相适应。为了加强实践环节,培养高等技术应用型人才,从01级开始,在计算机类专业的教学计划中新增了“网络数据库技术及应用”、“C/S结构应用软件设计实习”和“B/S结构应用软件设计实习”三门以实践为主的课程,并构建了数据库课程体系(程序设计基础à关系数据库设计技术à网络编程技术à网络编程实践à毕业设计提高),该课程体系有相应的理论教学、实验教学、课程设计、课程实习等教学环节,不仅五个阶段本身各有其侧重点,而且五个阶段之间前后有密切的联系。该课程体系在教学计划中处于关键的地位,在计算机类专业集中实践环节中占有相当大的比重,并对该专业学生顺利完成毕业设计提供了技术支持,已成为教学计划得以顺利实施的关键环节。
要提高教学质量,就要组建教学团队,建设精品课程[1]。在数据库课程体系的改革研究与实践中,我们重点对课程体系中的二门核心课程“数据库原理及应用”和“网络数据库技术及应用”进行了教改和建设,并分别在2003年和2005年获得了浙江省高等学校精品建设课程。自2005年以来,“网络数据库技术及应用”课件获2005年浙江省第四届高校教师自制多媒体教学软件评比二等奖,“网络数据库技术课程建设与实践”项目获2006年宁波工程学院教学成果奖一等奖,“数据库课程体系的改革研究与实践”项目获2007年宁波市人民政府教学成果奖二等奖。
2数据库课程体系的改革研究与实践
在数据库课程体系的五年教改实践中,项目负责人组织教学团队主持完成了“教学模式、教学措施、教学目标、教学方法和教学软件”的改革成果,具体内容如下。
2.1数据库课程体系的“五阶段”教学新模式
近五年来,该课程团队的教研活动涉及了数据库、程序设计、网络、多媒体等领域。通过国家教育部计算机重点试点专业教学改革的探索,又经过多年数据库课程体系教学与科研工作的实践,建立了“程序设计基础(可视化程序设计+ASP程序设计)à关系数据库设计(数据库原理及应用)à网络编程技术(网络数据库技术及应用)à网络编程实践(C/S结构应用软件设计实习+B/S结构应用软件设计实习)à毕业设计提高(开发基于C/S和B/S结构的网络数据库应用系统)”的计算机类专业数据库课程体系的“五阶段”教学新模式,取得了较好的教学效果。“五阶段”教学新模式的具体实施步骤如下。
在程序设计基础阶段开设“可视化程序设计”和“ASP程序设计”课程,通过程序设计的基础训练,培养学生良好的编程、调试技能和动态网页的制作方法,学会有关集成工具软件的使用,为以后的设计、技术和实践做准备。
在关系数据库设计阶段开设“数据库原理及应用”课程,主要介绍关系数据库的基本概念、基本理论和设计方法,同时介绍数据库应用系统设计案例,以培养学生对中小型数据库应用系统的结构设计和行为设计的能力。课程结束后马上进行一个为期二周的数据库课程设计,以加强这方面的训练。
在网络编程技术阶段开设“网络数据库技术及应用”课程,主要介绍SQL Server 2000数据库管理系统、客户/服务器(C/S)应用系统、浏览器/服务器(B/S)应用系统等内容,以培养学生采用基于C/S和B/S结构技术来开发网络数据库应用系统的能力,为下一步的实践和提高做准备。
在网络编程实践阶段开设“C/S结构应用软件设计实习”和“B/S结构应用软件设计实习”以实践动手为主的课程,教师以兴趣小组的形式指导学生,学生以小组的形式合作开发小型实用项目,计算中心的开放式实验室提供给学生充足的上机时间,从而使学生们在实践中得到了锻炼。
在毕业设计提高的最后阶段,我们的主要做法是:教师部分科研项目吸收优秀学生参与,从而锻炼了学生参与科研的能力;教师以学生兴趣小组的方式指导学生毕业设计,教师给题,学生选题,教师指导。通过这二项措施,带动了学生学习网络数据库的积极性,提高了学生网络数据库应用系统编程的能力。
通过“五阶段”教学新模式近五年的实践,学生的网络数据库设计能力及实际网络编程动手能力均有了较大的提高。在毕业设计中采用C/S和B/S结构开发网络数据库应用系统的计算机类专业的学生比例逐年提高,取得了较好的实践效果。浙江省2005届毕业设计(论文)抽查结果表明[2]:我校计算机类专业学生的毕业设计(论文)在选题、教师指导、收集处理信息与实际动手能力、综合应用基本理论与基本技能能力、文字表述与图表质量、规范要求六个方面指标名列各校前茅,并以总分77.97的分数荣获全省专科计算机类专业毕业设计(论文)抽查结果评比第一名。
2.2数据库课程体系的“四加强”教学新措施
第一,加强课程建设力度,不断完善教学文档。近五年来,我们编写了较为合适的讲义和教材,不断完善了课程教学大纲、实纲和课程设计大纲等教学文件,在课程教改方面取得了显著的成绩。近几年在课程建设中,我们主要突出了实践动手能力的培养,突出了B/S和C/S等成熟和先进技术的应用,突出了实用和典型案例的讲解。在上述“三个突出”思想的指导下,“VB网络程序设计”、“网络数据库技术及应用”和“数据库原理及应用”教材已分别由科学出版社、西安电子科技大学出版社和人民邮电出版社在2003年、2004年和2006年主编和编著出版。
第二,加强教学软件开发质量,构建网络教学环境。我们构建了基于WEB的教学网站和适应性网络教学平台,同时电子在线网站在教学管理中得到了应用,受到了较好的效果。这些不仅有利于进行计算机多媒体的辅助教学,而且能为学生提供一种个别化自主学习的环境,促进了学生主动学习的积极性,达到了助教助学的目的。
目前高职院校电子技术方面的课程主要有模拟电子技术基础、数字电子技术基础、电子技术基础实验、电子电路计算机辅助分析、单片机原理及应用等课程。高职院校在课程安排时要尽量在相关专业都开展一些基础性课程,并且各相关专业的教师也要能够熟练掌握相通专业的基础课程知识,从而融合专业基础课程,有利于培养学生的综合素质。
电子技术基础知识比较抽象复杂,难以理解,因此学生很难对其产生兴趣,因此电子技术专业教师在教学过程中将进一步在理论教学时加入一些经典案例的讲解,提高学生对电子技术的学习兴趣,意识到学习电子技术的重要性。教师要能够善于发现学生的兴趣爱好与特长,充分挖掘学生的潜能,举办多样化的教学活动以提高学生的主动参与性。例如举办电子设计大赛、电子技术知识竞赛等等活动,来培养学生的团队合作意识与独立思考问题、解决问题的能力。由于电子技术一些基础知识与模型具有抽象性特征,学生在学习过程中很难掌握知识要点。因此,电子技术专业教师在教学过程中会逐步灵活运用计算机软件来辅助教学。计算机技术在近几年来得到了迅猛发展,各类计算机辅助技术也不断研发出来,例如计算机辅助设计、计算机辅助工程及计算机辅助制造。我国在上个世纪九十年代就开设了计算机辅助分析这一课程,在教学过程中计算机辅助软件也在不断升级更新。
目前我国高职院校在电子技术教学过程中普遍应用CAI软件,教学质量与效果得到了显著提高。一些教师在课程设计中使用计算机辅助软件来绘制电路图、设计并印制集成电板等等,这些计算机辅助软件的加入改善了电子技术教学效果。在以后的电子技术教学过程中,教师将进一步扩大计算机辅助技术的应用范围。例如通过仿真实验,让学生使用EWB软件进行电子系统仿真设计,并在计算机上通过模拟实验来进行验证,在仿真实验成功之后再进行实际操作。数字电路具有概念清晰、逻辑性强等特点,但是在进行系统设计时较为繁琐。教师可以通过开设系统编程技术这门课程,加强编程逻辑器件应用教学来使学生掌握一些编程技术。高职院校还可以为此设立电子系统设计开放实验室,并保证装备器材齐全,为学生开创一个实验场所。
二、电子技术教学目标将以社会需求为导向
目前,我国高职院校的教学内容较为陈旧,实践性不强,不能满足社会岗位的需要,与电子技术快速发展的现状不符。为解决这一问题,我国高职院校电子技术专业在设置课程教学目标时将逐步以社会需求为导向,根据社会岗位的需要来合理调整电子技术人才培养目标,以满足社会的需求。高职院校在以社会需求为导向的教学目标设计时会从以下几个方面出发。
高职院校将改变电子技术专业的教学方式,树立以学生为课堂主体、教师为主导地位的意识,处理好教师与学生之间的关系。教师将逐步明确自我定位,在教学过程中做好引导工作,让学生拥有自由的学习空间,让学生能够独立思考、相互讨论,帮助学生完成电子设计。教师还应该在课堂教学活动中加强师生互动,相互合作,共同进步,这样有利于激发学生的创新意识,有利于构建和谐的师生关系。
另外,高职院校还要能够根据电子技术专业课程要求与学生的需求来配置教学资源,充实电子技术课堂教学设备,充分利用并优化教学资源,为电子技术学生创造良好的学习环境。教师可以在课程设计活动中灵活运用先进的计算机技术,将书本中一些难以理解的抽象复杂的内容通过仿真实验变得更加直观,更加容易理解。教师还可以通过一些经典案例的模拟再现,拓宽学生的知识面,加深学生对书本知识的理解。
为进一步保障电子技术教学任务高质量的完成,为电子技术的健康发展提供源源不断的动力,电子技术教学过程中会提高教师的总体素质。教师的专业素质与综合素质直接影响着教学任务的实现。因此,我们可以预见,电子技术专业教学会逐步提高对教师整体素质的要求。由于电子技术学科具有实践性强的特点,因此教师不仅要有扎实的理论知识基础,还要能够有丰富的实验操作经验。