编译原理论文范文

时间:2023-03-16 19:47:08

导语:如何才能写好一篇编译原理论文,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

编译原理论文

篇1

CDIO工程教育模式是能力本位的培养模式,其优势在于让学生以主动、团队合作、课程与课程之间有机联系的学习方式,获取与工程实践相关的知识与能力。CDIO培养大纲将工科毕业生的能力分为工程基础知识、个人能力、团队合作能力和工程系统能力4个层面,大纲要求以综合的培养方式使学生在这4个层面达到预定目标。只有把知识、能力、社会需求融合起来,以能力为导向,以学科知识和社会需要为依托,整合课程组织结构,才能培养出符合社会经济发展要求的工程技术人才。CDIO工程教育以实际应用项目的开发过程为主线,提炼出项目开发经历的构思、设计、实施、运行4个主要环节,培养学生系统开发的能力[3-4]。实施CDIO工程教育模式,基本原则是落实“做中学”以及“基于项目的学习”,它体现了现代工程师所应具备的服务于现代工业产品从构思、设计、实现到运行的全过程所必须拥有的基本能力。

2基于CDIO工程教育模式的编译原理课程教学方法

课程教学改革从以下4个方面展开。1)学生分组,导入项目。课程教学以项目导入的方式开始,首先鼓励学生搜集编译基础理论和技术在计算机应用领域的成功案例;其次引导学生搜集开源的编译工具,按照支持的源语言和语法分析方法分类。以上两项前期工作对应CDIO模式的构思部分,需明确客户的需求,考虑技术、企业战略和制度等因素,不断改进概念、技术和商业计划。项目的最终目标是用C语言编写一个PL/0语言处理系统。在教学过程中,学生分成若干个项目组,在教师的指导下编写项目计划书,划分项目的功能模块;指定各个模块的负责人,模拟实际项目开发,进行分工协作。2)案例驱动,模仿提升。CDIO工程教育模式要充分体现“做中学”,以“项目案例”为载体组织整个教学过程,以案例开发过程安排教学内容,灵活运用启发式和研究性的教学方法。课程教学要为学生构建项目开发的情景,调动学生的主动性与参与性,提高学生的实践创新能力。在编译原理课程教学过程中,我们发现有些学生学习缺乏积极性和主动性,课外缺少自主训练和探索,虽然通过了课程考核,但是实际只了解到一些基本概念和零碎的知识断点,不具备运用所学原理和技术进行编译器开发的能力。为了培养学生“构思—设计—实现—运作”编译系统的技能,我们将编译原理的学习过程分为模仿和提升两个阶段。(1)模仿阶段的主要目标是以PL/0语言处理系统为案例,引导学生学习基础知识,掌握基本算法,激发学生兴趣。项目开发分为8项子任务,这些任务可在教师的指导下完成。任务1:安装测试用C语言实现的PL/0语言处理系统;完成PL/0语言语法的EBNF描述。任务2:PL/0编译程序中词法分析程序的设计和实现。任务3:PL/0编译程序中语法分析程序的设计和实现;自顶向下递归调用子程序的方法。任务4:PL/0编译程序中语义分析和中间代码生成。任务5:PL/0编译程序中符号表的设计与实现。任务6:PL/0编译程序中运行时的存储组织。任务7:PL/0编译程序中的目标代码生成。任务8:PL/0编译程序各阶段整合运行,编写PL/0语言使用说明书。教师可展示用C语言实现的案例,要求学生模仿整个实现过程,用Java语言再次实现PL/0语言处理系统。学生则通过此案例,模拟项目开发全过程。(2)提升阶段的主要目标是让学生学习编译器开发的流程,学会运用编译技术进行项目开发。本阶段分为以下几个步骤。步骤1:编译器程序设计提高。定义一个待实现的源语言,如PL/0语言的扩充或者C语言的一个子集,要求学生用C或者Java实现编译程序。步骤2:编译技术扩展。引导学生学习面向对象语言编译技术,如收集整理开源编译器GCC的资料,描述GCC的总体结构、编译流程、代码组织。步骤3:编译器实用工具。引导学生学习嵌入式系统编译器及其工具的应用开发,包括C和Java编译器开发。步骤4:项目实训。引导学生利用编译技术进行项目开发,如设计开发C语言程序设计自动评分系统、基于语法分析技术的企业名称识别算法、基于语义分析的数据驱动型漏洞检测方法、编译原理在通信协议转换中的应用、编译原理在反病毒技术中的研究和应用等。3)开放资源,自主协作。CDIO注重自主学习能力的培养,提升学生独立解决问题的能力,同时也重视团队协作精神的培养,发挥团队的力量,协同工作完成任务。网络环境下的自主和协作学习要求教师提供充分的网络资源。在教学中,课程组搜集整理了国内外编译原理课程的教学资源,整理了各种实用编程语言及其表示规则,设计了适合学生需要的“做中学”项目和任务,并在课程的教学网络平台共享,通过开放资源和自主协作的学习,鼓励学生在课外通过网络和移动设备开展学习讨论,用课外学习弥补课程学时的不足;通过课外自学,充分发挥学生的主观能动性,锻炼学生“自主设计、自主实现、自由探索”,引导和鼓励学生积极组织并参与项目组的学习和研讨活动,让个人融入项目团队,提升整个团队的工程实践能力。4)考核评价,多点多面。CDIO注重工程实践能力的培养,工程实践能力是各种能力的综合体现,因此考核评价要兼顾这种特性。所谓多点主要是指编译原理具有纷繁复杂的知识点,因此对知识点的考核应以促进学生主动学习、研究性学习为目的,注重对学习过程的考查。教师可通过查看学习记录、平时作业和练习情况,考核学生对基本知识点的掌握情况;通过小组活动记录,查看学生在项目组讨论中的活跃度,了解学生提出问题的数量和质量以及解决问题的思路,考核学生的知识整合和应用能力。所谓多面主要是指编译原理课程在培养学生实践创新能力方面具有多面性,因此考核评价方式要有利于培养创新能力、实践技能、解决实际问题能力,从多个层面开展。教师可通过对项目构思与设计展示、子项目实施情况、项目汇报与答辩、学生的自评与互评、教师与企业工程师的评价等多种方式考核学生的专业知识、个人自身能力、团队合作能力、设计项目和开发系统能力。

3CDIO模式编译原理教学实施过程中存在的问题与对策

1)“双师型”教师队伍的建设问题目前,从事编译理论研究和技术开发的教师不多,有编译器开发经验的教师比较缺乏。编译原理课程“双师型”教师队伍奇缺。湖北省教育厅和湖北工程学院制定政策,资助并鼓励青年教师进入相关企业与工程师合作解决实践中的技术难题。同时,湖北工程学院每年派出专业课青年教师到武汉大学、华中科技大学等高校进修深造。通过这两个途径,学校可以解决“双师型”师资队伍建设的问题。2)学生实习实训平台的建设问题。毕业生就业难和符合市场需求的应用性人才短缺问题一直是高校、用人单位和毕业生共同的困扰。学生综合能力是就业成败的关键因素,CDIO工程教育模式强化工程应用实习实训平台的建设,希望为解决这种困扰提供帮助。湖北工程学院与中国航天三江集团公司合作共建的工程实践教育中心和湖北工程学院国家级大学生创新创业训练计划项目已获得教育部批准。在此基础上,计算机学院已经与国内10余家IT企业和科研机构合作共建实习实训基地,校企合作层面深化,操作方案细化,实现与行业需求的无缝对接。

4结语

篇2

近期,不断有报道揭示中国留学生在海外求学过程中暴露出来的一系列问题,如考试作弊、作业抄袭、动手能力低下、公民素养缺失等。与此同时,国内高校的教师也在抱怨本科毕业设计难带,招收的硕士甚至博士素质达不到预期,难出成果。

大学生应具备哪些素质?大学教育可以培养哪些素质?普通课程的教学过程又该怎样培养学生的素质?这是每个高校教育工作者都应该认真思考的问题。

1 大学生应具备的素质及其培养

1.1 大学阶段的培养目标

广义地说,教育的目的是培养一个人应具备的在这个世界正常生存的各种能力和素质,包括工作、生活等各方面基本素质和能力的养成。

不同的教育阶段,教育的目的体现为不同阶段的培养目标。大学阶段,教育的本质是使每个学生能够成为更完善的“人”,但重点在生存能力的培养,具体为专业知识和技能的学习与锻炼,即每个专业的培养目标描述的内容。

如果用一棵树来表示“人”在各个受教育阶段习得的知识及其关系,那么,大学阶段的专业知识应该在树的主要枝干处,硕士教育和博士教育对应的素质和能力培养,则相当于小的树枝和树叶,见图1。

1.2 大学阶段的素质培养

大学阶段的培养手段,主要是课程教学,分为通识课程学习和专业课程教育。通识教育旨在培养学生的思考能力、交流思想的能力、作出恰当判断的能力和辨别价值的能力,专业教育旨在培养学生将来从事某种职业所需的能力[1]。

大学阶段专业课程的系统学习,可以使学生对整个学科有一个初步了解,建立学科的知识结构体系,并具备可用于求解相关领域问题的基本专业技能,注重职业能力的训练。这些素质将为研究生阶段的科研活动、工作阶段的技术任务奠定基础。

ACM和IEEE的《计算机科学课程体系规范2013》明确指出:?算机科学本科生教育应该使学生为未来的工作做好全面准备;这些素质和能力的培养,是通过大学阶段通识课程的学习经历和专业课程的教学活动综合作用达到的。这种培养,不是由某一门或某几门必修课的修习完成的,而是所有课程的教学活动长期综合作用实现的,即每门课程的教学活动在学生素质和能力的培养方面都是责任重大的,也是非常有意义的[2]。

换句话说,每门课程都可以精心设计成培养学生综合素质的“沃土”。但是,这有赖于每位教师对教育目的的正确认识,也有赖于每位教师对课程教学的责任和意义的认识以及每位教师对教学活动的设计与付出。

CS2013有这样的内容阐述:事实上,学生的软能力(soft skills,如团队合作精神、口头及书面表达沟通能力、时间管理能力、问题解决能力、灵活应变能力等)及个人素质(如对风险的承受能力、合议共治能力、忍耐力、职业道德、机会的辨识力、社会责任感、对多元化的理解等)在未来工作中将起到至关重要的作用;一部分软能力和个人素质(比如忍耐力、时间管理能力、职业道德、对多元化的理解等)将通过大学的学习生活获得,其他部分则需要通过具体的课程教学活动来培养[2]。

大学阶段培养方案的落实、对学生综合素质和能力的培养,是通过每一门课程的教学活动来实现的,这也是每位任课教师的责任和工作意义所在。

2 通过课程实践环节培养学生的综合素质

2.1 以领域问题求解引导理论与实际相结合

计算机专业的核心课程,其知识的讲授一定是围绕着专业原理的。如何让原理知识深刻影响学生问题求解的思维,并被学生实质性地掌握,一直是笔者思考的问题。

