【正文】
重點(diǎn)、難點(diǎn)】 1.重點(diǎn):無(wú)向樹(shù)與有向樹(shù). 2.難點(diǎn):平面圖有關(guān)內(nèi)容. 【教學(xué)方法】主要用講授法, 結(jié)合討論法、練習(xí)法、自主學(xué)習(xí)法等.【學(xué)時(shí)安排】8學(xué)時(shí)第八章 組合計(jì)數(shù)【教學(xué)內(nèi)容】1. n個(gè)元素的r排列、n個(gè)元素的r圓排列、n個(gè)元素的r可重排列、有重復(fù)元素的全排列、n個(gè)元素的r組合、n個(gè)元素的r可重組合.2. 組合計(jì)數(shù)生成函數(shù)和排列計(jì)數(shù)生成函數(shù).3. 遞歸關(guān)系的定義及其建立,常用的求解遞歸關(guān)系的方法:遞歸法、生成函數(shù)法、特征方程法和其他方法.【教學(xué)要求】1. 掌握各種形式的排列、組合的定義及計(jì)算公式.2. 熟練使用組合計(jì)數(shù)生成函數(shù)和排列計(jì)數(shù)生成函數(shù)進(jìn)行計(jì)數(shù).3. 掌握遞歸關(guān)系的定義及其建立及常用的求解遞歸關(guān)系的方法.【重點(diǎn)、難點(diǎn)】 1.重點(diǎn):(1) 組合計(jì)數(shù)生成函數(shù)和排列計(jì)數(shù)生成函數(shù).(2) 遞歸關(guān)系的建立及求解方法. 2.難點(diǎn):遞歸關(guān)系的建立及求解方法. 【教學(xué)方法】主要用講授法, 結(jié)合討論法、練習(xí)法、自主學(xué)習(xí)法等.【學(xué)時(shí)安排】4學(xué)時(shí)五、考核方式及成績(jī)?cè)u(píng)定:閉卷考試 + 平時(shí)成績(jī)。:卷面成績(jī)占考核成績(jī)的70%,平時(shí)成績(jī)占30%。: (1) 課堂表現(xiàn)(10分):學(xué)生主動(dòng)參與課堂練習(xí)、討論,創(chuàng)造性地提出問(wèn)題的能力.(2) 作業(yè)完成情況(15分):學(xué)生平時(shí)作業(yè)提交次數(shù)及完成質(zhì)量.(3) 課堂考勤(5分) .4. 期末考試:期末考試主要考察對(duì)基本概念、基本內(nèi)容和基本方法的理解與運(yùn)用等, 重點(diǎn)在集合、函數(shù)、運(yùn)算、關(guān)系、命題邏輯和圖論等方面內(nèi)容.六、其它說(shuō)明 本課程的網(wǎng)絡(luò)學(xué)習(xí)資源: ? (1) Kenneth H. Rosen website: ? (2) ArsDigita University: ? (3) Harver Mudd College: ? ? (4) MIT(Massachusetts Institute of Technology): ? ? (5) 古天龍離散數(shù)學(xué)資源共享課程: 執(zhí)筆人簽名:鄧輝文 專(zhuān)業(yè)(教學(xué)部)負(fù)責(zé)人簽名: 主管教學(xué)院長(zhǎng)簽名:《類(lèi)庫(kù)與數(shù)據(jù)結(jié)構(gòu)》本科課程教學(xué)大綱一、課程基本信息課程名稱(chēng):(中文):類(lèi)庫(kù)與數(shù)據(jù)結(jié)構(gòu)(英文): Class Library and Data Structure課程編號(hào):21214050課程性質(zhì):學(xué)科基礎(chǔ)課程/必修課通識(shí)教育課程(學(xué)科基礎(chǔ)課程、專(zhuān)業(yè)發(fā)展課程、綜合實(shí)踐課程等)/必修課(選修課)適用專(zhuān)業(yè):軟件工程專(zhuān)業(yè)開(kāi)課學(xué)期:3課程學(xué)時(shí):81課程學(xué)分:4先修課程:高級(jí)程序設(shè)計(jì)語(yǔ)言、面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言并修課程:、課程簡(jiǎn)介:As one of the professional subjects of the software engineering major, this course introduces the development of standard template library and algorithm design. The course is mainly divided into three sections: (1) First, the objectoriented technologies are reviewed from the knowledge of classes, inheritance, constructors, destructors, and operator overloading. Second, container classes and different storage structures of containers are highlighted. Finally, the time and space requirements for algorithms are estimated from the perspective of software engineering. And the emphasis is shifted from data structures to algorithms, meanwhile, the advantages and disadvantages of recursion and iteration are explored. (2) The design and performance analyses of several containers in standard template library, such as vectors, deques, lists, queues and stacks are presented. (3) In the aspect of algorithm application, binary trees, sorting, searching and nomography are introduced.We focus on the bination of traditional teaching methods and modern technologies in the teaching process, especially make full use of modern technologies, such as multimedia and network resources, to improve the teaching quality. We provide multimedia electronic teaching plans, supplemented by vivid case presentations and program instances. We present various applications of data structures on the big screen. At the same time, we write on the blackboard to enhance munications with students. We adopt taskdriven model for classroom teaching. We cultivate students’ ability to analyze and solve problems independently by the process of problem solving. We pay attention to students’ autonomous learning, and encourage students to project learning and collaborative learning. The modern munication tools, such as , are used to accelerate the munication with students and answer their questions after class. Also, these tools implement the network share of PPT and homework.選用教材:《Data Structures and the Standard Template Library》,William J. Collins主編/∕著,China Machine Press,2003年第1版參考書(shū)目: 1.William J. Collins,周翔(譯)《數(shù)據(jù)結(jié)構(gòu)與STL》,機(jī)械工業(yè)出版社二、課程教育目標(biāo)(說(shuō)明通過(guò)本課程學(xué)習(xí),學(xué)生知識(shí)、能力、思想情感及素質(zhì)等方面發(fā)展所要達(dá)到的預(yù)期結(jié)果)1)理論和知識(shí)方面:Through this course, students can understand the purpose and significance of standard template library. The course not only focuses on data structures and algorithms, but also provides a kind of extension projects for students. Based on these, students can design and develop their own data structure classes according to standard template library. 2)能力和技能方面:This course focuses on the usage of standard template library, and the implementation of various algorithms based on this template. Hence, this course pays more attention to the construction and usage of classes. Through this course, every student eventually may have the ability to select appropriate container classes based on actual issues, and design classes that meet problem solving.三、課程學(xué)時(shí)分配章 內(nèi) 容 學(xué) 時(shí)第一章 Classes in C++ 3第二章 Storage structures or container classes 6第三章 Introduction to software engineering 6第四章 Recursion 6第五章 Vector and deques 6第六章 Lists 3第七章 Queues and stacks 6第八章 Binary trees and binary search trees 4第十一章 Priority queues and heaps 4第十二章 Sorting 3第十三章 Searching and the Hash classes 3第十四章 Graphs, trees and networks 3四、課程教學(xué)內(nèi)容、要求、重難點(diǎn)及學(xué)時(shí)安排dChapter 1 Classes in C++【教學(xué)內(nèi)容】1. Teach the relationship between STL and data structures, locate objectives of this course.2. The basic structure of a class.3. An Employee class.4. Inheritance and the HourlyEmployee class.5. Operator overloading.【教學(xué)要求】1. Understand the fundamentals of classes, objects, and messages.2. Compare a developer’s view of a class with a user’s view of that class.3. Be able to apply the Principle of Data Abstraction, the OpenClosed Principle, and the Subclass Substitution Rule.【重點(diǎn)、難點(diǎn)】:The openclosed principle.:Subclass substitution rule in inheritance.【教學(xué)方法】講授法、討論法【學(xué)時(shí)安排】3學(xué)時(shí)Chapter 2 Storage Structures for Container Classes【教學(xué)內(nèi)容】1. Definition and assignment of points. 2. The basic concepts of arrays.3. Container classes and linked structures.4. Operator overloading.【教學(xué)要求】1. Understand pointers and dynamic variables.2. Explore the advantages and disadvantages of contiguous structures and linked structures.3. Study the fields and methods in the Linked class.4. Define and use an iterator.5. Learn where to find—and how to use—generic algorithms.【重點(diǎn)、難點(diǎn)】:The design a