版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文的开题报告2016毕业论文的开题报告(1)一、本课题选题的依据在现代素质教育的形势下,建设为素质教育服务的、现代化的、功能完善的教育教学资源系统,拓展学生自主学习的空间,发展学生的多种能力,特别是创新能力,已经成为中学教育必须研究的课题。现代信息技术特别是计算机网络技术的飞速发展,使我们的教育模式产生了质的飞跃,网络化教育将成为信息时代的重要标志和组成部分。探索、研究并构建适宜于在计算机网络环境下的教育教学模式,是教育界亟待解决的课题,也是我们责无旁贷的使命。在网络教育时代,不仅需要有先进科学的教学手段、高效互动的教学方式,更需要有丰富实用的教学资源、完备的教学体系。在网络化教育的大环境下,教师应该成为网络教育的主导力量。而目前,我们的教师对信息技术、网络教育尚不熟悉,利用网络实施教育教学尚有距离,尤其是建立“在网络环境下的教育教学新模式”还有待起步,基于此,我们提出了本课题的研究。二、本课题研究的条件开展本课题研究具有以下有利条件:背景条件:国家教育部大力推进信息技术教育,虚拟学校、远程教育等应运而生;重庆市教委大力普及信息技术教育,通过评选信息技术示范校加大力度;渝中区率先建立局域网,并通过已经实施了三年的“双创课题”研究,使教师的教学理念有了极大改观;随着课改的进一步深入,现代技术特别是信息技术在教育教学中得到了广泛的应用。基础条件:我校通过一年多的艰苦奋斗,信息技术无论在硬件上,还是软件上,都打下了坚实的基础:硬件上:我校建成了以光纤为网络骨干,采用千兆高速以太网,集视频教学、监控、信息服务、学校管理于一体的校园网络,实现了“班班通”;全校所有的教室都安装了数字投影机、实物展示台、100英寸电动玻珠屏幕、多功能讲台、监控摄像机、29英寸电视机,上课教师人手一台笔记本电脑。软件上:我校初步建成了具有求精特色的“教育信息资源库”,包括《k12学科资源库》、《数字图书馆》(近两万册电子书籍)、《信息技术与课程整合》电子期刊等大型教育数据库、试题库、资料库,涵盖国情教育、心理咨询、青春期教育、健康教育、艺术教育、升学指南、教育法规等教育信息库,能充分满足现代教育管理和一线教学的需要。人员上:我校成立了信息技术中心,配备了专业人员,无论从理论上,还是实践上,都有相当造诣。信息技术中心,对全校教职员工进行了信息技术素质修养和实际操作的培训,全校教职员工基本掌握信息技术教育,能满足在网络环境下进行教育教学的需要。三、本课题研究要解决的问题1、观念问题:有了好的硬件环境,如果观念不更新,只是“换汤不换药”,那就失去了研究价值。本课题必须着力解决教师教育观念更新的问题。2、理论问题:目前网络教育缺乏科学、系统的教育理论作指导,本课题应在实践中创造性地应用现有的理论,不断探索、总结、归纳、概括,形成适用于网络教育的理念、原则、策略。3、技术问题:信息技术,顾名思义,技术性是很强的。如何使教师技术精湛,使精湛技术与优质教育紧密结合,培养适应知识经济时代需要的人才,是一个值得认真探讨的问题。本课题希望在这方面能作出一点贡献。4、实践问题:网络是一个新环境,如何在这个平台上,创造出符合自己实际的教育教学模式,需要从实践中不断总结,不切实际地模仿别人,拷贝别人,是不可取的。本课题倡导教师努力进行实践。四、本课题研究的目标、内容和创新之处1、本课题研究的目标是:建立一个基于网络平台的符合当代教育理念、具有现代教育特色、综合教育效益很高的新型教育教学模式。2、本课题研究的内容是:(1)21世纪的教师应该思考自己的角色定位问题:①在网络环境中教师应该采用什么样的教育教学模式实施教育教学。②在网络环境中,教师应该采取什么样的再教育模式接受终身教育以保持新鲜活力,促成教育教学可持续发展。③适应现代教育的新趋势――网络教育,对教师素质到底有哪些新的要求。(2)21世纪的学生应该思考自己的学习问题:1现有实践教学体系的不足1.1专业课程设置定位不准确当前很多高校计算机工程专业是在社会大量需求下匆匆上马,没有相应的学科基础,新教师多,是参照其他学校的教学大纲开设自己的专业课,没有深入研究本校学生的基础素质和能力,以及本校教师的专业素养和能力,使其专业课程不能满足现代高等教育的理念,造成其实践教学体系先天性不足。1.2课程实验师资不足学校规模的扩大,在校学生规模剧增,致使专业教师和实验指导人员严重不足。每年分配到校的年轻老师几乎都是从学校到学校,缺乏实践经验。暑假的教师岗前培训,不到一个月的时间也只是形式而已。同时计算机工程专业高级教师的大量流失,使实验课程的指导教师严重缺失。1.3实验教学内容质量不高师资专业水平不高,使开出的实验内容水平也不高。主要是以验证性和观察性的实验为主,设计性、综合性的实验较少,研究性和创新性的实验几乎没有。现在的实验很多都是表面的形式,没有达到实际的效果。1.4实验指导和管理落后计算机工程专业的实验以锻炼学生的能力为主。但是当前实验内容陈旧,指导教师的实践经验不足,不能很好满足学生学习的需要。实验课程的安排随意性很大,不能与课堂教学相辅相成,学生理论和实践脱节。实验室管理手段比较落后,采用人员绑定实验室,手工登记和监督,致使实验教学非常忙乱,更不用说实验室开放了,使很多教学设备闲置,学生的需求得不到满足。1.5实验设备不足和陈旧计算机设备是更新非常快、投入非常大的,与其他学科的实验设备性质差别很大。很多学校的领导和相关部门不能认识到计算机教学的特点,在实验设备上投入不够,使很多设备落后,数量也不足,根本达不到教育部规定的4:1的指标。1.6实习基地较少学校与企事业单位联系的渠道较少,相互的合作不多。学生的毕业实习基本由学生自己解决实习的单位,学校只能提供较少的实习单位给学生,根本无法满足学生增长的需要。针对当前计算机工程专业实践教学体系的不足,参照国内外高校中计算机工程专业教学体系,按照学校的实际情况重新制定培养计划,对本校的专业教师和实验人员进行继续教育和培训,加大设备的投入。本文按照实践教学的各个环节分开讨论如何设置实践教学的内容、目标和教学的手段,给出一个符合当前社会需求的计算机工程专业实践教学体系的设置方案。2以素质教育为目标的实践教学体系2.1课程实验课程实验是课堂教学的重要组成部分,它是和课堂理论教学相辅相成的。通过课程实验,不仅可以传授实验基础理论知识,而且可以使学生更加深入地理解理论,完成理论与实践的结合。通过实验可以训练学生的基本技能,严格按照实验过程进行,分析实验中出现的问题,排除一般故障,对实验的结果进行分析和解释,锻炼学生的动手能力,培养学生的技能,提高其计算机软件和硬件设计和实现的技能。实验也是教师和学生深入交流的通道,启发学生深入思考,敢于创新。计算机工程专业的课程实验按照实验的性质,可以分为观察性实验、验证性实验、设计性实验、研究性实验等不同类型。现在实行多媒体教学,观察性的实验一般可以在课堂上简单演示,一般不列入实验体系。自从20世纪90年代以来,互联网在全世界大规模推广,现在的很多学生在大学入学之前都接触过使用过计算机,很多中学都开设了计算机课程,使学生具备了初步的计算机技能,能够使用可视化的开发工具进行编程,这使得计算机工程专业的低年级学生可以有少量的验证性试验,验证性实验可以在理论教学中简单演示,给出详细的辅导材料指导学生利用课余时间自己实验,其他的实验为设计性实验和综合性实验。在计算机工程专业有全校理工课基础教育,包含的物理实验、化学实验等公共基础系列实验本文不予讨论。软件技术系列实验要强调实验内容的设计,按照学生的能力和当前的素质以及教学大纲重新规划实验的内容,追求变化以适应社会的需求。当前重点加强的实验是基础理论系列实验和硬件技术系列实验。现在学生都是轻理论重应用,计算机工程专业的本科教育是以素质为核心的,理论是应用的基础,只有掌握理论应用才能够深入的探讨,否则其应用仅仅是模仿,不能够进行创新。为此要加强数值分析实验、离散数学实验、算法设计与分析实验等为主的基础理论系列实验,其中离散数学原来仅仅是讲授原理,不能和实践应用结合脱离实际。这些实验应该在验证性的基础上变换为一定设计性实验,重点强调理论的实践。软件实验的可操控性强,对于硬件实验需要一定的技术和经验,当前很多学生和教师都不愿开设这类的实验,多数是按照实验设备教程进行验证性操作,没有任何的设计性,更谈不上创新试验了,为此电路分析、模拟电子技术、数字电子技术、数字逻辑、计算机原理、微机原理及应用、嵌入式系统、计算机接口设计、计算机网络[2]等课程实验要增加趣味性,不要仅仅是枯燥的理论验证,而是结合理论设计实验内容以激发学生兴趣为主,寓教于乐,在设计性实验中掌握理论,在实验中培养学生的创新思维。在设计实验内容时要考虑到学生的起步基础不同和素质高低不同,设计出可以选择的实验,满足多方面多层次的需求,提高实验的质量。课程实验应该包括适当的开放性实验,目的是进一步提高教学水平、培养学生实验技能与创新能力。为此需要实验管理采用开放性,采用自动式的学生认证系统,提高设备的利用效率,为学生创造良好的实验环境。2.2课程设计和协作设计在课程实验的基础上,以提高学生的综合能力为出发点,应该选择比较重要的课程作为单独课程开设综合性课程设计,这对学生实践教学能力培养是非常重要的,考虑到整个实践教学必须占到整个学时的比例,应该开设以下综合课程设计。(1)高级程序语言课程设计:高级语言是计算机工程专业的基础课,通过课程实验学生仅仅是掌握语言的词法、语法和语义,不能从整体上掌握整个系统。特别是现在高级程序语言的开发环境虽然比较方便使用,但是其知识结构比较复杂,但是掌握其可以直接在程序中使用,大大提高编程效率。课程设计指导书中给出10多个题目,以学生综合掌握高级程序设计语言和集成设计工具为目的,学生能根据题目的目的,独立完成分析、设计和调试。使学生能更进一步地理解程序设计方法,熟练掌握常用的数据结构和算法,培养学生的实际设计能力和分析解决问题的能力,保持良好的程序设计风格。(2)数字电路课程设计:使学生基本掌握数字电路设计和调试的方法,增加集成芯片的使用知识。教师根据学生的基础列出10多个的选题,给出设计的目标,提供相应的数字电路分离的器件,要求学生独立完成设计、系统装配和调试。能力比较强的同学可以独立完成选题设计,完成系统的装配及调试,教师只需给予一定的指导。(3)计算机原理课程设计:使学生加深对计算机原理和相关课程的理解,实践和锻炼计算机硬件的设计能力和调试能力。要求了解实验所能提供的硬件基础和计算机体系结构,以及现在硬件设计语言的一般设计过程和方法,能够按照指令体系和功能进行逻辑设计和实现CPU,并进行软件的模拟。(4)嵌入式系统课程设计:现在机电设备的智能化都来自于嵌入式系统,嵌入式课程深入需要综合性的课程设计,能够使学生掌握嵌入式的环境应用的限制性、功能的限制性,根据设计的目标,综合使用嵌入式系统的接口、通信的基础知识、嵌入式微处理器构成控制系统,掌握实际控制设备运行的实际知识,培养学生硬件方面的综合设计能力和动手能力。(5)操作系统课程设计:要求学生掌握流行大型操作系统的系统结构、各种实现机理和各种典型算法,系统地了解操作系统的设计和实现思路。该实验可以采用开源的Linux系统为实验平台,运用所掌握的知识对内核某个部分进行替换,运用内核开发环境实现内核的重新组合。这样可以锻炼学生进行系统编程的能力,为今后开发驱动程序、网络接口等打下基础。(6)软件工程课程设计:使学生系统地掌握软件工程及软件管理的过程、方法和工具,教师可以按照学生比较熟悉的需求,设计多个相对比较大的项目作为题目,方便学生需求分析,这些需求分析可以是一定条件下现场的调研,多数数据是通过其他材料整理汇集出来的,也可以通过网络收集具体项目的需求,这个不能是真正的现场调研,这是课程设计中非常重要,而且是需要特别处理的部分。在此基础上学生要完成软件的设计,给出测试和维护的基本原则和文档。由于教学时间的限制,不可能完成编程和具体的测试,仅仅是完成必要的文档标准化和内容完整性检测。在计算机工程专业的课堂实验和课程设计是按照教学计划一个年级同步进行的,为此可以在达到实验目标的同时,在班级内部进行计算机技能比赛,比赛解决实验相关内容及问题的能力、比赛编写程序的质量、比赛编程程序的规范程度,比赛学生各种能力,促进学生内部有序良好的竞争,提高他们学习的积极性。也在同一个课程的不同班级进行比赛,培养整个专业的学生能够具有注重技能训练的精神。课堂教学和课程设计都是以班级为单位的独立设计来和完成,当前现实的项目是需要多人的系统完成,为此需要增加一个大作业和项目开发的实践教学环节,帮助学生增强交流能力、解决问题能力和技术技能[3]。(1)综合性作业课程:需要综合多门课程,可能需要多个学期,成立班级内部的小组分工协作共同完成。该作业具有一定的难度,综合多个知识点,需要系统的规划,能够锻炼学生的综合能力,同时也可以实现信息沟通技巧的掌握,达到交流技巧的掌握。(2)项目小组开发:团队精神是当今计算机工程专业必须具备的,可以按照当前社会需求和科研需求,设置多个项目,让高低年级学生自由组合,组成开发小组和兴趣小组,协同完成一项任务。项目过程包括开发、软件管理、经济、风险管理、需求工程、设计、实现、维护、质量保证、标准以及协同工作等。这样不仅提高了他们的实践能力和技能训练,关键是协同工作能力的锻炼,使学生更加容易地融入社会工作中。项目小组也是高级学生向低年级学生传递知识和技术的最佳场所,也可以大大提高高年级学生的管理能力和各个方面协调的能力团队开发课程。这也是课堂教学有益的补充。在项目开发的需求分析中要注意相关的法律和道德的可行性研究,清楚涉及的有关问题,锻炼采用何种策略来应对。这样的项目可能是多个学科综合的,可以把相关科目的同学吸引到小组中,比如自动化控制、通信工程、信息技术、电子商务、经济管理等等,实现高层次的综合。2.3实习和毕业设计实习不仅是学生发挥本专业特长服务社会、接触社会;也在实践教学中起着重要的作用,使学生在实践过程中即能达到提高个人能力的目的。当前实习有多种形式,多数分为校外的实习基地和校内实习基地,使学生能够到实践单位接触和了解科研和开发中存在的各种现实的技术或管理问题,参与实际课题或项目的开发等。实习基地的选择和建设是非常关键的,为了保证实习的质量。必须定期对实习基地进行评估,包括接收学生的数量、提供实习题目的质量、管理学生实践过程的情况、学生的实践效果等。实习指导教师必须有实践经验、教学经验,校外实习基地聘请业务水平高、责任心强的人员担任校外指导教师。毕业设计是一个科研和教学结合最为密切的实践环节。在毕业设计中学生可以理论联系实际,锻炼解决实际问题的能力。毕业设计应当紧密结合科研项目或课题,从科研任务中选择有价值的题目进行设计、实验和研究,还可以通过与企业紧密合作的实践教学活动来进行。3结束语随着计算机技术的日新月异的发展和深入应用,将会对实践教学提出了更高的要求;这就要求高等学校按照自身办学的定位和社会的当前需求对计算机工程专业的实践教学体系进行修订。以培养学生技能和实践能力为核心,高校教师要转变教育思想,更新教育观念,以构建主义为教学指导思想,推动计算机教学向着“培养全面高素质人才”的方向发展,为学生以后更好地为社会服务打下坚实的基础。1现状分析培养高质量的软件开发人才一直是社会和行业关注的焦点。早在11年前,对于工程教育的迫切性就被人提出来[1]。工程教育本身也作为一个系统问题被讨论[2]。现在从国家层面在战略上建立了软件学院进行专门培养,各个高校也不断推出新的课程、新的措施方案。在这一领域虽然比过去似乎已经有了翻天覆地的变化,但来自企业的呼吁似乎一直反映出诸多不尽如人意。更多的思路希望将企业的力量直接引入到教学,比如实训基地等[3];而国家层面也非常关注实训[4]。但实际效果可能变得流于表面,因为企业往往难以将核心的工作拿给学生做,而其训练的项目也并未从更全面系统的角度去设计,其锻炼效果就有限了。在软件开发这一领域,由于其具有变化迅速,新技术不断涌现的特点,导致不少在教育内容上选择了追逐新技术、新语言、新平台,以能用会用这些流行主流技术为目标。典型的代表就是北大青鸟,有些二本的学生在毕业前专门花钱去青鸟学习,似乎可以看到这种教育的优势。但另一个矛盾的情况是,往往那些关注员工后劲的公司却不愿意招聘青鸟的学生。如果将目光投向国外的顶级大学,例如斯坦福,其教学上并没有去“依赖”校企合作,以及很热门的“实训”。其核心课程依然是过去的传统经典课程。以一个研究生为例,一学期能修2门课是正常,3门就很优秀。它并没有追逐所谓的新技术。但无人质疑其学生的工程能力、科研能力和创造能力。2什么是计算机工程能力的核心什么才是我们软件开发教育的核心知识架构,怎样才能培养学生可持续发展的核心竞争力?我们调查过一些非常高水准的软件开发者,发现他们往往在底层软件上持之以恒地进行长时间深刻的锻炼,然后在未接触的新领域才能非常迅速地掌握核心。例如,一个非计算机专业的系统分析员曾经“只”在DOS这种原始的操作系统下玩了10年,甚至自己写过一个汉化的DOS。他只有书本上的一点点网络知识时,就用一两天时间解决了一个学通信的研究生1个月都不能解决的网络故障。这是一个典型的例子,他并没有“实际的”网络经验,什么使得他如此轻松地进入了新的领域呢?而另一个曾就职于vmware、google等顶级公司的程序员,在Unix下只用C语言做了10年系统级编程。当用Java,C++甚至是javascript时,其学习时间只是1天,很快就比做了几年专门java编程的程序员还精通。如何才是软件开发人员的本质力量?什么才能让他们在变化万千的新技术面前屹立不倒,乘风破浪?2.1计算机工程能力我们认为计算机工程能力包含两方面的内容:(1)核心知识架构;(2)计算机的思维方式。什么是核心知识架构呢?是反应该领域最基本规律和支撑技术的知识。简单地说就是传统的操作系统、编译、数据库。操作系统将硬件、软件、高级语言和汇编融汇在一起,它几乎包括了软件工程中所有重要的因素。举一个简单的例子,似乎只有面向对象这种“高级东西”才有的虚函数运用,其实在Linux中就有相应的虚文件系统。操作系统是最为复杂的计算机工程之一。编译融汇了大量的算法,而且能让大家真正看“穿”语言的外表,深入到其内里,体现了最根本的计算机技术。其优化技术,也深刻地和硬件交融在一起,很好体现了底层风范。数据库,不仅是运用算法最多的地方,甚至是超越操作系统的一个复杂的系统,从缓存技术到i/o优化,到索引,再到事务处理,无一不是反映计算机最深刻规律。大家可以发现,所谓核心知识架构,都具有两个特点,反映本质规律,体现软硬融汇交织。也只有这样,才能建立下面谈到的“计算机思维方式”。2.2核心知识架构为什么我们没包括一些新兴的语言和技术呢?似乎它们很“实用”。而且已经出现的问题是,按照传统科目和方式学习后,学生在企业什么都不会。这也正是大家关注工程教育的初衷。为什么不强调这些新兴实用技术的教育还在强调“古老”的“基础”。计算机领域一个显著的特点是,表面上知识更新非常快,新技术、语言层出不穷。这很容易导致当我们发现学生能力欠缺时,将问题归罪于新技术的学习不得力,知识结构老化。但其实目前的问题可以从另外一个角度考虑,是否是基础教育不得力?分析国外著名大学,如斯坦福、伯克利的课程,我们发现两个特点:(1)关键的基础课程,如操作系统、编译原理、数据库,始终是其最重要的课程,并没有过分追逐各种“新潮”技术。(2)学生一学期能修的课程非常有限,一般为3门课。而国内却呈现相反的状况,比如编译原理被降到了选修课的角色,新潮课程层出不穷,一个学生二年级一学期要修13门课。在这种走马观花的状况下,计算机这种具有强烈“手艺”色彩和工程实践的学科,被完全纸上谈兵化。而一些可怜的实验内容,还被学生的复制拷贝所湮没。我们认为,恰恰是这种情况,使得基础核心知识教育没有工程化,没有充分动手,导致了基础知识教育某种程度上的巨大失败。从以下鲜明的对比可以窥见问题的端倪:国内学生反映操作系统课程是文科课程(只需要背条款考试即可);而相对地,国外著名高校操作系统课程要求学生实现“小”操作系统。国内数据库只讲其应用(如大量讲解sql等运用,sql即使非计算机专业人士也很容易学习,这也是它被发明的初衷)。斯坦福的数据库课程中有一门需要实现一个数据库系统。在笔者走访的计算机工程上优秀的人才,发现其共同的特点就是在诸如操作系统或数据库上都有很深入的学习经历,比如前面提及的自己构建过汉化DOS系统,或者在Unix下,做内核以及驱动很多年等。而当他们接触新技术时,之前深刻的经验和淬炼的思维就让他们如虎添翼,快人一等。更有甚者,国外真正的最顶级专家,都是在这些领域有无与伦比水平的专家,从delphi的缔造者,转战到微软并入主.net平台的开发,也可看到雄厚的底层知识和能力的巨大作用。所以“老”知识并不是障碍,而是通向天堂的阶梯。究其原因,就涉及到工程能力的第2个方面,计算机思维方式。2.3计算机思维方式对非专业人士它是很抽象的概念,而对真正专业人士,这又是一个非常鲜活的概念。这里限于篇幅,我们只举一个简单的例子。面对在C++中外部代码如何直接修改私有变量的问题,计算机的思维方式就是:对象也是放在内存中,只要能拿到对象的地址,并知道对象的布局,那么就可修改。而没有建立这种思维的人,就完全被高级语言的语法所左右,无从下手。一句话,无法看到本质,没有从下而上的底层思维。核心知识课程的有效深入教学和计算机思维方式建立有何直接关系呢?我们认为核心知识因为其反应了计算机本质规律,而且从底层建立起来,所以对其深入掌握运用后,它从开始的逼迫到最后的陶冶,最终潜移默化地让受众建立起“计算机思维方式”。而这正是计算机工程师安身立命之本,就如同音乐家有其独特的音乐思维方式一样。为什么诸如java之类的课程于建立计算机基本思维不太合适呢?因为它更高层,无法让学生看到最下面。而唯有彻底、深刻和系统的底层淬炼,才能真正建立起“计算机思维方式”。3如何打造强大的计算机工程能力大家一方面指责基础课程的“空洞”、“无用”、“陈旧”;另一方面在不断开设的海量新课和技术中压得学生更加远离编程,远离实践。即使能培养出熟悉某种语言的学生,也无法看到他们和培训学校有何不同。实训也似乎没有根本解决问题,我们在实践中发现,往往是那些自己醉心于编程的学生最后有着卓越的表现。让基础知识能支撑和指导实践,而非仅仅“符号”,并引导学生进行高效的实践。3.1“3块连一线”,4门基础课程整合打造核心知识架构我们将4门基本课程进行贯通式整合,着力塑造学生的“计算机思维”。下层的是3门基础课(在上一小节探讨了其在工程能力训练上不可替代的重要地位),对软件开发环境产生支撑。而软件开发环境又通过精心的设计和工程实践,从应用角度将3门课程所学的知识串联起来。从而将基础知识和工程开发更有机整合在一起。首先,阐述为什么将以上课程整合在一起的理由。要回答这个问题,必须先回答什么东西支撑了优秀程序员。在我们的调查人员中,无一例外地都具有很深厚的底层软件开发背景。有长期从DOS的Hack入手的;有长期从事Unix内核编程的;有从Windows的driver起步的;有以反汇编逆向为根基的。长期在最底层的经历,使他们建立了最真实和能触摸的系统观,能以计算机的方式思考。所以面临新技术时,他们能透过新形式很快把握其精髓,深刻地把握其实质。“太阳下面没有真正的新事物”,例如号称21世纪最新的重要的软件技术AOP(AspectOrientedProgramming,AOP),其实在20世纪60年代就出现在了汇编一级的软件技术中,它本质就是钩子技术的系统化。在底层的软件世界,我们不仅能够用到那些所谓的最新的技术,而且能看到其本质(我们可能就是用机器码自己构建出来的,而不被新技术的华丽外衣障目)。这些使得具有底层经验的开发者,更有创造力,更能创造,也更能洞察迷乱后的本质,庖丁解牛,解决那些异常复杂的工程问题。举一个笔者遇到的真实例子,一个具有深刻底层经验的程序员(一直只有C语言和操作系统编程经验)和一个只有深刻Java经验的程序员,在同时学习Javascript的闭包概念时,后者一个礼拜都还有些似是而非。前者很快就能自如运用,且最后指点了后者1个小时,后者顿时豁然开朗。这是典型的“新”与“老”,上层和底层经验在面对新事物时的对比。既然底层软件赋予我们如此强大的能力,那么哪些是底层软件呢?大家公认,操作系统、编译和数据库由来就是计算机工程自身的根基。所以,我们必须将这3门课涉及的知识好好淬炼。而如何将3门课的知识和我们日常的软件开发联系起来呢?如何用它们指导平时程序的开发呢(我们大多数是开发用户级软件,不会开发内核软件,因此许多人认为几乎整个在内核中的操作系统对用户级软件开发无从指导)?另一门课,《软件开发环境》解决了这一问题。它有一条主线,通过反汇编将C语言和汇编串联起来,让系统级的知识从高级语言的面纱下展现出来。同时用逆向工程这把庖丁之刃,将编译、链接、面向对象等软件开发中的重要知识块剖剔,让底层与上层贯通一气。而逆向的技术技巧,本身也是非常高级的软件开发技术。因此,我们用“3块连一线”来总结4门课的关系是最好不过了。为什么不纳入语言课程,比如C/C++语言?从我们的工程经验来看,语言只是计算机原理和思想的载体,是表述方式而已。为了表述形式而专门花大力气是不值得的。比如,国外的著名大学很多都不开设语言课,在其他课程作业中必须用C语言编程,学生们就在那里锻炼了。真正的语言的力量并非来自语言本身,而是底层知识为支撑的项目锻炼。我们的思路是以构建式完成大量的完整系统的编写,这样就很好锻炼了软件开发和工程能力。同时,“软件开发环境”本身从逆向层面也对语言有了深刻的剖析,这是纯粹的语言课难以完成的。另外,从大纲安排上,我们在大一就会让学生用C语言来初步接触程序编写,这时并不适合放入太高级主题。而在教学中,语言的力量已经渗透到一个个工程构建中,随风潜入夜了。为什么不纳入算法课程?从某种程度上,“程序就是算法与数据结构吗”?我们认为在系统中运用算法,算法才具有生命力。而编译、操作系统、数据库以及我们专门设立的一些课程设计将全面运用各种算法和数据结构。在实战中运用并学习提升才是王道。这也正是构建式学习的精髓所在,这也正是探索式学习培养学生的创造能力的精髓所在。算法课已经为我们准备了元件,就看你怎么去组装甚至改造。3.2以构建主义的思路,深度实践的风格改革课程3.3改革考核评价标准,充分强调动手实践以前我们一直是卷面考试,实验分数只是象征性的点缀。这本身违反了计算机工程的特点。只有改变评价考核标准,才能真正驱动学生充分锻炼工程。在课程软件开发环境中,我们采取了平时的考试结合期末考试的方式,而两者均为软件编写。期末考试在实验室上机编撰指定题目。不强调对一些函数名等死知识点的记忆,可以用在线帮助。这本身也符合软件开发的规律。4结束语我们在计算机工程教育上试图做一些回归本质的工作,也取得了一些效果。比如在软件开发环境中,学生普遍认为:“似乎将3年学的程序课全学习了,收获很大”。更有同学,在外企公司的面试中,直接运用了课堂上的知识,这在传统的教学环节中是难以获取的。但整个工作尚在起步阶段,所以仍
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度不锈钢材料质量保障与售后服务合同
- 轧饲料机市场发展现状调查及供需格局分析预测报告
- 2024年度供应合同标的物品类与数量规定
- 2024年度无人机监控设备采购及应用合同
- 2024年度商务咨询合同:企业战略规划与实施建议
- 2024年度旅游服务合同:宝鸡市某旅行社旅游服务合同
- 04版许可经营合同协议书
- 计算机键盘防尘罩市场发展现状调查及供需格局分析预测报告
- 2024年度版权转让合同标的物
- 2024年度企业环保设施改造合同
- 计算机应用技术专业大学生生涯发展展示
- 概率论在金融学中的应用
- 我的大学生涯发展展示
- 项目交付管理作业指引课件
- 服设职业生涯规划书
- 《银河帝国-基地》阅读试卷及答案
- 《俗世奇人》(读书指导)课件
- 2024年PET行业分析报告及未来发展趋势
- 肺占位性病变查房
- 重庆市2023-2024学年高一上学期1月期末地理试题(解析版)
- 金融学专业职业生涯规划书
评论
0/150
提交评论