英国著名教育学家、数学家、哲学家怀特海在《教育的目的》[3]中提出:“在大学教育中,综合运用精神应占主导地位。”他认为:“在中学里,学生通过艰苦的努力,从特殊具体的事实到初步了解一般的概念;而在大学,他们应该从一般概念开始,进而研究如何将这些概念应用于具体的场合。一种设计得很好的大学课程是对普遍规律进行的广泛研究。我的意思是,应该对具体的事实进行研究,让它们说明一般的概念。”他还认为:“必须不断发现方法的通用性,并将这种通用性与某一特定应用的特殊性进行对照。”

在这样的理念指导下,笔者重新设计了编译原理课程的教学,将理论课堂的程序设计语言编译原理知识应用到课程实践中的领域问题求解。

理论课堂教学仍然围绕着编译程序的理论依据、程序实现原理、具体实现算法的分析与讨论,注重以动画形式和生活实例来减轻抽象内容带来的陌生感。

在课程实践部分,除了编译技术的实现,还启发学生探索编译理论、方法和技术在各种应用领域问题求解中的实际应用。比如,课程介绍的程序设计语言的翻译原理、技术和方法,完全可以用于实现试卷分解及题库的生成,此时,待分析的不是程序,而是一份满足要求的试卷,待生成的不是程序对应的目标代码,而是容纳各种试题及其答案的试题库。依随课堂教学内容的进度,可以对应地引导学生思考领域问题求解的步骤,然后落实到具体应用问题求解过程。表1为把编译方法应用到实现题库生成系统的学习过程。

在这一思路的引导下,学生寻找各种领域问题作为课程实践求解的对象,例如,网络传输协议解析、简言作诗机、文档编辑器、测试自动化、文档排版、作业自动批改评分、汉语自然语言处理、恶意脚本查杀、音乐简谱处理、逻辑门电路绘制、汉语英语翻译、自动阅卷系统、XML文档解析、中文识别、邮件地址识别、模式识别、游戏脚本处理、MIPS指令解析、JSON解析、身份证号码的识别与利用等。

整个实践过程中,学生自主选题,教师引导学生分析、寻找这些“领域问题求解”与“程序设计语言编译”的共性,指导学生用文法表示领域问题对象的特点,再选用编译技术实现该问题的求解,并将这个过程撰写成研究性课程论文。通过课程实践,学生完整地做出了一个“应用领域问题编译器”,学会了将具体问题抽象成具有共性的“类问题”,实践了编译技术的实现,达到了将理论知识学习与领域问题求解相结合的目的。

课程实践中,教师给定实践要求,比如要做哪些任务、要达到什么标准、如何验收、成绩如何评定等,具体解决的应用领域问题,由学生自己确定。当学生考虑什么样的问题可以用哪一种编译方法予以解决时,就不得不思考、分析、比较和选择,虽然该过程中会和教师交流想法,但主要部分还是自己完成。对于习惯于由教师安排一切的学生来说,这无疑是一个锻炼主动探究精神的好机会。

课程引导学生将理论知识应用到不同应用领域的问题求解,让学生看到实际问题如何抽象成“类问题”,如何用课程讲授的“类问题求解方法”解决应用领域的“类问题”,不仅帮助学生认识到形式文法和语言只是具体问题的抽象反映,有助于其深入理解计算机学科问题求解的抽象描述、处理的实质和理解“类”计算;而且,分析、设计领域对象文法,选择编译方法予以实现的过程,还让学生学会了如何分析具体问题,如何确定问题的求解步骤,如何选择已学知识应用于求解具体问题,这些实践内容充分锻炼了学生分析问题、求解问题的能力。

2.2 以研究性论文培养基本学术素养

在引导学生将课程知识用于求解应用领域实际问题时,还要求学生将问题求解的实践过程写成研究性论文。为培养学生的基本学术规范意识,课程了研究性论文模版,其中完全按学术论文的要求设定各个部分,同时将《武汉大学本科生毕业论文(设计)书写印制规范》作为文字格式、图表、参考文献引用与标注等方面的评分依据。

撰写论文过程中,学生需要查找与阅读文献,学习和参照科技论文规范,还必须根据成绩评定标准遵守基本学术规范,比如引用他人成果必须标注参考文献等。这个过程,让学生建立了基本学术规范意识,为后续毕业设计的论文撰写以及研究生阶段的学习奠定了论文写作基础。

3 以“探究式”课堂教学培养学生主动思考的习惯

美国著名哲学家、教育家约翰?杜威认为,知识的获取不是个体旁观的过程,而是“探究”的过程,知识是个体主动探究的结果。现实中人们的经验也印证了这一观点,但许多高考体制训练出来的学生已逐渐失去主动思考的意识,习惯于一切听教师的讲解和安排。

只有具有主动思考习惯的人,才能主动、积极地参与学习、工作和社会生活,才有创新的可能。为培养学生主动思考的习惯,编译原理课程采取了“探究式”的教学模式,期冀在培养学生主动思考问题上做一些努力。为此,教学思路应从如何把知识点讲解得生动、易理解,转变为如何在教学过程中培养学生的主动思考习惯和解决问题的能力。

基于这一思路,每个主要知识点的教学模式为:讲授知识点前,教师先提出若干问题,由学生思考、讨论,提出解决方案;然后,师生讨论学生提出方案的优缺点;最后,教师分析教材上的方法。例如,在讲授“推导”概念时,先引导学生思考,讨论用什么样的数据结构表示符号串;当学生提出不同的数据结构方案后,再引导学生思考“推导”过程中符号串变化的特点,由此分析不同数据结构表示符号串的优缺点;经过这一过程,学生自然得到最合适的数据结构应该是“栈”,而且看到了数据结构课程所学知识如何应用于解决实际问题。这样的学习过程,学生通过自己的思考、分析、比较得到了最后的结论,和教师直接告诉学生采用“栈”来实现“推导”相比,虽然最终都得到同样的结论,但这个思维过程是宝贵的,学生通过分析性的思考得出结论,既感受到了自己得出结论的成就感,也培养了思考能力。

虽然在课程教学最开始的两、三周,很多学生不适应这样的思考方式,但随着时间的推移,大多数学生逐渐习惯了自主“探究式”的教学模式,养成了学习中先自己主动思考的习惯,在分析过程中,也学会了如何评价、比较不同的方案,有助于批判思维的形成。

4 通过自主学习培养学生的学术素养

为落实能力培养,课程安排了少部分内容作为自主学习内容,由学生自己学、自己讲。

程序设计语言中有一类是“嵌套结构语言”,由于“嵌套”特性的存在,使编译程序的实现方法有所不同。但是,在培养方案中,学生学的是C语言,而C语言没有嵌套结构,不了解“嵌套结构语言”的特点,不利于相应编译技术的教学,但学生自学这部分内容并无难度。课程将“嵌套结构语言的特点”安排成自主学习,重点是和编译技术相关的“子程序调用规则”“名字的作用域”等内容。要求学生学习之后,??成小论文,并制作PPT,从中选择优秀者在课堂上向同学们讲解这些内容。

虽然只有个别学生最后作报告,但是每位学生都参与了这个环节的所有准备工作,锻炼了文献查找与阅读能力、PPT制作能力、报告准备能力,这些都是毕业设计以及后续学习必不可少的基本学术素养。

5 结 语

大学生这个年龄,虽然在很多问题上是有主见的,但确实对一些问题的认识还比较模糊,对未来适应学习、工作、社会生活需要哪些素质和能力也不一定有清晰的认识。这就需要家庭、教师、社会在其成长过程中予以适当的引导,这也是为什么学习是需要采取一定“强制”措施的原因。

爱因斯坦说,教育就是一个人把在学校所学忘光以后剩下的东西。对学生来说,接受教育,不仅仅是学习知识,更重要的是锻炼能力和培养素质。大学阶段每一门课程的教学,就是学生素质和能力培养的直接承担者。

围绕着培养学生素质和能力的主题,编译原理课程采取了一系列的教学探索。通过引导学生将课程知识应用于领域问题求解以及课程的“探究式”教学,培养了学生的主动探究精神、分析问题的能力、实际问题的求解能力、评价不同方案的能力;通过研究性小论文的撰写,培养了学生文献查找与阅读能力,帮助学生了解基本学术规范以及科技论文撰写方法;而自主学习过程,对学生文献查找与阅读、PPT制作、口头表达、报告准备方法等都有一定的锻炼和提高。

篇3

小组合作论文参考文献:

[1]王坦.合作学习:原理与策略.学苑出版社.2001.

[2]曾琦.合作学习的基本要素[J].学科教育.2000,(6).

[3]王坦.合作学习的理念与实施[M].北京:中国人事出版社,2002.4

[4]郭砚冰.英语课堂合作学习的实施与评价[J].厦门教育学院学报.2002,(9).

