四川大学软件学院本科课程教学大纲

合集下载

四川大学本科教学大纲

四川大学本科教学大纲

四川大学本科实验教学大纲课程名称:数字信号处理英文名称:digital signal processing课程性质:讲/习课程代码:20118630本大纲主笔人:董重明面向专业:(信息专业、统计专业,计算专业等)实验指导书名称:数字信号处理(第十章上机实验)出版单位:西安电子科技大学出版社出版日期:2000。

12 主编:丁玉美高西全实验讲义名称:编写单位:编写日期:主编:一、课程学时学分课程总学时:51学时课程总学分:3学分实验总学时:4学时实验总学分:0学分二、实验的地位、作用和目的数字信号处理是一门理论和试验并重的学科。

上机试验有自己独立的意义。

本身可以作为单列的课程。

但对本课程而言,由于是本科阶段的基础课程,受课时和课程内容的限制上机实验主要还是课程中基础理论的补充。

通过上机,不仅可以帮助同学门加深对理论内容的理解和消化,而且能锻炼独立解决问题的能力,对以后的进不步学习和利用所学解决实际问题都是必不可少的。

三、基本原理及课程简介数字信号处理是诞生于上世纪六十年代的一门学科。

至今在各个方面多现代人的生活产生了极为深刻的影响。

随着各种数码产品的问世和发展,这门学科的已经成为现代社会的标志性学科之一。

它的本质就是用计算机(或者各种芯片)把各种已经数码化的信号加工后,再输出。

从各种原始信号中提取有用的信息为人类服务。

而对数字信号加工和处理的都是通过数字计算进行的。

其中标志性的计算之一就是通过各种快速算法实现的DFT,既FFT。

四、实验方式及基本要求一人一机,按指导教师的指导打开软件,按要求完成具体的相关操作。

五、基本设备与器材配置(名称及数量)普通的个人微机(奔腾Ⅲ以上),windows操作系统,。

安装有mathwork公司的mathlab软件。

一人一机六、实验项目及内容提要说明:上机实验的具体内容暂时定为三个,每个内容两个学时,累计比总学时多两个学时。

原因如下:现在学校有些学院开设有matlab选修课程作为一门计算机语言来学习,如果学习本课程的同学的多数对mathlab的基本内容已经有一定了解,本大纲的第一部分内容就不必要了,可以削减,这时用第三个内容--数字滤波器的设计来补充。

软件工程理论课教学大纲

软件工程理论课教学大纲

软件工程理论课教学大纲软件工程理论课教学大纲软件工程是计算机科学与工程学科中的重要分支,旨在研究和应用一系列原则、方法和工具,以提高软件开发和维护的效率和质量。

软件工程理论课作为软件工程专业的核心课程之一,对于培养学生的软件开发能力和工程思维具有重要意义。

本文将从课程目标、教学内容、教学方法和评价方式等方面探讨软件工程理论课的教学大纲。

一、课程目标软件工程理论课的主要目标是培养学生掌握软件工程的基本理论和方法,具备软件开发和项目管理的基本能力。

具体包括以下几个方面:1. 理解软件工程的基本概念和原理,包括软件生命周期、需求分析、设计、编码、测试、维护等各个阶段的基本原则和方法。

2. 掌握软件开发过程中的常用工具和技术,如需求管理工具、版本控制工具、测试工具等,能够灵活运用这些工具解决实际问题。

3. 培养学生的团队合作和沟通能力,使其能够参与到实际的软件开发项目中,理解软件开发过程中的团队协作和项目管理的重要性。

4. 培养学生的自学能力和持续学习的意识,使其能够不断跟进软件工程领域的最新发展和技术变化。

二、教学内容软件工程理论课的教学内容应包括以下几个方面:1. 软件工程基本概念和原理:介绍软件工程的基本概念、软件生命周期、软件过程模型等,让学生了解软件工程的基本理论基础。

2. 软件需求分析与规格说明:介绍软件需求分析的基本方法和技术,包括需求获取、需求建模、需求规格说明等,让学生掌握如何正确理解和表达软件需求。

3. 软件设计与架构:介绍软件设计的基本原则和方法,包括面向对象设计、设计模式、架构模式等,让学生了解如何进行软件设计和系统架构设计。

