Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Zhejiang Sci-Tech University 计算机科学与技术专业课程教学大纲 Teaching Syllabi of Computer Science and Technology Major 信息学院 School of Information 教 务 处 Division of Academic Affairs June, 2013 Zhejiang Sci-Tech University 计算机科学与技术专业课程教学大纲 Teaching Syllabi of Computer Science and Technology Major Chief Editor:Weiqiang Xu Editors: (names are arranged in no particular order) Yubo Jia, Xiaomin Bao, Jin Huang, Mingfeng Jiang, Ting Shu Proofreader:Jie Yang Foreword The teaching syllabus is the written document that sets the outline of the planning, managing and evaluating of a course. It is also the authoritative guidance for choosing and compiling textbooks. The Division of Academic Affairs supervises the general revision/compiling of the teaching syllabi for the purposes of implementing the principles of the “30 Opinions on Promoting Quality of Tertiary Education” (Jiaogao [2012] No.4) and of meeting the demand of social economic development, the growth and prospect of the students, globalization of higher education and the development of information technology. Therefore, the teaching syllabi can be comployed to deep on further education reform and to better achieve the objectives mentioned in the Edition 2012 of Undergraduate Programs of each major to fosters specialized professionals of all fields. This revision is major-based and this is the compilation of the course syllabi of each major in ZSTU. Each volume contains the syllabi of the courses of general studies, basic discipline-related courses, major-related courses, internship and practical training. The revision and compilation is achieved by the joint effort of deans of each school and department and the executives of teaching affairs. Participation of many teachers and support from the leaders of ZSTU guarantee its successful completion. Their effort and support is hereby acknowledged. The teaching syllabus only defines the general requirements of the course. The teacher is expected to experiment new teaching contents and approaches and to update the teaching with frontier knowledge in order to make the course a high-quality one with its own feature. Compilation of the teaching syllabi is only the first step. The further education reform is to boost innovation of the courses system for each major. Opinions and suggestions concerning this compilation will be greatly valued, since it is always necessary to promote teaching practices and to achieve higher standard of education quality. June, 2013 Content Syllabus of Basic Course for Information Technology .............................................................. 1 Syllabus of Introduction to Electronic Information as a Discipline ........................................... 4 Syllabus of C Programming ....................................................................................................... 7 Syllabus of Circuits and Electronics ........................................................................................ 12 Syllabus of Discrete Mathematics B ........................................................................................ 17 Syllabus of Special Lectures on Disciplines ............................................................................ 21 Syllabus of Digital Electronic Technology A ........................................................................... 22 Syllabus of Object-Oriented Programming A .......................................................................... 26 Syllabus of Data Structure and Algorithm ............................................................................... 29 Syllabus of Assembly Language A........................................................................................... 38 Syllabus of Computer Network ................................................................................................ 42 Syllabus of Computer Architecture Principles ......................................................................... 46 Syllabus of Database Principles and Application A ................................................................. 50 Syllabus of Operating System A .............................................................................................. 58 Syllabus of Visual Programming Technology B ...................................................................... 64 Syllabus of C# Programming ................................................................................................... 67 Syllabus of Java Programming ................................................................................................. 71 Syllabus of Database System and Its Application Design ........................................................ 75 Syllabus of Analysis and Design of Algorithms....................................................................... 78 Syllabus of Basic Course for Information Security ................................................................. 83 Syllabus of Technology of Human-Computer Interaction ....................................................... 85 Syllabus of Software Engineering A ........................................................................................ 87 Syllabus of Principles of Compilation ..................................................................................... 91 Syllabus of Introduction to Service Outsourcing ..................................................................... 95 Syllabus of Trust and Reputation for Electron Service-oriented Environments ...................... 98 Syllabus of Software Testing and Quality Management ........................................................ 101 Syllabus of Computer English................................................................................................ 104 Syllabus of Project Management............................................................................................ 107 Syllabus of Software system design and architecture ............................................................ 111 Syllabus of Principles and Design of Embedded System ...................................................... 115 Syllabus of Web programming and database applications ..................................................... 119 Syllabus of Basic Experiments on Information Technology .................................................. 123 Syllabus of Curriculum Design for Digital Electronic Technology ....................................... 126 Syllabus of Curriculum Design for Data Structure and Algorithm ........................................ 131 Syllabus of Curriculum Design for Object-Oriented Programs ............................................. 135 Syllabus of Curriculum Design for Assembly Language ....................................................... 137 Syllabus of Curriculum Design for Computer Architecture Principles .................................. 140 Syllabus of the Subject Practice ............................................................................................. 143 Syllabus of Practice of Database System ............................................................................... 146 Syllabus of Computer English Training ................................................................................. 148 Syllabus of Field practice in embedded system ..................................................................... 150 Syllabus of Web Project Practice ........................................................................................... 155 Syllabus of Basic Course for Information Technology Course Name/Title:信息技术基础 Course code:62950 Course Type:General Course,Compulsory Course Total Teaching Hours: Classroom Hours: 16 Course Credit:1 Ⅰ Course Objective As the first specialized basic course, the objective of Introduction to Information Technology is to give the students major in computer a systematic and comprehensive introduction to the basics of computer science and technology. The primary goal of this course is to provide an introduction to the fundamental concepts found throughout the field of computer system with taking a holistic view of a computer system as comprising hardware, operating software, application software and user interface elements. As an overview of the discipline, the course covers a breadth of topics including hardware issues such number systems and computer architectures; and software issues such as operating systems, programming languages, compliers, networks, and human-computer interaction. Students who complete this course can gain fundamental skills of using and maintaining computer systems in an Internet environment, and important knowledge that will help them effectively communicate with the IT personnel they will meet in the workplace, as well as understand more about security issues and the environment in which their software systems will reside. And at the same time the international, innovative and application-oriented personnel of the students, who can have international perspective, cross-cultural communication capabilities, is being cultivated. Ⅱ Course Content Unit 1: Introduction Credit hours: 2 Content: Course Overview Concept of Computer, John Von Neuman Architecture Evolution of Computer Systems Characteristics and Classification of Computer Computational Thinking Unit 2: Information Representation Credit hours: 2 Content: Concept of Positional Number System Decimal System, Binary System, Hexadecimal System, Octal System 1 4-bit Binary Coded Decimal Systems, 8-bit BCD Systems, 16-bit Unicode Conversion Of Numbers Unit 3: Computer System Credit hours: 2 Content: Components of Computer System Computer Hardware(Configuration, Development) Unit 4: Computer Software Credit hours: 2 Content: Types of Computer Software System Management Programs, System Development Programs, Standard Application Programs, Unique Application Programs Problem Solving Unit 5: Operating Systems Credit hours: 2 Content: History of Operating Systems Functions of Operating Systems(Process Management, Memory Management, File Management, Device Management, Security Management) Types of Operating Systems Popular Operating Systems Unit 6: Database Credit hours: 2 Content: Concept of Database Relational Database Database Design Unit 7: Computer Network Credit hours: 2 Content: Concept of Computer Network Network Topologies Network Protocols and Software Applications of Network Internet and World Wide Web Unit 8: Algorithms Credit hours: 2 2 Content: Concept of Algorithms Introduction to Programming Language Ⅲ Practice Plan and Requirement None Ⅳ Autonomous Learning In order to improve the students' self-learning ability, it is required that students write a course thesis on the basis of consulting information by using the Internet or any other way. The instructor will suggest several ideas for the thesis. Students are welcome to come up with their own ideas (subject to the instructor’s approval). Ⅴ Assessment 1 On the basis of the data referred to, a course thesis is required with the minimum of five references given. And the thesis should be well organized and have the view of the students themselves. 2 The grading of the course includes three parts, namely ordinary achievement, course thesis and term examination. Ⅵ Textbooks and References 1 Textbook E Balagurusamy. Fundamentals of Computers. Tsinghua University Press. June 2010 2 References 1) Ross A. Malaga. Information Systems Technology. Prentice Hall, December 2006 2) G.Michael Schneider, Judith L.Gersting.Introduction to Computer Science(Fifth Edition). Tsinghua University Press. September 2010 Written by:Jin Rong, Na Zhang Reviewed by: Lican Huang, Yubo Jia Date:2013.4.11 3 Syllabus of Introduction to Electronic Information as a Discipline Course Name/Title:电子信息类学科导论 Course code:60903 Course Type:Basic Course ,Compulsory Course Total Teaching Hours:16 hours (Classroom Hours:16 hours Laboratory Hours or Tutorial Hours:0 ) Course Credit:1 ⅠCourse Goals The goal of this course is to introduce general knowledge of computer science to general students. Topics cover the concepts of computer science, the role of algorithms , the history of computing , data manipulation, operating systems, networking and the internet, the concept of an algorithm, programming languages, software engineering, data abstraction, database systems, the scope of computer graphics, artificial intelligence, theory of computation. After completing the study of this course, students are required to have an overview of the basic concepts of computer science. ⅡCourse Contents Unit 1:Introduction Hours:2 1 the role of algorithms 2 the history of computing 3 the science of algorithms Unit 2:data manipulation Hours:2 1 computer architecture 2 machine language 3 program execution Unit 3:operating systems Hours:2 1. the history of operating systems 2 operating system architecture 3 coordinating the machine’s activities 4 Unit 4:networking and the internet Hours:2 1 network fundamentals 2 the internet 3 the world wide web Unit 5:algorithms Hours:2 1 the concept of an algorithm 2 algorithm representation 3 algorithm discovery Unit 6:programming languages Hours:2 1 historical perspective 2 traditional programming concepts 3 procedural units Unit 7:database systems Hours:2 1 database fundamentals 2 the relational model 3 maintaining database integrity Unit 8:artificial intelligence Hours:2 1 intelligence and machines 2 perception 3 reasoning ⅢCourse Hours and Teaching Methods Course Hours:: 5 Methods discussi hours Therory excises note sum on Contents Introduction 2 2 data manipulation 2 2 operating systems 2 2 networking and the internet 2 2 algorithms 2 2 programming languages 2 2 database systems 2 2 artificial intelligenc 2 2 16 16 Total ⅣLean by self 1. Students can learn through Internet. ⅥTest modes 1. The exam score is consisted of Excises (30%) and Final Exam (70%). 2. The types of final exam may include the exam types such as “writing a report”, etc. ⅦReference books Textbook: Computer Science: An Overview,(计算机科学导论 (英文版 ), BrookSheer Reference Books: : 1.董荣胜,等编著: 《计算机科学与技术方法论》 ,人民邮电出版社,2005 版出版 2.David Reed[美]著:张玉芳/ 孙思 译: 《新编计算机科学导论》,清华大学出版社,2005 年出 版。 Written by:Lican Huang, Ping Zhou Reviewed by:Wei Shen Date:2013.4.11 6 Syllabus of C Programming Course Name/Title:C Programming Course code:02908 Course Type:Basic Course , Compulsory Course Total Teaching Hours:(Classroom Hours: 32 Laboratory Hours:32 ) Course Credit:4.0 ⅠCourse Objective Academic institutions have a mission to teach technologies that are widely used in the real world so that students have the skills and knowledge that employers need. Writing computer programs to solve problems is a fundamental skill all students must master. C is the most commonly used programming language in industry. More than 90 percent of the programs running on our desktops, from operating systems and e-mail clients to Web browsers and word processors, are written in C or its relative, C++ which has extensions to C. Most games and underlying robot control software are written in C or C++. The Course focuses on systematic software design approach in C for applications in engineering and science following the latest standard developed by the ANSI and ISO C Standard Committees called C99, which resolved many deficiencies of C89 for applications in engineering and science. ⅡCourse Content Chapter 1 Getting Started Credit hours: 2 Content: The First C Program Editing and Executing C Programs in ChIDE Using Portable Commands to Handle Files in a Command Shell Executing C Programs, Statements, and Expressions in Ch Compiling, Linking, and Executing C Programs in a Command Shell Editing, Compiling, Linking, and Executing C Programs in ChIDE Chapter 2 Number Systems, Scalar Types, and Input/Output Credit hours: 3 Content: Integer Number Systems Character Set Comments Declaration *32-Bit and 64-Bit Programming Models 7 Integer Types Boolean bool Type in C99 Character char Type Real Floating-Point Types *Complex Types in C99 The Pointer Type *Typedefs *Determining the Programming Data Model of a Computer Initialization Introduction to Formatted Input and Output Chapter 3 Operators and Expressions Credit hours: 3 Content: Assignment Operator Arithmetic Operators Implicit Type Conversions Precedence and Associativity of Operators Relational Operators Logical Operators Bitwise Operators Compound Assignment Operators Increment and Decrement Operators Cast Operators for Type Conversions Sizeof Operator Conditional Operator Comma Operator Chapter 4 Statements and Control Flow Credit hours: 4 Content: Flowcharts for Algorithm Development Simple and Compound Statements Null and Expression Statements Selection Statements Repetition Statements Jump Statements Chapter 5 Functions Credit hours: 4 Content: 8 Function Definitions Function Prototypes Calling Functions: Call-by-Value versus Call-by-Reference Standard C Header Files and Libraries Mathematical Functions and Type Generic Functions in C99 Functions for Mathematical Formulas Plotting Functions for Graphical Display Recursive Functions Chapter 6 Processing Directives Credit hours: 1 Content: Macro Replacement *Source File Inclusion *Conditional Inclusion *Pragma Directive Chapter 7 Storage Classes and Program Structure Credit hours: 1 Content: Global and Local Variables Storage Classes External Variables and Functions Chapter 8 Arrays Credit hours: 4 Content: Declaration of Arrays How Arrays Are Stored in Memory Initialization of Arrays Processing Data in Arrays Passing Arrays to Functions Plotting Data in Arrays for Graphical Display Chapter 9 Pointers Credit hours: 4 Content: Pointer Variables Pointer Arithmetic Calling Functions by Reference Using Pointers Relation Between Pointers and Arrays Using Pointers to Pass One-Dimensional Arrays to Functions 9 Pointers to Pointers Arrays of Pointers Chapter 10 Characters and Strings Credit hours: 2 Content: Character Code Character Input and Output Character-Handling Functions Strings String Input and Output The Continuation Character Converting Strings to Numerical Values String Manipulation Chapter 11 Structures, Enumerations, Unions, and Bit Fields Credit hours: 2 Content: Structure Definition Declaration of Structure Type Pointer to Structures Accessing Structure Members Structure Initialization Size of Structures Assigning and Comparing Structures Arrays of Structures Passing Structures as Function Arguments Functions Returning Structures Functions Returning a Pointer to Structures Handling Members of Pointer Type Nested Structures *Enumerations Chapter 12 File Processing Credit hours: 2 Content: Opening and Closing Files Reading andWriting Sequential Files Design of a GPA Library Using Data Files and Its Applications 10 ⅢPractice Plan and Requirement Experimentation 1. Processing、Ch environment, vi Experimentation 2. Scalar types、operators and expressions(1) Experimentation 3. Scalar types、operators and expressions(2) Experimentation 4. Simple C program Experimentation 5. Logical structured programming Experimentation 6. Iteration statements Experimentation 7. arrays and sorting Experimentation 8. two dimension arrays and strings Experimentation 9. Functions Experimentation 10. Functions Experimentation 11. Preprocessing Directives Experimentation 12. Pointers(1,2,3) Experimentation 13. Pointers(4,5,6) Experimentation 14. Structure and union Experimentation 15. File operating ⅣAutonomous Learning Two-and Three-Dimensional Plotting in Ch ⅤAssessment Written and computer homework 30% Midterm examination 20% Final examination 50% ⅥTextbooks and References C for Engineers and Scientists: An Interpretive Approach By Harry H. Cheng, published by McGraw-Hill, 2009 ISBN: 978-0-07-337605-9 Programming in ANSI C Fourth Edition By E Balagurusamy Written by:Desheng Huang Reviewed by: Yu Zhang Date:2013.4.11 11 Syllabus of Circuits and Electronics Course title:电路与电子学 Course code:61997 Course type: Basic Course,Compulsory Course Total Teaching Hours:80(Classroom Hours: 64 Laboratory Hours 16) Course Credit:5 ⅠCourse Objective Circuits and Electronics serves as a first course in an undergraduate electronic engineering (EE), or electrical engineering and computer science (EECS) curriculum. The course introduces the fundamentals of the lumped circuit abstraction. Topics covered include: resistive elements and networks; independent and dependent sources; switches and MOS transistors; digital abstraction; amplifiers; energy storage elements; dynamics of first- and second-order networks; design in the time and frequency domains; and analog and digital circuits and applications. Design and lab exercises are also significant components of the course. After successfully studying this course, students will be able to: Understand the basic electrical engineering principles and abstractions on which the design of electronic systems is based. These include lumped circuit models, digital circuits, and operational amplifiers. Use these engineering abstractions to analyze and design simple electronic circuits. Formulate and solve differential equations describing the time behavior of circuits containing energy storage elements. Use intuition to describe the approximate time and frequency behavior of circuits containing energy storage elements. Understand the concepts of employing simple models to represent non-linear and active elements-such as the MOSFET-in circuits. Build circuits and take measurements of circuit variables using tools such as oscilloscopes, multimeters, and signal generators. Compare the measurements with the behavior predicted by mathematic models and explain the discrepancies. Understand the relationship between the mathematical representation of circuit behavior and corresponding real-life effects. Appreciate the practical significance of the systems developed in the course. ⅡCourse Content 16 out of 80 class hours are for lab exercises. In the rest of class hours, the following tentative topics will be covered in lecture form. 12 LEC # TOPICS Class hours 1 Introduction and lumped abstraction 2 2 Basic circuit analysis method 2 3 Superposition, Thévenin and Norton 2 4 The digital abstraction 2 5 Inside the digital gate 2 6 Nonlinear analysis 2 7 Incremental analysis 2 8 Dependent sources and amplifiers 2 9 MOSFET amplifier large signal analysis 2 10 Amplifiers – small signal model 3 11 Small signal circuits 3 12 Capacitors and first-order systems 3 13 Digital circuit speed 2 14 State and memory 2 15 Second-order systems 3 16 Sinusoidal steady state 3 17 The impedance model 3 18 Filters 3 19 The operational amplifier abstraction 3 20 Operational amplifier circuits 3 21 Op-amps positive feedback 3 22 Energy and power 3 23 Energy, CMOS 3 24 Power conversion circuits and diodes 3 25 Violating the abstraction barrier 3 ⅢPractice Plan and Requirement Students are required to complete all the following experiments. LABS # TOPICS Class hours 1 Familiar with measuring instruments 2 2 Verification of KCL & KVL 2 3 Verification of Superposition and Thévenin 2 4 MOSFET amplifier and first order circuits 2 5 Second-order networks 2 6 Impedance mesurement 2 7 Active RC filters 2 8 Miscellaneous OP-AMP circuits 2 13 ⅣAutonomous Learning This section includes the course’s reading assignment which should be completed by autonomous learning. The materials are all from the required textbook. Readings with an asterisk (*) provide key intuitive analyses. SES # TOPICS READINGS 1 Lumped abstraction relationship to physics, KVL, KCL Chapter 1 2 KVL, KCL resistive network analysis Chapter 2.1-2.5, 2.4* 3 KVL, KCL example, nodal analysis Chapter 3.1-3.3 4 Nodal analysis, examples Chapter 3.1-3.3 5 Linearity, superposition, Thevenin's equivalences Chapter 3.5-3.6 6 Thevenin and Norton equivalences Chapter 3.5-3.6 7 Digital abstraction Chapter 5.1-5.4 8 Boolean logic, comb. gates review, examples Chapter 5.1-5.4, 5.6-5.7 9 Digital logic, gates, examples Chapter 5.1-5.4, 5.6-5.7 10 MOS switch, S and SR model, MOS gate design Chapter 6.1-6.8 11 MOS switch resistor (SR) model (cont.) Chapter 6.1-6.8 12 Nonlinear resistors, networks Chapter 4.1-4.3 13 Static power in dig ckts, nonlinear resistors, examples Chapter 4.1-4.3 14 Nonlinear resistors, small signal analysis Chapter 4.5 15 Nonlinear resistors, small signal examples Chapter 4.5 16 Dependent sources, analog amplification Chapters 2.6, 7.1-7.2 17 18 Dependent sources, amplifiers, operating point analysis, biasing MOS SCS model and MOS amplifier Chapters 2.6, 7.1-7.2 Chapter 7.3-7.5 14 19 Review MOS SCS model, MOS ckts, MOS amplifier Chapter 7.3-7.5 20 MOS amplifier review Chapter 7.5 21 Amplifier large signal analysis Chapter 7.6-7.7 22 Review 3-term device representations, amplifier input-output curves Chapter 7.6-7.7 23 Amplifier small signal analysis Chapter 8.1-8.2 24 Amplifier small signal analysis examples Chapter 8.1-8.2 25 Amplifier small signal circuit models Chapter 8.2.1-8.2.4 26 27 28 Amplifier small signal circuit models and analysis examples Capacitors, first order circuits, examples Inductors and their physics, first order step response, examples Chapter 8.2.1-8.2.4 Chapters 9.1, 10.1 Chapter 10.2 29 Intuitive analysis of first order systems, examples Chapter 10.3*, 10.4 30 Ramp, step, impulse, superposition Chapters 9.4.2-9.4.3, 10.6 31 Digital memory, state Chapter 10.5.3, 10.6.3-10.6.4* 32 Impulse response examples, digital memory arrays Chapter 10.5.3, 10.6.3-10.6.4* 33 Transients in second order systems Chapter 12.1 34 35 36 37 First order examples Chapter 12.1 Second order examples Second order examples Chapter 12.2, 12.5, 12.7* Second order systems with damping Second order systems with damping, intuitive analysis Damped second order system examples Preview of frequency response 15 Chapter 12.2, 12.5, 12.7* Chapter 12.2, 12.5, 12.7* 38 Sinusoidal steady state analysis, frequency response Chapter 13.1-13.2 39 Impedance methods Chapter 13.3-13.4.2, 13.4.2* 40 Filters, Q factor, radio tuner Chapter 13.5, 14.5 41 Time and frequency domain responses, Q Chapter 13.6 42 43 44 45 46 Op-amp abstraction, concept of feedback, noninverting amplifier Op-amp abstraction, examples and review, inverting amplifier Multiple inputs and superposition, integrators, differentiators First and second order op-amp filters Chapter 15.1-15.4 Chapter 15.1-15.4 Chapter 15.5-15.6.2 Chapter 15.6.3-15.6.5 Op-amp abstraction, feedback, stability, oscillators, clocking Chapter 15.7-15.8 47 Special op-amp circuits Chapter 15.5-15.8 48 Energy and power Chapter 11.1-11.3 49 Examples, CMOS, energy and power Chapter 11.5 ⅤAssessment Activity Percentage Homework 10% Labs 20% Quiz (optional)+Exam 70% ⅥTextbooks and References The course uses the required textbook Foundations of Analog and Digital Electronic Circuits. Agarwal, Anant, and Jeffrey H. Lang. San Mateo, CA: Morgan Kaufmann Publishers, Elsevier, July 2005. ISBN: 9781558607354. A good reference book may be: Charles K. Alexander and Matthew N. O. Sadiku, Fundamentals of Electric Circuits, 4th edition, McGraw Hill, 2009 (AS). 3rd edition Written by: Qingjiang Shi, Junxiu Yang Reviewed by:Xiaomin Bao Date: April 8th 2013 16 Syllabus of Discrete Mathematics B Course name in Chinese:离散数学 B Course code:62911 Course type:basic course,subject course Total Teaching hours:forty eight hours(include forty eight hours for teaching) Course Credit:3 ⅠCourse Teaching Aims Discrete mathematics is a core curriculum of basic theory in computer science, with a study of discrete structure and relationships as the main target. The course is designed to cultivate students’ abstract thinking and strict logic reasoning ability and construct a good foundation of mathematics for computer application, information management and scientific research. Simultaneously, the course aims to help students to understand the inner relationship between abstract thinking and practice in computer science, and then gain the ability to apply these ideas to solve practical problems. (1)Knowledge Aims After completing the study of this course, students are required to have an overview of the basic concepts of Discrete Mathematics, and know what and how about Discrete Mathematics, especially in the following: 1. Making a correct judgment of many problems through learned concepts, familiar with reasoning process. 2.Knowing about theorem content and results. 3.Learning about proof technique. (2)Ability Aim The purpose of this lecture is to develop the ability of independent thinking through introductions of various methods. And after completing the study of this course, students are required to master logical thinking, reasoning and formal logical thinking mode. (3)Quality Aims The quality aims of the lecture is to master the basic theory and method of information and computation science; grasp preliminary knowledge of scientific research and solve practical problems through learned knowledge and proficient skills in computer. ⅡTeaching Contents and Learning Objectives Theory teaching contents and learning objectives The first unit of knowledge: mathematical logic Reference hours:eighteen hours Learning Objectives: 1. Learn about the concepts of propositional logic and can use them 2. Learn about the reasoning theory of propositional logic 3. Learn about the concepts of first-order logic and can use them 4. Learn about the reasoning theory of first-order logic 17 Learning Contents: Proposition, connective, propositional formula, equivalent calculation, conjunction normal form, disjunction normal form, a formula of first-order logic, interpretation, quantifier, prenex normal form Key point: 1. Proposition and propositional formula 2. equivalent calculation 3. disjunctive normal form and conjunctive normal form 4. a formula of first-order logic and prenex normal form Difficult point: disjunctive normal form and conjunctive normal form The second unit of knowledge: set theory Reference hours:fifteen hours Learning Objectives: 1. Learn about the concepts of set, representation of set and the relationship between sets 2. Learn about relevant operation of set 3. Learn about the definition of relations and representation,the basic operations of relations 4. Grasp the definition of relations and discriminant methods 5. Grasp Equivalence relations and partial order relations 6. Learn about the definition of functions, discriminant methods of function Properties and the basic operations Learning Contents: Properties of relations, Equivalence relations, Operations on relations, closure and Warshall’s Algorithm, Partially ordered sets, Extremal elements of partially ordered sets, Functions for computer science, Growth of functions, Permutation Functions Key point: 1. Equivalence relations and Operations on relations 2. closure and Warshall’s Algorithm 3. Partially ordered sets and Extremal elements of partially ordered sets 4. Permutation Functions Difficult point: Equivalence relations, closure, Partially ordered sets The third unit of knowledge: Graphs Reference hours:nine hours Learning Objectives: 1. Learn about the concepts of graphs and representation of graphs 2. Learn about Connectivity and classification of graphs 3. Knowing about several special graphs 4. Knowing about the concepts of trees and its application 18 Learning Contents: Graphs, Euler paths and circuits, Hamiltonian paths and circuits; matching problems, coloring graphs, Trees, Labeled Trees, Tree searching, Undirected Trees, Minimal spanning trees Key point: 1. Euler paths and circuits 2. Hamiltonian paths and circuits 3. matching problems 4. Tree searching 5. Undirected Trees 6. Minimal spanning trees Difficult point: Euler paths and circuits, Hamiltonian paths and circuits Ⅲcourse assignment and teaching methods Class table of theoretical teaching content teching method class hours Theoretical Exercise instruction Class seminar comment Sub-total teaching content (knowledge section) The first unit of knowledge: mathematical logic Twenty eighteen two one fifteen one one The second unit of knowledge: set theory –one hours seventeen hours The third unit of knowledge: Ten hours nine Graphs Total Forty two one three three Forty eight hours (3)Instructions 1. Teaching Methods In this course, teacher should lecture in English at around 100 percentages. It is better to use case teaching. Teacher should adopt “question –result” mode to give students strong impression. 2. Teaching Means Teacher should use multimedia classroom to teach this course. The amount of time should be left to 19 discussion for all students. The discussion class can be grouped. One group may quest; the other may answer the question. ⅣIndependent study Students can install Linux operating system and learn about shell commands ⅤCourse assessment method 1. The exam score is consisted of Experiment (20%), Excises (10%) and Final Exam (70%). 2. The types of final exam may include the exam types such as ‘selection’,’completion’,’short answer question’ and ‘integrated question’. ⅥRecommended Textbook and reference books Textbook: Kenneth H.Rosen 著,Discrete Mathematics and Its Applications,China Machine Press,Published in 2012. reference books: 1.Qu wan-ling etc: 《Discrete Mathematics》,Tsinghua University Press, Published in 2005. 2.Seymour Lipschutz , Marc Lipson: 《Discrete Mathematics》 (American Muze Inc) ,published in 2002. Written by:Qiuhong Tian Reviewed by: Desheng Huang, Qi Sun Date:2013.4.11 20 Syllabus of Special Lectures on Disciplines Course Name/Title:学科专题讲座 Course code:62999 Course Type: Specialized Course,Optional Course Total Teaching Hours: (Classroom Hours: 16 Laboratory Hours or Tutorial Hours 0) Course Credit:1 ⅠCourse Objective To enable students to understand the developmental frontier of his discipline, to broaden the horizons of the students 'academic, to enable students to extract important knowledge from the discipline academic reports, to develop students' organization abilities of scientific and technological materials and to deepen students’ thinking way for scientific issues. ⅡCourse Content Chapter 1. General Introduction Chapter 2. Internet of Things and e-commerce Chapter 3. The technologies of network and information security Chapter 4. Cloud computing, high performance computing, green computing and social computing Chapter 5. Embedded systems and pervasive computing Chapter 6. Mobile Internet and intelligent terminal Chapter 7. Data warehouse, data mining and data fusion technology Chapter 8. Cognitive science and mental calculation Chapter 9(optional). Introduction to industrial design and CAx ⅢPractice Plan and Requirement There are no specific practice plans and requirements. ⅣAutonomous Learning The report content will be issued by teacher for the next class, out of the class the students collect related materials, and after the class students are required to summit academic report for the related disciplines. ⅤAssessment According to the degree of class’s attendance, involvement and the quality of the academic report, the student will be given a mark of. A, B, C and D level. ⅥTextbooks and References There are no textbooks, and according to certain specific topic the academic paper will be provided for reference. Written by:Liu Yanfei, Wenshu Li Reviewed by: Huang Lican, Lili He Date:Apr 12, 2013 21 Syllabus of Digital Electronic Technology A Course Name/Title:数字电子技术 A Course code:61918 Course Type: Basic Course, Compulsory Course Total Teaching Hours:64 (Classroom Hours: 48, Laboratory Hours or Tutorial Hours 16) Course Credit:4 ⅠCourse Objective Digital Circuits is one of the core courses designed for sophomores in all curricular relating to electrical engineering and computer science. The overall goals are to analyze and design digital logic circuits which constitute the foundation for preparing a student to take follow-on courses, develop skills required to solve engineering problems. ⅡCourse Content (1) Basic Concepts of digital Logic (Lecture: 4 hours) Understand the difference between analog and digital quantities. Understand number systems, operations, and codes. Understand logic variables, logic constants, logic circuits, and logic functions. (2) Basic Concepts of Logic Gates (lecture: 2 hours) Understand the basic logic operations implemented by logic gates: NOT gates (inverters), AND gates, OR Gates, NAND gates, NOR gates, etc. (3) Operations and Simplification of Logic Functions (Lecture: 8 hours; Problem-solving skills: 1 hour) Understand the concepts of Boolean algebra, truth tables, minterms, and maxterms. Express logic functions in basic forms Apply commonly used formulas, i.e., the basic properties, theorems, and rules governing logic operation. Apply Boolean algebra to simplify logic expressions. Find minimal sum-of-products expressions using Karnaugh maps. (4) Combinational Logic Circuits (Lecture: 7 hours; Problem-solving skills: 2 hours) Analyze combinational logic circuits using the general approach. Design combinational logic circuits using the general approach. Understand combinational logic hazards and the elimination of glitches. 22 Understand the functions and applications of commonly used MSI circuits such as full adders, encoders, decoders, magnitude comparators, data selectors (multiplexers), and parity generators/checkers. Express combinational logic functions using Hardware Description Languages (HDLs) such as Advanced Boolean Expression Language (ABEL). (5) Programmable Logic Devices (Lecture: 2 hours) Understand the basic structure of programmable logic devices. Implement a sum-of-products expression in a PAL, PLA, or GAL. (6) IC Flip-Flops and Related Devices (Lecture: 3 hours; Problem-solving skills: 1 hour) Understand the functions and structures of various types of flip-flops. Understand the functions of Schmitt triggers, monostable multivibrators (one-shots), and astable multivibrators oscillators). Connect a 555 timer to operate as a Schmitt trigger, one-shot, or astable multivibrator. (7) Sequential Logic Circuits (Lecture: 11 hours; Problem-solving skills: 1 hour) Recognize the difference between combinational and sequential logic circuits Analyze sequential logic circuits using the general approach. Understand the functions and applications of counters Understand the functions and applications of registers Design synchronous sequential circuits using the general approach. Design simple asynchronous counters. Implement counters and shift registers using PLDs. (optional) (8) Large-Scale Integrated Circuits (Lecture: 3 hours) Understand the main operational and performance characteristics of TTL and CMOS devices. Understand the basic organization of semiconductor memory. Understand how RAMs and ROMs work. (9) Analog-to-Digital and Digital-to-Analog Converters (Lecture: 3 hours) Understand how A/D and D/A converters work. Understand quantization error. Calculate quantization error. Describe commonly used D/A converters Describe commonly used A/D converters 23 ⅢPractice Plan and Requirement Hour s Students/ each group Experimen t Attributes Compulso ry/Option al Project Item Content Environmen t Experiment 1.Digital circuit experiment base Basic requirements, Rules of Use, common fault Software Laboratory 3 1 basic Compulso ry Experiment 2 : Integrated logic gates Parameter Test, Logic function test Software Laboratory 3 1 basic Compulso ry Experiment 3 : combinatio nal logic circuit Circuit Design , Data selection and its application design, Decoder and its application design Software Laboratory 3 1 Comprehe nsive Compulso ry Experiment 4 : Sequential logic circuits Trigger function tests, The counter and its application design Software Laboratory 3 1 Comprehe nsive Compulso ry Experiment 5 : Hybrid circuits 555 timer, D / A converter and A / D converter Software Laboratory 4 1 Comprehe nsive Compulso ry Experiment 6 : Multisim Simulation applications in digital circuits Course design Software Laboratory 3 1 basic Optional Note : the total is 16 hours 24 IV Autonomous Learning (1) Course Web site: The School’s Course Management System(developing). (2) Requirements cited from University’s rules: Keep silence when the instructor is presenting his/her teaching materials. Late submission of homework assignments is not accepted. Cheating is not allowed on home works, projects, and exams. (3) Featured requirements: None. V Assessment: Assessment is conducted mainly through home work, experiment, final exams. Home work: 10% Experiment: 20% Exam: 70% VI Textbooks and References Textbook: Thomas L. Floyd, Digital Fundamentals, Science Press & Person Education, 2002. Reference: John M. Yarbrough, Digital Logic Applications and Design, China Machine Press & Thomson Learning, 2002. Written by:Xiaowei Gu Reviewed by: Xiaomin Bao, Jia Bao Date:Apr. 10, 2013 25 Syllabus of Object-Oriented Programming A Course Name/Title:面向对象程序设计 A Course code:62906 Course Type: Basic,Compulsory Course Total Teaching Hours:48 (Classroom Hours: 39 Laboratory Hours or Tutorial Hours:9) Course Credit:3 ⅠCourse Objective The goal of this course is to introduce Object Oriented Programming (OOP) to Computer Science students. Topics cover the concept of the OOP, classes, objects, libraries, input and output streams, inherit, overload and templates. In this course, the programming language is C++ . After completing the study of this course, students are required to have an overview of the OOP programming, and can use C++ to write codes based on OOP technical view. ⅡCourse Content Unit 1:Introduction Reference period:3 class hours Learning contents: 1) principles of object-oriented programming 2) beginning with c++ Unit 2:The basics Reference period:6 class hours Learning contents: 1) tokens, expressions and control structures 2) function in c++ Unit 3:classes and objects Reference period:9 class hours Learning contents: 1) classes and objects 2) constructors 3) class members 4) constructors and destructors 26 5) static class members Unit 4:Overloading Reference period:6 class hours Learning contents: 1) overloading 2) operator overloading 3) type conversions Unit 5:inheritance Reference period:6 class hours Learning contents: 1) derived classes 2) virtual base classes 3) abstract classes 4) constructors in derived classes Unit 6:polymorphism Reference period:6 class hours Learning contents: 1) pointes 2) virtual functions 3) polymorphism 4) pure virtual functions Unit 7:i/o operations Reference period:3 class hours Learning contents: 1) c++ streams 2) managing input and output 3) file stream operations Unit 8:templates & exception handling Reference period:3 class hours Learning contents: 1) templates 2) exception handling 27 ⅢCourse Hours and Teaching Methods Course Hours:: Methods hours discussio Therory excises note sum n Contents Introduction 3 The basics 6 classes and objects 6 Overloading 6 inheritance 6 polymorphism 6 i/o operations 3 templates & exception handling 3 Total 39 3 18 3 21 3 9 9 48 ⅣAutonomous Learning 1. Students can visit the following Web: http://bbs.csdn.net/ , to get various materials. ⅤAssessment 1. The exam score is consisted of Experiment (20%), Excises (10%) and Final Exam (70%). 2. The types of final exam may include the exam types such as “single choice question”、”completion”、”short answer question”、and ”programming question”. ⅥTextbooks and References 1. Textbook: E Balagurusamy, Object Oriented Programming With C++ Fourth Edition. 清华大学出版社. 2009.9. 2. References: 1)(美)李普曼(Lippman,S.B.), (美)拉乔伊(Lajoie,J.), (美)默 Moo,B.E.), C++ Primer Fifth Edition, 电 子工业出版社,2013.5。 2)(美)Bruce Eckel, Thinking in C++ Second Edition Volume One: Introduction to Standard C++,机 械工业出版社, 2002-9-19 Revised by: Shenwei, Qiaoli Zhuang Reviewed by: Desheng Huang Date:April 9, 2013 28 Syllabus of Data Structure and Algorithm Course Name/Title:数据结构与算法 Course code:62947 Course Type: Basic Course , Compulsory Course Total Teaching Hours:64(Classroom Hours: 56 Laboratory Hours or Tutorial Hours: 8) Course Credit:4 ⅠCourse Objective When developing software it is important to know how to solve problems in a computationally efficient way. Algorithms describe methods for solving problems under the constraints of the computers resources. Often the goal is to compute a solution as fast as possible, using as few resources as possible. To solve a problem efficiently it may be necessary to use data structures tailored for the particular problem(s) at hand. A data structure is a specific way of organizing data that supports efficient performance of the relevant operations on that data. For instance there are data structures for organizing large numbers of records where records already present can be quickly found and/or deleted, and new records can be inserted and found fast. Acquire an in-depth understanding of a broad set of computer science techniques to solve algorithmic problems. These techniques are fundamental building blocks that re-occur in many areas of computer science. Become familiar with the design and analysis of divide and conquer algorithms. Learn how to be precise and mathematically rigorous when designing and verifying algorithms. The goal of the course is to give the student a basic understanding of fundamental algorithms and data structures so that the student: Is able to describe the basic data structures, algorithms and programming techniques, including lists, stack, queues, search trees, hash tables, different sorting algorithms, search algorithms for graphs, and dynamic programming. Can apply the techniques from the course when solving programming/algorithm problems. These techniques include methods for sorting and searching, basic graph algorithms, recursion, dynamic programming, and time and space analysis of programs, both basic techniques and amortized analysis. Is able to select the best algorithm and/or data structure when solving a given programming problem. Is able to analyze time and space required for the execution of a program, as well as the correctness of a program. Is able to formulate a given programming task as an algorithmic problem, in order to select the best method for solving it. 29 Is able to combine and modify algorithms and data structures, in order to design an efficient program. ⅡCourse Content (1) INTRODUCTION (2Hr) We discuss the aims and goals of this text and briefly review programming concepts and discrete mathematics. We will See that how a program performs for reasonably large input is just as important as its performance on moderate amounts of input. Review good programming style. Summarize the basic mathematical background needed for the rest of the book. Briefly review recursion (2) ALGORITHM ANALYSIS (6Hr) An algorithm is a clearly specified set of simple instructions to be followed to solve a problem. Once an algorithm is given for a problem and decided (somehow) to be correct, an important step is to determine how much in the way of resources, such as time or space, the algorithm will require. An algorithm that solves a problem but requires a year is hardly of any use. Likewise, an algorithm that requires a gigabyte of main memory is not (currently) useful. In this chapter, we shall discuss How to estimate the time required for a program. How to reduce the running time of a program from days or years to fractions of a second. The results of careless use of recursion. Very efficient algorithms to raise a number to a power and to compute the greatest common divisor of two numbers. (3) LISTS, STACKS, AND QUEUES (6Hr) This chapter discusses three of the most simple and basic data structures. Virtually every significant program will use at least one of these structures explicitly, and a stack is always implicitly used in your program, whether or not you declare one. Among the highlights of this chapter, we will Introduce the concept of Abstract Data Types (ADTs). Show how to efficiently perform operations on lists. Introduce the stack ADT and its use in implementing recursion. Introduce the queue ADT and its use in operating systems and algorithm design. (4) TREES (8Hr) For large amounts of input, the linear access time of linked lists is prohibitive. In this chapter we look at a simple data structure for which the running time of most operations is O(log n) on average. We also sketch a conceptually simple modification to this data structure that guarantees the above time bound in the worst case and discuss a second modification that essentially gives an O(log n) running time per operation for a long sequence of instructions. The data structure that we are referring to is known as a binary search tree. 30 Trees in general are very useful abstractions in computer science, so we will discuss their use in other, more general applications. In this chapter, we will See how trees are used to implement the file system of several popular operating systems. See how trees can be used to evaluate arithmetic expressions. Show how to use trees to support searching operations in O(log n) average time, and how to refine these ideas to obtain O(log n) worst-case bounds. We will also see how to implement these operations when the data is stored on a disk. (5) HASHING (6Hr) The implementation of hash tables is frequently called hashing. Hashing is a technique used for performing insertions, deletions and finds in constant average time. Tree operations that require any ordering information among the elements are not supported efficiently. Thus, operations such as find_min, find_max, and the printing of the entire table in sorted order in linear time are not supported. The central data structure in this chapter is the hash table. We will See several methods of implementing the hash table. Compare these methods analytically. Show numerous applications of hashing. Compare hash tables with binary search trees. (6) PRIORITY QUEUES (HEAPS) (6Hr) The operating system scheduler must decide which of several processes to run. Generally a process is only allowed to run for a fixed period of time. One algorithm uses a queue. Jobs are initially placed at the end of the queue. The scheduler will repeatedly take the first job on the queue, run it until either it finishes or its time limit is up, and place it at the end of the queue if it does not finish. This strategy is generally not appropriate, because very short jobs will seem to take a long time because of the wait involved to run. Generally, it is important that short jobs finish as fast as possible, so these jobs should have preference over jobs that have already been running. Furthermore, some jobs that are not short are still very important and should also have preference. This particular application seems to require a special kind of queue, known as a priority queue. In this chapter, we will discuss Efficient implementation of the priority queue ADT. Uses of priority queues. Advanced implementations of priority queues. (7) SORTING (8Hr) We discuss the problem of sorting an array of elements. To simplify matters, we will assume in our examples that the array contains only integers, although, obviously, more complicated structures are possible. For most of this chapter, we will also assume that the entire sort can be done in main memory, so that the number of elements is relatively small (less than a million). Sorts that cannot be performed in main memory and must be done on disk or tape are also quite important. This type of sorting, known as external sorting, will be discussed at the end of the chapter. Our investigation of internal sorting will show that 31 There are several easy algorithms to sort in O (n2), such as insertion sort. There is an algorithm, Shellsort, that is very simple to code, runs in o(n2), and is efficient in practice. There are slightly more complicated O (n log n) sorting algorithms. Any general-purpose sorting algorithm requires (n log n) comparisons. (8) THE DISJOINT SET ADT (4Hr) It is an optional chapter. We describe an efficient data structure to solve the equivalence problem. The data structure is simple to implement. Each routine requires only a few lines of code, and a simple array can be used. The implementation is also extremely fast, requiring constant average time per operation. This data structure is also very interesting from a theoretical point of view, because its analysis is extremely difficult; the functional form of the worst case is unlike any we have yet seen. For the disjoint set ADT, we will Show how it can be implemented with minimal coding effort. Greatly increase its speed, using just two simple observations. Analyze the running time of a fast implementation. See a simple application. (9) GRAPH ALGORITHMS (8Hr) We discuss several common problems in graph theory. Not only are these algorithms useful in practice, they are interesting because in many real-life applications they are too slow unless careful attention is paid to the choice of data structures. We will Show several real-life problems, which can be converted to problems on graphs. Give algorithms to solve several common graph problems. Show how the proper choice of data structures can drastically reduce the running time of these algorithms. See an important technique, known as depth-first search, and show how it can be used to solve several seemingly nontrivial problems in linear time. (10) ALGORITHM DESIGN TECHNIQUES (4Hr) It is an optional chapter. We switch our attention from the implementation of algorithms to the design of algorithms. Most of the algorithms that we have seen so far are straightforward and simple. Chapter 9 contains some algorithms that are much more subtle, and some require an argument (in some cases lengthy) to show that they are indeed correct. In this chapter, we will focus on five of the common types of algorithms used to solve problems. For many problems, it is quite likely that at least one of these methods will work. Specifically, for each type of algorithm we will See the general approach. Look at several examples (the exercises at the end of the chapter provide many more examples). Discuss, in general terms, the time and space complexity, where appropriate. 32 Ⅲ、Practice Plan and Requirement Lab Hours 8 hours Lab Venue In the software lab of building 10# Students are required to work out their projects outside of class, and lab hours are Lab Approach mainly used for discussions on common problems met by students in finishing the projects. Additional Tutoring Practices / Labs N/A #include <time.h> clock_t start, stop; /* clock_t is a built-in type for processor time (ticks) */ double duration; /* records the run time (seconds) of a function */ int main ( ) {…… /* clock() returns the amount of processor time (ticks) that has elapsed since the program began running */ start = clock(); /* records the ticks at the beginning of the function call */ function(); /* run your function here */ stop = clock(); /* records the ticks at the end of the function call */ duration = ((double)(stop - start))/CLK_TCK; /* CLK_TCK is a built-in constant = ticks per second */ Students are required to work out 4 programming projects. …… 1; (1) Projectreturn #1 List We }can make the experiment by selecting one of two projects. 1.1 complexity analysis Given a list of ordered N integers, numbered from 0 to N−1, checking to see that N is not in this list provides a worst case for many search algorithms. Consider two algorithms: one is called “sequential search” which scans through the list from left to right; and the other is “binary search” which is given on page 30 of your textbook. Your tasks are: (1) Implement an iterative version and a recursive version of sequential search; (2) Analyze the worst case complexities of the above two versions of sequential search and that of binary search; 33 (3) Measure and compare the worst case performances of the above three functions for N = 100, 500, 1000, 2000, 4000, 6000, 8000, 10000. To measure the performance of a function, we may use C’s standard library time.h as the following: 1.2 Desk Calculator This project requires you to write a program that imitates a simple desk calculator. Your calculator must be able to accept an infix expression which b at least includes (, ), +, -, *, /, %, and ^ (exponentiation operator, a^b = a ). If the expression is legal, output its value, else output an error message. (2) Project #2 Queue The beginning of a winter break near Spring Festival is always the beginning of a peak period of transportation. If you have ever tried to get a train ticket at that time, you must have witnessed the endless queues in front of every ticket box window. If a guy has seen his friend in a queue, then it is very much likely that this lucky guy might go straight to his friend and ask for a favor. This is called "jumping the queue". It is unfair to the rest of the people in the line, but, it is life. Your task is to write a program that simulates such a queue with people jumping in every now and then, assume that, if one in the queue has several friends asking for favors, he would arrange their requests in a queue of his own. (3) Project #3 Sort This project requires you to implement an optimized version of quicksort, and compare the performances of the following combinations: (1) Cutoff values from 0 to 20; st (2) Take pivot to be the 1 element, median of three, and median of five. The tests must be done on the following three kinds of inputs: (1) sorted input; (2) reverse-ordered input; (3) random input. The size of input can be taken from 1000 to 10000. The run times must be plotted with respect to the sizes to illustrate the difference. (4) Project #4 Graph We can make the experiment by selecting one of two projects. 34 4.1 electric wiring Bill is designing electric wiring for his new house. First of all, he has fixed the positions of several electrical outlets on the walls. To neatly connect any pair of outlets, he would make sure that the wire is always imbedded in the walls or the floor, and is parallel to at least one side of the wall. Naturally he wants to minimize the total length of wire he must buy to have all the outlets connected. Figure 1 a possible setting for electric wiring in a room 4.2 James Bond 007 This time let us consider the situation in the movie "Live and Let Die" in which James Bond, the world's most famous spy, was captured by a group of drug dealers. He was sent to a small piece of land at the center of a lake filled with crocodiles. There he performed the most daring action to escape -- he jumped onto the head of the nearest crocodile! Before the animal realized what was happening, James jumped again onto the next big head. Finally he reached the bank before the last crocodile could bite him (actually the stunt man was caught by the big mouth and barely escaped with his extra thick boot). Assume that the lake is a 100×100 square one. Assume that the center of the lake is at (0, 0) and the northeast corner at (50, 50). The central island is a disk centered at (0, 0) with the diameter of 15. A number of crocodiles are in the lake at various positions. Given the coordinates of each crocodile and the distance that James could jump, you must tell him a shortest path to reach one of the banks. The length of a path is the number of jumps that James has to make. Operating System: Microsoft Windows Platforms Skill Development Programming Language and Compiler: C/VC None 35 ⅣAutonomous Learning Lectures and exercises with assignments. The assignments are a very important part of the course. Each week an assignment has to be solved. After the exercise class you have one week to solve the assignment and hand it in at the beginning of the next exercise class (or send it by mail/fax). Late hand-ins is not accepted. The assignments will be checked. A number of assignments involve programming in C. Although the programming language is not a crucial part of this course it is strongly recommended that you implement and run all programming exercises. The recommended way to do this is to use the server of the university. The details on The outlook to teaching and studying will be explained as follows: Learning by doing ; International view ; Innovating and Exploring; knowledge integration ; Human-centric values ; ⅤAssessment Students will complete written homework assignments, programming projects, a midterm and a final. Each will be assigned a point value. Homework and program averages will be computed as total points earned divided by total points possible. These grading components will be weighted as follows. Letter grades for the course will be subject to my evaluation of your overall class performance. Please keep your own record of your grades so that you will know your standing in the course and can double-check my records. All grades will be available on web of our School. The specific contents are showed as follows: Grading Class Participation 10% Weekly Written Assignments 20% Midterm Examination 0% Final Examination 40% Programming Assignments 30% Total 100% ⅥTextbooks and References 6.1 Textbook Mark Allen Weiss, Data Structures and Algorithm Analysis in C, Addison-Wesley,2010 6.2 References 维斯(美国)(冯舜玺译),数据结构与算法分析:C 语言描述(原书第 2 版). 北京:机械工业出 版社, 2004 Clifford A.Shaffer.A Practical Introduction to Data Structures and Algorithm Analysis(影印版), 第 2 版.北京:电子工业出版社,2002 36 Horowitz E,Sahni S.Fundamentals of Data Structures.Pitmen Publishing Limited,1976 Thomas H.Cormen.算法导论[英文版],第 2 版.北京:高等教育出版社,2002 Robert Sedgewick.算法 V(C 实现) :图算法(第三版·影印版) .北京:中国电力出版社,2003 Donald E. Knuth.计算机程序设计艺术:英文版,第 1 卷.北京:机械工业出版社,2008 李文书, 王松, 贾宇波, 安立新, 董建民, 王根岭、马国兵等编著. 数据结构与算法应用实践教程 [M]. 北京:北京大学出版社. 2012 李文书, 贾宇波, 桂江生等编著. 数据结构重点难点问题剖析[M]. 浙江:浙江大学出版社. 2010 Written by:Wenshu LI, Qi Sun Reviewed by: Wei Sheng Date:2013/04/07 37 Syllabus of Assembly Language A Course Name/Title:汇编语言 A Course code:62909 Course Type:Specialized Course,Compulsory Course Total Teaching Hours:48 (Classroom Hours: 39, Laboratory Hours: 9) Course Credit:3 ⅠCourse Objective This is a course in assembly language programming for IBM PCs and compatibles. This course introduces assembly language including basic instructions, number systems, information move, integer arithmetic, subroutine linkage, memory allocation, bit manipulation, floating point arithmetic, macro definition and conditional assembly, the program status word, interrupt and I/O structure. This supplements the student's knowledge of high-level programming in C and Java. After successfully completing this course, the student should be able to: explain the 80x86 architecture, including registers and segment: offset addressing; describe different ways data are represented in a computer and work with binary and hexadecimal numbers; describe the functions of an assembler; implement program designs in 80x86 assembly language, including: writing, documenting, testing and debugging a program in PC assembly language; manipulating strings; coding basic algorithms such as searching and sorting in assembly language; calling and passing parameters to subroutines; utilizing DOS functions; and interfacing with a high level language; explain how the underlying hardware affects software design and performance; appreciate the factors that contribute to program efficiency. ⅡCourse Content Knowledge Unit 1: Basic Theories Reference Teaching Hour: 3 Teaching Content: 1. Basic Concepts: Application of assembly language, basic concepts of virtual machine, machine language, boolean operations, and data representation. 2. IA-32 Processor Architecture General concepts of IA-32 processor family and its host computer system, basic microcomputer design, instruction execution cycle, IA-32 processor architecture, IA-32 memory management, components of a microcomputer, and the input-output system. Knowledge Unit 2: Programming Tools of Assembly Language Reference Teaching Hour: 15 Teaching Content: 38 1. Basic Fundamentals Introduction to assembly language, linking and debugging, and defining constants and variables. 2. Data Transfers, Addressing, and Arithmetic Simple data transfer and arithmetic instructions, data-related operators and directives, expressions, JMP and LOOP instructions, and indirect addressing. 3. Integer Arithmetic Shift and rotate instructions with useful application, multiplication and division, extended addition and subtraction, and ASCII and packed decimal arithmetic. 4. String and Arrays String primitives, manipulating arrays of characters and integers, two-dimensional arrays, sorting and searching. Knowledge Unit 3: Programming Methodology of Assembly Language Reference Teaching Hour: 15 Teaching Content: 1. Conditional Processing Boolean and comparison instructions, conditional jumps and loops, high-level logic structure, and finite state machines. 2. Procedures Linking to an external library, stack operation, defining and using procedures. 3. Structures and Macros Structures, macros, conditional assembly directives, and defining repeat blocks. Knowledge Unit 4: Advanced Programming Topics Reference Teaching Hour: 6 Teaching Content: 1. MS-DOS Programming Calling MS-DOS interrupts for console and file input-output, runtime program structure, and interrupt handling. 2. MS-Windows Programming Win32 console programming, writing a graphical windows application, and dynamic memory allocation 3. Disk Fundamentals Disk storage systems, sectors, clusters, directories, file allocation tables, and drive and directory manipulation. 4. BIOS-Level Programming Keyboard input, video text, graphics, and mouse programming. ⅢPractice Plan and Requirement 1. Theoretical Teaching Plan 39 Teaching Methods Teaching Hours Lecture Teaching Content(Knowledge Uint) Unit 1: Basic Theories Exercise Discussion Class Class Total 3 3 of 15 15 Unit 3: Programming Methodology 15 15 6 6 39 39 Unit 2: Programming Tools Assembly Language of Assembly Language Unit 4: Advanced Programming Topics Total 2. Experimental Teaching Plan Number Experiment Experiment Name Content Laboratory Hours of People Experiment of Each Property Requirement Group Experiment Verifying the 1: Debugging Functions of Programs Instructions Software 3 1 Fundamental 3 1 Programming Laboratory of School of Informatics Experiment Designing 2: Branches Programs and Conditional Jumps of and Loops of Loops Programming Software Using Laboratory School Compulsory Informatics Experiment Designing 3: Procedures Programs Programming Procedures Software Using 3 1 Programming Laboratory of School of Informatics ⅣAutonomous Learning Students are required to master the basic methods of programming during teaching hours, and corresponding 80 extracurricular hours are necessary to digest and grasp the knowledge of assembly 40 language at an inside and outside class hours ratio of 1:2. ⅤAssessment Assessment Method: Closed-book Examination Grades will be assigned based on the following weights: the final exam score as 60%, homework as 15%, experiments as 15%, and usual performance as 10%. ⅥTextbooks and References Textbooks: Assembly Language for x86 Processors, Sixth Edition (English reprint edition), by Kip R..Irvine, Pearson Education Asia Limited and Tsinghua University Press, 2011. References: IBM PC Assembly Language and Programming, Fifth Edition (English reprint edition), by Peter Abel, Pearson Education Asia Limited and Tsinghua University Press, 2006. Written by:Feng Fu, Yubo Jia Reviewed by: Wenshu Li Date:2003.4.11 41 Syllabus of Computer Network Course Name/Title:计算机网络 Course code:62917 Course Type: Specialized Course,Compulsory Course Total Teaching Hours: 48 9 (Classroom Hours: 39 Laboratory Hours or Tutorial Hours ) Course Credit:3 ⅠCourse Objective This is an undergraduate level course on computer networking. The goal is to teach the fundamental concepts and principles of networking, focusing particularly on how they apply to the Internet. We will cover the technologies supporting the Internet, from Ethernet and WiFi through the routing protocols that govern the flow of traffic, and the web technologies that are generating most of it. A major concern is understanding the protocols used on the Internet: how they work, their shortcomings, what the issues are, and what improvements are on the horizon. ⅡCourse Content The following table describes the material to be covered in the lectures. Topic Unit 1 Introduction. Overview and motivation. Resource sharing; time-division Introduction multiplexing, statistical muxing. Protocols and standards. 6 Teaching Hours Layering, OSI reference model, encapsulation. End-to-end argument. Protocol design issues. Unit 2 the theoretical basis for data communication, such as Fourier analysis, the Physical Layer maximum data rate of a channel, guided transmission media, wireless 6 Teaching Hours transmission. Digital modulation and multiplexing. Unit 3 Data Link layer design issues. Links Layer Error detection and correction, CRC, Internet Checksum 6 Teaching Hours MAC protocols, CSMA/CD, Ethernet, Addressing Bridges, Spanning Tree, Flooding/Multicasting Unit 4 The channel allocation problem. The Media Access Multiple access protocols Control Sublayer Ethernet 42 3 Teaching Hours Unit 5 ARP, IP. The best effort service model. IP header structure. TheNetwork Layer IP delivery review, options and encapsulation. ICMP. 6 Teaching Hours Routing protocols: distance vector vs link-state routing The Network layer in the Internet. Unit 6 Transport Transport introduction. Port numbers, service models, UDP. Intro to and reliability Reliable Delivery Intro to TCP. Flow control vs. congestion control. Congestion collapse. 6 Teaching Hours Window-based and rate-based congestion control. Congestion control model, packet scheduling and buffer management, Unit 7 DNS, the domain name system, Congestion and TCP Electronic mail 6 Teaching Hours The world wide web Streaming audio and video ⅢPractice Plan and Requirement Experiment 1: LAN set up and be familiar with common TCP/IP commands Reference period:3 class hours Learning targets: 1) Understand the common TCP/IP commands, their meaning and functions. 2) Learn the skills to make network cable. 3) Learn to construct a LAN. Learning contents: 1) Learn to make and test two different standard network twisted cable using proper tools and materials. 2) Using the result cables, try to set up and configure a small Local Area Network through a hub or switch. 3) be familiar with common TCP/IP commands. Experiment 2:Observation network using packet catching software Reference period:3 class hours Learning targets: 1) Learn to capture and interactively browse the traffic running on a computer network. 2) Understand the packet format and their analysis method. Learning contents: Learn to install and use packet analysis software to interception of Ethernet packets, and observer 43 Ethernet packet frame structure and data reported in the head. Try to capture the ARP,ICMP protocol packets in LAN environment and analyze the captured series of packets. Experiment 3: program using TCP sockets: date and time server Reference period:3 class hours Learning targets: TO implement date and time display from local host to server using TCP Algorithm: client 1.start the program 2. To create a socket in client to server. 3. the client connection accept to the server and replay to read the system date and time. 5. Stop the program. Algorithm: server 1.start the program 2. To create a socket in server to client. 3. To display the current date and time to client 5. Stop the program. ⅣAutonomous Learning 1. Students can visit the following Web: http://www.pearsonhighered.com/tanenbaum/,download various materials. 2. Students can install Packet Capture Software such like WireShark to learn to capture and interactively browse the traffic running on a computer network and practice them in their own PCs. ⅤAssessment The final grade for the course will be based on the following weights: •20% Homework and performance in the class •20% Experiments •60% Final Exam Final Exam will cover material from lecture, sections and the readings. The purpose of these different instruments is to have a positive learning experience, critical thinking about computer networking issues, and some sound grasp of fundamentals. ⅥTextbooks and References Text Andrew S.Tanenbaum. Computer Networks (Fifth Edition), China Machine Press.2012 References 44 J. F. Kurose, K. W. Ross, Computer Networking, A Top-Down Approach Featuring the Internet, Addison-Wesley. Dimitri Bertsekas and Robert Gallager, Data Networks, 2nd edition or later W. Stallings, Data and Computer Communications, Prentice Hall, Sixth Edition, 2000, or later. Resources: 1.http://www.net130.com/ 2.http://www.edu.cn 3. http://www.ipv6.net.edu.cn/ 4. http://www.nic.edu.cn/ 5. http://www.ietf.org/rfc.html/ Written by:XiaJinsong Reviewed by: HuangLiCan, Zhiyu Zhou Date:2013.04.11 45 Syllabus of Computer Architecture Principles Course Name/Title:计算机组成原理 Course code:62921 Course Type:Basic Course,Compulsory Course Total Teaching Hours: 64 hours Hours (Classroom Hours: 56 hours Laboratory Hours or Tutorial 8 hours ) Course Credit:4 ⅠCourse Objective This course is designed to introduce computer science students to the basics of computer organization and architecture. Topics include an overview of computer evolution and performance, bus, memory, I/O, computer arithmetic, instruction set, RISC and parallel processing, microprogrammed control unit. This course is a major core course for computer science students. The successful student will exhibit competence in a wide variety of topics pertaining to computer organization and architecture, including: Understanding all basic performance characteristics of computer systems (including processor, memory, interconnection parts etc.) Recognize the relationship between various components and their interconnection Understand the organization and structure of modern-day computers Become more aware of the recent developments in computer technology ⅡCourse Content 1. Introduction (4 teaching hours) 1.1 Organization and Architecture 1.2 Structure and Function 1.3 A Brief History of Computers 1.4 Designing for Performance 1.5 The Evolution of the Intel x86 Architecture 1.6 Performance Assessment 2. A Top-LevelView of Computer Function and Interconnection (4 teaching hours) 2.1 Computer Coruponents 2.2 Computer Function 2.3 Interconnection Structures 2.4 Bus Interconnection 2.5 PCI 46 3. Computer Arithmetic (10 teaching hours) 3.1 The Arithmetic and Logic Unit (ALU) 3.2 Integer Representation 3.3 Integer Arithmetic 3.4 Floating-Point Representation 3.5 Floating-Point Arithmetic 4. Cache Memory and Internal Memory Technology (12 teaching hours) 4.1 Computer Memory System Overview 4.2 Cache Memory Principles 4.3 Elements of Cache Design 4.4 Pentium 4 Cache Organization 4.5 Semiconductor Main Memory 4.6 Error Correction 4.7 Advanced DRAM Organization 4.8 Memory Management 5. Instruction Sets (6 teaching hours) 5.1 Machine Instruction Characteristics 5.2 Types of Operands 5.3 Addressing 5.4 Instruction Formats 5.5 Assembly Language 5.5 Reduced Instruction Set Architecture 6. Processor Structure and Function (8 teaching hours) 6.1 Micro-operations 6.2 Register Organization 6.3 The Instruction Cycle 6.4 Instruction Pipelining 6.5 The x86 Processor Family 7. Control Unit Operation (12 teaching hours) 7.1 Processor Organization 7.2 Control of the Processor 7.3 Hardwired Implementation 7.4 Microprogrammed Control 7.5 Microinstruction Sequencing 47 7.6 Microinstruction Execution ⅢPractice Plan and Requirement Experiment project name Content Needed facilities or experimental environment Laboratory Hours Number of Team members Experiment nature (basic/ comprehensive/ design/ research innovation) Experiment 1:ALU Familiar with the TEC-2 experimental device,the function and the specific usage of AM2901 calculator, the series and parallel methods using 4 AM2901 and 1 AM2902 Hardware laboratory, TEC-2 experiment box 4 1 basic Experiment 2 : Main Memory Main memory capacity expansion, the composition and control of main memory Hardware laboratory, TEC-2 experiment box 2 1 comprehensive Experiment 3 : Control Unit Operation MCU principle and implementation, microprogram design technology and dynamic microprogramming, the relationship between instruction and microinstruction, the role of control store Hardware laboratory, TEC-2 experiment box 2 Requirement (compulsory /optional) compulsory 1 design ⅣAutonomous Learning 1. According to the textbook recommendation, students can access the related materials from website, read these materials by self-studying to consolidate knowledge learned in class. 2. Students can independently learn interactive simulations software, complete the relevant operation and analyze the results. ⅤAssessment The end of term exam counts for 70% of the course grade, while the experiment, assignments counts and the rates of attendance for 30% of the course grade. 48 ⅥTextbooks and References Textbook: William Stallings, Computer Organization and Architecture Designing for Performance (Eighth Edition), Pearson Education, 2010 References: 1. Carl Hamacher, Computer Organization(Fifth Edition), McGraw-Hill, 2002 2. Arnold S.Berger, Hardware and Computer Organization, Elsevier, 2005 Written by:Junsong Li, Jianlong Xu Reviewed by: Desheng Huang Date:2013/4/11 49 Syllabus of Database Principles and Application A Course Name/Title:数据库原理与应用 A Course code:62940 Course Type:Basic,Compulsory Course Total Teaching Hours:48 (Classroom Hours: 39 Laboratory Hours or Tutorial Hours:9) Course Credit:3 ⅠCourse Objective The goal of this course is to introduce relational database systems to Computer Science students. Topics that will be covered include: the relational Model, Relational Operations, relational query languages; SQL language; Object-Relational SQL; Embedded SQL; Database design; Integrity, Views, Security, and Indexing. After completing the study of this course, students are required to have an overview of the basic concepts of database theory including the major features of databases and database management systems, data models, different categories of database languages, the different categories of people who interact with databases, three level architecture, data independence, the basic structure of the relational model, integrity constraints in relational model, master the use of the basic relational algebra operations, use SQL skillfully, learn how to use E-R diagram to represent conceptual data model and translate the E-R model to logical model, learn how to normalize the form to improve the quality of the database, learn how to maintain and protect the database and so on. 1) Knowledge objects Through this course study, students are supposed to understand the concepts of Database systems, the relational database models, SQL language, E-R design, security, integrity, and so on. After the course study, the students must grasp the fundamental knowledge about database in order to study database programming in further course. 2) Ability objects After this course study, the students supposed have the abilities to use language of SQL to retrieve the information from Databases. They can write the correct SQL statements for practical cases. They can use E-R methods to design tables. They can insert, update and delete databases. They can create tables with integrities. They can know how to create and use views. 3) Overall quality objects After this course study, the students should feel good taste for English version of text books. They 50 should have an insight of thinking information as organized tables in RDBMS. ⅡCourse Content Unit 1:Introduction Reference period:2 class hours Learning target: 1) Learn about the concepts of database system. 2) Learn about the history of database systems. 3) Having an impression on relational database example. 4) Know about the overview of the contents of the chapters. Learning contents: 3) Fundamental Database Concepts Key points: what are database management systems (DBMS)? History of database systems 4) Database Users Key points: concepts of End users (casual users, naïve users); application programmers; Database Administrators 5) Overview of Relational and Object Relational DBMS Key points: brief about the relational model, basic SQL query language, the object-relational model, programs to access a database, database design, integrity, view and security Difficult points: 1) History of database systems 2) Definitions of database management systems Open questions: 1) Explain history of database systems. 2) Illustrate the simple example of relational databases. 3) Who are most likely naïve users of database systems? Who are .most likely casual users of database systems? Unit 2:Relational Model Reference period:7 class hours Learning targets: 1) Understand relational models of database. 2) Learn about table consisting column names which have types and domains, keys, super keys, candidate keys, null values. 3) Learn about relational algebra on relational database. Learning contents: 3) CAP Database 51 Key points: The meaning and contents of the illustrated CAP systems. CAP’s tables and their definitions 4) Naming the parts of a Database Key points: Domains and Data types, Tables and Relations 5) Relational Rules Key points: First normal form rule, access rows by content only rule, the unique row rule, Entity Integrity rule 6) Keys, super keys, and null values Key points: definition of Table Key, Super key, Primary Key; Theorem—every table has at least one key; meaning of null values 7) Relational Algebra Key points: Union, Intersection, Difference and Product operations; Project, Select, Join, Division operations; the interdependence of Operations; Outer join, Theta Join Difficult points: 1) Concepts of key, relational rules 2) Relational algebra Main points:Relational algebra Open questions: 1) Why the relational model introduces Union, Intersection, Difference, Product, Project, Select, Join, Division operations? 2) Discuss the Join and Division operations can be substituted by the combinations of other operations. Unit 3:Basic SQL Query Language Reference period:12 class hours Learning targets: 1) Learn about basic form of the database language as SQL, and its history. 2) Lean about SQL statement syntax. 3) Understand how to use SQL statements to query information from relational databases. Learning contents: 6) SQL history Key points: SQL capabilities, SQL history and dialects. 7) Select statement Key points: standard typographical conventions for SQL statement syntax; simple select statement 8) Sub queries Key points: The IN predicate, The Quantified Comparison Predicate, The EXISTS Predicate 9) Advanced SQL Syntax Key points: INTERSECT, UNION, EXCEPT operators; JOIN forms 10) Set Functions in SQL 52 Key points: set functions such as COUNT, SUM, AVG, MAX, and MIN 11) Groups of Rows in SQL Key points: Group by, having search_condition 12) Create , Insert, Update, and Delete Statements Key points: Create table, insert rows, update rows and delete rows statements Main points:select statement, sub queries Difficult points:group by, having search_condition, sub queries Open questions: 1) Create Student table, insert data into, update data on and delete rows from student table 2) Create various queries in SQL to answer the requests in Student table Unit 4:Object-Relational SQL Reference period:3 class hours Learning targets: 1) Learn about the object-relational model for database management systems (ORDBMS). 2) Understand the difference between ORDBMS and RDBMS. 3) Learn about Procedure SQL. Learning contents: 4) ORSQL Capabilities and Object-Relational History Key points: Collection types, methods and UDFs. 5) Objects and Tables Key points: Object types in ORACLE, Definitions of the REF object reference, INFORMIX Row types for Objects, Type inheritance. 6) Collection Types Key points: Collection Types in ORACLE, SQL Syntax for Collections in ORACLE, Collection Types in INFORMAX. 7) Procedural SQL, User-Defined Functions (UDFs), and Methods Key points: PL/SQL, Using PL/SQL to implement Methods in ORACLE, INFORMAX User-Defined Functions, SPL, Using SPL to implement UDFs in INFORMAX. Main points:ORACLE Object, PL/SQL Difficult points:PL/SQL Open questions: 1) Why ORACLE use object-relational model other than just object model? 2) What are advantages for ORACLE methods? Unit 5:Programs to Access a Database Reference period:3 class hours Learning targets: 1) Learn about Embedded SQL in C. 53 2) Understand Programming for transactions. 3) Learn about dynamic SQL. Learning contents: 5) Embedded SQL in C Key points: declare section for host variables, SQL Connect and Disconnect, Cursor, scope and flow of control 6) 2. Programming for Transactions Key points: The concept of a Transaction, Transaction example. 7) 3. Dynamic SQL Key points: Prepare, Execute, and Using for SQL statements, Scrollable Cursors. Main points:Embedded SQL in C, Dynamic SQL Difficult points:Cursor Open questions: 1) Analysis the example codes in the text book. Unit 6:Database Design Reference period:6 class hours Learning targets: 1) Learn about E-R model. 2) Ability to know how to design database. Learning contents: 5) E-R Concepts Key points: Entities, Attributes, and E-R Diagrams; Relationships among Entities 6) 2. Details of E-R Modeling Key points: 1-1, N-1, N-N Relationship; Transformation rules. 7) 3. Case study. Key points: Cardinality of attributes, Weak Entity; Case study of simple airline reservation database. Main points:E-R model Difficult points:cardinality of relationship, transformation rules Open questions: 1) Discuss a case ---student information management database; Using E-R model to design tables in student database. Unit 7:Integrity, View and Security Reference period:3 class hours Learning targets: 1) Learn about integrity constraints. 2) Understand View and its usage. 3) Know security of database management. 54 Learning contents: 4) Integrity Constraints Key points: Integrity constraints in Create table statement; primary keys, foreign keys and referential integrity. 5) 2. Views Key points: create and drop views; the value of view; the usage of views. 6) 3. Security Key points: grant statement in SQL. Main points:create views, integrity constraints. Difficult points:Integrity constraints Open questions: 1) What is purpose to create view from tables? 2) How to limit data scope? Explain data types, domains, and integrity constraints. Unit 8:Indexing Reference period:3 class hours Learning targets: 1)Learn about indexing to enhance the performance. Learning contents: 3) Concept of Indexing Key points: database index. Create index statements 4) Disk storage of database Key points: ORACLE create table space statement syntax; slow disk access. 5) The B-Tree Index Key points: B-Tree structures. 6) Clustered and non-clustered Indexes Key points: definitions of clustered and non-clustered indexes, and their difference. Main points:Create index statement, B-Tree index Difficult points:B-Tree structure Open questions: 1) How to enhance the performance by creating an index on the table? ⅢPractice Plan and Requirement Unit 1:DBMS manipulation, creating database and tables Reference period:3 class hours Learning targets: 55 1) Understand the E-R model in describing the object. 2) Learn the skills to create database and tables in SQL language. 3) Learn about the database directory structure. Learning contents: 1) Design an E-R model for the case of “student information management system”. 2) Setup database with create, insert, update operation based on the given case of “student information management system”. Unit 2:query operation of DBMS Reference period:3 class hours Learning targets: 1) Practice the query operation with SQL language. 2) Understand the meaning of query with SQL language. Learning contents: 1) Query information with SQL language in the given table of “student”. Unit 3:DBMS View, integrity and database design, hours Reference period:3 class hours Learning targets: 1) Learn about integrity constraints. 2) Understand View and its usage. 3) Know security of database management. Learning contents: 1) Create view, and add integrity constraints, and design a simple database. ⅣAutonomous Learning 1. Students can visit the following Web: http://www.cs.umb.edu/~poneil/dbppp/,download various materials. 2. Students can install SQL server or Mysql RDBMS in their own PC. They can learn examples in text book by practicing them in their Pcs. ⅤAssessment 1. The exam score is consisted of Experiment (20%), Excises (10%) and Final Exam (70%). 2. The types of final exam may include the exam types such as “multiple choice question”、”completion”、”short answer question”、and ”comprehensive question”. 56 ⅥTextbooks and References 1. Textbook: Patrick O’Neil and Elizabeth O’Neil, Principles, Programming, and Performance. Higher Education Press and Morgan Kaufmann Publishers. 2001. 2. References: 1)王珊、萨师煊,数据库系统概论(第四版)。高等教育出版社,2007 年。 2)A First Course in Database. Jeffrey D.Ullman, Jennifer Widom, China Machine Press. 2008. 3)Silberschatz, Korth and Sudarshan. Database System Concepts. China Machine Press and McGraw-Hill. 1999. Revised by: Li liu, Jianping Liu Reviewed by: Wei Sheng, Lican Huang Date:April 9, 2013 57 Syllabus of Operating System A Course Name/Title: :操作系统 A Course code:62903 Course Type:Specialized Course, Compulsory Course Total Teaching Hours: 48 ( Classroom Hours: 39 Laboratory Hours 9) Course Credit:3 I Course Objective The goal of this course is to introduce general knowledge of operating systems to Computer Science students. Topics cover the concepts of operating systems, Operating System Structure, Process, CPU Scheduling, Process Synchronization, Deadlocks, Memory Management, Virtual Memory, and File System This course will teach students basic knowledge of operating system, basic theory and basic methods, and enhance students’ practice skills. After completing the study of this course, students are required to have an overview of the basic concepts of operating system, and know what and how about operating system, especially in the following: 1. Understanding operating system history, its roles and features in the computer systems; familiar with resource management and scheduling. 2.Knowing about memory management, especially paging and segmentation. 3.Learning about Unix、Windows NT, Linux operating systems, and their architectures. II Course Content Unit 1:Introduction Hours:3 Object: 1. Learn about the concepts of operating system. 2. Learn about the history of operating systems. 3. Know about the overview of types of operating systems. Contents: 1. Concepts of operating system Key points: definitions of operating system, purpose of operating systems. 2. History of operating system Key points: Batch systems, Multiprogrammed Systems, Time-Sharing Systems 3. Overview of types of operating systems 58 Key points: Mainframe Systems, Desktop Systems, Multiprocessor Systems, Distributed Systems, Clustered Systems, Real-Time Systems, Handheld Systems. Points: 1. History of operating systems. 2. Definitions of operating systems. Discussion: 1. Why most of the operating systems are multi-programmed and time-sharing systems? Unit 2:Operating System Structure Hours:3 Object: 1. Understand operating system’s services, components and its structure. Contents: Key points: System Components,Operating System Services,System Calls,System Programs, System Structure ,Virtual Machines,System Design and Implementation,System Generation. Hard Points: 1. System Components. 2.System Calls Points: System structure Discussion: 1. What’s advantage of virtual machines? 2. Indicate which part of windows operating is corresponding to the components of operating system. Unit 3:Process Hours:3 Object: 4) Learn about process state and interprocess communications. Contents: 1. Process State Key points: process concept, Process State, Process Control Block 2. Process schedule Key points: process scheduling, process scheduler, context switch. 3. Process operations Key points: process creations, process termination. 4. Interprocess communications 59 Key points: direct message communication, indirect message message, Remote Procure call. Hard Points:Process state Points:Process state, Interprocess communications. Discussion: 1. Analysis diagram of process state. 2. Explain Context switch step by step, and why those steps? Unit 4:CPU Scheduling Hours:6 Object: 1. Learn about scheduling algorithms and comparing them by scheduling criteria. Contents: 1. Scheduling Criteria Key points: Basic Concepts, CPU Scheduler, Dispatcher, Max CPU utilization, Max Throughput, Min Turnaround time, Min Waiting time, Min Response time. 2. Scheduling Algorithms Key points: First-Come, First-Served (FCFS) Scheduling, Shortest-Job-First (SJR) Scheduling, Priority Scheduling, Round Robin (RR), Multilevel Queue Scheduling, Multilevel Feedback Queues. Points:Scheduling Algorithms Discussion: 1. What is the difference between Preemptive and Non-Preemptive scheduling? Unit 5:Process Synchronization Hours:6 Object: 1. Learn about background of synchronization, methods for solution to critical section problem. Contents: 1. The concept of synchronization Key points: background of synchronization, bounded buffer produce- consume problem, Critical-Section Problem. 2. Solution to Critical-Section Problem Key points: Dekker’s algorithm, Bakery Algorithm, Synchronization Hardware, Semaphores Points:Critical-Section Problem, Semaphores. Hard Points:Dekker’s algorithm, Bakery Algorithm. Discussion: 1. Which conditions does a good solution to Critical-Section Problem require? Unit 6:Deadlocks Hours:6 Object: 60 1. Learn about the cause of deadlock and solution to deadlock. Contents: 1. Deadlock concepts Key points: Deadlock problems. 2. Deadlock Characterization Key points: four conditions about deadlock. 3. Deadlock Prevention Key points: breaking any of four conditions for deadlock. 4. Deadlock Avoidance Key points: Safe State,Resource-Allocation Graph,Banker’s Algorithm. 5. Deadlock Detection Key points: Detection-Algorithm,Recovery from Deadlock Points:Deadlock Characterization,Deadlock Avoidance. Hard Points:Banker’s Algorithm. Discussion: 1. What are the differences between deadlock prevention, deadlock avoidance and deadlock detection? Unit 7:Memory Management Hours:6 Object: 1. Learn about memory management with paging and segmentation Contents: 1. Early memory management Key points: Swapping, Contiguous Allocation. 2. Paging Key points: logical page, frame, page table, hierarchical page tables. 3. Segmentation Key points: segmentation table, segmentation architecture, segmentation hardware, Segmentation with Paging Points:Paging, Segmentation Discussiob: 1. What is the difference between logical address and physical address? Unit 8:Virtual Memory Hours:3 Object: 2)Learn about how virtual memory works. Contents: 61 1. Demand Paging Key points: concepts of virtual memory, page faults. 2. Page Replacement Key points: page replacement steps, page replacement algorithms. Points:page replacement algorithms. Discussion: 2) Why Thrashing will happen sometimes? Unit 9:File System Hours:4 Object: 1. Learn about file system principles and implementation. Contents: 1. File-System Interface Key points: File Concept, Access Methods, Directory Structure, File System Mounting, File Sharing, Protection. 2. File System Implementation Key points: File System Structure, File System Implementation, Directory Implementation, Allocation Methods, Free-Space Management. Points:Directory Structure, Directory Implementation, Allocation Methods. Hard points:File System Implementation Discussion: 1. Explain the advantages and disadvantages of Contiguous allocation, Linked allocation, indexed allocation. III Teaching methods and Practice Plan 1. Teaching methods In this course, teacher should lecture in English at around 70 percentages. It is better to use case teaching. Teacher should adopt “question –result” mode to give students strong impression. 2. Teaching Ways Teacher should use multimedia classroom to teach this course. The amount of time should be left to discussion for all students. The discussion class can be grouped. One group may quest; the other may answer the question. 3. Experiments This course should include Lab practice. Experiment 1:process management Linux shell commands, gcc. , fork(), process synchronizations. Experiment 2 process communications 62 Pipe, process communications by memory sharing. Process communications by message. Signals. Experiment 3 memory management Design a program to test number of page faults in various page replacement algorithms. IV Autonomous Learning 1. Students can install Linux operating system and learn about shell commands. V Assessment 1. The exam score is consisted of Experiment (20%), Excises (10%) and Final Exam (70%). 2. The types of final exam may include the exam types such as “choices”,” fill blankets ”,”simple answer” and ”complicated test”. VI references and textbook Textbook: Abraham Silberschatz, Peter Baer Galvin, Greg Gagne : 《Operating System Concepts》 ,Higher Education Press John Wiley & Sons, Inc Reference Books: 1.Abraham Silberschatz, Peter Baer Galvin, Greg Gagne ,郑扣根 译: 《操作系统概念》(Sixth Edition) 2.汤子瀛、哲风屏、汤小丹编著: 《计算机操作系统》(第二版) ,西安电子科技大学出版社, 2001 年出版。 Web Resource: 1.http://www.linux.org/ Written by:Lican Huang Reviewed by: Wenshu Li, Yubo Jia Date:2013.4.11 63 Syllabus of Visual Programming Technology B Course Title:可视化编程技术 B Course code:62923 Course Type:Basic Course, Optional Course Total Teaching Hours:Classroom Hours:24 Laboratory Hours: 8 Course Credit:2 ⅠCourse Objective Aims: To make the students to understand the windows programming concepts including Microsoft Foundation Classes. To introduce the concepts of windows programming To introduce GUI programming using Microsoft Foundation Classes To enable the students to develop programs and simple applications using Visual C++ At course completion, students should have: Experienced a fundamental level of success in using structured programming techniques. Developed a familiarity with the Microsoft® Visual C++® programming environment. Gained ability to intelligently discuss and develop using algorithms, data types, control structures, functions, arrays, and strings. Implemented numerous well-designed and efficient basic problem solutions in C++. ⅡCourse Content Unit 1: Windows Program Credit hours: 3 Content: Course Overview Fundamentals of Windows Programming Concept of Windows, Event, Handle, Windows Message Unit 2: GDI & Windows Programming Credit hours: 3 Content: Concept of GDI & Device Context Drawing Tools GDI Drawing functions Unit 3: Text Output & Setting Credit hours: 2 Content: Settings of device environment for the text Functions of CreateFont & SetText 64 Method and Procedure of Windows Text Output Unit 4: Windows Program’s Response to Mouse and keyboard Credit hours: 3 Content: Keyboard Message Handling Mouse Message Handling Unit 5: Application of Resource in Windows Programming Credit hours: 3 Content: Concept of Resource Creations of Accelerator, Bitmaps, Dialog Boxes, Icons resources Unit 6: Introduction to MFC Credit hours: 2 Content: Microsoft Foundation Class Library MFC AppWizard Unit 7: Application of Ordinary Controls in Visual Programming Credit hours: 6 Content: Types of Controls Button Control, ScrollBar Control, Static Control, ListBox Control, Edit Control, Combo Box Control Unit 8: Resource Creation of Application in MFC Credit hours: 2 Content: Menu Class ToolBar Class ⅢPractice Plan and Requirement No. Project Title 1 Credit Hours Creating the window, message loop and Nature of Subject 2 Compulsory 2 Compulsory 4 Compulsory window function by using the API functions 2 Programming with API functions that include various resources 3 Programming with MFC library Total 8 ⅣAutonomous Learning In addition to the basic experiments completed in class, extra-curricular practice is required. In order to consolidate knowledge acquired from the course, students can use the exercises in the course web site for 65 independent learning. It is convenient for the students to visit the website for course materials, homework assignments and announcements. ⅤAssessment The grading of the course includes three parts, namely ordinary achievement (including class participation, homework assignments) and final exam (The final exam is mandatory to receive a passing grade and will not be subject to discarding.). ⅥTextbooks and References Textbooks Jeff Prosise. Programming Windows with MFC(Second Edition). Peking University Press. December 2000 References: Ivor Horton. Ivor Horton’s Beginning Visual C++ 2010. Wiley Publishing, Inc. 2010 Written by:Jin Rong, Junfu Ma Reviewed by: Lican Huang, Minli Wang Date:March 2013 66 Syllabus of C# Programming Course Name/Title:C#程序设计 Course code:62980 Course Type:Basic Course ,Optional Course Total Teaching Hours:48 (Classroom Hours : 32, Laboratory Hours : 16 ) Course Credit:3 ⅠCourse Objective C# is one of the world’s fastest-growing object-oriented programming languages. The course will introduce students to the fundamentals of object oriented programming and the implementation of object oriented programs using C# programming language and the .NET Framework. Emphasis will be placed on understanding not only the syntactical features of the language, but how to effectively use the design of the language to develop robust software. The three-tier structure also will be introduced which is used extensively in software development. In this course, students will create C# programs based on the Microsoft .NET Framework, including console applications, class libraries, Windows form-based applications and Web form-based applications, using correct syntax and modern object-oriented programming techniques. Upon the completion of this course students will be able to: Understand the Microsoft .NET platform Master basic syntax, data structures and control statements Firm establish object-oriented programming concepts and apply them in C# programs, including inheritance, encapsulation, polymorphism and generics Create C# Windows Forms applications, and know how to apply design patterns in C# program Create C# Web Forms applications, and understand three-tier structure ⅡCourse Content Unit 1: Introduction to C# and .NET framework (3 hours) Objective: To know the state of popular programming languages; to understand Microsoft’s .NET initiative; to understand the structure of simple C# program; to know the basics of Visual Studio IDE Content: Course Introduction, Visual C# IDE, Creating Simple C# Programs, Create a Simple C# Windows GUI Application Key Points: Trend of programming language, .NET Framework, Common Language Runtime Unit 2: C# Fundamentals (6 hours) Objective: To know how to use the basic classes, control statements, array and collections Content: 1)Value type, reference type, enumeration, structure; Arithmetic operators and statement; String; Basic classes and structure; Control statements; 2)One-dimensional array and multidimensional 67 array; Class Array, ArrayList and List<T> Key Points: Value type vs. reference type; Relationship between collections and interfaces Unit 3: OOP in C#: Encapsulation, inheritance, polymorphism (12 hours) Objective: To understand the basic concept of OOP in C#; to declare a class, implement it and use it; to create a derived class that inherits attributes and behaviors from a base class; to use overridden methods to effect polymorphism; to use delegates and events; to use exception handling. Content: 1) classes and objects concept of class and object; definition and instantiation of class; static members; properties; overloaded constructors, methods and operators 2) delegates and events 3) inheritance and interfaces inheritance; polymorphism; abstract classes; interfaces; interfaces for sorting 4) generics generic classes, methods; how to apply generics 5) exception handling and debug catching exception; garbage collection; user defined exception; debug Key Points: constructors, polymorphism, overload, delegate, event, garbage collection Unit 4: Windows forms (6 hours) Objective: to create graphical user interfaces; to process events in response to user interactions with GUI controls; to create and manipulate various controls Content: 1)windows forms: types of windows forms; properties and methods of forms; control properties and layout; event handling of forms; 2) graphical user interfaces: menus; dialogs; advanced controls such as ListView, Treevies, ComboBox, etc. Key Points: event handling in windows forms, control manipulation Unit 5: ADO.NET and ASP.NET (9 hours) Objective: To understand the relational database model of ADO.NET; to use database access objects; to use DataGridView; to handle events from a Web Form’s controls; to create a data-driven web application using ASP.NET and ADO.NET Content: 1)ADO.NET: model of ADO.NET; data access objects; DataView; DataGridView; 2)ASP.NET: web application development using ASP.NET; basic and advanced Web Form’s controls; data-driven web applications Key Points: data binding using ADO.NET, three-tier structure, web app development ⅢPractice Plan and Requirement 68 Project Name Content C# Visual Fundamentals using Visual Studio; to programming create, compile and simple C# execute Environment Duration Number Property Software lab 3 hours 50 basic Software lab 3 hours 50 basic Software lab 3 hours 50 basic Software lab 3 hours 50 comprehensive Software lab 3 hours 50 comprehensive programs that use basic data types, arrays, control flows OOP in C#, To create classes using part 1 interfaces, overload operators and inheritance OOP in C#, To create classes using part 2 generics, delegate, events and exception handling Windows To create Windows forms forms using GUI controls Web To create Web app using application ADO.NET and ASP.NET ⅣAutonomous Learning Lectures and exercises with assignments. The assignments are a very important part of the course. Each week an assignment has to be solved. After the exercise class you have one week to solve the assignment and hand it in at the beginning of the next exercise class (or send it by mail/fax). Late hand-ins is not accepted. The assignments will be checked. All assignments involve programming in C#. The recommended way to do this is to use the server of the university. ⅤAssessment Attendance: 10% Programs: (including any written homework) 30% Final project: 60% ⅥTextbooks and References Textbooks: Christian Nagel, Bill Evjen, Jay Glynn, et al. Professional C# 4 and .NET 4. Wiley Publising, Inc. 2010. EISBN: 978-0-470-50225-9. 69 References: 李春葆, 谭成予, 金晶等编, 《C#程序设计教程》,2010 年,第 1 版,清华大学出版社, ISBN9787302206484 http://www.csdn.net/ http://msdn.microsoft.com Written by:Zheng Junhong, Wei Shen Reviewed by: Desheng Huang Date:2013-4-22 70 Syllabus of Java Programming Course Name/Title:Java 程序设计 Course code:62987 Course Type:Specialized Course, Optional Course Total Teaching Hours:48 (Classroom Hours: 32 Laboratory Hours or Tutorial Hours: 16 ) Course Credit:3 ⅠCourse Objective Java programming is an optional course for undergraduate students majoring in computer science and technology,which focuses on the basic method of object-oriented programming and the basic features of Java language. Through this course, student are expected to understand the similarities and differences between Java and C/C++ besides the basic Java language statements and grammars. This course covers OOP, IO stream, exception, multithreading, database, graphics user interface programming and network programming. Student can skillfully use JDK1.6 to programming, compiling and debugging a simple Java program, and also can develop the complicated computer application system. ⅡCourse Content Chapter 1 An Introduction to Java 【Teaching hours】2 【Teaching aim】 1. To get an overview of the development process of Java; 2. To understand basic features of the Java language: simplicity, object-oriented, structure neutral, multithreading, stability, safety etc.; 3. To explore the Java virtual machine and Java running system; 4. To establish Java develop-environment such as JDK ,JCreator, JBuilder and Eclipse; 5. To create, compile and run Java application and Java applet. Chapter 2 Elementary Programming 【Teaching hours】2 【Teaching aim】 1. To get an overview of basic grammars of Java language, and distinguish similarities and differences between Java and C/C++; 2. To master package and Java common packages. Chapter 3 Java Object-Oriented Design 【Teaching hours】3 【Teaching aim】 1. To get an overview of encapsulation, inheritance and polymorphism; 2. To demonstrate defining classes and creating objects; 71 3. To develop a subclass from a superclass through inheritance ; 4. To master abstract class, static properties and final properties; 5. To explore the key word final; 6. To write and debug a object-oriented programming of Java Chapter 4 Common Data Structure 【Teaching hours】2 【Teaching aim】 1. To declare, create, initialize and operate single-dimensional arrays, two-dimensional arrays and multidimensional arrays; 2. To declare, create, initialize and operate Vector class; 3. To use the String class to process fixed strings, and use the StringBuffer and StringBuilder class to process flexible strings Chapter 5 Exception Handling 【Teaching hours】2 【Teaching aim】 1. To get an overview of exceptions and Java exception abnormal classification; 2. To distinguish exception types; 3. To declare exceptions in a method header, throw exceptions in a method and write a try-catch-finally block to handle exceptions; 4. To define custom exception classes. Chapter 6 Java Input and Output 【Teaching hours】3 【Teaching aim】 1. To discover how I/O is processes in Java; 2. To explore package java.io; 3. To operate files using File class; 4. To read and write files using bytes and character file stream classes; 5. To use three standard stream of System class; 6. To use buffer and data stream; 7. To write data using PrintWriter class; 8. To implement the Serializable interface to make objects serializable, store and restore objects using object stream classes; Chapter 7 Graphical User Interface Design 【Teaching hours】2 【Teaching aim】 1. To get an overview of AWT and Swing; 2. To use various common user-interface components of Swing; 3. To create various types of layout; 72 4. To create listeners for various types of events; 5. To draw 2D graphics. Chapter 8 Java Multithreading 【Teaching hours】6 【Teaching aim】 1. To get an overview of thread and Multithreading; 2. To create multithreading class using Thread class and Runnable Interface; 3. To identify the life cycle of a thread; 4. To transform in life cycle of thread using various methods of multithread; 5. To solve synchronization and deadlock. Chapter 9 Java Networking 【Teaching hours】4 【Teaching aim】 1. To get an overview of networking; 2. To learn TCP/IP protocol; 3. To obtain IP address using InetAddress class; 4. To read and write sources in the net using URL classes; 5. To realize communication based on TCP and UDP protocols. Chapter 10 Java Database Programming 【Teaching hours】6 【Teaching aim】 1. To get an overview of JDBC and common database drives; 2. To get an overview of MySQL database and operate it; 3. To use classes in java.sql package; 4. To operate MySQL database using JDBC . ⅢPractice Plan and Requirement This course highlights practice and do requirement 18 hours for experiments. Experiment one:(2 hours) Title: Java Simple Program Writing Content:Establish Java develop-environment, then create, compile and run Java application and Java applet, further write and debug a object-oriented programming of Java. Experiment two:(2 hours) Title: Java Exception Handling Content:Define a custom exception classe, then throw and catch this exception. Experiment three:(3 hours) Title: Java Input and Output Content: Design an user interface program, input five float numbers and a file name, store the five numbers in this file, then read the five numbers from this file and sort them, finally write them to the end of 73 the file again. Experiment four:(3 hours) Title: Java Multithreading Content: Design a user interface program to show a red bouncing ball. When the ball touch the boundary of the window, the ball will bounce and run with angle 45°continually. Experiment five:(3 hours) Title: Java Networking Content: 1. Design a program to access a webpage and store the information of this webpage to local host. 2. Design a chat program. Experiment six:(3 hours) Title: Java Database Programming Content: Design a simple staff wages database management system. ⅣAutonomous Learning Students access the Oracle website: http://www.oracle.com/technetwork/java/index.html, download tools and write programs to consolidate the knowledge. Also Go to library and find other software test resource. Try to other software test tools. ⅤAssessment Daily performance accounts for 10%, 20% for final exercise, and 70% for experiments. ⅥTextbooks and References Book: Yubo Jia, Qi Sun, Jing Shen, Chunxia Xu. Java Programming Foundation. Beijing People Posts and Telecom Press. March 2013. Reference book: John Lewis, William Loftus. Java program design. Publishing House of Electronics Industry .August 2007. Written by:Qi sun Reviewed by: Wei Shen, Yanfei Liu Date:2013/4/11 74 Syllabus of Database System and Its Application Design Course Name/Title:数据库系统与应用设计 Course code:62913 Course Type:Specialized Course, Optional Course Prerequisites: Programming in C, Probability and Statistics, Discrete Mathematics Specialty: Computer Science and Technology, Electronic Information Engineering, Electronic Science and Technology, Information and Communication Engineering, digital media Total Teaching Hours:48 (Classroom Hours: 33, Laboratory Hours or Tutorial Hours: 15) Course Credit:3 Department: Computer Science and Technology ⅠCourse Objective Database system and application design is a specialized course for undergraduate students majoring in computer science and technology, which aims to improve their programming skills and broaden their knowledge of database system. This course has a strong practicality and involves multidisciplinary knowledge: database system, web service and programming language. Through this course, students are expected to master and apply the knowledge of database design, including database structural design, behavior design, outline design and integrated ER diagram. Besides, students are expected to grasp Java programming skills in the environment of Eclipse. ⅡCourse Content Chapter 1 an Introduction to Database Programming 【Teaching hours】3 【Teaching aim】 To get an overview of the database system, and know the elementary knowledge and skills used in the design and application of database system. Key points: Database server system (SQL Server, MySql); Database structural design (E-R Model); Functional design on database application system; Database connection drivers (ODBC, JDBC); Programming language (Java, C++, VB, etc. + SQL); Integrated design. Chapter 2 Database Design 【Teaching hours】3 【Teaching aim】 To get an overview of fundamental theory and methods used in database design 1. Procedure of database design; 2. Requirements analysis; 75 3. Conceptual structural design; 4. Logical structural design; 5. Physical design and implementation. Chapter 3 JDBC 【Teaching hours】3 【Teaching aim】 To understand and master JDBC API. 1. To know the features and usage of Database server systems, such as SQL Server and MySql; 2. To know the concept and configuration of ODBC; 3. To know the concept and configuration of JDBC, including fundamental concept, JDBC API, JDBC driver and JDBC data source. Chapter 4 Database Programming 【Teaching hours】15 【Teaching aim】 To learn the knowledge of database programming and exercise the skills of operating database system by using Java. Key points: 1. Java development environment: Eclipse, J2EE; 2. Classes of Java Swing: create window, menu, button, text box and event handler; 3. Coding: connect database server system, create menus, write Sql statements, 4. and create windows;Insert, update and delete data. Chapter 5 Integrated Database Programming 【Teaching hours】6 【Teaching aim】 To learn and master the integrated programming skills of a database application system. To build a small scale Java client/server or browser/server program within a team. Key Points: 1. Choose the database server system and driver JCombox; 2. DatabaseMetaData: get the database meta-information JTree; 3. ResultSetMeteData: get the meta-information of table. ⅢPractice Plan and Requirement This course highlights practice and requires 15 hours for experiments. Experiment one:(3 hours) Title: Install and configure MySql Content:Download, install and configure MySql. Experiment two:(3 hours) Title: ODBC and JDBC 76 Content:Install and configure ODBC and JDBC drivers. Know the key codes used by JDBC to execute SQL statements. Experiment three:(3 hours) Title: Database application system programming I Content: Grasp the functional design approaches of database application system. Be able to use the classes of Java Swing to create window, menu, button, text box and event handler. Experiment four:(3 hours) Title: Database application system programming II Content: Excise database operations including insert, update and delete by using MySql and Eclipse. Experiment four:(3 hours) Title: Integrated Database programming Content: Build a small scale Java database application system in the form of client/server or browser/server within a team. ⅣAutonomous Learning Students install the Java development environment; do excises to consolidate the knowledge learned in classroom. Students can also improve their Java database programming capabilities by modify and improve the codes provided in the textbook. ⅤAssessment Daily performance accounts for 30%, and 70% for experiments. ⅥTextbooks and References Book: Hongping Shu et al., Web Database Programming – Java, Xidian University Press, 2005. Reference book: John O'Donahue,Java Database Programming Bible,John Wiley & Sons, 2002. Web resources: 1. http://www.java.com/ 2. http://www.eclipse.org/ Written by: Xianchuang Su Reviewed by: Wenshu Li, Jianping Liu Date:2013/4/22 77 Syllabus of Analysis and Design of Algorithms Course Name/Title:算法分析与设计 Course code:62916 Course Type: Basic Course ,Optional Course Total Teaching Hours:48(Classroom Hours: 33 Laboratory Hours or Tutorial Hours: 15) Course Credit:3 ⅠCourse Objective Algorithm design and analysis is one of core problems of computer science, and also an important professional basic course for graduates of computer science & technology and related professional. This course is designed to systematacially introduce computer algorithm design methods and analysis technologies. Students study common algorithm design strategies in this course. Topics include sorting and searching, advanced data structures, graph algorithm, numerical algorithm, distributed algorithms, computational geometry string matching and NP-completeness. Students will comprehend and become acquainted with basic skills of algorithm design and analysis by researching on common and representative algorithms. Special emphasis will be placed on problem solving, unifying ideas, proof techniques, the “scientific method”, as well as striving for elegance, insights, and generalizability in developing algorithms and proofs. This course aims to cultivate students’ initial capacity to analyze the complexity of algorithms, exercise their logical thinking ability and enable them to understand of the development of theory. Moreover, students will be provided with independent research capability and ability to integrate theory with practice. . Student will also learn to solve practical problems with algorithms. ⅡCourse Content We will cover as many selected topics from the following list as time permits: 2.1 Introduction (3Hr) • Review of asymptotic Functions • Review of basic data structures • Review of basic algorithms 2.2 Sorting and searching (4Hr) • Review of classical sorting • Interpolation Search 78 • Specialized sorting methods • Deterministic Kth selection • Lower bounds on max & min • Majority detection • Meta algorithms 2.3 Advanced data structures (3Hr) • Skip lists • Amortized analysis • Fibonacci heaps • Perfect hashing, cuckoo hashing 2.4 Graph algorithms (4Hr) • Lowest common ancestor • Minimum spanning trees • Shortest paths trees • Radius-cost tradeoffs • Steiner trees • Minimum matchings • Network flows • Degree-constrained trees 2.5 Numerical algorithms (3Hr) • Linear programming • Matrix multiplication • Karatsuba’s algorithm 2.6 Distributed algorithms (4Hr) • Distributed models • Asynchronous consensus impossibility • Leader election in a ring • Leader election in graphs • Distributed MSTs 79 2.7 Computational geometry (6Hr) • Lower bounds • Chan's convex hull algorithm • Segment intersection • Planar subdivision search • Voronoi diagrams • Nearest neighbors • Geometric minimum spanning trees • Delaunay triangulations • Minimum density trees • Minimum bounding box • distance between convex polygons • Smallest Enclosing Circle • Triangulation of polygons • Collinear subsets • Probabilistic analysis 2.8 String matching (3Hr) • Knuth-Morris-Pratt • Boyer-Moore • Edit distance • Longest increasing subsequence • Smith-Waterman algorithm 2.9 NP-completeness (3Hr) • Polynomial time and intractability • Space and time complexity • Problem reductions • NP-completeness of satisfiability • Independent sets • Graph colorability 80 • Travelling salesperson problem • Approximation heuristics ⅢPractice Plan and Requirement Lab Hours 15 hours Lab Venue In the software lab of building 10# Students are required to work out their projects outside of class, and lab Lab Approach hours are mainly used for discussions on common problems met by students in finishing the projects. Additional Tutoring N/A Students are required to work out 5 programming projects. (1) Project #1 To realize sorting and searching, above all Interpolation Search; (2) Project #2 To study and analysis Fibonacci heaps; Practices / Labs (3) Project #3 To work out Minimum spanning trees (4) Project #4 To complete the Linear programming (5) Project #5 To achieve Geometric minimum spanning trees Operating System: Microsoft Windows Platforms Programming Language and Compiler: C/VC Skill Development None ⅣAutonomous Learning Lectures and exercises with assignments. The assignments are a very important part of the course. Each week an assignment has to be solved. After the exercise class you have one week to solve the assignment and hand it in at the beginning of the next exercise class (or send it by mail/fax). Late hand-ins is not accepted. The assignments will be checked. A number of assignments involve programming in C. Although the programming language is not a crucial part of this course it is strongly recommended that you 81 implement and run all programming exercises. The recommended way to do this is to use the server of the university. The details on The outlook to teaching and studying will be explained as follows: Learning by doing ; International view ; Innovating and Exploring; knowledge integration ; Human-centric values ; ⅤAssessment Students will complete written homework assignments, programming projects, a midterm and a final. Each will be assigned a point value. Homework and program averages will be computed as total points earned divided by total points possible. These grading components will be weighted as follows. Letter grades for the course will be subject to my evaluation of your overall class performance. Please keep your own record of your grades so that you will know your standing in the course and can double-check my records. All grades will be available on web of our School. The specific contents are showed as follows: Grading Class Participation 10% Weekly Written Assignments 20% Midterm Examination 0% Final Examination 40% Programming Assignments 30% Total 100% ⅥTextbooks and References The textbook is Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein, Third Edition, 2009. The class will be relying mostly on the textbook, but additional material will occasionally be drawn from the following: Introduction to Algorithms (second Edition) of Thomas H Cormen, Charles E. Leiserson, Ronald L. Rivest and Cliff Stein published by MIT Press and McGraw-Hill. Written by:Wenshu LI Reviewed by: Lican Huang, Na Zhang Date:2013/04/07 82 Syllabus of Basic Course for Information Security Course Name/Title:信息安全基础 Course code:62919 Course Type:(Specialized Course)(Optional Course) Total Teaching Hours:32 (Classroom Hours: 32 Laboratory Hours or Tutorial Hours: 0 ) Course Credit:2 ⅠCourse Objective With the rapid development of information technology, the issue of security is becoming increasingly important. The course is intended to provide students with an introduction to a foundational knowledge of current information security theory and practice. The course covers knowledge such as cryptography, security protocols, firewall and intrusion detection, computer virus. Course work involves implementing various security algorithms. ⅡCourse Content 1.Introduction Teaching Objectives: know the basic concept of information security and cryptography 2.Classical cryptosystems Teaching Objectives: know the history of cryptography; understand the classical encryption algorithms 3.Symmetric cryptosystems Teaching Objectives: understand block cipher and stream cipher and its operation modes 4.Public key cryptosystems Teaching Objectives: understand the principles of public key cryptosystem and master RSA and Elgamal encryption algorithms. 5.Digital signature Teaching Objectives: understand the principles of digital signatures and master RSA and Schnorr algorithms. 6.Authentication and key exchange protocols Teaching Objectives: understand the principles of authentication and key exchange protocols and familiar with several popular protocols. 7.PKI technology Teaching Objectives: understand the principles of PKI technology and its applications 8.Security protocols Teaching Objectives: understand IPSEC and SSL/TSL protocols and theirs applications 9.Firewall and IDS Teaching Objectives: know the basic concepts of firewall and IDS 10.Computer virus 83 Teaching Objectives: understand the principles of computer virus ⅢPractice Plan and Requirement None ⅣAutonomous Learning The students are required to implement algorithms such as RSA, Elgamal in c/c++ language. For more details of some algorithms, the students are asked to refer to some related papers. ⅤAssessment Toal mark: 1.Regular grade 40%, including attendances, experiments, 2.Final exam grade 60% ⅥTextbooks and References Textbook: Behrouz A.Forouzan: Cryptography and Network Security, Tsinghua university press,2009. Reference: Jonathan Katz and Yehuda Lindell:Introduction to Modern Cryptography, Chapman and Hall/CRC,2007. Online resources: http://acm.zstu.edu.cn Written by:Hai Huang Reviewed by: Desheng Huang, Yubo Jia Date:4/22/2013 84 Syllabus of Technology of Human-Computer Interaction Course Name/Title:人机交互技术 Course code:62931 Course Type: Specialized Course,Optional Course Total Teaching Hours: (Classroom Hours: 40 Laboratory Hours or Tutorial Hours 8 ) Course Credit:3 ⅠCourse Objective The Human Computer Interaction (HCI) specialization prepares students to address human needs with technology by determining useful system functionality and by designing usable interfaces, considering the context of the individual and/or organization. ⅡCourse Content Chapter 1. General Introduction Chapter 2. Analysis and evaluation for usability Chapter 3. Interaction devices and human-computer interaction technology Chapter 4. Interactive interface representation model Chapter 5. Software Architecture and Implementation Chapter 6. Mobile interface design, web interface design Chapter 7. Cognitive Psychology and Ergonomics Chapter 8. HPMs and complexity of system design and evaluation ⅢPractice Plan and Requirement Title Availability analysis Interactive interface design HCI Model system design for HCI Contents Using availability analysis to analyze the availability of a software self-designed Using visual development tools to implement software’s framework, the function include multi-level menu, shortcut keys, toolbars, and status bar. Get to know structure of MVC model, and implementation method Reference to a particular model, to design a specific system in accordance with the principles and methods of interactive design 2 Persons /per group 1 Design Compulsory MSVC ++ / Eclipse 2 1 Design Compulsory Eclipse 2 1 Design Compulsory MSVC ++ / Eclipse 2 1 Design Compulsory Device or Environmet Hours MSVC ++ 85 property Requirment ⅣAutonomous Learning 1. Students can access the course materials from teaching website, and download the courseware and types of homework, by self-studying to consolidate knowledge learned in class. 2. Students can independently download management software teaching /trial version of management information systems demo version and network resources provided by teachers , use their spare time to operate these software systems, to understand these software's management business processes and software modules correspondingly, to analysis and study program's design process and style for these software's database design. The outstanding students can to imitate the development of these information systems in the use of pre-learned database applications and software development tools and under the guidance of teachers. ⅤAssessment The homework will be assigned in accordance with the teaching progress. After each end of the homework is required submit. Later submission of the homework will be punished. After the homework's evaluation, a Q & A will be given for the problems in the homework. Students are asked to finished experimental course design homework independently. The score are given according to the circumstance of experiment’s completion and experimental reports. Performance during class, homework, and participation in class will take up 40% of total score, and the experimental course will take up 60% according to experiment’s completion and reports. ⅥTextbooks and References [1] Stuart K. Card , Thomas P. Moran and Allen Newell, The Psychology of Human-Computer Interaction, Lawrence Erlbaum Associates, 1986-02-01, ISBN: 9780898598599 [2] Sears, Andrew, Jacko, Julie A., Human-Computer Interaction, CRC Press, 2009-03-02, ISBN: 9781420088878 [3] Yvonne Rogers, Helen Sharp, Jenny Preece, Interaction Design: beyond human-computer interaction (3rd edition), April 2011, ISBN 978-0-470-66576-3 Written by:Liu Yanfei Reviewed by: Shen Wei, Yubo Jia Date:Apr. 12, 2013 86 Syllabus of Software Engineering A Course Name/Title:软件工程 A Course code:62929 Course Type: Specialized Course, Compulsory Course Total Teaching Hours: 48 9 (Classroom Hours: 39 Laboratory Hours or Tutorial Hours ) Course Credit:3 ⅠCourse Objective Through learning of this course, students should master the basic concepts, principles and methods of software engineering. Students should develop skills that will enable them to construct software of high quality - software that is reliable, and that is reasonably easy to understand, modify and maintain. ⅡCourse Content 1. Introduction (3 teaching hours) 1.1 What is software engineering? 1.2 Phases in the Development of Software 1.3 Maintenance or evolution 1.4 Software Engineering Ethics 1.5 Summary 2. Software engineering Management (3 teaching hours) 2.1 Planning a software development project 2.2 Controlling a software development project 2.3 Summary 3. The software life Cycle (6 teaching hours) 3.1 The waterfall model 3.2 Agile methods 3.3 The Rational Unified Process 3.4 Model-Driven Architecture 3.5 Software Product Lines 3.6 Process Modeling 4. Configuration Management (3 teaching hours) 87 4.1 Tasks and Responsibilities 4.2 Configuration Management Plan 4.3 Summary 5. Software Architecture (6 teaching hours) 5.1 Software architecture 5.2 Architecture design 5.3 Architecture views 5.4 Architecture styles 5.5 Software architecture assessment 5.6 Summary 6. Software Design (6 teaching hours) 6.1 Design considerations 6.2 Classical Design methods 6.3 Object-oriented analysis and design methods 6.4 How to select a design method 6.5 Design patterns 6.6 Design documentation 6.7 Verification and Validation 6.8 Summary 7. Software Testing (6 teaching hours) 7.1 Test objectives 7.2 Testing and the software life cycle 7.3 Verification and validation planning and documentation 7.4 Manual test techniques 7.5 Coverage-based test techniques 7.6 Fault-based test techniques 7.7 Error-based test techniques 7.8 Comparison of test techniques 7.9 Test stages 7.10 Estimation software reliability 7.11 Summary 8. Software maintenance (3 teaching hours) 8.1 Maintenance categories 8.2 Major causes of maintenance problems 88 8.3 Reverse engineering and refactoring 8.4 Software evolution 8.5 Organizational and managerial issues 8.6 Summary 9. Software Tools (3 teaching hours) 9.1 Toolkits 9.2 Language-centered environments 9.3 Integrated environments and workbenches 9.4 Process-centered environments 9.5 Summary ⅢPractice Plan and Requirement Experiment Needed Experiment project name Content facilities or Laboratory experimental Hours environment Number of Team members nature (basic/ comprehensive/ design/ research Requirement (compulsory /optional) innovation) Experiment 1 : module development Each team will implement one of several modules Software Laboratory 3 3 basic Experiment 2 : System Integration and Test Each team will integrate its module with modules developed by other teams Software Laboratory 3 3 comprehensive Experiment 3 : Software Maintenance Each team will make modifications to a system it has developed by another team Software Laboratory compulsory 3 89 1 comprehensive ⅣAutonomous Learning Students can study the following advanced topics by themselves: 1. User interface design 2. Software reusability 3. Component-based software engineering 4. Service orientation 5. Global software development ⅤAssessment The end of term exam counts for 70% of the course grade, while the experiment and report count for 30% of the course grade. ⅥTextbooks and References Textbook: 1. Hans van Vliet, “Software Engineering: Principles and Practice (Second Edition)”. Wiley References: 1. Mary Shaw and David Garlan, “Software Architectures: Perspectives on an Emerging Discipline”. Prentice Hall. 2. Babara Liskov and John Guttag, “Program Development in Java: Abstraction, Specification and Object Oriented Design”. Addison Wesley. Written by:Yu Zhang, Xiaohua Lv Reviewed by: Wenshu Li, Yubo Jia Date:2013.4.11 90 Syllabus of Principles of Compilation Course Name/Title:编译原理 Course code:62902 Course Type:Specialized Course, Compulsory Course Total Teaching Hours: 48 ( Classroom Hours: 39 Laboratory Hours or Tutorial Hours 9) Course Credit:3 ⅠCourse Objective The discovery and practical application of compiler theory has been one of the major achievements of Computer Science since the mid Nineteen-fifties. This unit is intended to provide Computing/Computer Science majors with an introduction to one of the cornerstones of their discipline. Students taking this course can expect to acquire the following: an understanding of the major classes of high-level programming languages, language features, and programming styles, with an emphasis on applying concepts from programming language theory; formal methods of specifying the syntax and semantics of programming languages; and the knowledge needed to write parsers, interpreters, and simple compilers for the major classes of programming languages. ⅡCourse Content Unit 1:Introduction of compiler 1. Why Compilers? A Brief History 2. Programs Related to Compilers 3. The Translation Process 4. Major Data Structures in a Compiler Emphasis:1. History of the compiler 2. Description of programs related to compilers 3. Structure of a compiler 、 the various translation process 、 associated data structure、a simple concrete example. 4. Description of the principal language examples Unit 2:SCANNING 1. The Scanning Process Given the concept and categories of tokens, the lexeme (string value). The scanner needs to compute at least as many attributes of a token and returns the token value only and place the other attributes in variables. 91 2. Regular Expressions Definition of Regular Expression; Extensions to Regular Expressions; Regular Expressions for Programming Language Tokens 3. Finite Automata Definite of Deterministic finite automation (DFA); Lookahead, backtracking and nondeterministic automata; 4. From Regular Expressions to DFAs the algorithm : translating a regular expression into a DFA regular NFA DFA program Emphasis: 1. methods of pattern specification and recognition 2. Regular expression 3. Finite automata Unit 3:Context-Free Grammars and Parsing 1. The parsing process The parser may be viewed as a function that takes as its input the sequence of tokens produced by the scanner and produces as its output the syntax tree. parser sequence of tokens syntax tree 2. Context-free grammars Comparison to regular expression notation; Specification of context-free grammar rules; Derivations and the language defined by a grammar; 3. Parse trees and abstract syntax trees 4. extended notations: EBNF and syntax diagrams Self-study 5. Formal properties of context-free language A formal definition of context-free language; Grammar rules as equations; the Chomsky hierarchy and the limits of syntax as context-free rules Emphasis:Context-free grammars ; Parse trees and abstract syntax trees; Derivations Unit 4:TOP-DOWN PARSING 1. LL(1) PARSING The Basic Method of LL(1) Parsing; ; The LL(1) Parsing Table and Algorithm; left Recursion Removal and Left Factoring 2. FIRST AND FOLLOW SETS First Sets; Follow Sets; Constructing LL(1) Parsing Tables; 92 Emphasis: 1. The LL(1) Parsing Table and Algorithm. 2. Constructing LL(1) Parsing Tables Unit 5:Bottom-Up Parsing 1. OVERVIEW OF BOTTOM-UP PARSING 2. FINIT AUTOMATA OF LR(0) ITEMS AND LR(0) PARSING LR(0) Items; Finite Automata of Items; The LR(0) Parsing Algorithm; 3. SLR(1) Parsing the SLR(1) parsing algorithm; Disambiguating rules for parsing conflicts; Limits of SLR(1) parsing power; 4. General LR(1) and LALR(1) Parsing Finite Automata of LR(1) Items; The LR(1) Parsing Algorithm; Emphasis: The Parsing Algorithm, LR(1) and LALR(1) Parsing algorithm Unit 6:Semantic Analysis and Runtime Environments 1. Attributes and attribute grammars Attribute grammars; Simplifications and Extensions to Attribute Grammars. 2. Algorithms for attribute computation dependency graphs and evaluation order; Synthesized and inherited attributes; Attributes as parameters and returned values; The use of external data structures to store attributes values. The computation of attributes during parsing; The dependence of attributes computation on the syntax 3. The symbol table The structure of the symbol table; Scope rules and block structure 4. Runtime Environments Memory organization during program execution. Emphasis : Synthesized and inherited attributes; The computation of attributes during parsing; dependency graphs and evaluation order; semantic rules. ⅢPractice Plan and Requirement There will be machine problems (MPs) as practice requirements. As their names may suggest, To submit an MP, you will need to run the hand-in program. we have designed two MPs for students: 1) patten matching The purpose of this MP is to help the student master: 1. pattern matching 2. higher-order functions 93 3. recursion 2) a parser design In this MP, we will deal with the process of converting Decaf code into an abstract syntax tree using a parser. Before submitting an assignment, you MUST make sure that your MP compiles with the student grading script supplied with the assignment. ⅣAutonomous Learning Attendance at lectures is expected. Students are fully responsible for all material presented in lectures, even if some of it does not appear in the "official" lecture notes. Class attendance is recommended strongly. Lecture notes will be made available. Watch for an announcement of their availability. Some topics will be set for self-study. ⅤAssessment Your grade will be calculated as follows Grading Breakdown Work Weight Machine Problems 20% Written Assignments 20% Final Exam 60% Notes These weights are subject to minor variation. Exams are scheduled in advance; unless prior arrangements are made, a grade of zero will be recorded for missed exams. ⅥTextbooks and References Textbook: Kenneth C. Louden,San Jose State University:COMPILER CONSTRUCTION Principles and Practice ,China Machine Press,2002 Reference: Compilers: Principles, Techniques, and Tools, also known as "The Dragon Book"; by Aho, Sethi, and Ullman. Published by Addison-Wesley. ISBN: 0-201-10088-6. Written by:Jinsong Xia Reviewed by: Lican Huang, Qiaohong Chen Date:2013-04-11 94 Syllabus of Introduction to Service Outsourcing Course Name/Title:服务外包概论 Course code:62952 Course Type:Specialized Course, Obligatory course Total Teaching Hours:48 (Classroom Hours: 39, Laboratory Hours or Tutorial Hours: 9) Course Credit:3 ⅠCourse Objective Service outsourcing enterprises in the value chain originally provided with basic, common, non-core IT business and economic activity after stripping out based on the business processes of IT outsourcing to external professional services provider to complete. The service outsourcing Introduction to a research outsourcing software development and maintenance of the general principles of engineering and technical disciplines. Now it has become an important branch of the service outsourcing, an unusually active area of research. Designed to enable students to master the basic concepts of service outsourcing, principles and methods of from service outsourcing technology outsourcing software project management and other aspects to understand how software outsourcing software development and operations. Student learning through this course, basic grasp of IT outsourcing process, which students outsourcing decision-making capacity, and promote IT suppliers and contract management skills and control of IT outsourcing risk ability to master the IT effectiveness of software development technology (A) knowledge of the target Of this course, students can grasp the the service outsourcing basic concepts, principles, development status and trends, from the perspective of customers and suppliers to understand the development of service outsourcing processes, operational processes, and thus the overall grasp of the whole operation process of the service outsourcing . (B) the ability to target This course of study, cultivate the students' self-learning ability, to improve the students learning services outsourcing of enthusiasm; take the initiative to explore and independent thinking, to stimulate their sense of innovation; students outsourcing decision-making capacity, promote the management of IT suppliers and contract the skills and control of IT outsourcing risk ability to master the IT effectiveness of software development technology. (C) the quality objectives Through the study of this course, you should pay attention to cultivating students the following qualities: through the implementation of real projects, the students added to the virtual development team collaboration to complete the project, so as to achieve the exercise purpose of their project development skills and team spirit. ⅡCourse Content 95 Chapter 1 Basic concepts and theories 【Teaching hours】6 【Teaching aim】 1.About the course of development of the IT services outsourcing and basic concepts. Focuses on the motivation and risk of IT outsourcing. 2. To explain the theory of IT services outsourcing. Focus on mastering a variety of services outsourcing theory. Chapter 2 IT services outsourcing contract model - based on the client perspective 【Teaching hours】6 【Teaching aim】 1. Presentation of the IT services outsourcing contract model, including international IT services outsourcing model to the development of the overall analysis, the main mode of international IT outsourcing and development trends. Focus on to master content: service outsourcing model and features. 2. Introduction the Day Hair packet mode compare discussed the characteristics of the service outsourcing model in Japan and the United States service outsourcing model. Focus on mastering content: the similarities and differences of the Day Hair packet mode and characteristics. Chapter 3 IT outsourcing management mechanism - based on the client perspective 【Teaching hours】8 【Teaching aim】 1 Introduction IT outsourcing high, medium and low-end business criteria for the classification and IT service outsourcing provider selection principles and mechanisms. Master key: to master the principles and mechanisms of IT outsourcing provider of choice. 2. Introduction of the basic concepts of IT outsourcing control mechanisms and IT services outsourcing partnership and its processes. Master key: to grasp the basic concepts of IT outsourcing control mechanisms and IT services outsourcing partnership. Chapter 4 China IT Industry Competitiveness - based on the perspective of suppliers 【Teaching hours】8 【Teaching aim】 1 compares the Chinese and Indian IT service outsourcing industry, China's service outsourcing industry development model and the base city competitiveness. Master key: China's service outsourcing industry development model and the base city competitiveness (2) the introduction of IT service outsourcing enterprises ability evaluation system is given to enhance the countermeasures of China's IT service outsourcing industry. Master key: China's IT service outsourcing industry countermeasures. 96 Chapter 5 The Practice and operations of the IT services outsourcing 【Teaching hours】11 【Teaching aim】 Processes and operations of the type of service outsourcing practice and practice activities, the use of CGI Group companies services outsourcing case, the JAY Neilson and the Akka INTER NATIONAL: India outsourcing and the West An Yanxing technology to undertake BPO business case to explain the service outsourcing practice activitiesprocesses. Focus on mastering content: the case of the practical activities of the service outsourcing process and operational processes. ⅢPractice Plan and Requirement This course highlights practice and requires 9 hours for experiments. Experiment one:(3 hours) Title: The use of version management software SVN(I) Content:Version control system SVN use - Server Configuration Manager. Experiment two:(3 hours) Title: The use of version management software SVN(II) Content:Client version management operations: Modify, submitted View History. Experiment three:(3 hours) Title: Legato backup system operation and maintenance Content: Legato Networker use of data backup software, which runs on maintenance. IV Assessment Daily performance accounts for 30%, and 70% for experiments. V Textbooks and References Book: IAOP, Outsourcing Professional Body of Knowledge, Van Haren Publishing,2010 Reference book: 1. Yingluo Wang,Introduction of Service Outsourcing,Xi'an Jiaotong University Press, 2007. 2. Yuxi Liu,Renli Chen, Theory, method and practice of IT Service Outsourcing, Tsinghua University Press,2010. 3. Hua Li,Ming Dong,Yingluo Wang, Service Outsourcing Based on IT, Xi'an Jiaotong University Press,2009. Written by: Jing Bian, Qiuhong Tian Reviewed by: Wenshu Li Date:2013/5/2 97 Syllabus of Trust and Reputation for Electron Service-oriented Environments Course Name/Title:电子服务信任与信誉 Course code:62955 Course Type:Specialized Course, Compulsory Course Total Teaching Hours: 16 Hours (Classroom Hours: 16 Laboratory Hours or Tutorial ) Course Credit:1 ⅠCourse Objective This course will give senior undergraduate level students of IT, IS, computer science and computer engineering a full understanding of the concepts and issues related to trust and reputation in e-commerce. After completing the study of this course, students are required to have an overview of the basic concepts and implementation mechanism. Students are able to build trust and reputation models. ⅡCourse Content 1. Trust in e-commerce (2 teaching hours) 1.1 Introduction 1.2 Why Trust 1.3 Trust in e-commerce environment 1.4 Trust Environments 2. Trust Concepts and Trust Model (2 teaching hours) 2.1 Trust Definitions in Literature 2.2 Trust Relationships 2.3 Trust Relationship Diagram 2.4 The Trust Model 3. The Fuzzy and Dynamic Nature of Trust (2 teaching hours) 3.1 Fuzzy and Dynamic Characteristics of Trust 3.2 Reasoning the Fuzziness and Dynamism 3.3 Managing the Fuzziness of Trust 3.4 Managing the Dynamism of Trust 4. Trustworthiness Systems (2 teaching hours) 4.1 Amazon's Trustworthiness Systems 98 4.2 Epinions.com's Trustworthiness Systems 4.3 eBay.com's Trustworthiness Systems 4.4 Review of Trustworthiness Systems 5. Reputation Concepts and the Reputation Model (2 teaching hours) 5.1 Reputation in Literature 5.2 Advanced Reputation Concepts 5.3 Reputation Relationship 5.4 Reputation Model and Reputation Relationship Diagrams 6. Reputation Calculation Methodologies (2 teaching hours) 6.1 Methods for Synthesizing the Reputation from Recommendations 6.2 Factors and Features that need to be considered 6.3 Deterministic Approach to Reputation Measure 6.4 Bayesian Approach 6.5 Fuzzy System Approach 7. Reputation Systems (2 teaching hours) 7.1 Reshaping e-commerce with Reputation Technology 7.2 Trust and Reputation Systems versus Recommendation Systems 7.3 Epinions.com 7.4 eBay.com 7.5 Review of Reputation systems 8. Trust and Reputation Modeling (2 teaching hours) 8.1 Notation Systems 8.2 Trust Relationship Diagrams 8.3 Trust Case Diagrams 8.4 Trust Class Diagrams 8.5 Trust Transition Diagrams ⅢPractice Plan and Requirement Students need to implement at least one kind of trust models using a specific programming language. They should build the interface of the trust model and demonstrate its effectiveness. Afterwards, they conclude their findings and give a presentation in PPT format. ⅣAutonomous Learning Students need to learn how to implement trust models. ⅤAssessment The big programming project counts for 70% of the course grade, while the thesis counts for 30% of 99 the course grade. ⅥTextbooks and References Textbook: 1. Elizabeth Chang, Farookh Hussain, Tharam Dillon. <Trust and Reputation for Service-Oriented Environments: Technologies For Building Business Intelligence And Consumer Confidence>. John Wiley & Sons Ltd. References: 1. Ronggong Song, Larry Korba, and George Yee. <Trust in E-services: Technologies, Practices and Challenges>. Idea group publishing. 2. A. Josang, R. Ismail, C. Boyd. <A survey of trust and reputation systems for online service provision>. Elsevier Written by:Yu Zhang, Xiaohua Lv Reviewed by: Wei Sheng, Yubo Jia Date:2013-04-06 100 Syllabus of Software Testing and Quality Management Course Name/Title:软件测试和质量管理 Course code:62953 Course Type:Specialized Course, Compulsory Course Total Teaching Hours:32 (Classroom Hours: 20 Laboratory Hours or Tutorial Hours: 12 ) Course Credit:2 ⅠCourse Objective Software Testing and Quality Management is a specialized and compulsory course for undergraduate students majoring in computer science and technology. After this course study, students know the basic concepts of software testing, master various testing methods and skills, also can plan the software testing and use some tools for testing. ⅡCourse Content Chapter 1 An Introduction to Software Testing 【Teaching hours】1 【Teaching aim】 1. To get a overview of the development process of software testing; 2. To know why need software testing; 3. To know the misunderstanding of software testing Chapter 2 Software Testing Fundamentals 【Teaching hours】7 【Teaching aim】 1. To know the object of software testing and testing principles; 2. To understand the classification of software testing methodologies and contents; 3. To master the concept, specification and skill of white-box testing method; 4. To master the concept, specification and skill of black-box testing method. Chapter 3 Unit Testing 【Teaching hours】2 【Teaching aim】 1. To know the concept and significance of unit testing; 2. To understand environment and strategy of unit testing; 3. To master case design of unit testing; 4. To master unit testing procedures. Chapter 4 Integration Testing 【Teaching hours】2 【Teaching aim】 1. To know the concept and significance of integration testing; 101 2. To understand environment and strategy of integration testing; 3. To master case design of integration test; 4. To master integration test procedures. Chapter 5 System Testing 【Teaching hours】3 【Teaching aim】 1. To know the concept and significance of system testing; 2. To master some methods of system testing; 3. To master system testing procedures for various methods. Chapter 6 Software Test Automation 【Teaching hours】3 【Teaching aim】 1. To know the basic concept of software test automation; 2. To understand life cycle of software test automation; 3. To use software automation test tools and test platform. Chapter 7 Software Quality Assurance 【Teaching hours】3 【Teaching aim】 1. To get a overview of software quality; 2. To understand the prevention and monitoring of software quality 3. To grasp the standard of software quality: CMM( capability maturity model); 4. To understand the SQA implementation procedures. ⅢPractice Plan and Requirement This course highlights practice and do requirement 12 hours for experiments. Experiment one:(2 hours) Title: White-Box Testing Content:Design and implement a program that include multi-switch structure and then test it with logical coverage and basic path respectively. Experiment two:(2 hours) Title: Blank-Box Testing Content:Design and implement a program that include multi-switch structure and then test it with equivalence partitioning and boundary value analysis respectively. Experiment three:(2 hours) Title: Unit Testing Content:Design and implement a program and then test it with Junit. Experiment four:(2 hours) Title: Function testing Content:Test the Mercury Tours web site using QuickTest Professional. 102 Experiment five:(2 hours) Title: Performance testing Content:Test the Application system using LoadRunner. Experiment six:(2 hours) Title: Web testing Content:Test web system for functional testing and performance testing using web testing tool. ⅣAutonomous Learning Go to library and find other software test resource. Try to other software testing tools. ⅤAssessment Final examination accounts for 60%, 40% for experiment and exercise. ⅥTextbooks and References Book: Le Gu, Jiulin Shi. Introduction to Software Testing Technology. Tsinghua University press. August 2011. Reference book: 1. Paul C.Jorgensen.Software Test. Qinghua University Press.March 2011.Third edtion. 2. Ron Patton. Software Testing. China Machine press.July,2005.Second edition. Written by:Qi sun Reviewed by: Wenshu Li, Yubo Jia Date:2013/4/11 103 Syllabus of Computer English Course Name/Title:计算机专业英语 Course code:62662 Course Type: Specialized Course, Optional Course Total Teaching Hours: 32 (Classroom Hours: 32) Course Credit:2 ⅠCourse Objective The course aims to provide a close view of the fields that computer English is involved in. After learning, students should get a certain level in listening, speaking, reading, writing and translation using computer English. Can translate professional material. Can finish simple oral and written in academic work. The most important purpose is to strengthen and increase the practical skills in computer English. It aims to build competence, fluency and confidence in learners and increase their career prospects. ⅡCourse Content Unit 1: Information Technology, the Internet,and You Credit hours: 4 Learning Objectives: Information Systems Software Hardware Data Connectivity,the Wireless Revolution and the Internet Unit 2: The internet,the Web,and Electronic Commerce Credit hours: 4 Learning Objectives: The Internet and the Web Access Communication Search Tools Electronic Commerce Unit 3: Basic Application Software Credit hours: 4 Learning Objectives: Application Software 104 Word Processors Spreadsheets Database Management Systems Presentation Graphics Integrated Packages Software Suites Unit 4: Specialized Application Software Credit hours: 4 Learning Objectives: : Specialized Applications Graphics Audio and Video Multimedia Web Authoring Artificial Intelligence Unit 5: System Software Credit hours: 4 Learning Objectives: : System Software Operation System Utilities Device Drivers Unit 6: The System Unit Credit hours: 4 Learning Objectives: : System Unit Electronic Data and Instructions System Board Microprocessor Memory Unit 7: Input and Output Credit hours: 4 Learning Objectives: : What is Input Keyboard Entry、Pointing Devices 、Scanning Devices、Image Capturing Devices、Audio-Input Devices What is Output Monitors 、Printers 、Audio-Output Devices 105 Combination Input and Output Devices Unit 8: Communications and Networks Credit hours: 4 Learning Objectives: : Communications Communication Channels Connection Devices Data Transmission Networks Network Types Network Architecture Organizational Internets ⅢAutonomous Learning Attendance at lectures is expected. Students are fully responsible for all material presented in lectures, even if some of it does not appear in the "official" lecture notes. Class attendance is recommended strongly. Lecture notes will be made available. Watch for an announcement of their availability. Some topics will be set for self-study. ⅣAssessment Performance during class, homework, and participation in class will take up 40% of total score, and the final exercise will take up 60%. V Textbooks and References Textbooks: Timothy J.O’Leary,Computing Essentials,Higher Education Press,2008 References: David Rosenwasser,Jill Stephen ,Writing analytically,Peking university Press,2008 Resources: 1. http://www.hujiang.com/ 2. http://www.koolearn.com/ Written by:Sun Jing Reviewed by: Huang Li Can, Yubo Jia Date:Apr. 13, 2013 106 Syllabus of Project Management Course Name/Title:项目管理和案例分析 Course code:62954 Course Type: Specialized Course, Compulsory Course Total Teaching Hours:32hours (Classroom Hours:32hours ) Course Credit:2 ⅠCourse Objective This course is for the purpose of introducing primary management knowledge and skill in dealing with information system projects for Computer Science students. Software project management is a crucial element in successful software and IT development, and requires students to develop an understanding of technical methodology and an appreciation of the many human factors that can play a part in software projects. This course will help students to grasp these contrasting skills, and learn about new developments in the discipline. It provides students with a comprehensive introduction to software project management. In this course, concept of systematic engineering, management science and basic skills will introduce to the students. Students will be required to learn how to evaluate project, complete project and fill client requirement by selection appropriate approach (or models), project management and risk control, which will set a stage for their career of information system engineer. (1)Object of knowledge Students are required to gain the knowledge of project evaluation, selection of an appropriate project approach, software effort estimation, activity planning, risk management, and resource allocation etc. (2)Object of ability Through studying in this course, students should familiar with the methods and skill of project management, and be capable of analyzing cases and using models to deal with software projects, and be able to write project file in English. (3)Object of quality Through studying in this course, students should familiar with the methods and skill of project management, and know how to cooperate with other in a group, and be able to work in a bilingual circumstance . ⅡCourse Content Unit 1:Introduction Hours:6hrs Learning Objects: 1.Technical development of software project 107 2.An overview of project planning 3.Project evaluation Teaching contents: 1.Technical development of software project 2.An overview of project planning 3.Project evaluation methods Key points: 1. Concept of software project management 2. Importance of project planning 3. Project evaluation and involvement Difficulties: 1. Significance of software project management 2. Methods of project evaluation Assignments: 1. What is the significance of software project management? 2. What is the significance of project planning? 3. What is project evaluation and involvement? Unit 2:Selection of model and effort estimation Hours:8hrs Learning Objects: 1.Know how to select an appropriate project approach 2.Know how to estimate software effort 3.Learning how to do an activity planning Teaching contents: 1.Selection of an appropriate project approach 2.Software effort estimation 3.Activity planning Key points: 1.Select appropriate project approach 2.Software effort estimation 3.How to do an activity planning Difficulties: 1.Select appropriate project approach 2.Software effort estimation 3.How to do an activity planning Assignments: 1. What is the appropriate project approach? And how many approaches were discussed in class? 108 2. What are necessities for performing software effort estimation? 3. Select a appropriate project approach to complete an activity plan. Unit 3:Risk control and resource allocation Hours:8hrs Learning Objects: 1. Know how to estimate and control risks in project 2. To learn resource allocation Teaching contents: 1. Risk management 2. Resource allocation 3. Monitoring and control Key points: 1. Risk management 2. Resource allocation 3. Monitoring and control Difficulties: 1. Estimation and Control Risk 2. Resource allocation Assignments: 1. What is risk management? And how do we estimate the risks of a project? 2. What is resource allocation? 3. How should we do for monitoring and control risk Unit 4:Managing Contracts and Practice Hours:10hrs Learning Objects: 1. Learn Managing Contracts 2. Managing people and Organizing 3. Software quality 4. Small projects Teaching contents: 1. Types of risk, Risk management 2. Identifying resource requirements, Resource allocation 3. Monitoring and control Key points: 1. Risk management 2. Resource allocation 109 3. Monitoring and control Difficulties: 1. Estimation and Control Risk 2. Resource allocation Assignments: 1. What is risk management, and how many types of risk? 2. How do we estimate the risks of a project? 2. What is resource allocation? 3. How should we do for monitoring and control risk? ⅣAutonomous Learning Students can visit the following Web: 1.http://books.google.com.hk/books?id=n3ry2WtdTbMC&printsec=frontcover&dq=software+project +management&hl=en&sa=X&ei=38GEUeHvFIejkwXppICgAQ&ved=0CDwQ6AEwAg 2. http://www.sei.cmu.edu/library/abstracts/reports/89cm021.cfm ⅥTextbooks and References Book:Bob Hughes, Mike Cotterell Software project management 机械工业出版社, 2006 Reference Book: 1.肖来元,《软件项目管理与案例分析》清华大学出版社; 第 1 版 2009 年 2 月 2. S. A. KELKAR, SOFTWARE PROJECT MANAGEMENT: A CONCISE STUDY 网络资源: 1. https://www.comp.glam.ac.uk/staff/dwfarthi/projman.htm 2. http://www.sei.cmu.edu/library/abstracts/reports/89cm021.cfm Written by:Min Jiang, Feng Fu Reviewed by:Desheng Huang, Yubo Jia Date:2013.4.11 110 Syllabus of Software system design and architecture Course Name/Title:软件系统设计与体系结构 Course code:62960 Course Type: Specialized Course,Optional Course Total Teaching Hours32 (Classroom Hours: 24 Laboratory Hours or Tutorial Hours 8 ) Course Credit:2 ⅠCourse Objective This course serves as a major foundation course for senior students, which provides an in-depth knowledge and understanding in the architectural model and design pattern of modern software systems. It also introduces the modeling language and tools in constructing software system and key techniques in applying reusable design patterns to software development. The primary goal of this course is to develop student’s capability to design and develop a robust software system under the software industry standards. ⅡCourse Content Unit 1: Introduction Credit hours: 2 Learning Objectives: Software Crisis Software reusability Software Architecture Unit 2: Software Architecture Modeling Credit hours: 2 Learning Objectives: Introduction to Software Architecture Modeling “4+1”view model Core Model of Software Architecture Software Life Cycle Model Unit 3: Software Architecture Style Credit hours: 4 Learning Objectives: Introduction Conventional Architecture Style Client/Server Style Browser/Server Style Unit 4: Unified Modeling Language 111 Credit hours: 2 Learning Objectives: : Introduction to UML Structural Modeling: classes, relationships, class Diagrams, interfaces, packages, and object diagrams. Behavioral modeling interactions, use cases, use case diagrams, interaction diagrams, activity diagrams, events, signals, processes and threads. Unit 5: Design Patterns Credit hours: 2 Learning Objective: Concept of design patterns Principle of design patterns Various design representations Unit 6: Creational patterns Credit hours: 2 Learning Objectives: Factory method Abstract factory Builder Singleton Unit 7: Structural patterns Credit hours: 2 Learning Objectives: Adapter or Wrapper or Translator Decorator Bridge Flyweight Façade Proxy Composite Unit 8: Behavioral patterns Credit hours: 2 Learning Objectives: Template Method Observer Iterator Chain of Responsibility Memento Command 112 State Visitor Mediator Strategy Unit 9: Integration of Software Architecture Credit hours: 4 Learning Objectives: COBRA EJB COM Unit 10: Web Service Credit hours: 2 Learning Objectives: Concepts of Web Service Architecture of Web Service Core technology of Web Service Server Oriented Architecture ⅢPractice Plan and Requirement There are three course projects that need to be completed in 8 lab classes. The first project is the UML design of an software system, in which the students are required to use an open source UML modeling software as the design toolkit to accomplish the preliminary design of a software system under the industrial standard. The second project consists of 3~4 design pattern programming assignments using Java language or .net technology, by which the students get a practical training on using typical design patterns in software development. The third project is to implement MVC using 4 lab classes. ⅣAutonomous Learning Teaching and learning activities including self study, face-to-face/online tutorials, discussion forums, lab/workshop/seminar where applicable, are conducted to encourage interaction among the students and the subject lecturer. ⅤAssessment Performance during class, homework, and participation in class will take up 20% of total score, experiments will take up 50% and the final exercise will take up 30%. ⅥTextbooks and References Textbooks: Eric J. Braude, Software Design: from Programming to Architecture,2007 113 References: Bass, L., 1998, Software architecture in practice Reading, Mass.: Addison-Wesley Braude, E. J., 2004, Software design : from programming to architecture Hoboken, NJ: Wiley Budgen, D., 1994, Software design Wokingham, England ; Reading, Mass.: Addison-Wesley Detienne, F., 2002, Software design--cognitive aspects London: Springer Kruchten, P., 1999, The rational unified process Reading, Mass.: Addison-Wesley Stevens, W. P., 1991, Software design : concepts and methods New York: Prentice Hall International Written by:Sun Jing Reviewed by: Shen Wei, Yubo Jia Date:Apr. 13, 2013 114 Syllabus of Principles and Design of Embedded System Course Name/Title:嵌入式系统原理与设计 Course code: 62967 Course Type:Specialized Course, Optional Course Total Teaching Hours:48 (Classroom Hours: 39, Laboratory Hours or Tutorial Hours: 9) Course Credit:3 ⅠCourse Objective Through learning of this course, students should master the basic principles of writing software for embedded systems; understand the various techniques for dealing with them. In particular, it should be grasping about the appropriate use of the real-time operating systems upon which much embedded software is based. In addition to explaining what these systems do, students can use them more effectively. This course will give students the necessary foundation to work confidently in this field. ⅡCourse Content 1. A First Look at Embedded Systems (3 teaching hours) 1.1 Examples of Embedded Systems 1.2 Typical Hardware 2. Hardware Fundamentals for the Software Engineer (3 teaching hours) 2.1 Terminology 2.2 Gates 2.3 A Few Other Basic Considerations 2.4 Timing Diagrams 2.5 Memory 3. Advanced Hardware Fundamentals (3 teaching hours) 3.1 Microprocessors 3.2 Buses 3.3 Direct Memory Access 4. Interrupts (3 teaching hours) 4.1 Microprocessor Architecture 4.2 Interrupt Basics 4.3 The Shared-Data Problem 4.4 Interrupt Latency 115 5. Survey of Software Architectures (3 teaching hours) 5.1 Round-Robin 5.2 Function-Queue-Scheduling Architecture 5.3 Real-Time Operating System Architecture 5.4 Selecting an Architecture 6. Introduction to Real-Time Operating Systems (6 teaching hours) 6.1 Tasks and Task States 6.2 Tasks and Data 6.3 Semaphores and Shared Data 7. More Operating System Services (6 teaching hours) 7.1 Message Queues, Mailboxes, and Pipes 7.2 Timer Functions 7.3 Events 7.4 Memory Management 7.5 Interrupt Routines in an RTOS Environment 8. Basic Design Using a Real-Time Operating System (6 teaching hours) 8.1 Overview, Principles, An Example 8.2 Encapsulating Semaphores and Queues 8.3 Hard Real-Time Scheduling Considerations 8.4 Saving Memory Space 8.5 Saving Power 9. Embedded Software Development Tools (3 teaching hours) 9.1 Host and Target Machines 9.2 Linker/Locators for Embedded Software 9.3 Getting Embedded Software into the Target System 10. Debugging Techniques (3 teaching hours) 10.1 Testing on Your Host Machine 10.2 Instruction Set Simulators 10.3 The assert Macro 10.4 Using Laboratory Tools ⅢPractice Plan and Requirement 116 Needed Experiment nature Number Experiment project facilities or Laboratory experimental Hours Content Requirement (basic/comprehensive/ of Team name (compulsory design/ research members environment Develop /optional) innovation) a reusable software Experiment 1: library Led Scanning displays that Hardware 3 1 comprehensive 3 1 comprehensive 3 1 comprehensive Laboratory numbers and text on the LED array Make a Experiment 2: Hardware ringtone Ring Tone Player compulsory Laboratory player connect a temperature sensors and read the Experiment 3: Hardware Temperature Sensors Laboratory temperature from the sensor ⅣAutonomous Learning 1. According to the textbook recommendation, students can access the related materials from website, read these materials by self-studying to keep up with the latest technological developments. 2. Students can independently learn hardware and software knowledge in order to complete the experiments. ⅤAssessment The proportion of the course scores as follows: 1. The rate of attendance 20%; 2.The experiment 40%; 3.The end of term exam counts 40%. ⅥTextbooks and References 117 Textbook David E. Simon, An Embedded Software Primer, Addison-Wesley Educational Publishers Inc, 1999 References 1. Marilyn Wolf, Computers as Components: Principles of Embedded Computing System Design (Third Edition), Morgan Kaufmann Publishers In, 2012. 2. V.Carl Hamacher , Zvonko G.Vranesic , Safw, Computer Organization and Embedded Systems (Sixth Edition), China machine press, 2012. Written by:Junsong Li Reviewed by: Wenshu Li, Jingsong Xia Date:2013/4/11 118 Syllabus of Web programming and database applications Course Name/Title:Web 编程和数据库应用 Course code:62968 Course Type:Specialized Course,Optional Course Total Teaching Hours:32 (Classroom Hours: 22 Laboratory Hours: 10 ) Course Credit:2 ⅠCourse Objective This course is geared to the needs of computer science and technology, one of the optional courses. Students will be cultivated programming and database application abilities in the Web environment through learning of this course. The main content of this course include: Web application development environment, using a scripting language and page design technology, ASP programming technology, Web database application designing, Web database application instances. The class period is for 22 hours and experimental period is for 10 hours After completing the subject, students should be able to: (1)knowledge objectives Students should master Web database application design theory. (2)ability objectives Students should master a, understand many current commonly used Web database programming technology. (3)quality objectives Students can apply some Web programming technology to solve some practical problems, and have comprehensive application ability of a Web database application design technology. ⅡCourse Content Chapter 1 Web application framework 2 hours 1. Database application architecture and its development; 2. Web applications and its working mechanism; 3. The realization of the dynamic content technology; 4. Classic application and features of Web applications. Key point:database application architecture。 Difficult point:the dynamic content technology。 Chapter 2 Build a Web application development environment 1. Web application development environment; 2. Set up a Web site; 3. Web site development tools are introduced. Key point: the server side development environment. Difficult point: the server side development environment. 119 2 hours Chapter 3 scripting language 3 hours 1. The JavaScript language foundation; 2. VBScript language foundation; 3. Other scripting languages. Key point: JavaScript programming basis. Difficult point: JavaScript programming basis. Chapter 4 page design 3 hours 1. The static page design; 2. Dynamic page design; 3. The DOM technology; 4. Design of CSS. Key point: the dynamic page design. Difficult point: CSS page design. Chapter 5 ASP programming design 6 hours 1. Summary of ASP (1) The characteristics, working principle and running environment of ASP,; (2) The design of simple ASP program. 2. The ASP basement (1) Using variables; (2) Using forms; (3) Using components and objects. 3. ASP built-in objects and application components (1) Request object; (2) Response object; (3) Session object; (4) Application object; (5) Server object; (6) Cookie application. 4. ASP instance Key point: the ASP built-in objects. Difficult point: the use of ASP object. Chapter 6 Web page database connection technology 1. Web database access technology 2. Connection object 3. Recordset object 4. Command object Key point: recordset object. Difficult point: command object. 120 4 hours Chapter 7 comprehensive application instance 12 hours 1. Learning example, Web database programming design steps, the implementation process; 2. Designing database according to the practical application; 3. Designing the user interface according to the practical application; 4. The use of ADO database technology, realizing complete Web application using ASP technology. ⅢPractice Plan and Requirement (1)Distribution of scheduling Teaching method Teaching hours theory practice exercise class seminar For note subtotal Course content(knowledge units) Chapter 1 Web application framework 2 2 2 2 Chapter 3 scripting language 3 3 Chapter 4 page design 3 3 Chapter 5 ASP programming design 6 6 4 4 12 12 32 32 Chapter 2 Build a Web application development environment Chapter 6 Web page database connection technology Chapter 7 comprehensive instance total application (2)statement This course is to cultivate students' skills as the main goal, the teaching process should be combined with a lot of practice operation, so it is suggested that classroom teaching is carried out in a laboratory. Theory class is for 22 hours in this course, and the experiment class if for 10 hours. Theoretical and experimental teaching is throughout the course. There are more theory teaching hours in the first 5 chapters, and the remaining hours is used to guide students to complete the validation of theoretical teaching. The last two chapters is given priority to with practice, then students complete comprehensive application example in several hours under the guidance of teachers. ⅣAutonomous Learning This course requires students to arrange the corresponding after-school hours’ digestion, skill and prepare to course content, complete comprehensive application instance, they need more after-school hours for 121 program debugging and testing in the last course. Inside and outside school proportion suggested is 1:2, outside class hours is about 64 hours. ⅤAssessment Final examination 40% Ordinary work and experiment 20% Comprehensive application 40%. ⅥTextbooks and References textbook: Wei Shanpei compiled, 《Web database programming and application》, tsinghua university press, 2008.7. references: Tie jun compiled, 《Web database technology》, tsinghua university press, 2004.4. Written by:Chen Qiaohong, Jianping Liu Reviewed by: Huang Lichan Date:April 13, 2013 122 Syllabus of Basic Experiments on Information Technology Course Title:信息技术基础实验 Course code:62986 Course Type:General Course, Compulsory Course Total Teaching Hours:Laboratory Hours: 32 Course Credit:1 ⅠCourse Objective Information Technology has evolved over the past five decades in response to the need for more efficient techniques to manage the significantly increased volume and sophistication of the knowledge reservoir of mankind. It merges the study of Computer Science, Telecommunications and Office Automation; involves the collection, storage, accessing, processing and dissemination of information and impacts on both work and leisure activities. In order to prepare students to function effectively in a dynamic technological era, the aims of the course are to develop computer-related skills and encourage the development of analytical and design skills which are applicable in all areas of the curriculum for the students. And at the same time the development of computer-related skills for immediate application to other curricular areas is promoted and a foundation for post-secondary education is provided. It can also facilitate the development and application of problem-solving skills in students. ⅡCourse Content Unit 1: Introduction Credit hours: 4 Content: Course Overview Windows Operation(To become familiar with features of Windows and Windows concepts and techniques) Unit 2: IE/OE Credit hours: 2 Content: Web Broswer(IE) Email Client(OE) Unit 3: Word Processing (Microsoft Word) Credit hours: 6 Content: Document Formatting(Page Setup, Character Formatting, Paragraph Formatting) Picture(Clip Art, Word Art, Organization Chart), Table Write and Typeset Large Scale Document Unit 4: Spreadsheets (Microsoft Excel) 123 Credit hours: 6 Content: Spreadsheet(New, Open, Save, Print, Design & Layout, Format) Formula & Function Graphing tools Unit 5: Presentation (Microsoft PowerPoint) Credit hours: 6 Content: Slides(New, Open, Save, Retrieving Presentations) Slide Formats(Slide Design, Slide Layout) Incorporating Special Features(Slide Change transitions, Sound Effects, Others) Adding Custom Animations Printing Audience Handouts Unit 6: Web Page Design Credit hours: 4 Content: Web Sites & Web Pages(Create, Open, Save, Retrieve and Test web pages) HTML, Images (Foreground & Background), and Hyperlinks Unit 7: Database Management(Microsoft Access) Credit hours: 4 Content: Designing the schema (data dictionary, or record layout) of a file using a database management system (i.e., Access) Entering and editing records, displaying records on the screens, sorting records in a database, filtering (selecting) records in a database, printing records Forms, Reports, and Queries ⅢPractice Plan and Requirement No. Project Title Credit Hours Nature of Subject 1 Windows Operation 4 Compulsory 2 IE/OE 2 Compulsory 3 Word Processing 6 Compulsory 4 Spreadsheets 6 Compulsory 5 Presentation 6 Compulsory 6 Web Page Design 4 Compulsory 7 Database Management 4 Compulsory Total 32 ⅣAutonomous Learning In addition to the basic experiments completed in class, extra-curricular practice is required. In order 124 to consolidate knowledge acquired from the course, students can use the exercises in the course web site for independent learning. It is convenient for the students to visit the website for course materials, homework assignments and announcements. ⅤAssessment The grading of the course includes three parts, namely ordinary achievement (including class participation, homework assignments), one project and final exam (The final exam is mandatory to receive a passing grade and will not be subject to discarding.). ⅥTextbooks and References Textbooks Gary B. Shelly, Misty E. Vermaat. Microsoft Office 2010: Introductory. Course Technology Inc. August 2010 References: 1 Mary Anne Poatsy, Michelle Hulett. Exploring Microsoft Office Word 2010 Introductory. Prentice Hall. August 2010 2 Robert T. Grauer, Cynthia Krebs. Exploring Microsoft Office PowerPoint 2010 Introductory. Prentice Hall. August 2010 3 Robert T. Grauer, Mary Anne Poatsy. Exploring Microsoft Office Excel 2010 Introductory. Prentice Hall. August 2010 4 Robert T. Grauer, Michelle Hulett, Mary Anne Poatsy. Exploring Microsoft Office Access 2010 Introductory. Prentice Hall. August 2010 Written by:Jin Rong, Na Zhang Reviewed by: Desheng Huang, Yubo Jia Date:March 2013 125 Syllabus of Curriculum Design for Digital Electronic Technology Course Name/Title:数字电子技术课程设计 Course code:61981 Course Type: Basic Course , Compulsory Course Total Teaching Hours:1W Course Credit:1 I Course Objective This course is a very important and comprehensive practical aspects of Fundamentals of Digital Electronics course. After a week of design and production, to enable students to have a more complete understanding of engineering design and production of more complex digital circuits, master interpret blueprints methods and familiar LSI operation, test methods, application of computer circuit design, Institute of access to technical information from a variety of sources and write a more complete design report, so as to lay a solid foundation for future learning and work. Knowledge objectives Course design topic from the actual circuit, the circuit is relatively simple, stereotypes, not real production, scientific research tasks, so the students can basically rule-based, it is not difficult to complete. The focus here is to allow students from the theoretical study of the orbit gradually lead to the practical aspects, past familiar qualitative analysis, quantitative calculation gradual to engineering estimates, experimental adjustment means combined, master the steps and methods of engineering design to understand procedures and implementation of scientific experiments. This is undoubtedly enlightenment training for the technical work in the future Capability Development Through the study of this course, students should be given the following capabilities: integrated use of digital circuits course knowledge and with certain EDA experimental tools, through research, access to information, and demonstration program with selected, design and select circuits including the components; assembly and commissioning of circuit test indicators and analysis, discussion, complete the design task. Quality objectives Course design can not remain in the theoretical design and written answers, requires the use of experimental detection means, the theoretical design gradually improve, to make the actual circuit to achieve the target requirements. In this comprehensive training, students can master the basic method of circuit design, hands to organize the basic experimental skills, practical skills training to analyze and solve electrical problems, awareness of engineering, to lay a solid foundation for the design and practical work in the electronic circuit. II Course Content Course design topic should be based on teaching requirements and the actual level of the students, which is related to the students to complete the case and the teaching effect directly. The main content of 126 digital electronic technology course design topics are the practical application of integrated circuit electronic devices, has a certain practicality and fun, to reflect the new level of electronic technology. Their design specifications meet the teaching requirements, and design, installation and commissioning method is moderate difficulty. Based on the above guiding ideology, following topics is available: 1. The design of the timer 2. Multi-function digital clock circuit design; 3. The multiple intelligence Responder design; 4. Digital frequency meter design; 5. Digital Multimeter design. Learning objectives From the task of course design, it should be through the various aspects of the design work to achieve the following learning objectives: 1 Students should deepen the understanding of the basic knowledge of digital circuits, to improve their integrated use of the course knowledge ability. 2 through the analysis of the circuit program, demonstration and comparison, design and select components, circuit assembly, commissioning and testing, initial grasp of simple and practical methods of analysis and engineering design of the circuit method. 3 To master the proper use of the equipment and the common EDA tools, also learn simple circuit experimental testing and the whole index test method to improve the students’ abilities in electronic circuit experiments. Course design teaching requirements Course design task book should state: 1 Design topic 2 The main technical specifications and requirements 3 The conditions and equipment 4 References Explain the circuit schematic and design methods in teaching process, if need to deepen and extend knowledge, also supplement teaching content to help students clear mandate, master the design method. Under the guidance of teachers, the students choose a design topic, then complete the pre-design. After teachers review the pre-design, you can begin the installation and commissioning. Teachers should strengthen the guidance for students. Anomaly or fault, especially in the circuit, to help students in accordance with the measurement observation, find out the reasons, adjustment circuit, to solve the problem in the circuit. Circuit debugging meet the design requirements, students should make the whole design process summary report in a certain format. The main content of the course design report: 127 1 Design topics; 2 The specifications and requirements; 3 Selection and circuit works; 4 The unit circuit design, component selection, draw a circuit diagram; 5 Installation, commissioning problems encountered, the solution, and the experimental results; 6 The circuit performance indicators test results, meets the requirements and evaluation of the results; 7 harvest, experience and recommendations to improve the design. ⅢPractice Plan and Requirement Theoretical teaching part: Experimental project: Theoretical teaching content (Knowledge units) Experimental teaching content (Sub-item ) hours hours Introduce design topics, working principle, design requirements, design report format and Notes 2 Circuit hardware design 4 Design and production methods 1 4 Debugging method 1 Learn to use the EDA tools such as Protel, Multisim Overall circuit simulation and debugging, to record the parameters, test the corresponding indicators 6 Completion of the course design report 2 Total hours 16 Subtotal hours 4 128 Experi ment propert y Design Experime ntal sites equipment Laborator y DC power supply, signal sources, oscilloscopes and other electronic technology laboratory equipment verifica tion Laborator y Design Laborator y Computer 、 Protel , Multisim, et al. Computer, Protel and Multisim, etc. DC power supply, signal sources, oscilloscopes and other electronic technology equipment Laborator y Requirement Digital electronic technology course design as a centralized practical teaching should focus on improving students' self-learning ability, independent analysis, problem-solving skills and hands-on circuit experiment. To develop students' self-learning ability, according to the design task teachers should be propose bibliography for students learning on it. To improve the hands-on ability, the key is to inspire students to combine brains and hands. From design, calculation, select the beginning of the components, in accordance with the need to develop their own experimental content and steps, optional equipment, independent testing and record the experimental results to make the analysis, processing, make a good circuit, always by their own completion of the hands, is conducive to the growth of the practice ability. Teaching arrangements Course design generally be divided into three stages: 1 Pre-design phase: including teaching, feasibility studies, design and complete the pre-design. 2 Installation and commissioning phases: assembly circuit debugging and testing, to complete the actual circuit. 3 Summary report stage: including a summary of the design work, write a design specification and the final assessment 4. Practice teaching environment (laboratory, equipment and software): Need experimental space, electronic equipment, EDA tools, multimedia teaching conditions. IV Autonomous Learning 1 Students can be combined the course design task book and the instructor lectures, to find the relevant information in the library or on the network. 2 Students can download some development software (if necessary), operate these software using spare time. V Assessment: Examination results including the theoretical design and course design report, installation and commissioning, the respondent, attendance and other parts, each part of the proportion is as follows: 1 Theoretical design and course design report: including the demonstration program, the circuit works, unit circuit design, component selection, circuit works, general layout and summary of design work, write the course design report: 20% 2 Installation: assembly circuit debugging and testing, to complete the actual circuit: 50% 3 Respondent: oral presentation: 20% 4 Attendance: 10% 129 VI Textbooks and References 1 Textbooks Binggen Ma, Electronics Course Design Guide(Handout),Zhejiang Sci-Tech University, 2007. Description: If choose the new design topic, you should rewrite course design guide books. 2 References 1 Shufan Zhao, Electronic technology experiment and course design, Tsinghua University Press, 2008. 2 Jiangjun Hou, Electronic technology experiments, Comprehensive design experiment and course design,Higher Education Press, 2008. Written by:Xiaowei Gu, Liping Yan Reviewed by: Xiaomin Bao, Xusheng Jiang Date:Apr. 10, 2013 130 Syllabus of Curriculum Design for Data Structure and Algorithm Course Name/Title:数据结构与算法课程设计 Course code:62982 Course Type: Basic Course, Compulsory Course Total Teaching Hours:1W Course Credit:1 I Course Objective This course is a very important and comprehensive practical aspect of Fundamentals of Data Structure and Algorithm course. After a week of design and programming, to enable students to have a more complete understanding of algorithm design and analysis of more complex problem, testing methods, application of computer design, Institute of access to technical information from a variety of sources and write a more complete design report, so as to lay a solid foundation for future learning and work. Knowledge objectives Course design topic from the actual problem, the problem is relatively simple, stereotypes, not real scientific research tasks, so the students can basically rule-based, it is not difficult to complete. The focus here is to allow students from the theoretical study of the orbit gradually lead to the practical aspects, past familiar qualitative analysis, quantitative calculation gradual to engineering estimates, experimental adjustment means combined, master the steps and methods of programming design to understand procedures and implementation of scientific experiments. This is undoubtedly enlightenment training for the technical work in the future Capability Development Through the study of this course, students should be given the following capabilities: integrated use of Data structure and algorithm course knowledge and with certain programming tools, through research, access to information, and demonstration program with selected, design and discussion, complete the design task. Quality objectives Course design can not remain in the theoretical design and written answers, requires the use of experimental detection means, the theoretical design gradually improve, to make the actual programming to achieve the target requirements. In this comprehensive training, students can master the basic method of algorithm design, hands to organize the basic testing skills. II Course Content Course design topic should be based on teaching requirements and the actual level of the students, which is related to the students to complete the case and the teaching effect directly. The main content of Huffman coding technology course design topics has a certain practicality and fun, to reflect the new level of 131 programming technology. Their design specifications meet the teaching requirements, and design. Based on the above guiding ideology, following topics is available: 1. The design of the Huffman tree; 2. The establishment and traversal of binary tree; 3. The establishment of Huffman tree and achievement of coder; 4. Digital frequency meter design; 5. The design and achievement of Huffman coder and decoder; Learning objectives From the task of course design, it should be through the various aspects of the design work to achieve the following learning objectives: 1 Students should deepen the understanding of the basic knowledge of binary tree by the inorder traversal, to improve their integrated use of the course knowledge ability. 2 through the analysis of the binary tree program, demonstration and comparison, design and testing, initial grasp of simple and practical methods of analysis and programming design of the Huffman tree coder method. 3 To master the VC 6.0 programming tools, also learn the simple method of programming testing to improve the students’ abilities. Course design teaching requirements Course design task book should state: 1 Design topic 2 The main technical specifications and requirements 3 The conditions and equipment 4 References Explain the Huffman coder and design methods in teaching process, if need to deepen and extend knowledge, also supplement teaching content to help students clear mandate, master the design method. Under the guidance of teachers, the students choose a design topic, and then complete the pre-design. After teachers review the pre-design of binary tree, you can begin the programming and testing. Teachers should strengthen the guidance for students. By debugging anomaly or fault of the program of Huffman coder and decoder, it’s to help students in accordance with the corporation demand. The main content of the course design report: 1 Design topics of binary tree and Huffman tree; 2 The specifications and requirements; 3 the establishment of Huffman tree and coder; 4 the establishment of Huffman decoder; 5 The test results, meets the requirements and evaluation of the results; 132 ⅢPractice Plan and Requirement Theoretical teaching part: Experimental project: Theoretical Experimental teaching content hours (Knowledge units) Introduce hours (Sub-item ) Experiment Experime property ntal sites equipment Huffman tree’s principle, and use teaching content instruction programming of tools, Huffman 1 tree’s design 5 Design Software Lab design report format Computer (XP)and VC6.0 and Notes Learn to use the Design Huffman coder and decoder 1 programming tools such as 3 verification Software Lab VC6.0 Debugging program 2 (XP)and VC6.0 the of Huffman coder, to Debugging method Computer record the parameters, test 6 establishment Software (XP)Computer Lab and VC6.0 the corresponding indicators Completion of the course design 2 report Subtotal hours 4 Total hours Software Lab 16 Requirement Data structure and algorithm course design as a centralized practical teaching should focus on improving students' self-learning ability, independent analysis, problem-solving skills and hands-on circuit experiment. To develop students' self-learning ability, according to the design task teachers should be propose bibliography for students learning on it. Teaching arrangements Course design generally is divided into three stages: 1 Design phase: including teaching, feasibility studies, design and complete the design. 2 Installation and commissioning phases: programming and testing, to complete the actual target. 3 Summary report stage: including a summary of the design work, write a design specification and the final assessment 133 4. Practice teaching environment (laboratory, equipment and software): Need experimental space, computer, programming tools, multimedia teaching conditions. IV Autonomous Learning 1 Students can be combined the course design task book and the instructor lectures, to find the relevant information in the library or on the network. 2 Students can download some development software (if necessary), operate these software using spare time. V Assessment Examination results include the theoretical design and course design report, installation and commissioning, each part of the proportion is as follows: 1 Theoretical design and course design report: including the demonstration program and summary of design work, write the course design report: 60% 2 Respondent: oral presentation: 30% 3 Attendance: 10% VI Textbooks and References 6.1 Textbook Mark Allen Weiss, Data Structures and Algorithm Analysis in C, Addison-Wesley,2010 6.2 References 维斯(美国)(冯舜玺译),数据结构与算法分析:C 语言描述(原书第 2 版). 北京:机械工业出 版社, 2004 Clifford A.Shaffer.A Practical Introduction to Data Structures and Algorithm Analysis(影印版), 第 2 版.北京:电子工业出版社,2002 Horowitz E,Sahni S.Fundamentals of Data Structures.Pitmen Publishing Limited,1976 李文书, 王松, 贾宇波, 安立新, 董建民, 王根岭、马国兵等编著. 数据结构与算法应用实践教程 [M]. 北京:北京大学出版社. 2012 李文书, 贾宇波, 桂江生等编著. 数据结构重点难点问题剖析[M]. 浙江:浙江大学出版社. 2010 Written by:Wenshu Li, Qi Sun Reviewed by: Lican Huang Date:Apr. 16, 2013 134 Syllabus of Curriculum Design for Object-Oriented Programs Course Name/Title:面向对象程序课程设计 Course code:62989 Course Type:Basic Course, Compulsory Course Total Teaching Hours:1week (Laboratory Hours or Tutorial Hours:20) Course Credit:1 ⅠCourse Objective The goal of this course is to introduce how to use Object Oriented Programming (OOP) knowledge to develop an application system. In this course, the programming language is C++ . After completing the study of this course, students are required to develop a small application system based on OOP technical view. ⅡCourse Content Unit 1:Auto Seller Contents: The students is required to write a C++ program to simulate an auto seller. The data structure and module are designed by themselves. Requirements: 1) Write a console C++ program to make it; 2) The OOP technology must be used in the program; 3) Some files need to be used to save information of goods. 4) There is no bug in the program. ⅢCourse Hours and Teaching Methods Course Hours:: Methods hours Therory excises test note sum Contents Project analyses 2 Day1 Programming 1 2 4 Programming 2 2 Day2 135 Programming 3 2 4 Programming 4 2 Day3 Programming 5 2 4 Programming 6 2 Day4 Programming 7 2 4 Programming 8 2 Day5 Test Total 2 16 2 4 2 20 ⅣAutonomous Learning 1. Students can visit the following Web: http://bbs.csdn.net/, the branch C/C++, to get various materials. ⅤAssessment 1. The exam score is consisted Final Exam (50%) and report (50%). 2. The types of final exam may include the exam types programming and report. ⅥTextbooks and References Textbook: E Balagurusamy, Object Oriented Programming With C++ Fourth Edition. 清华大学出版社. 2009.9. References: 1)(美)李普曼(Lippman,S.B.), (美)拉乔伊(Lajoie,J.), (美)默 Moo,B.E.), C++ Primer Fifth Edition, 电 子工业出版社,2013.5。 2)(美)Bruce Eckel, Thinking in C++ Second Edition Volume One: Introduction to Standard C++,机械 工业出版社, 2002-9-19 Revised by: Shenwei, Qiaoli Zhuang Reviewed by: Desheng Huang Date:April 9, 2013 136 Syllabus of Curriculum Design for Assembly Language Course Name/Title:汇编语言课程设计 Course code:62984 Course Type:Basic Course, Compulsory Course Total Teaching Hours:20 (Classroom Hours: 4, Laboratory Hours: 16) Course Credit:1 ⅠCourse Objective This is a course in assembly language programming for IBM PCs and compatibles. This course introduces assembly language including basic instructions, number systems, information move, integer arithmetic, subroutine linkage, memory allocation, bit manipulation, floating point arithmetic, macro definition and conditional assembly, the program status word, interrupt and I/O structure. This supplements the student's knowledge of high-level programming in C and Java. After successfully completing this course, the student should be able to: explain the 80x86 architecture, including registers and segment: offset addressing; describe different ways data are represented in a computer and work with binary and hexadecimal numbers; describe the functions of an assembler; implement program designs in 80x86 assembly language, including: writing, documenting, testing and debugging a program in PC assembly language; manipulating strings; coding basic algorithms such as searching and sorting in assembly language; calling and passing parameters to subroutines; utilizing DOS functions; and interfacing with a high level language; explain how the underlying hardware affects software design and performance; appreciate the factors that contribute to program efficiency. ⅡCourse Content 1. Writing an arithmetic calculation program which can finish addition, subtraction, multiplication and division of two signed decimal numbers, and the entered formula shows as the following examples: (-278)+32= (-132)―(―12)= 11*(-32)= (-1234)/(-18)= The program can receive formula input, and calculate and display the result in signed decimal form after ‘=’ received. If the formula is followed by ‘.’, the result will be displayed and the program will end. 2. Given a string of English word by lexicographic row with a space character followed at end of 137 each word, the first two bytes of the string represent an unsigned binary number for a description of the length of the string. A program is required to design to receive a word followed by a space character. If not included in the string, the word will have to be inserted into the string in the right place so that the string remains lexicographic and the length of the string will have to be modified. The position of the word and the new length of the string will be displayed. If the string includes the word, the position of the word and all words consisting of the word in the string will be displayed. 3. Designing a program to make the computer a “piano”. When the number keys from 0 to 9 pressed, such ten tones as 6. ,7. ,1,2,3,4,5,6,7,i will be issued and when ‘.’ pressed the “piano state” exits. ⅢPractice Plan and Requirement Experiment Name Experiment Content Laboratory Hours Number of People of Each Group Experiment 1: Decimal Calculator 1. Writing a decimal arithmetic calculation program which can finish addition, subtraction, multiplication and division Software Laboratory of School of Informatics 10 (8+2) 1 Experiment 2: Characters Handling Program Writing a program to receive character and handling them according to the requirements Software Laboratory of School of Informatics 5 (4+1) 1 Programming Writing a program to Experiment make the 3: “Piano” computer act program as a “piano” to issue ten tones Software Laboratory of School of Informatics 5 (4+1) 1 Programming Experiment Property Fundamental Requirement Compulsory ⅣAutonomous Learning During the curriculum design, corresponding 20 extracurricular hours are necessary to digest and grasp the knowledge of assembly language at an inside and outside class hours’ ratio of 1:1. ⅤAssessment Experiment report and programs assessment will be graded by five-score: A, B, C, D, E. 138 Grades will be assigned based on the following weights: programs as 60%, experiment report as 30%, and usual performance as 10%. ⅥTextbooks and References Textbooks: Assembly Language for x86 Processors, Sixth Edition (English reprint edition), by Kip R.. Irvine, Pearson Education Asia Limited and Tsinghua University Press, 2011. References: IBM PC Assembly Language and Programming, Fifth Edition (English reprint edition), by Peter Abel, Pearson Education Asia Limited and Tsinghua University Press, 2006. Written by:Feng Fu, Yubo Jia Reviewed by: Wei Shen Date:2003.4.11 139 Syllabus of Curriculum Design for Computer Architecture Principles Course Name/Title:计算机组成原理课程设计 Course code:62988 Course Type:Basic Course, Compulsory Course Total Teaching Hours:1 week (Classroom Hours: 1day Laboratory Hours or Tutorial Hours: 4 days) Course Credit:1 ⅠCourse Objective Curriculum Design for Computer Architecture Principles is a compulsory practical course for student of computer science and technology. Through learning of this course, students should deeply understand the execution process of the various instructions and the composition of the controller, moreover further grasp specific knowledge of the design microprogram instruction and the concept of dynamic microprogramming , complete computer instruction system design and debug. This should improve students' skills in analyzing problems and solving problems by themselves. ⅡCourse Content 1. Design Instruction Format (1 day) 1.1 Analyze the instruction function. 1.2 Design several new machine instruction formats. 2. Design Microprogram (2 days) 2.1 According to the format of the TEC-2 machine instruction and the usage of AM2910 chip, design microinstruction. 2.2 Allocate the entry address of microprogram and load microprogram into the control memory. 3. Test Instruction (2 days) 3.1 Learn the basic steps and methods of testing instruction function, and design test procedures. 3.2 Design experimental data, test and debug instruction function. 3.3 Complete experimental report. 140 ⅢPractice Plan and Requirement Experiment Needed Experiment facilities or Laboratory experimental Hours Content project name Number nature(basic/ Requirement of Team comprehensive/ (compulsory members design/research /optional) environment innovation) Hardware Analyze the instruction 1.Design laboratory, function; Design several Instruction TEC-2 4 1 design 8 1 design new machine instruction Format experiment formats. box According to the format of the TEC-2 machine instruction and the usage of Hardware AM2910 laboratory, chip, design 2.Design microinstruction; Allocate TEC-2 the experiment Microprogram entry address of microprogram and load microprogram into the box compulsory control memory. Learn the basic steps and methods of testing Hardware instruction function, and laboratory, 3.Test design test procedures; Instruction Design experimental data, TEC-2 4 experiment test and debug instruction box function; Complete experimental report. 141 1 design ⅣAutonomous Learning Students can study the following topics by themselves: 1. Learn the machine instruction format of TEC-2. 2. Learn the instruction execution process of TEC-2 3. Learn assembly language and debugging process. ⅤAssessment The proportion of the course scores as follows: 1. The rate of attendance 10%; 2.The operation ability 30%; 3.The report 30%; 4.The reply 30%. ⅥTextbooks and References Textbook TEC-2 Manual, school printing References 3. William Stallings, Computer Organization and Architecture Designing for Performance (Eighth Edition), Pearson Education, 2010. 4. 王诚, 计算机组成原理实验指导书,清华大学出版社,2005. Written by:Junsong Li, Jianlong Xu Reviewed by: Wenshu Li Date:2013/4/11 142 Syllabus of the Subject Practice Course Name/Title:毕业设计(论文) Course code:62550 Course Type:Specialized Course, Practice Course Total Teaching Hours:16weeks (Laboratory Hours or Tutorial Hours:320) Course Credit:8 ⅠCourse Objective The Subject Practice is the last important course and the most comprehensive practice step during the undergraduate education. The goals of the course are listed below. 6) It is the training of scientific thinking and spirit. 7) It is the training of the ability to solve scientific and technical problems. 8) It is the training to improve the information literacy. 9) It is the training of the ability for cooperative work. 10) It is the training to master some general methods for scientific and technical research. ⅡCourse Content 1. Rules of subject selection The subject is presented by tutors, checked by chairman of the department, confirmed by college academic committee. The rules are listed below. 1) The subject is fit for computer major; 2) The subject is practical as much as possible; 3) The work of coding is enough to create a program; 4) Each students should practice an independent subject; 5) The subject should be a part of a scientific or technical project as much as possible; 6) If the subject originates from non-computer field, there must be enough work corresponding to computer hardware or software. 2. Contents 1) A student must make a plan based on his subject; 2) A survey must be made based on the related work. A translated pater of related work must be submitted by each student. 3) A scheme of the subject should be design by each student; 4) The design or program should be made independently and accord with corresponding 143 specifications; 5) The test methods should be designed, and the test result should be analyzed; 6) Based on above, a thesis must be presented; 7) Thesis defense. 3. Tutors’ work 1) Tutors design some subjects and submit them to college academic committee. The approved subjects are selected by students; 2) Give enough advice to students, and record the steps; 3) Give some suggestion on the thesis, survey, paper translation. ⅢCourse Weeks and Teaching Methods Course Weeks::16 weeks No. 1 Project Title Subject selection, resourcing, translation, survey, opening, Course weeks Nature of Subject 3 Compulsory 2 Scheme, development 10 Compulsory 3 Thesis 2 Compulsory 4 Thesis defense 1 Compulsory Total 16 ⅣAutonomous Learning 2. Students should work independently based on the requirements of tutors. ⅤAssessment 3. The exam score is consisted of three parts listed below. 1) Tutor score: 30%; 2) Reviewer score: 30%; 3) Thesis defense score: 40%. 4. Grading system. 1) Excellent; 2) Good; 3) Medium 4) Pass; 5) Failure. ⅥTextbooks and References 144 3. Subject practice specification of Sci-Tech University, 2008. 4. Subject practice manual of information college, Sci-Tech University, 2010. Revised by: Yubo Jia, Shenwei Reviewed by: Na Zhang Date:April 9, 2013 145 Syllabus of Practice of Database System Course Name/Title:数据库系统实训 Course code:62981 Course Type:Specialized Course,Optional Course Total Teaching Hours:4weeks (Laboratory Hours or Tutorial Hours:80) Course Credit:3 ⅠCourse Objective The goal of this course is to introduce and practice technical knowledge in application of database systems. Topics cover the concept of B/S, C/S, SQL, View, Stored Procedure, Trigger and How to make a whole database project . After completing the study of this course, students are required to have an overview of how to develop a database system in application. ⅡCourse Content Unit 1:Introduction & basics Reference period: 1 week Learning contents: 1) Database system development introduction 2) B/S, C/S 3) SQL 4) Database, Table, Key, Constraint Unit 2:Stored Procedures Reference period: 1 week Learning contents: 1) Stored Procedure 2) Cursor Unit 3:Views & Triggers Reference period:1 week Learning contents: 1) Views 2) Triggers Unit 4:Complex project Reference period:1 Week 146 Learning contents: 1) Make a whole database project Reference period:6 class hours ⅢCourse Weeks and Teaching Methods Course Weeks:: No. 1 Project Title Sqlserver installation, Create & manage database 2 Use Management create & Studio manage Credit Hours Nature of Subject 4 Compulsory 8 Compulsory 16 Compulsory to tables, manipulate data in tables 3 Use T-SQL to create & manage tables, and manipulate data in tables 4 Stored procedure 12 Compulsory 5 Trigger 12 Compulsory 6 Database management system 28 Compulsory programming Total 74 ⅣAutonomous Learning 1. Students can visit the following Web: http://bbs.csdn.net/, the branch MSSQL SERVER to get various materials. ⅤAssessment 1. The exam score is consisted of Experiment (50%) and Final Exam (50%). ⅥTextbooks and References Textbook: Same as the course Introduction to Database System A*. References: 1)(美)Abraham Silberschatz, Henry F. Korth, (印)S. Sudarshan, Database System Concepts Sixth Edition, 机械工业出版社, 2013 年 1 月 Revised by: Shenwei, Jianping Liu Reviewed by: Wenshu Li Date:April 9, 2013 147 Syllabus of Computer English Training Course Name/Title:专业英语实训 Course code:62690 Course Type:Specialized Course,Optional Course Total Teaching Hours: 6 weeks (Classroom Hours: 6 weeks) Course Credit:3 ⅠCourse Objective The course aims to provide a close view of the fields that computer English is involved in. After learning, students should get a certain level in listening, speaking, reading, writing and translation using computer English. Can translate professional material. Can finish simple oral and written in academic work. The most important purpose is to strengthen and increase the practical skills in computer English. It aims to build competence, fluency and confidence in learners and increase their career prospects. ⅡCourse Content Unit 1: Reading skills Credit hours: 1 week Learning Objectives: Reading different articles, such as expositions , arguments, news, advertisements Unit 2: Writing skills in Email Credit hours: 1 week Learning Objectives: Master the writing skills in Email Unit 3: Writing skills in Commercial Letters Credit hours: 1 week Learning Objectives: Master the writing skills in commercial letters Unit 4: Listening and Speaking -- telephone Credit hours: 0.5 week Learning Objectives: Master listening and speaking skills in telephone Unit 5: Instructions Credit hours: 0.5 week Learning Objectives: Master the writing skills in instructions Unit 6: Writing Research Papers Credit hours: 1 week 148 Learning Objectives: Master Usage, Style, and grammar in writing research papers Unit 7: Commercial Convenance Credit hours: 0.5 week Learning Objectives: Master commercial convenance Unit 8: Review and Test Credit hours: 0.5 week ⅢAutonomous Learning Attendance at lectures is expected. Students are fully responsible for all material presented in lectures, even if some of it does not appear in the "official" lecture notes. Class attendance is recommended strongly. Lecture notes will be made available. Watch for an announcement of their availability. Some topics will be set for self-study. ⅣAssessment Performance during class, homework, and participation in class will take up 40% of total score, and the final exercise will take up 60%. ⅤTextbooks and References Textbooks: William Sanborn Pfeiffer, Technical communication- A Practical Approach, Sixth Edition, 2006, Publishing House of Electronics Industry References: David Rosenwasser,Jill Stephen ,Writing analytically,BeiJing university Press,2008 Resources: 1. http://www.hujiang.com/ 2. http://www.koolearn.com/ Written by:Sun Jing Reviewed by: Huang Li Can, Yubo Jia Date:Apr. 13, 2013 149 Syllabus of Field practice in embedded system Course Name/Title:嵌入式系统实训 Course code:62985 Course Type:Specialized Course, Optional Course Total Teaching Hours: 6 weeks ( Laboratory Hours or Tutorial Hours 6 weeks ) Course Credit:3 ⅠCourse Objective The course covers the following areas: development environments for embedded software, resource aware programming, hardware programming, developing multi-threaded software, inter-process communication with shared memory and message passing, programming using real time operating systems, fault detection and testing, and fault tolerance and fault recovery. Meanwhile, this class will also combine a rigorous examination of the tools and techniques used for programming these mobile devices. The student will develop programs for a number of different phones including iPhone and Android phone. After the Field Practice, the students may have: Develop embedded software of high quality using high level programming in e.g. C. Develop embedded systems based on real time operating systems. Develop software on hardware platforms taking limitations such as memory size, processor capacity, and bandwith into account. Develop reliable software taking fault tolerance and recovery into consideration. Develop correct and efficient software using fault detection and other test systems. Software Design for Handheld Devices ⅡCourse Content Practical training is divided into four stages. Phase I, be familiar with embedded system’s instruction set and architecture. Phase II, master how to drive embedded hardware in c and assembly language. Phase III, Software Development in real time RTOS environments. Phase IV, Android platform development. Through 4 stages of learning, students should be able to complete embedded system on multiple levels of integrated and innovative experiments. Phase I: be familiar with embedded system instruction set and architecture(1Week) 1、 Teaching requirements: Introduction to embedded system development environment 1) ARM development tools 2) ARM Programmer's Model and addressing (data type, processor model, ARM registers, 150 instruction addressing, memory access instruction addressing mode 3) ARM Assembly language and c language programming 4) Remote debugger setup and practices 5) Introduction to embedded system development environment 2、 Lab: instruction set Experiment consists of 3 basic lab, that is: 1) Basic instruction training. 2) data removal instructions practice 3) Bootloader: modification, compiler, install and observation Phase II: Drive embedded hardware in c and assembly language.(1Week) 1、 Teaching requirements: pipeline, interrupt, I/O management, and hardware knowledge, students need to write a program in Assembly, c and mixed methods to drive the hardware. Focus: understanding of c and assembly code efficiency in the control and treatment , understanding the method to drive embedded system hardware. 2、 Lab: hardware driven Labs, that is: 1) ARM serial port driver lab 2) keyboard and LED driven—C implements 3) keyboard and LED driven—Assembly implements 4) CAN-bus communication Lab Phase III: embedded system software design in real time operating system environments (1 week) 1、 Teaching requirements: Embedded systems software programming and software design of real time operating system environment. Cross-compiler technology, default behavior of compiler, adjust the c library to fit the target hardware, embedded kernel debugging, system portable, ICE tools, interrupt and task scheduling of real-time OS, inter-process communication (queues, messages, semaphores, and events), μ C/OS-II principle and ARM transplants. Focus: real-time OS, embedded system software architecture, real-time OS services, real-time OS porting on ARM platforms. 2、 Lab: integrated and fundamental experiments: 1) experiment of timer interrupts and drivers 2) Bootloader experiment 3) Port μ C/OS-II on the ARM 4) μC/OS-II development framework Phase IV: Android platform application development (3 weeks) 1、 class presentations: Android is an package of software stack including operating system, middleware and some key applications for mobile devices. Android middleware includes a JAVA virtual machine, 151 running on the Linux 2.6 kernel, on which the applications are based on JAVA. 2、 This stage can be divided into 3 smaller stages, the first stage is the Foundation, students will learn about ANDROID development at this stage, focus on of development environment configuration, combined with the theory and practice of they engaged before. The 2nd and 3rd stages are innovative and comprehensive experiments. Students may choose the following experiments under the guidance of the teacher. 3、 Attention will be given to the details necessary for developing fully functional applications such as games and business tools. Programs will be developed to run within the emulators that are part of the development tools, however real devices can be used if the student wishes to provide their own. Specific attention to topics that are unique to handheld devices: designing for limited screen size and constrained resources, cross platform development, portability, on-device testing and performance issues. The topic can be as follows: Device and Network architecture Developing Objective C applications for iOS devices (iPhone and iPad) Developing Java applications for Android devices Development Tools Networking, Wireless Messaging Performance Optimization and Tuning Design for portability Testing and Debugging 1) ⅢPractice Plan and Requirement The Name Lab Content Lab number Proper Hour students/ ty* class Unit 1 1) Basic instruction training. Software 2) data removal instructions practice lab 3)Bootloader: modification, 1week 60 basic 1week 60 basic Compul sive/opti onal compiler, install and observation Unit 2 1) ARM serial port driver lab 2) keyboard and LED Software driven—C lab ive implements 3)keyboard and LED driven—Assembly implements 4) CAN-bus communication Lab Unit 3 1) experiment of timer interrupts and Software 152 compuls 1week 60 Basic drivers lab and 2) Bootloader experiment syntheti 3) Port μ C/OS-II on the ARM cal 4)μC/OS-II development framework Unit 4 1) Device and Network architecture Software 2)Developing Objective C applications for lab 3week iOS devices (iPhone and iPad) 3)Developing Java applications 60 Synthet ical and creative for Android devices 4)Development Tools 5)Networking, Wireless Messaging 6)Performance Optimization and Tuning 7)Design for portability 8)Testing and Debugging *(property of experiments can be basic/synthetical/research/innovation) (A) instructions 1. Content and requirement of Practical training report The report is composed of two parts; base section includes the lab purpose, content, design idea, source code and the main achievements. Synthesis part concerns with the team's choice of subject and describes the project requirements, goals, design and implement by the way of software engineering methodology. 2. Organization Unit 1, unit 2 and unit 3 are compulsive, and are same to all students. At phase IV, the students are divided into teams, and should make decision to have the team target and do some research together. Identification of faculty supervisor(s), topic, objectives, deliverables and work plan; regular work during semester with weekly coordination meetings of about 1 hour duration with the faculty supervisor, and an end-semester demonstration to Project Evaluation Committee. This unit will be an examination of the tools and techniques used for programming mobile devices in Java. The student will develop programs for Android phones. Attention will be given to the details necessary for developing fully functional applications such as games and business tools. Programs will be developed to run within the emulators that are part of the development tools, however real devices can be used if the student wishes to provide their own. Specific attention to topics that are unique to handheld devices: designing for limited screen size and constrained resources, cross platform development, portability, on-device testing and performance issues. 153 ⅣAutonomous Learning ⅤAssessment The final grade for the course will be based on the following weights: •40% personal achievement, including software and hardware results, to calculate way of thinking to solve the problem on or about. •20% Class Participation: personal activity assessment in the class and team group. •40% Team work achievements: marks to be decided on the basis of an end-semester presentation following the demonstration the approved work plan. The topic should be of advanced standing requiring use of knowledge from program core courses and be preferably hardware oriented. The purpose of these different instruments is to have a positive learning experience, critical thinking about embedded system issues, and some sound grasp of fundamentals. ⅥTextbooks and References Text Simon, David E. An embedded software primer, Addison-Wesley, 1999 References Marwedel, Peter, Embedded system design. Springer, cop. 2006 Patterns for time-triggered embedded systems : building reliable applications with the 8051 family of microcontrollers,Harlow : Addison-Wesley, cop. 2001 Zigurd Mednieks, Laird Dornin, Programming Android. O'Reilly Media; 1 edition,2011 Written by:Jinsong Xia Reviewed by:Desheng Huang, Junsong Li Date:2013.04.11 154 Syllabus of Web Project Practice Course Name/Title:Web 项目实践 Course code:62672 Course Type:Specialized Course, Optional Course Total Teaching Hours:6 weeks of Laboratory Hours Course Credit:3 ⅠCourse Objective Web Project Practice is a comprehensive curriculum, it is designed for those students whose direction of research is Software Engineering. Training students' ability of applying theory to practice is the major purpose of this course. After learning this course, students’ knowledge systems of Web Programming, Database Management System and Software Engineering are established and improved, the student’s ability to find, analyze and solve problems will be greatly improved as well. All these will lay a solid foundation for their graduation projects and employment. ⅡCourse Content 1. Explanation of project’s development process Content: Introduction to project’s development process, specifications for daily reports, software development documentation and methods of writing document. Objective: To study web project’s development process, requirement for project management and methods of writing document, so as to lay a good foundation for the future work. 2. Analysis of project requirements Content: Analyze details of project requirements. Objective: To understand what functions system should have. 3. Explanation of software development plan Content: Explanation of software development plan and task scheduling. Objective: To clear the arrangement of each development stage and which module should be developed for everyone. 4. Detailed design Content: System pages are developed according to requirements. Sequence diagrams are drawn for the developed system, finally the documentation of detailed design is finished. Objective: Prepared for coding. 5. Coding Content: Coding by detailed design. Objective: Students’ Coding ability and problem solving ability are trained. 6. Explanation of software testing method and arrangement of testing plan Content: Software testing method is taught to students so that the system can be tested by test requirements. 155 Objective: To make students clear how long it will takes for testing, and which module is responsible for testing. 7. Unit test and modification Content: Help students to test modules which are developed independently so as to find out and solve problems in system. At the end, test documentation of system must be completed. Objective: To enhance students’ understanding and proficiency about software development methodology. 8. Cross test and modification Content: Cross test is carried out by testing plan. Objective: To deepen students’ understanding of system requirements, to enhance students’ understanding and proficiency about software development methodology. 9. Summary report for testing Content: Summarizing problems met in the testing, improving the development process and testing method and finally the summary report for testing must be accomplished. Objective: To understand the importance of testing for software development. 10. Summary report for project Content: Summarizing the experience of software development and summary report for project must be accomplished. Objective: To further understand each process of the development. ⅢPractice Plan and Requirement 1. Practice Plan No Details Name Explanation of project’s development process Introduction to project’s development process, specifications for daily Content reports, software development documentation and methods of writing document, so as to lay a good foundation for the future work. 1 Lab Software Lab Teaching hours 4 hours The number of each group 5-6 people Property(Basic/Comprehensive/Designed/Creative) Comprehensive Requirements(Compulsory/Optional) Name 2 Content Lab Compulsory Analysis of project requirements Analyze details of project requirements to make students understand what functions system should have. Software Lab Teaching hours 5 hours 156 The number of each group 5-6 people Property(Basic/Comprehensive/Designed/Creative) Comprehensive Requirements(Compulsory/Optional) Name Compulsory Explanation of software development plan Explanation of software development plan and task scheduling to make Content students clear the arrangement of each development stage and which module should be developed for everyone. 3 Lab Software Lab Teaching hours 3 hours The number of each group 5-6 people Property(Basic/Comprehensive/Designed/Creative) Comprehensive Requirements(Compulsory/Optional) Name Compulsory Detailed design System pages are developed according to requirements. Sequence Content diagrams are drawn for the developed system, finally the documentation of detailed design is finished. 4 Lab Software Lab Teaching hours 18 hours The number of each group 5-6 people Property(Basic/Comprehensive/Designed/Creative) Comprehensive Requirements(Compulsory/Optional) Name Content 5 Lab Compulsory Coding Coding by detailed design. Students’ Coding ability and problem solving ability are trained. Software Lab Teaching hours 65 hours The number of each group 5-6 people Property(Basic/Comprehensive/Designed/Creative) Comprehensive Requirements(Compulsory/Optional) Name 6 Compulsory Explanation of software testing method and arrangement of testing plan Software testing method is taught to students so that the system can be Content tested by test requirements. To make students clear how long it will takes for testing, and which module is responsible for testing. 157 Lab Software Lab Teaching hours 3 hours The number of each group 5-6 people Property(Basic/Comprehensive/Designed/Creative) Comprehensive Requirements(Compulsory/Optional) Name Compulsory Unit test and modification Help students to test modules which are developed independently so as to Content find out and solve problems in system. At the end, test documentation of system must be completed. To enhance students’ understanding and proficiency about software development methodology. 7 Lab Software Lab Teaching hours 3 hours The number of each group 5-6 people Property(Basic/Comprehensive/Designed/Creative) Comprehensive Requirements(Compulsory/Optional) Name Compulsory Cross test and modification Cross test is carried out by testing plan, in order to deepen students’ Content understanding of system requirements, to enhance students’ understanding and proficiency about software development methodology. 8 Lab Software Lab Teaching hours 7 hours The number of each group 5-6 people Property(Basic/Comprehensive/Designed/Creative) Comprehensive Requirements(Compulsory/Optional) Name Compulsory Summary report for testing Summarizing problems met in the testing, improving the development Content process and testing method and finally the summary report for testing must be accomplished 9 Lab Software Lab Teaching hours 3 hours The number of each group 5-6 people Property(Basic/Comprehensive/Designed/Creative) Comprehensive Requirements(Compulsory/Optional) Compulsory 158 Name Content 10 Lab Summary report for project Summarizing the experience of Software development and summary report for project must be accomplished Software Lab Teaching hours 3 hours The number of each group 5-6 people Property(Basic/Comprehensive/Designed/Creative) Comprehensive Requirements(Compulsory/Optional) Name Compulsory Examination Content Lab 11 Software Lab Teaching hours 6 hours The number of each group 5-6 people Property(Basic/Comprehensive/Designed/Creative) Comprehensive Requirements(Compulsory/Optional) Compulsory 2. Note The project of this course is divided into two directions according to the development technology: project for Java and project for .Net. Students make their choice based on their interests. students teams up and each group consist of at least 5 to 6 students, then a project manager must be appointed in each group. Finally, functional modules of software which must be developed will be assigned to everyone in the group by teachers and project manager. ⅣAutonomous Learning Students master the basic method for software development based on the web in the class. Besides this, a lot of practice must be required in extracurricular class hours. ⅤAssessment Software must be designed, developed and tested independently as requested. Assessment is based on the comprehensive quality of normalization and software product. 40 percent of the final score is based on the quality of software product. 60 percent of the final score is based on the normalization of software documentations. ⅥTextbooks and References Testbook: Roger S.Pressman. Software Engineering-A practitioner’Approach (Six Edition), Tsinghua University Press,2006. References: 1. Bruce eckel, Thinking in Java, China Machine Press, 2007. 159 2. Paul R.Allen, Joseph J.Bambara. Sun Certified Enterprise Architect for J2EE, Post and Telecom Press, 2003. 3. Jeffrey Richter, CLR via C# (Second Edition), Post and Telecom Press, 2008. 4. Paul Ammann, Jeff Offutt. Introduction to Software Testing. China Machine Press, 2009 Web Resources: http:// 10.11.168.83 http://struts.apache.org/release/2.1.x/ http://www.hibernate.org/ http://www.eclipse.org/ http://forums.asp.net/ Written by:Zhuang Qiaoli Reviewed by: Wei Shen,Liu Yanfei Date:2013. 4. 2 160