[5]章兼中.外语教育学[M〕.杭州:浙江教育出版社.1993.

[6]曾琦.合作学习研究的反思与展望[J].教育理论与实践.2002,(3).

[7]李俏.合作学习的研究及其在英语教学中的应用[J].课程教材教法,2003,(6).

小组合作论文参考文献:

[1]唐晓杰等.课堂教学与学习成效评价[M].南宁:广西教育出版社.2000.

[2]刘上扶.英语写作论[M].南宁:广西教育出版社.1998(12).

[3]国家教育部.普通高级中学英语课程标准(实验稿)[Z].北京:北师大出版社.2002.

[4]陈玉玲,“合作学习理论在大学英语写作教学中的具体运用”《河北大学成人教育学院学报》2002年第3期.

[5]陈琴、庞丽娟,2001,论学生的发展与合作因素,《教育理论与实践》第3期。

[6]张斌,1999,合作学习及其对学生行为和态度的影响,《教育理论与实践》第9期。

小组合作论文参考文献:

[1]约翰逊,D..w,约翰逊,R..T,史密斯,卡尔.A.著,刘春红、孙海法编译,2001,《合作学习原理与技巧》。北京:机械工业出版社。

[2]约翰逊,D.W.,约翰逊,R..T著,伍新春、郑秋、张洁译,2004,《合作学习》。北京:北京师范大学出版社。

[3]约翰逊,R..T,约翰逊,D,W.著,高艳、王坦译,1994,学习中的合作:一个被人们忽视却又十分重要的问题,《教育改革》第5期。

篇4

0.引言

编译原理与设计课程是计算机科学与技术专业的核心课程,具有较强的抽象性、理论性和逻辑性,学生学习和理解该课程相对困难。同时,该课程与其他课程,如离散数学、数据结构、算法分析、操作系统、体系结构等课程具有交叉性,因此学生不仅要有扎实的专业基础,还要有很好的创新意识。部分学者在编译原理的教学教改方面已经开展了卓有成效的工作。张晶等人研究了编译原理实践课程“多层次-多目标-多效果”的教学方法;钱忠胜等人提出从典型案例设计、实验实践教学模式、与其他课程知识相融合、与各类应用相结合、复合型考核方式等方面人手展开教学改革研究;徐晶探索了研究型教学在编译原理课程教学实践中的应用,并提出了“验证、应用、创新”三步掌握编译技术的课程设计方案;柴艳妹等人从激发学生兴趣、培养学生专业素质和提高学生动手能力三个方面入手,提出了一系列教学改革的具体步骤和方法;王挺等人提出编译原理课程能够培养学生的计算思维,提升学生的系统能力,使学生在系统的级别上重新认识算法和程序。

笔者面向编译原理与设计课程,以互动式、启发式、案例式教学和实践平台为依托,研究基于创新的“互动式+启发式+案例式”教学方法,基于激励机制的“分层+分系列+分专题”的创新实践活动,构建面向编译原理与设计课程的学生创新性思维阶梯式教学模式,培养从事计算机研究和应用的创新型人才。同时,研究通过此培养模式的实施,培养学生发现问题、分析问题和解决问题的能力,从而使学生的研究能力、实践能力与创新能力得到锻炼和提高的方法。

1.学生创新性思维阶梯式培养模式

科学合理地配置学生的知识结构是构建学生培养模式的第一步。学生创新性思维培养模式是一个反复循环、不断提升的动态发展过程。构建面向编译原理与设计课程的学生创新性思维阶梯式培养模式需根据社会发展对人才的客观需求,结合学校的培养目标和培养方案,选择合适的培养途径加以实施,并针对人才培养模式实施后社会对培养结果的评价做适时地调整。

1.1知识结构的构建

面向编译原理与设计课程的学生创新性思维阶梯式培养的课程主要包括3个方面:数理基础(离散数学、数值分析)、算法基础(数据结构、算法分析)和核心课程(操作系统、体系结构、编译原理与设计),如图1所示。

在课程设置及教学内容安排上要坚持以下两点:一是厚基础、强能力、重创新,努力做到把编译原理与设计课程与前沿知识以及多学科间知识交叉与渗透融入到教学内容中来;二是坚持知识、能力、素质的辩证统一,培养学生的创新性思维。阶梯式培养课程的分类见表1。

1.2学生创新性思维的阶梯式培养模式

学生创新性思维培养模式以课程内容学习、分析评价、创新实践方式3种形式进行阶梯式培养,每个阶段进行学生的反馈,发现学生的创新性思维,激励学生进行创新性活动。教学环节采用互动式、启发式、案例式的教学方式,并通过课堂讨论、学生演讲、课外作业、各类实验、学生科技活动、科研课题等丰富的教学活动提高学生的创新能力。学生创新性思维的阶梯式培养模式,如图2所示。

1.3学生创新性思维阶梯式培养层次

面向编译原理与设计课程的学生创新性思维阶梯式培养包括3个层次,自底向上依次是基础形成层、思维构建层和创新体现层,如图3所示。

基础形成层主要进行数理基础课程的学习,培养方式采用课堂讲解、学生讨论课外作业、课程实验、学生科技活动等形式。

思维构建层主要培养学生的计算机思维和编程素质,启发学生的创新性思维。在这一层次中主要进行数据结构、算法分析课程的学习,培养方式采用课堂讲解、学生讨论课外作业、课程实验、学生科技活动、科研课题。

创新体现层重点培养和强化学生的创新性思维,进行编译原理与设计创新思维的培养,其方式更多元化,包括课堂讲解、学生讨论、课外作业、学生演讲、课程实验、学生科技活动、科研课题等。

2.基于创新的“互动式+启发式+案例式”教学方法

2.1多元化教学形式

编译原理与设计课程采用多元化的教学形式:PPT讲解、课堂讨论、学生演讲、学术报告、课程内容的视频分析、学生的科技活动、各类实验、科研课题等,激发学生的学习兴趣,提高学生的知识水平,增强学生的创新思维和能力。多元化的教学形式如图4所示。

多元化教学形式体现在:丰富的课堂教学手段、教学与研究相结合、学生参与教师的课题研究并参加课外科技活动。

2.2“互动式+启发式+案例式”教学方法

编译原理与设计课程采用师生互动式、启发式课堂教学,将创新性思维训练融于“互动式+启发式+案例”教学方式中,激发学生的创新潜能,为进一步科学研究打下坚实的理论基础和实践能力,激发学生的学习兴趣,使学生形成一种以创新精神吸收知识、应用知识的习惯。在课外作业、各类实验、科技活动和科研课题方面,研讨课内开展“启发式、互动式、案例式”的教学实践,鼓励学生开展创新性思维活动。

3.3培养学生问题意识,提高学生创新能力

培养学生的问题意识和学生创新能力的最主要体现就是问题解决能力。培养学生问题解决能力的主要途径就是各类实验、科技活动和科研课题。因此,教师应不断鼓励学生深入专业领域和社会生活中发现问题、分析问题和解决问题,鼓励学生共同参与课题研究,并从不同角度激发学生,有效培养学生思维的创新性。

3.基于激励机制的“分层+分系列+分专题”的创新实践活动

设计“分层、分系列、分专题”的、具有一定创造性的实践活动是培养学生创新性思维的特色之一。教师应依据课程的内容,采用由浅入深、循序渐进的方式设计实践活动,建立创新活动与研究方向的有机结合,增强教学与研究相辅相成的关联,有效组织和管理学生的学习活动,评价学生的创新活动。

创新实践活动培养学生科学研究的思维方法、科学研究能力和创新精神,分为课程实验、科技活动、课题研究3个层次。在课程实验中分为基础实验、综合性设计实验、应用提高实验3个系列,并在每个系列实验中设定多个专题,解决特定的问题。采用答疑式指导、项目式指导和课题式指导“三级指导”方式。

1)科学设置课程实验。

实验课对检验和巩固学生在课堂中学到的理论知识、启发学生的创新思维、提高实践能力具有重大意义,因此必须有针对性地加强课程实验,并根据培养目标和课程实验建立3层课程设计模式:基础实验、综合性设计实验、应用提高实验。

2)组织科技活动。

有计划地组织学生进行学术科技活动,鼓励学生利用课余时间开展科学研究并参加校内外不同层次的竞赛。科技活动主要包括ACM程序设计竞赛、机器人大赛、各类程序设计大赛等。

3)课题研究。

分专题进行有针对性的课题研究,包括文献查阅、科研选题、实验设计、实验操作、数据整理、结果分析、撰写论文、报告与答辩环节,训练学生的科学研究思想和方法,实施实践活动的个性化教育。

篇5

计算机科学与技术本科生的基本学科能力可以归纳为计算思维能力、算法设计与分析能力、程序设计论文与实现能力、系统能力[1]。其中计算思维能力是指模型化、抽象思维能力、逻辑思维能力。系统能力是指计算机系统的认知、分析、开发与应用能力,也就是要站在系统的观点上去分析和解决问题,追求问题的系统求解,而不是被局部的实现所困扰。算法设计与分析能力、程序设计能力是计算机类专业学生应该具备的基本能力之一,是从抽象思维到具体应用方法的转换,涉及到阅读判断、思考分析、抽象综合、表达创造等多项能力,对计算机专业高素质人才的培养不可或缺。 

从目前社会对计算机专业人才的需求来看,高校在培养学生的程序设计、算法设计与分析能力上所作出的努力还远远不够。本文探讨了计算机专业学生在程序设计、算法设计与分析方面存在的主要问题,给出了在课程与实践中提高学生的程序设计、算法设计与分析能力的具体措施。 

1 现状与问题分析 

近年来,企事业用人单位较普遍的反映是计算机类毕业生的实际应用知识、动手能力和程序设计开发经验严重不足,尤其是程序设计能力、算法设计与分析能力无法达到用人单位的要求。这不仅影响学生就业,更阻碍了其进一步发展与自我提升。 

我们归纳了问题的主要原因。一是学生对于有关程序设计及算法的知识仅仅停留在了解的程度上,未能融汇贯通,进而应用这些知识解决实际问题。二是教师在讲解程序设计、算法设计与分析的相关知识时,并没有将理论与实际有机的结合。三是实际教学过程中并未对学生进行真正的软件项目开发训练。四是对第一门程序设计课程的教学不够重视。五是学生的数学基础差、逻辑思维能力弱,阻碍了学生进一步设计算法和分析算法。 

2 程序设计、算法设计与分析能力培养的具体措施 

教育教学工作应该以学生为主体,同时充分发挥教师的引领、指导作用,二者有机结合,才能充分调动学生的学习积极性和主动性,从而达到最佳的教学效果。因此本文以“学生为主体,教师为主导”这一思想为指导,结合本校的实际情况,以及教师在教育教学工作过程中遇到的问题和广大学生的反馈,从以下四个方面探讨教育教学改革的措施。 

2.1 调整课程设置和教学目标 

用计算机求解一个实际问题,首先要从这个实际问题中抽象出一个数学模型,然后设计一个解此数学模型的算法,最后根据算法编写程序,以便调试、编译、连接和运行,从而形成该问题的解。从实际问题中抽象出一个数学模型的实质,其实就是要用数学方法抽取其主要的、本质的内容,最终实现对该问题的正确认识。设计出解决问题的算法后,要清楚地知道算法的优劣处,如果是好的算法则不必对其怀疑而再浪费时间进行研究;如果不是好算法则应再进行改进。而如何知道算法的优劣,则需要学会分析算法。算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。编程就是设计程序,用计算机来解决问题。 

与数据结构和算法设计相关的课程较多,其中三分之二以上的专业课都需要学习编程,主要是提高学生编程能力和算法分析能力。对于本科生来说,这些课程的重要性是不言而喻的。如果掌握不好则会阻碍他们对编程能力乃至对计算机系统的认识和理解。因此,应该从课程的意义出发,以提高学生的编程能力和算法设计与分析能力为目标,结合计算机专业的特点与教学实际情况,将“C语言程序设计”、“面向对象程序设计”、“离散数学”、“数据结构”、“算法设计与分析”、“网络编程”、“Windows编程技术”、“操作系统”、“计算机网络”、“编译原理”和“数据库技术”等几门课程有机地结合起来,并充分利用它们内在的联系优化授课的顺序与内容,为学生提供一套以编程能力和算法设计与分析能力为中心的教学体系,为学好相应的课程打下坚实基础[2]。

“C语言程序设计”和“离散数学”作为计算机专业学生较早接触的两门课程,应该为后续专业课的学习打好基础。C语言是学生在大学接触的第一门编程语言,教学中应该重点介绍程序设计思想,并培养学生的逻辑思维能力、抽象能力、编程习惯,而不是一味地强调C语言的语法特性。同时,“C语言程序设计”这门课也为后续的数据结构、算法设计与分析课程做好实践上的铺垫。“离散数学”的概念、理论及方法应用于计算机科学与技术的诸多领域,并大量出现在“数据结构”、“数据库系统”、“编译原理”、“算法设计与分析”、“计算机网络”等专业课程中。此外,离散数学所提供的训练十分有益于学生的逻辑推理、抽象概括及归纳构造能力的提高,十分有益于培养学生严谨、完善、规范的科学态度。 

通过“数据结构”课程,使学生了解数据对象的特性,学会数据组织的方法,以及各种类型数据的处理方法,同时培养学生良好的程序设计技能。“算法设计与分析”课程重点讲授分治法、贪心法、动态规划、回溯法、分支限界法,培养学生分析问题和解决问题的能力,使学生掌握算法设计的基本方法,熟悉算法分析的基本技术,并能熟练运用一些常用算法。“操作系统”、“计算机网络”、“编译原理”和“数据库技术”都是对前面学习到的一些基本的数据结构和算法的具体应用,再加上一些相关领域的专业知识。 