4. 软件测试与质量保证:介绍软件测试的基本原则和方法,包括测试策略、测试用例设计、测试工具等,让学生了解如何进行软件测试和质量保证。

5. 软件项目管理:介绍软件项目管理的基本概念和方法,包括项目计划、进度管理、风险管理等,让学生了解如何进行软件项目管理和团队协作。

四川大学软件学院本科课程

四川大学软件学院本科课程
实验工具 带无线网卡的笔记本,AP 或无线路由器 和环境
本课程包括两个实验 一、自组网络(Ad-Hoc)实验 二、基础网络(Infrastructure)实验 课程项目
通过完成无线局域网基础实验,使学生能够理论与实际相结合,通过实际接触无线局域 网,使学生熟悉无线局域网设备,掌握无线局域网的组网模式、参数配置及安全设置,从而具备 一定的组网能力。目的是让学生对无线网络在理论和实践上有一个全面的认识,从而具有坚实的
理论与实践的结合上全面认识无线网络,具备坚实的无线网络理论基础知识和熟练实践的技能,
成为能够独立承担专门技术工作的无线网络人才和能从事一定网络科学应用研究的人才。
根据课程的特点,理论授课为主,辅助一定的网络组网实验。 先行课程 计算机网络
选用教材 无
1. Ron Price, “无线网络原理与应用“,清华大学出版社,2008.6
5. 无线局域网介质访问控制层 教学内容
1. 接入访问模式 DCF 2. 接入访问模式 PCF 3. 帧格式 教学要求 要求学生掌握无线局域网介质访问控制技术
4
教学重点 接入访问模式 DCF
教学难点 CSMA/CA 协议、退避机制、虚拟载波侦听等
学时分配 2 学时
6. 无线局域网安全技术 教学内容
要求学生了解无线局域网的安全问题,各种无线局域网安全技术的原理、特点与应用情况。 教学重点
当前基本和主流的无线局域网安全技术,包括 WEP、802.11x、WPA、802.11i、VPN 等。 教学难点
涉及密码学技术的无线局域网安全技术,大量的概念、密码学原理较难教授、理解。 学时分配
2 学时
7. 组建无线局域网 教学内容
主流。这门课程主要内容包括:
课程的目标:要求学生掌握并了解无线网络的基础知识,以 WiFi 为主流的 802.11 网络的

四川大学软件学院本科课程教学大纲

四川大学软件学院本科课程教学大纲
14.行为型设计模式介绍迭代器模式、访问者模式以及命令模式介绍3学时
15.复习,3学时
16.考试,3学时
由于每堂课的教学内容较多,为了保证课堂讨论,老师可按自己需求选择每堂课的部分内容讲解
课程目标
让学生了解软件体系结构的重要性、体系结构不同层次的概念及其主要内容,掌握一些具体的软件体系结构风格如:调用-返回,数据流,事件系统,MVC模型、服务器-客户机风格、云计算等;掌握软件质量属性的概念以及实现这些质量属性的基本战术,包括可用性、可修改性、易用性以及性能等,掌握几类设计模式,包括创建型、构造型以及行为型的设计模式。
课程要求
学生应该1)按时上课;2)按时完成作业和项目; 3)按期完成课程设计
先行课程
面向对象程序设计导论
Java或C++程序设计语言
选用教材
(书名、作者或译者、出版社、出版时间、版次)
软件设计模式与体系结构.孙玉山,刘旭东.高等教育出版社. 2013.5. ISBN:978-7-040-37202-1
软件工程专业学生
课程描述
(课程背景、专业地位、授课对象、主要内容、授课方式、课程目标和要求等)
课程背景:
进入二十一世纪以来,随着软件规模变得越来越大,其内部结构变得越来越复杂,特别是随着Internet的普及,分布式网络化的程序成为主流,分布于不同计算机上的程序的交互变得更加复杂,这些程序的成功与否很大程度上取决于其构架设计是否合理。现在,软件体系结构变得和软件算法、数据结构同等重要,甚至更加重要。缺乏软件结构的知识会带来软件开发两方面的缺陷:一是不能构建大型复杂的软件,二是不能构建高质量的软件,因此需要学习软件体系结构。
教学内容
(各章节主要教学内容、教学要求、教学重点、教学难点、学时分配等)

