in this unit we will continue our study of software development begun in the pre-requisite units. however
while the focus of our studies in the pre-requisites was on learning object-oriented concepts and their
expression in a modern object-oriented programming language (c#), our studies in this unit will focus on the storage and manipulation of data by applications.
this unit extends the concepts introduced during the prerequisite unit. it extends the study of object-oriented programming (c#) by introducing the major data structures used in programming --- stacks and queues, collections (sets, bags, lists, trees, hash tables and graphs), and a review of data structures and algorithms provided by system libraries (.net). other topics include developing algorithms, algorithm optimisation, and recursion, searching and sorting. upon completion of this unit, students will have an understanding of classes, libraries and algorithms and their role in software development, and be able to implement them.
一、课程基本信息
课程名称:(中文):类库与数据结构
(英文): class library and data structure
课程编号:21211476
课程性质:学科必修课(7门学科必修课之一, 9门专业核心课之一)
适用专业:软件工程专业
开课学期:3
课程学时:81
课程学分:4
先修课程:高级程序设计语言、面向对象程序设计语言
后续课程:操作系统原理,数据库原理与应用
课程简介:in this unit we will continue our study of software development begun in the pre-requisite units. however, while the focus of our studies in the pre-requisites was on learning object-oriented concepts and their expression in a modern object-oriented programming language (c#), our studies in this unit will focus on the storage and manipulation of data by applications. this unit extends the concepts introduced during the prerequisite unit. it extends the study of object-oriented programming (c#) by introducing the major data structures used in programming --- stacks and queues, collections (sets, bags, lists, trees, hash tables and graphs), and a review of data structures and algorithms provided by system libraries (.net). other topics include developing algorithms, algorithm optimization, and recursion, searching and sorting. upon completion of this unit, students will have an understanding of classes, libraries and algorithms and their role in software development, and be able to implement them.
选用教材:sit221 workbook 2013 by deakin university of australia
参考书目:
1.陈广,数据结构(c#语言描述)(第二版),北京大学出版社,北京,2014
2.michael mcmillan,data structures and algorithms using c#, cambridge university press, 2007
3.john sharp, microsoft visual c# 2010 step by step, microsoft press, 2010
二、课程教育目标(说明通过本课程学习,学生知识、能力、思想情感及素质等方面发展所要达到的预期结果)
the unit learning outcomes (ulos) listed below describe what you are expected to have achieved on completion of this unit. each ulo relates to one or more of the deakin graduate learning outcomes (glos), which describe the knowledge and capabilities you should acquire and be able to apply and demonstrate at the completion of your course (see below). not all of the glos are developed and assessed in every unit.
ulo: | at the successful completion of this unit students can: | related glo: |
ulo1 | design and construct solutions to programming problems by exploiting object-oriented development in the c# programming language | glo1 glo4 glo5 |
ulo2 | analyze the complexity of algorithms and explain how to improve the efficiency of algorithms by reducing their complexity | glo1 glo4 glo5 |
ulo3 | explain the principles of major data structures and be able to construct solutions to programming problems exploiting them. | glo1 glo4 glo5 |
ulo4 | explain the concepts of searching and sorting, and be able to construct solutions to programming problems exploiting them | glo1 glo4 glo5 |
ulo5 | interpret the information provided in library documentation and to produce library documentation for your own solutions | glo1 glo2 glo3 |
glo1 discipline-specific knowledge and capabilities: appropriate to the level of study related to a discipline or profession
glo2 communication: using oral, written and interpersonal communication to inform, motivate and effect change
glo3 digital literacy: using technologies to find, use and disseminate information
glo4 critical thinking: evaluating information using critical and analytical thinking and judgment
glo5 problem solving: creating solutions to authentic (real world and ill-defined) problems
glo6 self-management: working and learning independently, and taking responsibility for personal actions
glo7 teamwork: working and learning with others from different disciplines and backgrounds
glo8 global citizenship: engaging ethically and productively in the professional context and
with diverse communities and cultures in a global context
三、课程学时分配
章内容学时
第一章 introduction 3
第二章 linear lists 3
第三章 stacks and queue 3
第四章 trees 3
第五章 graphs 3
第六章 searching 3
第七章 sorting 3