在“操作系统”教学中,让学生了解操作系统的一些基本概念,如:进程和线程、虚拟内存、死锁等,并按操作系统的五大功能分模块进行介绍。通过相应实验帮助学生理解重要概念,如通过实现“银行家算法”让学生明白进程间的通信过程、模拟LRU算法了解页面如何置换,通过实验使学生更加深刻地理解有关概念[3]。对于“编译原理”这门课,由于其理论性较强,在教学过程中应该尽量多与实验相结合,在课堂上比较难理解的内容,例如词法分析中的有限自动机内容或语法分析中LL(1)文法的理解等等,都可以通过与实验结合来促进对课堂内容的理解,可通过完成词法分析器的实验了解编译器如何把输入的源程序转化为单词符号串。 

2.2 加强实验性课程教学 

计算机专业相关的课程总体来说理论性比较强[4-5],开设实验性课程有利于学生通过自己的实际操作加深对课堂知识的理解,同时强化编程能力、算法设计能力和创新能力。许多课程都有上机编程实验内容,如“C语言程序设计”、“面向对象程序设计”、“数据结构”、“算法设计与分析”、“Java程序设计”、“操作系统”等课程,都要求学生完成一定数量的设计性,完成验证性实验。我们设立了工程与学术实践、计算机软件课程设计、独立实验课程以及毕业设计等实训科目,坚持编程实践四年不间断。 

实验贯穿于理论、抽象和设计过程;实验对软件的设计和实现、测试原理和方法起示范作用;实验不仅是对理论的验证,也是技术训练和能力培养,包括动手能力、分析问题解决问题能力、表达能力、写作能力等。教学活动是教师和学生不断交流的过程,实验是实现这个过程的桥梁,可以弥补课堂教学的不足,加深对理论过程的理解,启发学生深入思考,敢于创新,理论联系实际。 

例如“编译原理”课程是计算机类专业的一门重要专业课。设置该课程是让学生学习编译系统的结构、工作流程及编译程序各组成部分的设计原理和实现技术,使学生通过学习既掌握编译理论和方法基本知识,也具有设计、实现、分析和维护编译程序等方面的初步能力。编译原理是一门理论性和实践性都比较强的课程。实验的目的是加深学生对课堂知识的理解,掌握几个主要编译阶段的处理方法,增强实践能力,能完成初步设计、编制和调试编译系统。 

实验一词法分析器构造,通过对给定源语言词法分析程序的设计,加深对词法分析原理的理解,掌握源语言的接受、存贮、预处理和扫描分析,生成正确的单词符号串二元式序列。实验二语法分析器构造,借助于词法分析程序提供的分析结果,编写一个算符优先语法分析程序,程序能进行语法结构分析和错误检查并产生相应的归约信息。同时给出出错信息和错误类型,从而加深对语法分析的理解。进一步设计实现球类描述语言词法分析、语法分析实验(扩展实验),根据球类比赛技战术分析的需求,设计的解释器由词法器、语法器和语义分析模块三部分组成,词法分析器负责词法分析的预处理和输入单词的解释;语法分析负责输入码的语法结构检查和解释;在词法和语法分析器基础上,语义分析模块负责比赛技战术的分类与统计工作。 

本校开设了“程序设计专题训练”、“计算机网络专题训练”、“操作系统专题训练”、“数据库专题训练”、“软件测试技术”、“嵌入式技术”等实践课程。如“程序设计专题训练”课程是C程序设计课程后续的训练课程,针对程序设计中常见问题,以专题形式进行训练。通过该课程的学习,使学生能深入理解C语言特性,掌握基本程序设计方法,学会常见问题的处理技巧,提高程序设计能力,为后续专业课程的学习打下良好基础。又如“操作系统专题训练”课程重点提高学生对操作系统的实际操作能力,使学生了解和掌握在Windows、Linux操作系统上运行的应用服务,对操作系统与外部接口(shell)有更深入的了解和认识。 

为了能切实提高学生的编程水平和算法设计与分析能力,我们开设了“项目管理实践”、“软件课程设计”、“企业实训”、“学术与工程实践”等实践课程,如“项目管理实践”课程培养学生参与大型软件项目开发的基本能力,使学生能够熟练掌握软件开发环境使用和软件开发的基本方法,为毕业设计和就业提供了必要的技能训练。按照5-8人的规模成立软件开发项目组,以开发一个软件项目作为实训的主线;项目经理由学生担任,项目成员的角色由项目经理根据各成员的技能来确定;由实训方提供项目的用户需求,并且确定要开展的软件工程活动和管理活动及项目里程碑;根据开展的软件工程和管理活动,提取出一些关键知识点,以案例的方式进行项目培训,并将其用于项目开发的实践中,其中案例来自实际开发的软件和系统集成项目。 

2.3 紧跟时代变化,实现多模态教学

首先重视教学内容的时效性,教师在教学过程中,不仅仅着眼于所选用的教材,还应融入前沿思想、技术和一些交叉学科的内容。例如在“编译原理”课程的教学中,不局限于一种语言,而应该选择多种不同体系结构的编程语言进行介绍;又例如可以选择C语言、Ruby、Python,甚至是苹果最新推出的Swift语言,通过比较这些语言的不同特征,给出其在编译过程中的各自特点,从而使学生对编译程序所做的工作有更加清晰透彻的了解。在“数据结构”、“面向对象程序设计”这类课程的教学中,可以多介绍一些国内外的文献、最新应用等,从多种不同角度引导学生程序阅读及编程的兴趣。这就要求教师关注计算机及电子信息产业发展研究的最新内容,并及时将这些新内容融入到教学工作中。 

其次,重视教学方式的时效性,培养学生程序阅读能力、编程能力,其手段要紧跟时代步伐。充分利用互联网时代的MOOC,如北京大学的MOOC、浙江大学的MOOC、本校的MOOC等,将原先只能在电脑上或书本中的程序放在手机上,使学生可以随时随地从手机端进行学习。学生课外可以利用北京航空航天大学实验类MOOC的计算机网络实验课程、移动计算两门课程,通过计算机网络实验课程,了解网络基本原理,远程配路由器、交换机,组一个小的网络,掌握基本的网络故障排查方法。通过移动计算即Android编程,MOOC已经搭好大的框架,教学生编写小的app程序,并将编写好的代码嵌入到框架中。 

通过促进在计算机系本科教学工作中多模态教学模式的实现,可以将原先计算机专业教学以课堂教学为主、课下上机实验为辅,其余全靠学生自觉学习的格局,转化为课堂教学为主导,智能端随时学习为辅,课下上机实验为监督检测的新格局。这样的格局摒弃了过去教学只能在课堂进行的成见,给予学生更多的学习自由,可以有效提高学生的程序设计、算法设计与分析能力,同时节约课堂时间,教师在课堂中能够有更多时间讲解一些更加实用的难以从书本中直接获得的知识。 

2.4 注重对学生学习态度的引导 

在对计算机系学生的调查中发现,后进生大多有“畏难”情绪。他们往往还未开始编程,就对自己的能力进行主观否定,这种特征在调剂生身上表现得较为突出。对于这种情况,教师在课堂上如果只单方面强调知识的重要性,甚至直接点出考试及格的重要性并不会对这类学生思维模式的转变有好处。教师在教学过程中,常常会不自觉地将自己体验过的应试竞争态度带入教学工作中,具体表现为:过于强调考试分数,为了提起学生的听课兴趣甚至以考试题型作为诱饵,经常强调奖学金和保研问题,整个教学工作围绕着考试等。这其实都是不正当的竞争指引方式,只会增强学生的厌学心理。 

因此,计算机专业讲师在教学过程中,应格外注重对学生学习态度的指引,特别是在代码类课程的教学过程中,教师不应根据自己多年的代码编写经验来对代码进行讲解,而是应该想象自己是这种代码的一名新学生,对这类代码一无所知的情况下,可能会从哪里入手进行理解。与其说“这门课挂科了,你毕业就有危险”,不如说“学会写代码,你就可以自由驾驭整台计算机”;与其说“这种数据类型期末考试一定会考”,不如说“你玩的泡泡龙中,屏幕上的泡泡就可以用这种数据类型来写”。在教学中注重引导学生的学习兴趣,激发学生的学习热情和探索精神,真正做到以学生为本,从学生的角度理解教学,才能在教学工作中正确指引学生的学习态度,达到最佳教学效果。 

3 总结 

计算机科学是一门具有创造性意识活动的学科,计算机本质上是一个程序的机器,只有那些真正懂得程序的人才能懂得计算机。因此程序设计能力、算法设计与分析能力是一名合格计算机类专业的毕业生必须具备的两大基础能力。本文给出的具体措施,有效提高了学生的编程能力、算法设计与分析能力,以及分析和解决实际问题的能力,有利于培养经济社会发展急需的信息产业人才。 

篇6

关键词:软件工程;课程体系;培养方案

软件工程教育兼属科学教育和工程教育范畴,软件工程的科学教育属性主要是引导学生对人类意识与智慧进行科学理解、增强运用软件本质特性(构造性与易演化性)和解决具体问题的能力;而软件工程的工程教育属性主要是引导学生综合应用计算机科学、数学、管理等科学原理,借鉴传统工程的原则、方法,提炼和固化知识,通过创建软件来达到提高质量、降低成本的目的。然而,McKinsey Global Institute2005年10月发表的一份报告称,我国2005年毕业的60多万工程技术人才中适合在国际化公司工作的不到10%,主要原因是中国教育系统偏于理论,学生在校期间几乎没有受到Project和团队工作的实际训练,这对我国高等院校工程教育改革与创新提出了挑战,也为软件工程专业建设指明了方向。

合理的课程体系是高等院校保证培养目标和形成办学特色的重要手段。目前,我国1900多所普通高校中虽有100多所院校开设了软件工程专业,但与当前软件工程技术发展差距较大。为了培养出既有理论知识又有应用技能的工程型实用软件人才,软件工程专业课程体系必须进行改革。对此,本文结合CC2005、SE2004、SWEBOK、国内软件工程专业课程设置现有的研究成果,探索软件工程专业本科教学课程体系建设问题。

1 软件工程专业课程体系设计策略

计算学科本科教学常用的课程体系设计策略主要划分为:课程启动策略、课程组织策略、特色课程设置策略。课程启动策略主要包括:1)围绕算法设计展开的算法优先策略;2)自底向上展开的硬件优先策略;3)从计算机导论展开的广度优先策略:4)强调编程能力的程序设计优先策略;5)强调系统使用命令优先策略;6)从面向对象展开的对象优先策略。

课程组织策略主要有:1)基于主题的组织模式,它把知识体系中的每个知识域组织成一门或几门课程;2)基于系统的组织模式,它把每类计算机软硬件系统设置成一门或几门课程;3)混合模式,在课程设计时不考虑区分前两种方法,兼而有之。特色课程设置策略主要依据本校办学特色和研究专长来确定。