四川大学软件系统形式化验证(双语)Software System Model Checking教学大纲

四川大学软件系统形式化验证(双语)Software System Model Checking教学大纲

College of Software EngineeringUndergraduate Course Syllabus Course ID 311031020 Course Name Software System Model CheckingCourse Attribute □Compulsory■SelectiveCourseLanguage■English□ChineseCredit Hour 2 Period 32Semester □First Fall □First Spring □Second Fall □Second Spring ■Third Fall □Third Spring □Fourth Fall □Fourth SpringInstructors Song XiaoyuDescriptionToday, software systems are widely used in applications where failure is unacceptable. Because of the success of the Internet and embedded systems in automobiles, airplanes, and other safety critical systems, we are likely to become even more dependent on the proper functioning of computing devices in the future. Due to this rapid growth in technology, it will become more important to develop methods that increase our confidence in the correctness of such systems.Traditional verification techniques use simulators with handcrafted or random test vectors to validate the design. Unfortunately, generating test vectors is very labor-intensive. The overall complexity of the designed systems implies that simulation cannot remain the sole means of design verification, and one must look at alternative methods to complement simulation. Recent years have brought about the development of powerful formal verification tools for verifying of software systems. By now, the information technology industry has realized the impact and importance of such tools in their own design and implementation processes.The objective of the course is to introduce the participants to the practical formal verification techniques for hardware/software systems that are beginning to penetrate industrial applications. Topics to be covered include: system modeling, formal logics for system verification (Boolean & first-order logic, higher-order logic, temporal logic), formal specifications, CTL model checking, BDDs, applications of theorem proving systems, and SA T solvers. Exercises are provided in the class.PrerequisitesSoftware and Hardware Systems, Discrete Mathematics. Any senior or graduate student in ECE and CS is welcome to take this course.T extbook E. Clark, O. Grumberg, D. Peled, "Model Checking", MIT Press, 2000. Resource Lecture notes.Grading Assignments, attendance rate (40%) and final exam (60%)T opics Introduction to verification technology. Understand the basic notions of correctness Introduction to formal logics. Understand the basic notions for logics, proofs, specifications. System modeling. Understand the importance of system modeling and specification. Temporal logics. Understand the basic notions of temporal logics.Temporal Logic and Modeling Checking. Understand the extension of CTL, CTL*, etc. Modeling Checking with fixpoint computation.Boolean representations. Find a canonical Boolean representation, etc.Symbolic verification based on BDD and SA T.Symbolic Simulation, BMCTheorem proving systems. L TL model checking, Buchi automata, Omega- automata, etc.T ools & Environment Projects SAT-based verification Version No Version No:: 1.0 Author Author:: Date Date:: 20020099-6-10 Auditor Auditor:: Mei Hong Date Date:: 20020099-6-1010Signature of leader Signature of leader:: Date Date::20020099-6-1010。

软件工程教学大纲

软件工程教学大纲

软件工程教学大纲《软件工程》课程教学大纲一、课程的基本情况课程中文名称:软件工程课程英文名称:softwareengineering课程代码:1302031课程类别:专业基础课课程学分:2.5课程学时:44讲课对象:计算机科学与技术专业、软件工程专业前导课程:高级语言程序设计、数据结构、数据库原理二、教学目的《软件工程》是计算机专业的一门必修的专业课程,通过本课程的学习,要求学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展方向;如何用工程化的方法开发软件项目,以及开发过程中应遵循的流程、准则、标准和规范。

《软件工程》是一门综合性和实践性很强的专业课程。

应注重方法、技术的实际应用,能应用相应的图形工具开发小型软件项目,为更深入地学习和今后从事软件工程实践打下良好的基础。