由于软件工程教育兼属科学教育和工程教育范畴,其科学属性和工程属性决定了软件工程专业本科教学课程规划,一方面要强调工程性、技术性、实用性、系统性、综合性和复合型,另一方面要强化基础软硬件知识在解决复杂软件构造和应用方面起到的关键作用。对于课程启动策略而言,传统计算机科学专业的课程启动方式并不适合于本专业,但工程优先策略似乎也不适合于没有任何计算机基础的本科生;同样,在课程组织策略上,基于主题的组织模式更多地具有科学研究属性,而基于系统的组织模式又不利于基础知识强化;此外,特色课程设置时,有时会缺乏全面综合考虑,因人设课会造成特色课程系统性差问题。因此,在软件工程专业课程体系设计策略方面,应根据软件工程学科自身属性,综合考虑以上各种策略特点,全局思考,统一规划,避免课程系统性差、教学内容重复和遗漏并存等现象。

2 软件工程专业课程体系架构模型设计

根据软件工程专业本科教学的培养目标及规格要求,其课程体系采用“夯实基础教育、提高系统认知、强化软件开发、推进工程实训”为主线的设计思路,构建了“分层次、互动式、工程化”的课程体系架构模型(如图1所示)。该模型共分为四个层次,即基础知识教育层、系统认知教育层、工程设计开发层和工程实践训练层。各层次不是相互独立的,而是相互关联、相互影响、逐层递进的演进关系。该模型简化了计算机科学核心课程数量,突出基于主题的组织模式,沿着由浅入深、循序渐进的认知路径,力图实现“基础与编程一体化、编程与系统一体化、系统与工程一体化、工程与职业一体化”四位一体的工程型实用软件人才教学目标。

2.1 基础知识教育层

基础知识教育的设计思路,强化学生的基础知识和编程意识,实现“基础扎实和编程意识强”两个目标。基础知识教育层结构具体划分为:数学基础类课程模块、外语类课程模块、软件基础类课程模块、其他公共基础类课程模块。根据各模块自身特点,全面考虑各模块之间的关联性,做好彼此之间的衔接。在课程启动策略方面,主要采取基于基础的编程优先策略。在数学基础类课程模块中确定一门衔接较好的基础课作为软件基础类课程模块的启动,软件基础类课程模块率先启用软件设计基础课程,力图达到“基础与编程一体化”的教学目标。在课程组织策略方面,采取基于主题的组织模式,有利于学生掌握基础理论知识。

2.2 系统认知教育层

系统认知教育的设计思路:强化学生的编程能力和对软件系统的认识能力,实现“编程能力强和系统级认知”两个目标。根据软件工程专业对硬件系统和系统软件的知识要求,系统认知教育层结构划分为:数据库系统类课程模块、网络系统类课程模块、操作系统类课程模块和编译系统类课程模块。在课程启动策略方面,主要采取基于编程的系统优先策略。通过软件基础类课程模块的数据结构等课程和系统认知类课程模块的数据库原理及应用等课程,进一步强化学生的编程能力,并以程序设计为主线引导学生的系统级认识能力,实现“编程与系统一体化”的教学目标。在课程组织策略方面,采取基于系统的组织模式,简化计算机科学核心课程数量,提高学生学习的有效性和对知识的掌握程度。

2.3 工程设计开发层

工程设计开发的设计思路:以工程化方法为手段,依托项目培养学生的“工程”意识,锻炼学生对软件系统的设计与开发能力,进一步强化学生的系统级认识,实现“更完整的系统级认识和软件系统工程化设计开发技术”两个目标。根据软件工程项目开发流程,工程设计开发层结构划分为:软件过程类课程模块、软件设计类课程模块、软件架构类课程模块、软件测试类课程模块、人机交互类课程模块、特色项目类课程模块、可扩充类课程模块。该层综合考虑核心专业课程和特色项目课程设置,基于专业方向设置若干动态可扩充课程,全面考虑课程之间的关联,强调统一设计、统一规划。学生在这个层次必修一些工程设计开发系列课程,选修可扩充类课程,达到“系统与工程一体化”的教学目标。课程启动策略采取基于系统的工程优先策略。课程组织策略采取项目的组织模式,以此来提高学生的软件系统设计与开发能力。

2.4 工程实践训练层

工程实践训练总体设计思路:通过实验训练、专业实习、项目实训、毕业设计等教学环节,依托校内 外实习实训基地,采用校外实习实训、自主实习实训、校内实习实训和外聘软件工程师等形式,强化学生的工程能力,培养学生的职场素质,实现工程与职业一体化的教学目标。工程实践训练层结构具体划分为两大类,一类是实验与实习类课程模块,另一类是工程实训与毕业论文类课程模块。其中,实验与实习类课程模块的具体设计思路,通过基础实验、系统体验、编程能力训练三个环节,进一步夯实学生的基础知识,完善学生的系统级认识,强化学生的开发技能;而工程实训与毕业论文类课程模块的具体设计思路,通过“软件工程项目实训”这个载体,采取“企业+实训+论文+就业”捆绑的运作模式,与多家国内知名IT公司合作,让学生到企业进行实际项目综合训练,并完成毕业论文设计工作,实现理论与实践结合、技巧与职业素质结合的教学目标,同时也为学生就业提供一个良好平台。

上述四个教育层是彼此联系和互动发展的,在课程体系设计中充分考虑衔接性、系统性和创新性。交流、沟通、讲演、写作的培养更多体现在第二课堂科技学术活动中。

3 软件工程专业核心课程设置

3.1 课程设置原则

软件工程专业课程设置遵循六个基本原则,即先进性、灵活性、复合性、工程性、创新性和模块化。1)先进性:课程设置和课程内容需反映国际上先进的软件技术发展成果和软件企业对先进技术的需求,以及相关的基础理论。2)灵活性:课程设置需具有灵活性,应根据软件技术的发展及时调整。3)复合性:课程设置需包括技能、工程、管理等方面的教学内容,使学生具有必要的综合技能和基本素质。4)工程性:课程设置面向软件工程实践,强调工程实践能力培养,使学生能够自觉运用先进的工程化方法和技术从事软件开发和项目管理,具有团队协作精神。5)创新性:课程设置应倡导学生自主学习,并给予必要的指导,从而培养学生自主学习和自我提高能力,以及勇于开拓和善于创新能力。6)模块化:课程应按照模块化准则设计,课程模块设计可以交叉。根据软件技术最新发展、当前市场需求及专业培养方向、学生目前具备的领域知识等,灵活调整课程设置和课程内容。

3.2 核心课程模块设置

1)软件基础类课程模块设有:计算机硬件基础、软件设计基础、数据结构、计算机组织原理、面向对象程序设计、算法分析与设计等课程。2)操作系统类课程模块设有:操作系统原理、LINUX系统基础、嵌入式系统基础等课程。3)网络系统类课程模块设有:计算机网络、网络规划与集成、网络安全检测与防范技术、网络协议与网络软件等课程。4)数据库系统类课程模块设有:数据库原理及应用、ORACLE数据库、数据仓库与数据挖掘技术等课程。5)编译系统类课程模块设有:编译系统原理、编译技术等课程。6)软件过程类课程模块设有:软件工程、需求工程、软件项目管理、软件建模技术UML等课程。7)软件设计类课程模块设有:C++高级程序设计、J2EE与中间件、.NET架构技术、设计模式等课程。8)软件架构类课程模块设有:大型软件系统构造、软件体系结构等课程。9)软件测试类课程模块设有:软件测试技术、软件测试与评估等课程。10)人机交互类课程模块设有:人机交互技术等课程。11)特色项目类课程模块设有:软件工程项目案例解析、大型软件工程项目实训等课程。12)可扩充类课程模块设有:手机游戏开发、网络游戏开发、计算机图形学、嵌入式Linux网络及GUI应用开发、嵌入式Linux驱动开发、手持设备软件开发等课程。

4 软件工程专业培养方案制定与实施

软件工程专业培养方案制定是基于软件与工程的复合,将软件工程与领域应用相结合,强调计算机科学和数学基础的同时,将专业课程重点放在软件新技术和软件工程新技术方面,通过对实践类课程工程化改造,增设软件工程项目实训环节,开设部分技能课程,试图使学生的基础知识、专业技能、创新能力、工程能力和职业素质都能得到全面均衡发展。具体措施如下。

4.1 建立英语为主日语为辅的外语教学体系

根据IT市场的实际需求,软件工程专业培养方案制定,除正常开设四个学期大学英语外,增开两个学期标准目语和一个学期专业英语,坚持外语学习四年不断线,旨在为学生选择日企或对日外包企业就业提供方便。

4.2 建立工程化实践教学体系

建立“四年不断线、三个层次相呼应、两大措施为保障”的工程化实践教学体系。“四年不断线”是指实践环节四年不断线,每个学期至少有一个集中性的实践教学环节,体现“全过程”实践;“三个层次相呼应”主要是从实践教学内容设计上考虑的,包括第一层次教学实验,第二层次课程设计及专业实习,第三层次工程项目实训与毕业设计;“两大措施为保障”主要指教学计划保障和考核制度保障。

4.3 设置专门的实践课程

针对工程化软件人才应具备的个人开发能力、团队开发能力、系统研发能力和设备应用能力,以必修课和选修课形式,开设四类特色化、阶梯状工程实践学分课程,即程序设计类实践课程、软件工程类实践课程、项目管理类实践课程和网络平台类实践课程,构成了系统全面的学生实践能力训练体系。

4.4 提高专业课程教学中的实验课时量

除个别侧重理论教学的专业课程外,80%以上的专业课程包含实验或实习环节,实验或实习成绩占总成绩的30%以上,一部分实践性较强的课程是以上机考试和答辩作为最终考试方式。

4.5 开设部分技能课程

在技能课程中,与该领域内具有国际领先水平的企业在课件共享、教师培训和资源投入等方面展开合作,共同设计、讲授和评估课程。鼓励学生参与企业提供的专业认证考试,或参加国家相应的专业资格考试,对此,学院将计算机网络、Oracle数据库、J2EE与中间件等认证课程纳入本科教学计划中,全面体现学生的“多证多能”。

篇7

关键词:MAX+plusⅡ;数字电子技术;课堂教学

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)17-31462-01

Using MAX+plusⅡ Software to Enhance the Teaching Efficiency of Digital Electronic Technology

Hong Hai-li

(Academy of Equipment Command & TechnologyDepartment of Photoelectricity Equipment,Beijing 101416,China)

Abstract:Along with the higher education reform further deepening, many curricula theoretical teaching hours are compressed. How to help the student to grasp the knowledge in the limited hours is a new question which each teacher faces. This paper has introduced the using of MAX+plusⅡ software in the classroom teaching of digital electronic technology course mainly, and how to help students using its convenient, powerful simulation function to understand the key points and the difficulties in the course. This aim is for enhancing the efficiency of classroom teaching.

Key words:MAX+plusⅡ; Digital Electronic Technology; classroom teaching

1 引言

数字电子技术课程是电子信息、自动化控制和计算机等专业学生的一门具有很强的工程性和实践性的专业基础课。该课程以数字电子技术的基本概念、基本理论、基本分析方法和设计方法为主要教学内容,教学中结合数字电路具有高集成度、产品种类丰富、设计灵活、应用广泛的特点,突出数字逻辑电路的分析、设计及运用,培养学生分析、解决问题以及探索、创新的能力。数字电子技术是当前迅速发展的学科之一,在这一领域内知识更新的速度远远高于整个科技领域发展的平均速度。数字电子技术课程在教学内容、教学方法以及实验手段方面必须不断更新,使学生在有限的学习时间内,更好更快地掌握所学内容,提高分析和设计数字电路的能力。

2 MAX+plusⅡ软件简介

MAX+plusⅡ(Multiple Array and Programming Logic User System)软件是美国Altera公司推出的一种EDA(Electronic Design Automation)工具,主要用于可编程逻辑器件(PLD)的设计与开发。它可以在Altera的网站上免费下载。该软件可运行在Unix, WindowsNT、Window95/98 、Windows2000、WindowsXP等几乎所有目前流行的操作系统下。用户可以在其友好的界面下简便快捷地设计各种数字电路。它支持原理图输入、硬件描述语言输入和波形输入,具有丰富的库单元供设计者调用,其中包含74系列的全部器件,非常方便数字电子技术初学者进行数字电路的原理图设计。MAX+plusⅡ还具有强大的仿真与分析功能,可以方便的对所设计电路进行逻辑功能仿真和时序分析。在波形仿真文件中加载不同的输入波形,可以观察到电路中各点的输出波形。配合下载线和PLD开发板,还可将所设计的电路下载到PLD开发板上进行实际测试和验证。

MAX+plusⅡ是一个易学易用的软件,其中重要的原因是它能够提供快捷、及时、完全和细致的帮助信息。最直接的帮助来自于它的Help菜单,其工具栏中的快速帮助按钮使用起来更是方便快捷。利用它可以迅速的找到所选器件的功能表和使用方法。

使用MAX+plusⅡ软件进行数字电路设计主要有4个阶段,即设计输入、编译、仿真和下载。设计输入就是利用MAX+plusⅡ软件的图形编辑器或文本编辑器将所设计的电路输入到计算器中,编译是由MAX+plusⅡ软件的编译器(Compiler)完成,主要是对设计输人文件进行逻辑化简、综合、优化和适配,最后生成编程用的编程文件;同时它还可以检查出设计时的一些错误(如:输出短路等)。只有当编译通过后,才能进行电路仿真。仿真是利用它的仿真器(Simulator)来检验电路的逻辑功能是否正确,还可以检验组合逻辑电路的竞争冒险现象以及检查时序逻辑电路的时序、延时等。下载即是利用编程器(Programmer)将设计的电路下载到实际可编程器件中。对于数字电子技术的初学者而言,只要掌握前3个阶段的用法就行了。下载阶段需要用到下载线和开发板。前3个阶段只需要1台计算机和MAX+plusⅡ软件就够了。

3利用MAX+plusⅡ软件,提高课堂教学效率

当前教学改革的一大特点是压缩学时,我们学校的数字电子技术课,从70学时压缩到50时学时。虽然利用先进的多媒体教学手段,教师可以在课前制作好CAI课件,大大节省了在课堂上板书和画图的时间。但是,数字电路中器件种类繁多、应用灵活,电路的分析方法、设计方法也多种多样,如果教师只是对着电路图分析逻辑功能,有些逻辑功能和逻辑现象,学生在短时间内很难理解和掌握。例如,在时序逻辑电路一章中,任意进制计数器的构成方法就非常灵活。有置数法和置零法,置数法还有不同的置法,不同型号计数器的置零与置数的方式还有所不同。当需要多片计数器构成时,不仅片与片之间的进位方式可以不同,置数和置零的方式也可以有多种。这么多不同的方法,仅靠教师对着电路图讲解,学生很难搞明白。如果利用MAX+plusⅡ软件的仿真功能,就可以让学生清楚地看到各种不同方法构成的计数器的状态转换过程,使电路图变成了真实的电路,非常生动和形象,可以帮助学生更好地理解和掌握任意计数器的构成方法。

我们以一个简单的用74161计数器构成五进制计数器为例,介绍如何利用MAX+plusⅡ软件帮助学生快速理解置数法和置零法的异同,以及异步控制和同步控制的区别。74161是同步二进制计数器,它的置数端LD是同步置数,而置零端RD是异步置零。假设我们要构成的五进制计数器的状态是从000到100,状态输出取q2、q1和q0。那么,用置位法实现时,我们用100状态译码产生LD=0信号,下一个CP到来时计数器置入000。原理电路如图1所示。用置零法实现时,我们要用101状态译码产生RD=0信号,由于电路进入101状态后立即被置成000状态,所以101状态仅在极短的瞬间出现,在稳定状态中不包括101状态。原理电路如图2 所示。

分别编译两个电路,再进行波形仿真,学生从仿真波形上可以很直观地看出两个电路的工作状态变化过程的不同之处。图3是置数法的仿真波形,当计数器计到100时,产生置数信号LD=0,此时计数器并没有被置零,而是等到在下一个时钟到来后才被置零。这是同步置数的工作过程。图4是置零法的仿真波形,从图中可以清楚的看到,当计数器计到101时,产生置零信号RD=0,这时计数器被立即置零,置零信号随即消失。101状态和RD=0都是在极短的瞬间出现。101状态不能作为计数器的有效状态。这是异步置零信号的工作过程。在置零法中,置零信号持续的时间极短,这种接法的电路可靠性不高。

图1 置数法实现的五进制计数器

图2 置零法实现的五进制计数器

图3 置数法仿真波形

图4 置零法仿真波形

如果将q2、q1和q0作为一组以十进制方式显示,可以更直观地观察计数器的计数规律。图5是以十进制数来显示置零法计数输出的结果。通过这样的电路仿真,可以使学生对同步控制信号和异步控制信号的工作时序留下了深刻的印象,比空洞的理论讲解更容易让学生理解。

图5 置零法五进制计数器的输出

4 结束语

将MAX+plusⅡ软件应用到课堂教学中,能为学生营造出具有丰富参与感和真实感的虚拟学习环境,在课堂教学过程中把具有理论指导意义的各类电路进行仿真,使学生不仅加深对电路的感性认识,而且对电路的理论知识、电路的结构以及信号在电路中的处理都产生新的认识。

利用MAX+plusⅡ软件将教学过程中许多抽象和难理解的内容具体化、直观化,便于理解,突出了重点和难点,加大了教学信息量,提高了教学效率,有利于学生能力的提高。通过MAX+plusⅡ软件在课堂上对电路的仿真,解决了传统教学中课堂教学与实验教学严重脱节的问题。

利用MAX+plusⅡ软件,还可以将一些基础知识部分的练习、例题和习题在课堂上讲解,通过计算机仿真,学生不仅能观察到一些在理论学习中可能忽略的现象,还能积累许多实用的知识和经验,加深对基础知识的理解,同时也能激发学生的学习兴趣和进一步探索的欲望。

参考文献:

[1]朱正伟.EDA技术及应用[M].北京:清华大学出版社,2005.

[2]阎石. 数字电子技术基础(第4版)[M].北京:高等教育出版社,1998.

篇8

网络红外遥控器在生产时,若采用传统的人工测试方法,会比较费时,对测试人员技术要求比较高,而且品质控制比较困难。特别是在人工成本不断增加,员工流动性比较大的当下企业,能尽量用专业化的自动测试设备代替人工操作将有良好的实际意义。

本文模式采用PC+MCU模式来实现,全面描述了下位机的硬件制作和MCU软件编程仿真以及上位机PC端的功能和界面的VB编程。其中下位机实现开始测试信号检测、参考温度湿度测量、红外信号接收和测试结果声光提示等功能;而上位机重点实现与待测产品网络通信的初始化和数据通信、测试结果的统计保存和人机互动界面等功能。上位机PC和下位机MCU通过串口通信,连接互动,实现分工合作完成本课题的整体功能。

【 关键词 】网络控制 红外遥控 温度&湿度

1、基于网络红外遥控器的自动测试概述及研发背景

近几年,随着通信技术的发展和普及,远程控制被越来越广泛地应用到各种智能控制产品中。网络红外遥控器就是其中之一,它是远程控制的智能红外遥控器,主要是通过网络远程监测环境的温度湿度等参数,并通过网络通信控制红外发射,遥控被控制设备,从而实现远程环境的温度湿度自动监控。此产品特别适合那些对温度湿度要求比较高,人工维护不方便环境使用,例如通信机房和通信基站等的空调控制。其功能框图如图1-1,功能涉及到网络通信、红外控制及模拟的温湿度测量等。生产时若用传统的人工测试方式,需要大量的测试设备和人工劳动时间。若有自动测试的系统来解决此问题,将有实际的意义。

90年代后,随着单片机技术的成熟普及和嵌入系统的迅速发展以及面向对象编程的应用,智能化的自动测试已经普及到很多产品及产品的各个环节的生产测试中。针对此课题,不管是采用PC+MCU方式还是采用嵌入系统方式,都有多种方案可以选择实现。本人选择了PC+MCU这一实际问题,进行了自动测试系统的研究开发,本论文即是该课题的主要内容,论文工作期间完成了产品定义、产品研发、产品测试及产品定型的任务。

2、 网络红外遥控器的自动测试的目的和意义

网络红外遥控器,它具有网络通信,温湿度测量和红外发射等基本功能,在产品生产时,这些功能必须能测试到并保证正常。用一般的人工测试方法,网络通信参数的检查设置以及通信命令协议的收发检查,都需要较专业的测试技术人员,并且需很长测试时间;而要把所有生产的产品温湿度测量功能控制在合理的误差范围里,人工测试方法也很有难度;而人工检测红外发射数据的正误,还需要示波器或其它特殊工具,也对测试人员要求较高。特别是在人工成本不断增加,员工流动性比较大的当下企业,更增加此产品生产时的成本,也很难控制产品品质。

网络红外遥控器的自动测试系统,就是针对网络红外遥控器在实际生产中测试所要解决的问题,对待测品功能进行全面自动测试的应用产品,自动测试原理框图如图1-2。通过本课题的研究,确定系统模式,最终设计生产出能适合理论设计要求,满足实际应用需求的产品。本课题研究开发成功后,将帮助企业在生产网络红外遥控器产品时,能采用智能自动的测试方法代替人工测试操作,这将大大降低产品生产的测试时间,从而降低产品成本,并能严格控制产品品质,从而有效提高产品生产的效率和品质,这对产品的生产和市场竞争将有良好的实际意义。

3、本 课题研究的主要内容

根据待测产品的功能特点,自动测试主要实现对待测品进行全面功能测试,包括网络连接通信功能、温度湿度测量功能和红外发射功能等。本课题针对此目标,要研究和设计的主要内容有以下几方面:

1.产品规格的定义和系统的选型。