三、教学基本建议ch1introduction基本要求:§1.1softwarecrisis§1.2softwareengineering§1.3lifespan§1.4softwareprocess重点与难点:lifespanch2feasibilitystudy基本要求:§2.1task§2.2process§2.3systemflowdiagram§2.4dataflowdiagram§2.5datadictionary§2.6cost/benefit重点与难点:dataflowdiagram,datadictionarych3requirementsanalysis基本建议:§3.1task§3.2process§3.3conceptionmodel&e-rdiagrams§3.4otherdiagramtools重点与难点:conceptionmodel&e-rdiagramsch4formalspecificationmethods基本建议:§4.1statemachine§4.2petrinetwork§4.3zspecificationlanguage重点与难点:statemachinech5systemdesign基本建议:§5.1designprocess§5.2designconcepts§5.3designprinciples§5.4diagramtoolsofsoftwarearchitecture§5.5datafloworienteddesignmethods:transform&transactionmapping重点与难点:datafloworienteddesignmethods:transform&transactionmappingch6programdesign基本要求:§6.1structuredprogramdesign§6.2interfacedesign§6.3proceduredesigntools§6.4datastructureorienteddesignmethods重点与难点:datastructureorienteddesignmethodsch7implementation基本要求:§7.1coding§7.2softwaretestingfundamentals§7.3unittesting§7.4integrationtesting§7.5va lidationtesting§7.6white-boxtesting§77black-boxtesting重点与难点:ch8maintenance基本建议:softwaretestingfundamentals§8.1definitions§8.2softwareevolution§8.3maintainabil ity-softwaremeasurement重点与难点:softwareevolutionch9object-orientedmethodology基本要求:§9.1introduction§9.2concepts§9.3objectmodelingtechniques-3models(object,dynamic,function)重点与难点:3models(object,dynamic,function)ch10object-orientedanalysis基本要求:§10.1modelingprocess§10.2requirementspresentation§10.3createobjectmodel§10.4createdynamicmodel§10.5createfunctionmodel重点与难点:modelingprocess,requirementspresentationch12object-orientedimplement基本要求:§12.1programminglanguages§12.2programmingstyles§12.3ootestingstrategies§12.4testcasedesignforoosoftware重点与难点:ootestingstrategiesch13softwareprojectmanagement基本建议:§13.1softwaresizing§13.2costestimation§13.3softwareplan§13.4personnel§13.5qualityassurance§13.6.projectplan重点与难点:softwareplan,projectplan四、课程内容与学时分配课程内容与学时分配表中内容ch1introductionch2feasibilitystudych3requirementsanalysisch4formalspecificatio nmethodsch5systemdesignch6programdesignch7implementationch8maintenancech9object-orientedmethodologych10object-orientedanalysisch12object-orientedimplementch13softwareprojectmanagement总学时4444426462242444学时五、教材与参考书教材:张海藩主编,《软件工程导论(第四版)》,清华大学出版社,2021参考书:[1]rogers.pressman,《softwareengineeringapractitioner’sapproach》5edition,chinamachinepress,2000[2]rogers.pressman著,梅宏译,《软件工程-实践者的研究方法》原书第5版,机械工业出版社,2002th六、教学方式和考核方式1、教学方式课程的讲授应当将理论教学与实验教学紧密结合,并使之相互辅助,提升教学效率。

软件工程教学大纲

软件工程教学大纲

软件工程教学大纲[简介]软件工程是计算机科学中的一门学科,旨在教授学生软件开发以及项目管理的理论和实践知识。

本文将介绍软件工程教学大纲的内容和目标,以及教学方法和评估方式。

[第一部分:引言]1. 软件工程的定义:软件工程是一种系统化、规范化和可重复的方法,用于开发高质量的软件。

2. 软件工程的重要性:软件在现代社会中的应用广泛,软件工程的实践能够提高软件开发的效率和质量。

[第二部分:教学目标]1. 理论知识:学生应该掌握软件工程的基本原理和方法,包括需求分析、设计、开发、测试和维护等方面的知识。

2. 实践能力:学生应该能够应用软件工程的理论知识解决实际问题,包括软件开发过程中的各个环节。

3. 团队合作:软件开发是一项团队活动,学生应该培养良好的沟通和协作能力。

[第三部分:教学内容]1. 需求分析:介绍需求工程的基本概念和方法,包括需求获取、分析和规格说明等内容。

2. 软件设计:讲解软件设计的原理和方法,包括结构化设计、面向对象设计以及设计模式等知识。

3. 软件开发:介绍软件开发的流程和方法,包括编码、调试、版本控制和软件测试等。

4. 质量保证:教授软件质量保证的理论知识和实践方法,包括软件测试、代码审查和性能优化等。

5. 项目管理:介绍项目管理的基本知识和技巧,包括项目计划、资源管理和风险管理等。