要想设计出好的产品,必须先熟悉产品的规格。明确了目标,就可充分考虑论证各种优劣因素,确定系统架构和模式,为具体落实目标指明整体方向。

2.系统的硬件设计。

本课题研究开发的是全新的来解决实际应用需要的产品,因此硬件设计需完全针对设计,需完成硬件的原理图设计,布线板图设计以及最终的电路板制作。

3.系统的软件设计。

依据设计好的硬件和产品的功能要求,选择好合适的软件编译工具,设计出满足功能的软件。,

4.系统的测试。

本课题研究设计的目的就是帮网络红外遥控器生产时自动测试。同样本系统开发时的测试模型和测试方法也同样需要研究,它系统开发的效率和品质起着非常重要的作用。

【参考文献】

[1] 刘少、邓云佳.Visual Basic编程实用大全(精华版).中国水利水电出版社.2005年5月.

篇9

[关键词]马克思早期;批判哲学;分析与考察

[中图分类号]B0-0[文献标识码] A [文章编号] 1009 — 2234(2013)01 — 0005 — 03

可以说马克思的一生都是在批判中度过,马克思也是在一次次批判中形成自己的思想理论,也正是这一批判精神被的后来者所继承和运用。然而,随着现代思潮的多元化,各种理论之间的批判也屡见不鲜,批判的真正精髓也随着这些所谓的“百家争鸣”的浪潮所遮蔽,渐渐陷入了只从批判的字面意义上片面的批判,疏忽了马克思理论批判精神背后的历史过程,也就抛弃了马克思批判精神背后的真正实质。

一、马克思早期批判的历史原像

马克思早期的理论探索是他思想斗争最活跃的时期,也是马克思批判思维最活跃的阶段,而也正是在这一阶段,马克思形成了自己独道的思想理论。我们就从他的第一部带有“批判”的著作,即《黑格尔法哲学批判》来还原马克思批判的历史过程。

《黑格尔法哲学批判》的写作原因要追溯到1843年,马克思离开《莱茵报》时。因为在此之前马克思在《莱茵报》当主编时期,发表了大量对现实问题的评论性文章,他的某些语言触及了封建统治阶级,以致于1843年1月,普鲁士政府决定查封《莱茵报》,这使得马克思退回书房,重新探索自己的理论道路。在受德国的专制制度,以及费尔巴哈哲学的影响下,马克思开始潜心研究历史,并对国家和法的问题进行了初步尝试,这些研究的过程和思想轨迹,都被记录了下来,就是厚厚的五本《克罗茨纳赫笔记》。

早在《莱茵报》时期,马克思就感觉到以黑格尔理性主义国家观为理论基础的法的局限性,从而在克罗茨纳赫的五个月中,马克思考察和研究了大量的各个国家的历史和法的变迁。其中,第一、二本笔记是关于政治史的摘记,摘录了亨利希的《法国史》,拉彭贝尔格的《英国史》和约翰·罗素的《英国政府……史》,第三、四本笔记主要是关于法国史的记载,如施密特的《法国史》、卢克莱泰尔的《复辟以来的法国史》、瓦克斯穆特的《革命时代的法国史》和兰齐措勒的《论十月革命的起因、性质和结果》,此外还有兰克的《法国史》、林加尔特的《英国史》和盖耶尔的《瑞典史》等等,第五本笔记的内容涉及到德国、美国等国家的历史。〔1〕在摘录的过程中马克思都加入了自己的评论,这些评论都成为了之后《黑格尔法哲学批判》的直接思想来源。在论述国家的问题上,马克思摘录了兰克《论法国的复辟》的一段文字后评述道,黑格尔“把国家观念的要素变为主词,而把国家存在的旧形式变为宾词——但是在历史现实中情况恰好相反,国家观念都是国家存在的那些〔旧〕形式的宾词。”〔2〕这一思想鲜明地体现在了《黑格尔法哲学批判》中。在对所有制问题的考察中,马克思对施密特的《法国史》做了大量的摘录,特别是对下述的一段摘录打上了着重号:“对城市公社的事务的共同关心把他们彼此联合起来,正是在公社中要处理这些事务的共同关心把他们彼此联合起来,正是在公社中要处理这些事务并适当地领导这些事务的任务,导致了管理艺术的产生。”之后,马克思写下了下面两段话:第一段说,在英国“国家制度的许多改革,〔其起源〕与其说归功于开明的政策,不如说归功于自私自利的打算。”另一段说,在瑞典“由于财政状况而具有影响的一切东西,……在债主、封建者、承租者、企业头头身上变成了中间的权利,政府依赖它并不比臣民差。”此外,马克思在对“市民社会”进行分析与考察时,对林加尔特的《英国史》作了大量的摘要,主要是对城市的发展和经济力量的增长作了记载,这一记载也表明了,马克思已初步认识到市民阶层的发展,必然要影响到国家制度和法律关系的发展。

在整个《克罗茨纳赫笔记》中,马克思又对费尔巴哈的哲学进行了仔细的研究,特别细读了费尔巴哈的《关于哲学改造的临时纲要》,在这部著作中,马克思找到了解决黑格尔法哲学问题的方法,即重新设置“主词”和“宾词”的关系,由此可见,马克思是在对黑格尔哲学和费尔巴哈哲学的对比和考察中,最终形成了《黑格尔法哲学批判》中的思想,而之前的大量笔记正是这一思想的逻辑前提和理论来源。

在马克思早期的写作中,我们现在所发现的另外一部带有批判性的著作是《1844年经济学哲学手稿》,说它带有批判性是因为:在文中马克思述诸了英国古典经济学,把私有财产看成是永恒的和必然的前提。而在马克思看来,私有财产是历史的,阶段性的产物。我们就来对马克思的这一批判进行历史过程的考察。

我们现在所说的《1844年经济学哲学手稿》这一书名是后来者所加入的,这一部分著述是马克思在巴黎时期,在对经济学进行研究,特别是对多部经济学著作进行摘录时,所写下的具有评论性的一部手稿。可以说,我们现在所看到的《1844年经济学哲学手稿》(以下称《手稿》)是整个《巴黎笔记》的一部分,甚至在《手稿》中都可以看到马克思摘录的痕迹。而在此之前,马克思已经做了七个笔记本的经济学摘录,大致情况如下:第一册第一部分为萨伊的《论政治经济学》摘录,第二部分为斯尔培克的《社会财富的理论》摘录,最后一部分为萨伊的《实用政治经济学教程》摘录;第二册为亚当·斯密的《国富论》摘录;第三册为勒奈·勒瓦瑟尔的《前国民议会议员“回忆录”》和部分《国富论》摘录;第四册第一部分为色诺分尼的《雅典的色诺分尼著作选》摘录,第二部分为大卫·李嘉图的《政治经济学及赋税原理》摘录,第三部分为詹姆斯·穆勒的《政治经济学原理》摘录;第五册第一部分为麦克库洛赫的《论政治经济学的起源、发展、特殊对象和重要性》的摘录,第二部分为特拉西的《意识形态原理》摘录以及部分穆勒的《政治经济学原理》和恩格斯的《国民经济学批评大纲》的摘录;第六册为弗·李斯特的《政治经济学国民体系》摘录;第七册为欧仁·毕莱的《英国和法国工人阶级的贫困》的摘录。〔3〕这七册的笔记大部分都是摘录,也会有少许评论性语言。除此之外,还有三部手稿,这三部分的手稿,马克思一边摘录,一边做了评述,这就是我们所说的《1844年经济学哲学手稿》,可见,马克思在《手稿》中所体现出来的对英国古典经济学的批判思想是在摘录大量政治经济学资料中所形成的。例如,在对麦克库洛赫的《论政治经济学的起源、发展、特殊对象和重要性》的摘录中,马克思有过这样的评论:“在我们看来,李嘉图学派极力主张以积累劳动代替资本——这种说法在斯密那里已经出现——只有这种意义:国民经济学愈是承认劳动是财富的唯一原理,工人就愈是被贬低,就愈是贫困,劳动本身就愈是成为商品。——这是国民经济学这门科学中的必然的理论公理,正像是现在社会生活中的真理一样。”〔4〕在对李嘉图的《政治经济学及赋税原理》一书进行摘录时,马克思评论道:“精神自由是目的,因此大多数人处于愚钝的奴役状态,肉体需要不是唯一的目的,因此它是大多数人的唯一的目的,或者相反,婚姻是目的,因此大多数人。财产是目的,因此大多数人没有财产。”〔5〕

纵观整部《巴黎手稿》,马克思在决定对“市民社会”进行考察后,便进入了大量的经济学研究中,而他的研究方式则是自己习惯的摘录著作加以评论的方法,最终产生了在《手稿》中所阐发的理论。虽然说,《手稿》中的异化劳动理论从整个马克思思想发展史看来还处于“未成熟”阶段,但就马克思的批判的方法论来说是贯穿于马克思的整个思想史的。

二、“批判”的真实内涵:从康德的“批判哲学”论起

从自然语言的角度来理解,一方面,批判是指对错误的思想,言论或行为做系统的分析,加以否定;另一方面,批判是指指出批评,提出意见。然而,作为哲学语言的“批判”来说,或者更确切的说作为现代哲学语言的“批判”,我们都把它理解为“扬弃”,即指新事物代替旧事物不是简单地抛弃,而是克服、抛弃旧事物中消极的东西,又保留和继承以往发展中对新事物有积极意义的东西,并把它发展到新的阶段,是对这一事物的自我否定,简而言之就是说“否定的继承”。这一批判的思想起源于黑格尔,发展及运用于马克思。但就批判这一词句,或就“批判哲学”而言,其鼻祖应该归属于康德,那么,我们就来分析一下康德的“批判哲学”。

康德“批判哲学”的逻辑起源要回溯到西方近代哲学的两条路线:唯理论和经验论。唯理论的路线发端于笛卡尔,经斯宾诺莎的发展,结论于莱布尼茨。他们认为,人类知识来源于人自身的理性推理,与经验无关,却最终走向了独断论。经验论的路线发源于洛克,经贝克莱的发展,结论于休谟。他们认为,人类对世界的一切认识与知识来源于人的经验,而最终走向了怀疑论。康德的思考正是基于这两种路线之上,却又从不轻信于任一理论。康德认为,独断论和怀疑论都不单独探讨理性能力,而简单地肯定(独断论)或否定(怀疑论)理性能力是否有超感觉经验的认识,而康德的任务就是要探讨、分析、审查人的认识能力,也就产生了“批判哲学”。康德认为,人的认识能力分为理论理性和实践理性。在《纯粹理性批判》中,康德具体分析与考察了人的理论理性即纯粹理性的认识能力与可认识的范围;在《实践理性批判》中,康德具体分析与考察了人的第二种理性认识能力,之后,为了达到两种理性能力的融合和沟通,在《判断力批判》中,康德具体分析与考察了人的审美能力,从而实现了其“三大批判”的形而上学体系。顾名思义,在康德的“批判哲学”中,从内容上讲,的确包含有对前者理论,特别是对经验论和唯理论的否定与继承,但就其批判的方法论意义上讲,批判的意义更多的在于分析与考察,康德在《纯粹理性批判》第一版的序言中就已经说明,“我理解的批判,并不是对某些书和体系的批判,而就其独立于一切经验能够追求的一切知识而言对一般理性能力的批判,因而是对一般形而上学的可能性或者不可能性的裁决,对它的起源、范围和界限加以规定。”〔6〕而在《纯粹理性批判》再版的序言中,康德再次强调了其批判的意义,“批判并不与理性在其作为科学的纯粹知识中的独断方法对立(因为科学在任何时候都必须是独断的,即从可靠的先天原则出发严格地证明),而是与独断论对立,也就是说,与凭借一种从概念(哲学概念)出发的纯粹知识按照理性早已运用的原则、从不调查理性达到这种知识的方式和权利就能前进的僭妄对立”〔7〕在这里,康德把“批判”与“独断论”对立起来,显然,是要说明批判的“分析与考察”的意义。

对康德的“批判哲学”进行了大致的阐述之后,我们对这位“批判”的鼻祖所使用的“批判”的含义有了明确的理解,就是“分析与考察”。而马克思正是继承了这一点,他把“分析与考察”这一批判的方法论特性用于自己的哲学与历史学以及政治经济学的研究中。马克思从一开始就遵循了批判的这一方法论特性。

《博士论文》是迄今为止发现的,马克思最早的一部学术性专著,其题目是《德谟克利特的自然哲学与伊壁鸠鲁的自然哲学的差别》。马克思写作此文的目的是因为在此之前,人们对古希腊哲学的一致看法是认为古代哲学的顶峰是在亚里士多德时期,亚里士多德时期的哲学思想是古希腊哲学的经典,而到了古希腊哲学的晚期,古代哲学,特别是自然哲学出现了衰落。马克思通过对古希腊晚期的自然哲学的代表伊壁鸠鲁和亚里士多德时期自然哲学的代表德谟克利特两者思想的对比和分析,得出了伊壁鸠鲁的原子论其中蕴含着的自由的思想,从而述斥了封建专制和思想压迫。从这一角度来讲,马克思的博士论文也带有否定的批判含义。那么,再来看看,马克思这一批判的历史过程。在写作论文之前,马克思在1839年至1840年初,写下了七本《关于伊壁鸠鲁哲学的笔记》,写完这些笔记之后,马克思写下了许多附注,内容是伊壁鸠鲁的自然哲学及其原子论,还写下了一部手稿,内容是评述普罗塔克对伊壁鸠鲁的神学思想展开的论战。除了这七本《关于伊壁鸠鲁哲学的笔记》外,马克思还写下了《柏林笔记》。《柏林笔记》是马克思摘录古典哲学家著作的笔记汇集,包括亚里士多德的《论灵魂》,莱布尼茨的一系列著述,休谟的《人性论》,斯宾诺莎的《神学政治论》,以及卡尔·罗生克兰茨的《康德哲学的历史》。〔8〕显然,马克思在写作《博士论文》之前做了大量的准备工作,他详细地考察了古代哲学和近代哲学思想,当然,在大学期间,马克思研读最多的还是黑格尔的著作。从这里我们可以看出,马克思确实继承了康德“批判哲学”中的“分析与考察”的思想内涵,在此基础上再进行“扬弃”,不过,马克思在《博士论文》中的批判和康德“批判哲学”一样,还是只停留在哲学的思辨领域,但在之后对法哲学和政治经济学的批判中,马克思便走出了这一困境。

三、马克思批判过程的内在特性

上文已说,马克思的批判是有着分析与考察的过程,在马克思要写作一本批判性的著作之前,必须经过大量的研读和摘录,而这只是一个方面,就其一种批判理论的形成过程来讲,马克思的批判是自觉性的,而不是目的性的,这也是马克思批判理论形成过程中的内在特性。

自觉性是指一种自发性的过程,也就是马克思在批判的过程中,那些新的观点和批判性的理论是自发地形成,并不带有先验的独断性。更具体一点,马克思在所写的著作中的批判性观点是他在对这一理论历史的分析和考察时,在马克思做大量的摘录和评论他人的观点时形成的,我们所看到的著作只是对这些摘录和评述的重新整合和进一步阐明。而与自觉性相反的是目的性,所说的目的性也就是说当我们对一种理论进行考察和分析之前,就已经对这一理论进行先行的断定,从而就只是为了论证这一论断而去考察和分析,这样往往带有主观的色彩,反而会对这一理论思想造成误解,导致批判的片面性。这其实也是带有独断论的倾向。

回到马克思的早期文本,马克思在对他人的著作进行摘录和评论时确实已经形成了部分在之后自己所写的著作中体现的思想观点,本文的第一部分已经论述,此处就不再说明。而这里要强调的是批判的真实内涵与其特性,即“分析与考察”与“自觉性”的关系。

一方面,“分析与考察”是批判的自觉性的前提;另一方面,对所要批判的理论进行细致、详尽的分析和考察,必然会产生出新的、批判性的观点,而且,分析的越深入,越透彻,产生出的新思想就越深刻,越合理。相反,如果没有意识到两方面的联系,忽视了任一方面,其批判就会有失偏颇;如果并没有对所要批判的理论进行分析和考察,只是由肤浅的,片面的知识体系而进行的批判必将是片面的,而倘若为了否定而去分析和考察所要批判的理论,即目的性的批判,必将导致批判的局限性。在当代哲学思想的发展过程中,在理论界大力提倡思想多元化的时代,批判思维日新月异,各种新的思想都是在批判中产生的,没错,马克思也正是在批判他人的思想中形成了唯物史观和剩余价值学说,然而我们又恰恰只是停留在批判的哲学语句中理解其含义,更重要的是我们必须回到马克思“批判”的历史过程中去寻找“批判”的实质,与其说马克思的批判是一种思维一种方法论,毋宁说是一种批判精神,一种对学术的态度和作风。

〔参 考 文 献〕

〔1〕 孙伯鍨.探索者道路的探索〔M〕.南京:江苏人民出版社,2002:120-121.

〔2〕 马列著作编译资料(第12辑)〔M〕 .北京:人民出版社,1972:36 .

〔3〕 张一兵.回到马克思〔M〕.南京:江苏人民出版社,2005:158-160.

〔4〕 〔5〕 马克思恩格斯研究资料汇编〔M〕.北京:书目文献出版社,1982:44,45.

篇10

关键词:片上系统 自主学习 学习迁移 教学内容

中图分类号:G633 文献标识码:A 文章编号:1673-9795(2013)08(b)-0121-02

1 研究背景

近十年,可编程逻辑器件、单片机、DSP、ARM等技术与市场飞速发展,相关的技术、教学素材有所增加,涌现出大量的技术书籍、教材、实验案例、开发套件、技术资料等。以SOPC(system on programmable chip)为核心内容片上电子信息系统虽代表着嵌入式系统发展的方向,可由于其内容较新、对人才知识技能要求高、软硬件结合难度大等原因,国内开设片上电子信息系统的学校也非常少[1],与片上电子信息系统(SOPC)相关教材、甚至是科技书籍都寥寥无几[2~5],精品课更是寥若星辰。鉴于已有的技术书籍主要针对工程技术人员阅读,不易于相关知识基础薄弱的本科生学习和理解,我们急需参考国外相关课程和国内外科技书籍,对课程内容进行完整的梳理和总结,仔细编排教学内容,并反映片上电子信息系统最为基础、本质和实用的内容,体现知识发展前沿,使学生掌握片上电子信息系统最基本的理论和观点,掌握学习这门课的基本学习态度和方法,相关的操作实践方法等,达到教学内容丰富全面、逻辑清晰、条理清楚的目标。另一方面,由于电子信息行业中嵌入式技术更新发展较快,产品的更新换代乃至产品开发工具变化较为剧烈[6],导致《片上电子信息系统》以培养学生自主学习能力为主导的改革势在必行。这样对教学内容的设计就提出新的要求。因而,我们课堂教学内容设计应该是在学习理论、学习动机、自主学习等理论的指导下,根据课程的特点、教学目标、学生的先验知识等进行精心设计,使学生构建起易扩展的、牢固的知识结构,以利于学习迁移的进行,进而提高学生的自主学习能力。

因此,这篇论文在国内《片上电子信息系统》课程现状下,如何进行益于学生知识结构构建和学习迁移的《片上电子信息系统》教学内容的设计进行研究。

2 研究依据的理论基础

学习理论解释是有关学习的实质、过程、条件等根本问题的一些观点,它强调人类学习是建立、重组认知结构的过程。研究认知学习理论的代表学者之一是布鲁纳,布鲁纳认为教学的一大任务就是为最佳的理解提供最佳的知识结构[7~8]。

从教材理解方面,懂得基本原理会使学科更容易理解;从教材迁移方面,掌握了较基本的原理或结构,就可以把事情作为更普遍的事情的特例去理解,从而有助于增进学习中的迁移。

从教材记忆方面来看,“除非把一件事情放进构造得好的模式里面,否则很快就会忘记”。

学习迁移理论研究的是一种学习对另一种学习的影响。其中按照内容划分为普遍迁移、特殊迁移。主要的迁移相关的观点有[7]:

(1)现代迁移理论认为认知结构与迁移有重要联系:主要体现在认知结构的可利用性、可辨别性和巩固性对迁移的影响。

(2)充分或过度学习是有效迁移的一个有利条件。

(3)学习任务的难易程度与迁移也有影响。

(4)迁移假设理论认为通过假设形成的思考顺序和假设范围会影响以后对类似问题的解决。

3 教学内容设计方法

结合理论,具体的实施方法在本篇文章中以实现流程及工具操作的讲解为例作如下说明:

在《片上电子信息系统》这类实践性较强的课程中,往往涉及在具体编程环境中工具的操作。面对纷繁的命令、原理和流程,如果教师眉毛胡子一把抓,从头按部就班地把操作一点点讲起,就会造成学生不甚清晰的学习结构,造成记忆和将来学习迁移的困难,没有一个整体的对基本原理、基本态度的掌握,不利于提高学生自主学习能力。本文作者经过分析,得出讲授工具与流程过程中,可以围绕原理的介绍、工具的介绍和流程的介绍三个线索展开。

首先是原理的介绍:指讲述诸如高级编程语言源代码输入、编译、连接、形成可执行文件、存储器分段及配置、程序加载执行等的原理(针对C语言或者处理器内核);或者讲述源代码输入、约束条件、综合、布局布线、添加约束、在线调试、下载等的原理(针对逻辑编程语言verilog或VHDL、FPGA);这些原理使学生对工具或者流程完成工作的内部机理有所了解,方便学生在理解基础上认识工具和流程。

然后是工具的功能介绍:分为每个工具组件的介绍、每个工具的窗口界面中显示内容、命令菜单的介绍,包括工程窗口、信息窗口、内容窗口。菜单包括:文件、调试、编辑、工具、选项等。具体在工具介绍中还涉及某一工具操作流程是哪些命令(动作)组合实现的、哪些窗口显示哪些内容、如何根据内容调整(交互)等内容。所以这部分既包括按照各种工具功能的介绍,可以渗透工具与原理、流程的对应关系。