[第四部分:教学方法]1. 理论讲授:通过课堂讲解,向学生传授软件工程知识和理论。

2. 实践操作:安排实践环节,让学生亲自参与软件开发项目,提高他们的实践能力。

3. 小组讨论:组织小组讨论,让学生共同解决软件工程中的问题,培养他们的团队合作能力。

4. 项目实践:安排真实的软件开发项目,让学生在实际环境中应用所学知识,提高他们的实践能力。

[第五部分:评估方式]1. 考试:通过理论考试,评估学生对软件工程理论知识的掌握情况。

2. 项目评估:对学生在实际项目中的表现进行评估,包括项目成果和团队合作能力等方面。

四川大学本科实验教学大纲

四川大学本科实验教学大纲

四川大学本科实验教学大纲课程号:课程名称:软件工程英文名称:Software Engineering课程性质:选修本大纲主笔人:余勇面向专业:(信息与计算科学专业)实验指导书名称:+sql server 动态网站开发案例精选出版单位:清华大学出版日期:2005年10月主编:刘斌实验讲义名称:软件工程编写单位:人民邮电出版社编写日期:2002年主编:张海藩一、课程学时学分课程总学时:68学时课程总学分:4学分实验总学时:17学时实验总学分:1学分二、实验的地位、作用和目的辅助教学。

对课程中所涉及到的具体技术和方法进行上机实践,使学生能充分理解和灵活掌握这些技术,加深对课程中概念的认识。

三、基本原理及课程简介软件工程是指导计算机软件开发和维护的工程学科,它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以便经济地开发出高质量的软件并有效地维护它。

四、实验方式及基本要求3~5人分成一组,在其中选出组织能力强、计算机技术较好的同学作为组长,包括组长在内的所有同学进行角色扮演,分别担任,系统分析员,程序员,测试员。

每组分配给1个实习题目。

五、实验报告要求在需求分析阶段:绘制ER图,数据流图,状态转换图。

软件设计阶段:绘制软件结构图,NS盒图。

编码设计阶段:提供完整可以运行的程序代码。

软件测试阶段:提供测试报告。

六、考核与考试上机演示30分,提交完整项目报告70分。

(组长:可以适当加5分) 七、基本设备与器材配置(名称及数量)计算机与计算机局域网络。

八、实验项目及内容提要实验题目:学生信息管理系统校友管理系统网络商城系统网络论坛系统客户关系管理系统网络投稿系统网络考试系统。

四川大学软件工程专业 本科生培养方案

四川大学软件工程专业 本科生培养方案

软件工程本科专业教学计划进度表(专业代码080902,适用2018年级)
备注:
1.每学期必选“形势与政策”课程,每期合格后,毕业时共计2学分。

2.《中华文化》课程分为《中华文化(文学篇)》、《中华文化(历史篇)》、《中华文化(艺术篇)》、《中华文化(哲学篇)》四门课程,要求任选一门,至少选修3学分。

3.“社会科学与公共责任类”、“ 工程技术与可持续发展类”、“ 科学探索与生命教育类”、“ 国际事务与全球视野类”通识课程,至少选修4学分。

4.其他通识课程中,要求选修“实践及国际课程周”本专业开设的外教课程,至少选修2学分。

5.专业选修课中,“软件工程通用”课程模块为必选模块,至少选修14学分;其它专业方向课程模块,要求任选其中一个方向模块,至少选修10学分,不得跨方向选修课程。

6.跨学科专业类课程,要求必修两门以上其它专业的专业核心课程,至少6学分。

7.创新创业教育学分要求至少4学分,学分认定方式参见川大教〔2017〕130号文件,包括社会实践、创新创业活动;学科竞赛;特长与技能;科技成果等。

8.实践教育中的“IT企业实习”学分的认定条件是:企业是学院认可的知名IT企业,获得企业的“实习鉴定意见”,评价达到优良,实习所获得的8学分可用于替代专业方向选修课程模块的学分。

9.毕业要求最低学分为167学分,并达到各项课程必修和选修要求。

四川大学软件开发实践Practice in Software Development教学大纲

四川大学软件开发实践Practice in Software Development教学大纲

College of Computer(Software Engineering) Undergraduate Course Syllabus Course ID:31110320Course Name:Software Development Practice Instructors:Guo Bing He Jun Zuo Hang Shu LiDecember 2007First. Course InformationCourse ID31110320 Course Name Software Development PracticeCourse Attribute █Practice □Selective □Compulsory Professional Software EngineeringCredit Hour 2Period 36 Experimental Period Semester Spring2009 Enactment Timing 2008.12 Submission Time 2009.1TextbookSoftware Development Practice (self-edited), 2008 Case Set of Software Development Practice (self-edited), 2008 C++ University Tutorial (Fifth Edition), H.M.Deitel, Publishing House of Electronics Industry, 2006Software Development Management Practice----Enterprise Case Analysis ofBeyond CMM5, Zhang Shao-zhong, Li Yuan-ming, Tsinghua University Press,2005BibliographyJournalsWebsite Science and Art of Software Development, Chen Hong-gang, Lin Bin, PublishingHouse of Electronics Industry, 2002Second. Related Course Information, Teaching Purposes, Requirements and ExaminationsTeaching purposes and requirements(It includes the teaching purposes and requirements of basic theory, Relatedtechnologies, development capability, design capability, management capabilitywhich should be achieved.)Course teaching purposes:1) As a independent, practical and comprehensive software development practicecourse, by developing actual software project, it can improves the students’professional knowledge which has been learned in the last two years (forexample Software Engineering, Advanced Programming Language, etc ) andthe capability of using software tools in order to build the foundation for thefollow-up course learning, off-campus training, undergraduate design andsuccessful employment.2) Through guiding students to determine the market-oriented and interestedsoftware project and combined with the direction of teachers in scientificresearch, it trains the students’ awareness of market, project managementcapacity and capabilities of software products, and theoretical and practical’sorganic combination3)In the end of course,we select the excellent practice results as case set, recommend to the budding college funds and undergraduate research training’s alternative projects, and subsidize student continuous R & D to further take part in a number of domestic and international software contests, and by the tempering of graduation project, gradually become one of the real software products, and improve students’ c ultivation effects and quality.Course teaching requirements:1)Students in a class is divided into multiple project teams, the number of personsin each team can’t be more than 5 persons, and one is elected as the team leader.2)Based on students’ ideas, teacher only give some guiding and discussion, atmost extent stimulus the enthusiasm and the development interest of students, and determine the content, objectives, assignment and planning of development project.3)According to the flow of software engineering and the actual engineeringstandards, reasonably organize implementation of the project. According to the four phases of requirements analysis, system design, coding and testing and documentation, and strengthen the daily project management and inspect the results of project in each week.Examinations:By testing to evaluate the practice results of each project team and each student.Teaching content 1.Introductionsoftware technology, software projects, software products, software industry, software technology patents and standards2.Utility software product development process and norms3.Real-time operating system Product case4.Software Engineering Environment Product Casermation Security Product Case6.Digital Entertainment Products Case7.E-Product Case8.E-commerce Product Case9.Embedded Software Product Caseputer Network and Communication Products Case11.IC Design Product CaseAppendix CD Supplementary software and source codeExaminations/testGradingattendance rate (40%) final examinations or test (60%) Prevocational curriculum Advanced Programming Language and Software EngineeringTools & EnvironmentPC and its corresponding software toolsSimulation issues and development projects (the curriculum-related simulation issues, development projects, necessary development tools and technical training, etc)Medium target’s researchsituation of refresher coursesbeen learned(the name of refresher courses been learned, textbook)Medium target’s researchsituation of other courses(course name, textbook, instructors)Relationship with therelevant certificationThird. Teaching ProgramTeaching content 1Introduction to Software Development Practice Hours distribution2Stage goalfamiliar with basic goal and content of the coursePracticeTeaching content 2~18Discussion and check of the project situation in each week Hours distribution34Stage goal Each team member should present their project progress by PPT in turn each week. In the end of course, each team member also should submit their own, independent final project report.Practice。

四川大学模式识别Pattern Recognition教学大纲

四川大学模式识别Pattern Recognition教学大纲

College of Software EngineeringUndergraduate Course SyllabusCourse ID 311021020 Course Name Pattern RecognitionCourseAttribute□Compulsory ■Selective Course Language□English ■Chinese Credit Hour 2 Period32Semester□First Fall □First Spring □Second Fall □Second Spring□Third Fall ■Third Spring □Fourth Fall □Fourth Spring Instructors He KunDescription This course will mainly introduce the following knowledge to the students: (1)Bayes formula Decision Theory。

(2)Probability density function estimation。

(3)linear difference function。

(4)nonlinear difference function。

(5)neighbor method.。

(6)empirical risk minimization and orderly risk minimization method。

(7)Characteristics choose and extraction。

(8)K-L expansion based Feature Extraction。

(9)unsupervised studying method。

(10)Artificial Neural Network。

(11)Fuzzy Pattern Recognition method。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
要求学生至少学习过一门高级语言,比如c++或java,曾自己编写过程序,最好有调试的经验
课程描述
(课程背景、专业地位、授课对象、主要内容、授课方式、课程目标和要求等)
课程背景
如果要完成一个软件项目,其中唯一必不可少的一环是软件构造,软件构造得到软件的源代码和可执行代码,使软件产品的设想变为现实。如果不关心软件的质量,那么软件构造与一门语言课程无异。但是为了实现高质量的软件产品,则不仅需要有编码工作,还必须遵守软件构造的各种原则,具有良好的软件设计,遵守一定的编码原则以及规范的编码过程,具有软件测试的过程等,这些都是属于软件构造的内容。
开发阶段:
项目工作应该从第7周就开始,由于这是一个实际的项目,要求必须得到可以运行的代码,因此,课堂规定的上机时间不足以完成该项目,同学很多时候需要自己在课堂外进行设计和编程,在课堂上的编程主要与老师交流,询问可能遇到的问题和疑惑。
第1次:需求理解与编写
讨论:什么样的体系结构比较适合信号采集系统,管道过滤器或其它
小测验:20%,课堂讨论:10%,项目文档:20%,项目代码审查:10%
期末成绩:40%
教学内容
(各章节主要教学内容、教学要求、教学重点、教学难点、学时分配等)
课程分为理论课和实践课,理论课10次,实践课6次,共16次。下面是理论课的内容:
第1次:软件构造概述(2学时)
讲解软件构造的基本概念,知识范围,基本内容,在软件工程中的地位以及课程安排等。
第2次:进行项目的构架设计
讨论:使用单线程还是多线程,各有什么好处?多线程中的注意事项有哪些?
第3次:编码系统-显示框架
讨论:使用数据库还是使用文件进行存贮,使用edf还是使用其他存贮规范
第4次:信号采集系统数据的存贮格式
讨论:Chart中有哪些显示的元素?如何实现多种显示模式,显示方向,显示模式等
专业地位
正规软件工程的开发过程包括需求分析、软件设计、软件构造以及软件测试及维护等,软件构造是软件工程体系中间重要的一环。它的编码方法、规范及要求是保证高质量软件的重要环节。
主要内容
软件构造这门课从多个方面讲解软件构造相关的知识体系结构,包括:软件构造的概念,范围;软件构造的前期准备工作,构造的方法,关键的构造决策,构造的管理,如何构造高质量的类和子程序,如何进行防御式的编程,代码的布局和风格,代码重构等。是从代码的角度保证构建高质量的软件产品并利于代码的维护。
项目:显示任意波形的Chart系统
项目描述
运用学到的理论知识构建一个Chart系统,可以打开任意一个二进制文件,然后以曲线形式显示在自己构建的Chart窗口中。
项目要求
质量要求:
1)编码具有良好的风格,便于阅读与理解;
2)要有完整的构建管理过程,包括设计、编码到测试;
3)要有完整的构建文档,从基本需求、构架设计到源码以及测试文档等。
第4次:关键的设计概念(2学时)
讲解设计中的挑战,关键的设计概念,管理软件的复杂度,设计的理想特征,设计层次以及信息隐藏和松散耦合等知识。
第5次:程序布局与风格(2学时)
好的程序布局与风格易于理解、维护,是编码的重要内容,本节讲解编码布局的基本原则,布局的技术与风格,包括:控制结构、单条语句、子程序、类以及注释的布局等。
第6次:管理构建(2学时)
鼓励良好的编程风格,配置管理,包括需求变更、设计变更以及代码变更的管理,评估构建进度,评估与控制等
第7次:可以工作的类(2学时)
讲解如何构建高效、清晰的类,包括良好的类接口,类的封装,类的设计和实现等知识
第8次:高质量的子程序(2学时)
讲解如何构建高质量的子程序,如何设计子程序,如何命名子程序,如何使用子程序的参数以及子程序的长度考虑等
功能要求:
1)可以显示多个通道,比如1通道用于显示原始数据,2通道用于显示对原始数据的处理(微分、积分等处理);
2)具有数据拖动查找功能,通常而言,屏幕宽度并不能够显示整个数据文件,因此通过前后拖动滚动条来定位不同时间段的数据;
3)通用用户交互可以压缩和扩展显示数据。
开发环境要求:
编程工具由同学自己选择,建议使用Visual Studio2010。
四川大学软件学院本科课程
教学大纲
课程号
311083020
课程名称
软件构造
课程属性
□专业必修专业选修
是否双语教学
□是否
学分
2
总学时
32
讲授
20
上机
12
周学时
2
开课学年
□1秋□1春□2秋□2春3秋□3春□4秋□4春
课程组教师
黄武
负责人
黄武
适用范围
(对选课学生的专业、基本知识和基本技能要求)
软件工程专业学生
第9次:防御式编程(2学时)
保护程序免遭非法输入的数据破坏,断言的使用,各种错误处理技术等。
第10次:代码重构(2学时)
讲解代码重构的原因,方法,代码调整等内容
软件工具和环境
(课程选择的软件工具或环境,包括编程语言)
Visual Studio 2010或Eclipse
课程项目
(项目描述、项目要求、项目阶段目标、开发环境要求等)
4./
5./portal/web/swebok
课程考核
考核类型
□考试考查
(课程考核内容、方式、基本原则等)
考核内容包括:软件构造的概念,范围;软件构造的前期准备工作,构造的方法,关键的构造决策,构造的管理,如何构造高质量的类和子程序,如何进行防御式的编程,代码的布局和风格等容
方式:该课程严格管理学生的平时学习,注重实践,学生的总成绩由平时测验(20%)、学生课堂讨论(10%)、项目代码审核(10%)、项目报告(20%)以及期末考试(40%)构成。
基本原则
软件构造是一门实践性很强的课程,因此要求学生积极参加,包括与老师互动来理解知识,完成一个具有实用价值的可运行的程序。
成绩评定(百分比)
第2次:软件构造的准备活动(2学时)
讲解软件构造准备活动的重要性,了解软件的类型,软件规模对软件构造的影响,然后讲解软件构建的各种先决条件,包括:问题,需求以及构架等,然后讨论准备时间的长短。
第3次:关键的构建决策(2学时)
在开始软件构建之前,首先要做一些决策,包括:选择编程环境、语言,选择编程方法等,编程方法包括顺序开发、迭代开发等,然后介绍伪代码编程技术。
2.《Extreme Programming Explained: Embrace Change》Kent Beck,2000,ISBN:078-5342616415
3.《Guide to Software Engineering Body of Knowledge 2004 Version》William E. Perry清华大学出版社,2008.1,ISBN:978-7-302-16692-4
第5次:波形显示
讨论:如何实现灵活的多通道数据显示,单通道和多通道之间的差异是什么?
第6次:数据处理
讨论:如何进行数据处理及处理数据的显示
完成时间:12月30日
版本号:1.0
编制人:黄武编制日期:2017年10月12日
审核人:审核日期:2017年10月日
主管领导审批:
审批日期:2017年10月日
《代码大全》第二版Steve.McConnell著金戈等译,电子工业出版社2006.3,2014年6月第18次印刷,ISBN: 7-121-02298-2
课程资源
(主要参考书目、文献、资料、网站等)
1.《The Practice of Programming》Brian W. Kernighan/ Rob Pike, Addison-Wesley,1999.2,ISBN:9780201615869
课程标
让学生了解正规的软件构造过程及相关知识,掌握软件构造的基本概念和规则,了解软件构造的基本内容和规范,利用软件构造的知识构建一个真正的可运行的高质量软件。
课程要求
学生应该1)按时上课;2)完成上机实习; 3)完成一个可以运行的程序
先行课程
《软件工程》、《面向对象程序设计》
选用教材
(书名、作者或译者、出版社、出版时间、版次)
相关文档
最新文档