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
Index Fundamentals of C Programming .............................................................................................. 3 Discrete Mathematics ............................................................................................................... 3 Fundamentals of Data Structures.............................................................................................. 5 Fundamentals of Logic and Computer Design........................................................................... 7 Laboratory for Fundamentals of Logic and Computer Design ................................................ 10 Object-Oriented Programming (C++) ...................................................................................... 12 Database Systems.................................................................................................................... 14 Computer Organization ........................................................................................................... 14 Laboratory for Computer Organization ................................................................................... 16 Java Programming ................................................................................................................... 18 Principles of Database System ................................................................................................ 20 Advanced Data Structures and Algorithm Analysis ................................................................. 22 E-commerce Technologies ...................................................................................................... 23 Assembly Language and Microcomputer Interface ................................................................ 25 Theory of Computation ........................................................................................................... 27 Numerical Analysis .................................................................................................................. 28 Operating System Principles.................................................................................................... 31 Human-Computer Interaction Engineering ............................................................................. 32 Introduction to Human-Computer Interaction ....................................................................... 34 Multimedia Technologies ........................................................................................................ 36 Principle of Compilers ............................................................................................................. 38 Principles of Information Security ........................................................................................... 40 Overview of Digital Communication Systems and Networks .................................................. 42 Software Architecture ............................................................................................................. 43 Project Management and Case Study ..................................................................................... 43 Software Engineering .............................................................................................................. 44 Computer Architecture............................................................................................................ 46 Fundamentals of Computer Networks .................................................................................... 49 Network Programming ............................................................................................................ 51 Algorithm Design and Analysis ................................................................................................ 52 Capability Maturity Model ...................................................................................................... 55 Compiler Design ...................................................................................................................... 57 Design and Project of Network System ................................................................................... 58 Mutual Fund Management and Services ................................................................................ 60 Middleware Technology .......................................................................................................... 62 Operating Systems: Analysis and Projects............................................................................... 64 Software Quality Assurance/Testing ....................................................................................... 65 Fundamentals of C Programming Course Name Fundamentals of C Programming Course Code 21186020 Weekly Hours 3.0-2.0 Offered Semester Fall-Winter semester Textbooks Credits 4 The C Prorgramming Language, Second Edition, Brian W. Kernighan &Dennis M.Ritchie Fundamental principles and concepts of C language,with definations of data, expressions, control-flow constructions, functions,input and output, Prerequisites preprocessing,command line arguments. Basic problem solving and programming techniques;structured programming ideas, fundamental algrithms and data structures. Discrete Mathematics Course Name Discrete Mathematics Course Code 211B0010 Weekly Hours 4-0 Offered Semester Spring-Summer semester Textbooks Prerequisites Credits 4.0 Discrete Mathematics and Its Application(fifth Edtion) , Kenneth H. Rosen McGraw Hill(2003) Calculus, Linear Algebra Discrete Mathematics is the introductory course for theory in Computer Science. You will learn the mathematical tools necessary to analyze and talk about problems that can or cannot be solved with a computer system. Course Description It is a necessity that you learn to write good proofs as well as understand the concepts in Discrete Math. Discrete mathematics underlies almost all present day information processing systems, and a thorough knowledge of the subject is necessary to appreciate the capabilities and limitations of computers. Teaching Program Course Code: 211 B0010 Course Name: Discrete Mathematics Weekly Hours: 4-0 Credits:4.0 Teaching Goal and Basic Requirements: To give fluency in the mathematical language necessary to deal with discrete structures (with particular application to computer science), and to develop knowledge of mathematical proof, algorithmic problem solving, and recursive thinking. Content of Courses & Hours Allocation: 1 The Foundations: Logic, Sets, and Functions (24) 1.1 Propositional Logic (8) 1.2 Predicates Logic (8) 1.3 Sets (6) 1.4 Functions (2) 2 The Fundamentals: Algorithms, the Integers, and Matrices (4) 2.1 Algorithms (1) 2.2 Computational Complexity (1) 2.3 Recursive Definitions and Recursive Algorithms (2) 3 Counting (16) 3.1 The Basics of Counting, Permutations and Combinations (2) 3.2 The Pigeonhole Principle (2) 3.3 Generalized Permutations and Combinations (2) 3.4 Generating Permutations and Combinations (1) 3.5 Recurrence Relations (2) 3.6 Solving Recurrence Relations (3) 3.7 Generating Functions (2) 3.8 Inclusion-Exclusion (2) 4 Relations (14) 4.1 Relations and Their Properties (3) 4.2 Representing Relations (2) 4.3 Operations of Relations (2) 4.4 Closures of Relations (3) 4.5 Equivalence Relations (2) 4.6 Partial Orderings (2) 5 Graphs (10) 5.1 Introduction to Graphs (1) 5.2 Graph Terminology (1) 5.3 Representing Graphs and Graph Isomorphism (2) 5.4 Connectivity (1) 5.5 Euler and Hamilton Paths (2) 5.6 Shortest Path Problems (2) 5.7 Planar Graphs (2) 5.8 Graph Coloring (1) 6 Trees (4) 6.1 Introduction to Trees (1) 6.2 Applications of Trees (1) 6.3 Spanning Trees (1) 6.4 Minimum Spanning Trees (1) Teaching Plan: 1. 4 quizs after evry chapter 2. Lecture Notes, Solutions to homeworks, and past examinations are available online. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Textbook: Discrete Mathematics and Its Applications (Fifth edition) 2003 Kenneth H. Rosen McGraw Hill Reference: Discrete Mathematical Structures,(Fourth edition) Prentice Hall B. Kolman, R.C. Busby, S.C. Ross 2001 Fundamentals of Data Structures Course Name Fundamentals of Data Structures Course Code 211C0020 Weekly Hours 2-1 Offered Semester Fall semester Credits 2.5 Data Structures and Algorithm Analysis in C (Second Edition), Mark Allen Textbooks Weiss, Yue Chen (Adapter), Posts & Telecom Press, Pearson Addison Wesley,2005 Prerequisites Fundamentals of C Programming, Discrete Mathematics This course investigates the definitions, implementations, and functions related to non-numerical data objects. The content of this course consists of the basic methods for time-space complexity analysis; fundamental data Course Description structures for stack, queue, list, tree and graph; implementations and analysis of sorting and searching. Students are supposed to learn how to organize data, to represent problems in a computer, to select the optimal data structure and algorithm for a specific problem, and hence improve their ability of programming. Teaching Program Course Code: 211C0020 Course Name: Fundamentals of Data Structures Weekly Hours: 2.0-1.0 Credits: 2.5 Teaching Goal and Basic Requirements: Teaching Objective: This course investigates the definitions, implementations, and functions related to non-numerical data objects. Students are supposed to learn how to organize data, to represent problems in a computer, to select the optimal data structure and algorithm for a specific problem, and hence improve their ability of programming. Basic Requirements: Students are supposed to know the basic methods for time-space complexity analysis; fundamental data structures for stack, queue, list, tree and graph; implementations and analysis of sorting and searching. Content of Courses & Hours Allocation: Ch2.1-2 Algorithm Analysis 2 hrs Ch2.3-4 Algorithm Analysis Ch3.1-2 ADT, List 2 hrs Ch3.3-4 Stack, Queue 2 hrs Ch4.1-2 Binary Trees 2 hrs Ch4.3 Search Tree 2 hrs Ch5.1-5 Priority Queues 2 hrs Ch7.1-4 Hash Function, Separate Chaining, Open Addressing 2 hrs Ch7.5 Rehashing Ch8.1-7 Equivalence Relation, Union Algorithm, Path Compression 2 hrs Mid-Term 2 hrs Ch9.1-2 Graph Definition, Topological Sort 2 hrs Ch9.3-4 Shortest-Path Algorithm,Network Flow Problem 2 hrs Ch9.5-6 Minimum Spanning Tree,Depth-First Search 2 hrs Ch6.1-5 Insertion Sort, Shellsort, Heapsort 2 hrs Ch6.6-7 Merge Sort, QuickSort 2 hrs Ch6.8-10 Bucket Sort 2 hrs Review 2 hrs Teaching Plan: 1. Use multi-media classrooms. 2. Laboratory Practice: 1 hour/week. Team work with 3 projects. 3. Homework: 2~3 hours/week. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Textbook: Data Structures and Algorithm Analysis in C (Second Edition), Mark Allen Weiss, Yue Chen (Adapter), Posts & Telecom Press, Pearson Addison Wesley,2005 Reference Books: [1] 《数据结构与算法分析》(C 语言版),魏宝刚、陈越、王申康编著,浙江大学出版社, 2004 [2] Data Structures, Algorithms, and Applications in C++, Sartaj Sahni, McGraw-Hill & China Machine Press,2002 Fundamentals of Logic and Computer Design Course Name Fundamentals of Logic and Computer Design Course Code 21120810 Weekly Hours 3.0-0.0 Offered Semester Fall-Winter semester Textbooks Prerequisites Credits 3 Logic and Computer Design Fundamentals M.Morris Mano, Charles R.Kime Higher Mathematics, General Physics, Circuit Theory The aim of the course is to introduce basic theory and design methods for digital logic. The course covers number representation, digital codes, boolean algebra and logic minimization techniques, sources of delay in Course Description combinational circuits and effect on circuit performance, survey of common combinational circuit components, sequential circuit design and analysis; timing analysis of sequential circuits, concept of programmable logic devices and memories. The language used in the course can be English. Teaching Program Course Code: 21120810 Course Name: Fundamentals of Logic and Computer Design Weekly Hours: 3.0-0.0 Credits: 3 Teaching Goal and Basic Requirements: The aim of the course is to introduce basic theory and design methods for digital logic. The course covers number representation, digital codes, boolean algebra and logic minimization techniques, sources of delay in combinational circuits and effect on circuit performance, survey of common combinational circuit components, sequential circuit design and analysis; timing analysis of sequential circuits, concept of programmable logic devices and memories. The language used in the course can be English Content of Courses & Hours Allocation: Chapter 1. Digital Computers and Information(3 hours) 1.1 Digital Computers 1.1.1 Introduction to Digital Computer System 1.1.2 Basic Working Principle of Binary Electronic Devices 1.2 Numerical and Information Representation in Computer 1.2.1 Carry Number System 1.2.2 Information Coding of Computer 1.2.3 Arithmetic Operation Chapter 2. Mathematics Fundamental of Computer(9 hours) 2.1 Concept of Boolean Algebra 2.2 Axiom, Theorem and Rules of Boolean Algebra 2.3 Formal Representation of Logic Function 2.3.1 Traditional Representation of Logic Function 2.3.2 Verilog HDL Representation of Logic Function 2.4 Simplification of Logic Function 2.4.1 Formulization Simplification 2.4.2 Karnaugh Map Simplification 2.4.3 Arbitrary Logic Function Simplification 2.4.4 Different Formal Logic Function Transformation and Simplification 2.5 Basic Logic Gate Circuit 2.5.1 Concept of Positive and Negative Logic 2.5.2 Basic Logic Gate Circuit 2.5.3 Brief Characteristics and Parameters of TTL and CMOS Gate Circuit *2.5.4 Trigger (R-S, D Type, JK Type) 2.5.5 Introduction to Programmable Logic Devices Chapter 3 Combinational Circuit Design and Computer Aided Design(15 hours) 3.1 Analysis and Design Methodology of Combinational Logic Circuit 3.1.1 Overview of Combinational Logic Circuit 3.1.2 Analysis of Combinational Logic Circuit 3.1.3 Design of Combinational Logic Circuit 3.2 Combinational Circuit Implementation with Verilog HDL 3.3 Common Logic Circuit Analysis in Computer 3.3.1 Decoder 3.3.2 Variable Decoder 3.3.3 Code Transform Decoder 3.3.4 Data Selector 3.3.5 Coder 3.3.6 Data Comparator 3.3.7 Parity Check Circuit 3.4 Arithmetic Operation Function and ALU Circuit 3.4.1 Single Bit Adder 3.4.2 4-bit Serial Carry Adder 3.4.3 4-bit Parallel Carry Adder (Carry Look Ahead) *3.4.4 16-bit Parallel Carry Adder 3.4.5 Basic Theory of Arithmetic Logic Operation Chapter 4 Sequential Circuit, Register, Data Transfer and Computer Aided Implementation(15 hours) 4.0 Trigger (R-S, D Type, JK Type) 4.1 Overview of Sequential Circuit and Description Tool 4.1.1 Structure of Synchronous Sequential Circuit 4.1.2 Excitation Table, State Table and State Graph 4.1.3 Sequential Circuit State Equation 4.1.4 Trigger and Latch 4.2 Analysis and Design Methodology of Sequential Circuit 4.3 Analysis of Sequential Circuit 4.4 Design of Sequential Circuit 4.5 Design of Register and Micro Operation 4.6 Shift Register and Serial Transmission 4.7 Counter Register and Timer 4.8 Clock Circuit of Computer Chapter 5 Circuit Fundamental of Computer Aided Design(6 hours) ---Semiconductor Memory and Programmable Logical Circuit 5.1 Read-Only Memory 5.2 Programmable Logic Array—PLA 5.3 Programmed Array Logic—PAL 5.4 Complex Programmable Logic Device—CPLD 5.5 Field Programmable Gate-Array—FPGA 5.6 Structure of Random Access Memory **Chapter 6 Interface Circuit Design of Computer and Computer Aided Implementation(3~6 hours) 6.1 Data Exchange between Computer and Outer 6.2 Latch (Register) Ports Decoding 6.3 Memory Address Decoding Notes: * denotes that the order can be adjusted according to the teaching condition; ** denotes it is optional. Teaching Plan: 1.Teaching with multimedia 2.Making teaching calendar termly according to the outline 3.2 hours for lab per week 4.3-4 hours for practice 5.Some discussion and quiz Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) 《Logic and Computer Design Fundamentals》3th,M.Morris Mano, Charles R.Kime。 《Verilog 数字系统设计教程》 ,夏宇闻,北京航空航天大学出版社,ISBN: 7-81077-302-X, 2004 年 1 月。 Laboratory for Fundamentals of Logic and Computer Design Course Name Laboratory for Fundamentals of Logic and Computer Design Course Code 21120820 Weekly Hours 2 Offered Semester Fall-Winter semester Textbooks Experiment for Logic and Computer Design Fundamentals And Project Prerequisites Higher Mathematics, General Physics, Circuit Theory Credits 1 The experimental program focuses on the theoretical knowledge, basic skills of hardware knowledge and the usage of computer-aided design technology. Verilog HDL and FPGA are chosen as the implement for digital system experiments in order to strengthen the ability to apply the basic knowledge of hardware. As well, the basic function units are provided for courses such as computer organization in this program. Course Description Through this program, students are required to understand the basic principle of logic algebra, to master the usage of gate circuit, trigger and other semiconductor devices. They are also required to master the analysis and design methodology of combinational and sequential circuits, to acquaint with common logic circuits, concept of programmable logic devices and memories. And they should learn to design digital systems using hardware description language. Teaching Program Course Code: 21120820 Course Name: Laboratory for Fundamentals of Logic and Computer Design Weekly Hours: 2 Credits: 1 Teaching Goal and Basic Requirements: Objective: The experimental program focuses on the theoretical knowledge, basic skills of hardware knowledge and the usage of computer-aided design technology. Verilog HDL and FPGA are chosen as the implement for digital system experiments in order to strengthen the ability to apply the basic knowledge of hardware. As well, the basic function units are provided for courses such as computer organization in this program. Basic Requirements: Through this program, students are required to understand the basic principle of logic algebra, to master the usage of gate circuit, trigger and other semiconductor devices. They are also required to master the analysis and design methodology of combinational and sequential circuits, to acquaint with common logic circuits, concept of programmable logic devices and memories. And they should learn to design digital systems using hardware description language. Content of Courses & Hours Allocation: Chapter 1 Basic Experiments on Digital Logic Circuit Practice 1. Learn to use digital instruments. (2 classes) Practice 2. Switched circuit with diode and triode (2 classes) Practice 3. Verilog HDL & Xilinx ISE platform software and hardware (4~3 classes) Practice 4. Function and parameter test of integrated logic gates circuit (2 classes) Practice 5. Tristate gate and OC gate (2 classes) Practice 6. RS trigger and D trigger design (2 classes) Chapter 2 Combinational Circuit Experiments Practice 7. Use variable decoder (2 classes) Practice 8. Design and usage of data selector (2 classes) Practice 9. Design a full adder (2 classes) Chapter 3 Sequential Circuit Experiments Practice 10. Multivibrator and clock circuit (2 classes) Practice 11. Typical synchronous sequential circuit (2 classes) Practice 12. Counter and timer design (2 classes) Practice 13. Shifting register design (2 classes) Chapter 4 Basic Computer Components Design (Optional excluding lab 16) Practice 14. Program counter design Practice 15. Instruction decoder Practice 16. Register file design (2 classes) Practice 17. ALU Practice 18. Binary multiplier design Practice 19. Memory address decoding circuit design Practice 20. Course project Teaching Plan: 1.Computer aided teaching 2.One practice per week. 4-6 hours will be assigned to Practice 3 to found a solid foundation for the coming practices. 14 practices are compulsory totally take 32 hours, excluding the examination. 3.Preparation for every practice is required. 4.Experiment report is required, which may take 2-4 hours together with the preparation. 5.Discussion is encouraged. 6.Optional practices are designed for excellent students. 7.Optional practices and project is not compulsory. Students can decide to choose none, some or all of them to do. Bonus is up to teacher. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Experiment for Logic and Computer Design Fundamentals And Project Qingsong SHI,Yabo Dong Publishing company of Zhe Jiang University 《Verilog 数字系统设计教程》 夏宇闻,北京航空航天大学出版社 Object-Oriented Programming (C++) Course Name Object-Oriented Programming (C++) Course Code 21120221 Weekly Hours 2.0-1.0 Offered Semester Spring semester Textbooks Thinking in C++ ,by Bruce Eckel Pearson Education, Inc.2000 Prerequisites C Programming Course Description ―Object-Oriented Programming (C++)‖ will introduce the idea, method and technology of object-oriented programming. The students will firstly grasp the foundation of C++ language, and then they will be asked to code certain scale‘s programs. With the experience progressing, the advanced features of C++ language will be discussed in this course, the students will be able to understand the critical idea and deep mechanism of C++ language. Credits 2.5 Teaching Program Course Code: 21120221 Course Name: Object-Oriented Programming (C++) Weekly Hours: 2.0-1.0 Credits: 2.5 Teaching Goal and Basic Requirements: Students will grasp the concepts and method of object-oriented programming through the study of principle and practice. They will be required to build good programming style which accord with modern software design. Students will grasp C++ language skillfully, basically know how it runs, be able to do object-oriented programming using C++ skillfully. Totally, this course will guide students to have the ability of software analysis, design and coding, as well as the ability of cooperate developing. Content of Courses & Hours Allocation: Part 1 Foundation of Object-Oriented Programming (2 hours) History and Develop of Object-Oriented Programming Abstract in Object-Oriented Programming Class, Object and Encapsulation Inheritance and Polymorphism Challenge of Object-Oriented Programming Foundation of Programming Style Part 2 Foundation of C++ language (8 hours) Better C Reference Function Prototype Inline Function Default Variable Overloading Class and Encapsulation Private, Protected and Public Constructor and Destructor Friends Operator Overloading and Function Overloading Derive Virtual Function and Polymorphism Stream Part 3 Object-Oriented Software Design (6 hours) Traditional Software Developing Method Object-Oriented Modal Object-Oriented Design and Realization Case Study Part 4 Advanced Features of C++ (10 hours) Template and Exception Copy Constructor and Parameter Passing Const Constraint Virtual Destructor Parameter Matching while Overloading Static Member Construction and Destroy of Template Object Part 5 Case Study (6 hours) The Problem Analysis System Design Object Design Realization Discuss of Technology and Style Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) [1] Thinking in C++,by Bruce Eckel Pearson Education, Inc.2000 [2] The C++ Programming Language, by Bjarne Stroustrup Company 1997 Addison-Wesley Publishing Database Systems Course Name Database Systems Course Code 21120301 Weekly Hours 2-2 Offered Semester Spring & Fall semester Textbooks Database Systems Concepts, 5th edition Prerequisites Principles of Database System, Data Structure Credits 1.5 Database management system is kernal software of computer system. The objective of this course is to give an advanced introduction to the principles and methods of database systems from implementation perspective. The content includes database system architecture , physical storage, index structure, query processing and optimization, transaction Course Description management, concurrency and recovery, database security. In addition, this course will outline advanced database systems including distributed database system and parallel database system. Through designing and implementing the class project MiniSQL, students are expected to get extended and deep understanding of DBMS, and enhance the developing capability for system software. Computer Organization Course Name Computer Organization Course Code 21186031 Weekly Hours 3.5-2 Offered Semester Spring-Summer semester Textbooks Computer Organization & Design----Hardware/Software Interface Prerequisites 《Logic and Computer Design Fundamentals》 , 《C Programming》 Credits 3.5-1.0 Course Description Modern computer technology needs both hardware and software. The emphasis of this course is to show the relationship between hardware and software and to focus on the concepts that are the basis for current computer. The main content includes MIPS assembler language, arithmetic, single and multi cycle datapath design, memory hierarchy, and I/O system. Students are expected to learn the processor design, memory hierarchy and methods to improvement cache performance, memory technology and optimizations, virtual memory and virtual machines. Every student is required to design a single-cycle CPU and a multi-cycle CPU using Xilinx ISE. Teaching Program Course Code: 21186031 Course Name: Computer Organization Weekly Hours: 3.5-2 Credits: 3.5-1 Teaching Goal and Basic Requirements: Modern computer technology needs both hardware and software. The emphasis of this course is to show the relationship between hardware and software and to focus on the concepts that are the basis for current computer. The main content includes MIPS assembler language, arithmetic, single and multi cycle datapath design, memory hierarchy, and I/O system. Students are expected to learn the processor design, memory hierarchy and methods to improvement cache performance, memory technology and optimizations, virtual memory and virtual machines. Every student is required to design a single-cycle CPU and a multi-cycle CPU using Xilinx ISE. Content of Courses & Hours Allocation: Chapter One: Computer Abstractions and Technology ( 3 credit-hour ) Chapter Two: Instructions: Language of the Computer ( 10 credit-hour ) Chapter Three: Arithmetic for Computers ( 8 credit-hour ) Chapter Five: The Processor: Datapath and Control ( 20 credit-hour ) Chapter Seven: Large and Fast: Exploiting Memory Hierarchy ( 8 credit-hour ) Chapter Eight: Storage, I/O, and Other Peripherals ( 7 credit-hour ) Teaching Plan: 1. 3 and half hours of multimedia lectures per week. 2. homework, program simulation, experiment on Xilinx ISE Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) 《Computer Organization & Design----Hardware/Software Interface》 David A.Patterson,John L.Hennessy Laboratory for Computer Organization Course Name Laboratory for Computer Organization Course Code 21186031 Weekly Hours Offered Semester Textbooks Credits 1.0 Spring-Summer semester Experiments guide for computer organization and design. Hangzhou: Zhejiang University Press. Prerequisites Personal computers, Spartan-3, Spartan-3E, or homogeneous, Xilinx ISE Toolkit. Course Description Computer organization experiments is a compulsory computer courses for undergraduate students. The close connections between the experimental curriculum and computer organization theory will help students further consolidate the classroom and apply the theoretical knowledge into practice. Improve their practical ability and the ability to solve practical problems are also the purposes of the course. Teaching Program Course Code: 21186031 Course Name: Laboratory for Computer Organization Weekly Hours: Credits: 1.0 Teaching Goal and Basic Requirements: Experimental course is of the important links in teaching to train high-quality, innovative students. Promoting the reform of computer organization and design course with great efforts will improve the quality of experiments teaching. Computer organization experiments is a compulsory computer courses for undergraduate students. The close connections between the experimental curriculum and computer organization theory will help students further consolidate the classroom and apply the theoretical knowledge into practice. Improve their practical ability and the ability to solve practical problems are also the purposes of the course. The basic requirements of this course are to complete the basic experiments, then design single clock-cycle and multiple clock-cycle CPU with on-board FPGA. Content of Courses & Hours Allocation: # Experiment Name Experiment Content hour Experiment Experiment distribution Property Type Students per Requirements Teacher Group Status 1 2 3 4 5 MIPS Instruction Simulation Assemble and disassemble MIPS program using simulator. Basic of hardware design Design basic hardware units using Spartan-3 board and Xilinx ISE. Basic components design ALU and ALU controller R type instruction design MUX and register file design ALU and ALU controller design. Implement R type instructions. CPU controller Design CPU controller. 7 Single clock-cycle datapath Design single clock-cycle datapath. 8 Multiple clock-cycle datapath Design multiple clock-cycle datapath. 6 Design control unit Control unit for 9 for microprogramming microprogramming. Design Microprogramming 10 microprogramming Processor processor. 3 3 3 3 3 3 6 6 3 6 Professional Professional Professional Professional Professional Professional Professional Professional Professional Professional Design Design Design Design Design Design Design Design Design Design 1 1 1 1 1 1 1 1 1 1 Required Fangyan Jiang Available Wang Zonghui Required Fangyan Jiang Available Wang Zonghui Required Fangyan Jiang Available Wang Zonghui Required Fangyan Jiang Available Wang Zonghui Required Fangyan Jiang Available Wang Zonghui Required Fangyan Jiang Available Wang Zonghui Required Fangyan Jiang Available Wang Zonghui Required Fangyan Jiang Available Wang Zonghui Required Fangyan Jiang Available Wang Zonghui Required Fangyan Jiang Available Wang Zonghui Finite instructions 11 CPU design 12 MIPS processor simulation system. Finite instructions CPU design. Write MIPS simulator. 9 18 Professional Professional Design Design 1 1 Optional Fangyan Jiang Available Wang Zonghui Optional Fangyan Jiang Available Wang Zonghui Teaching Plan: 1) Experiment reports: Each experiment report should include: experiment theory and design, experiment process and steps, experiment result, experiment analysis, discussion, etc. 2) Assessment Assessment requirements of the school curriculum in accordance with strictly enforced, in accordance with the experimental results assessment preparation, experimental questions, the quality of experiment completion, experimental report on a comprehensive assessment. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) 1) Textbook Experiments guide for computer organization and design. Hangzhou: Zhejiang University Press. 2) Related materials (1) David A.Patterson, John L.Hennessy. Computer Organization & Design – Hardware / Software Interface (Third edition). 2005. Pearson. ISBN: 81-8147-597-6. (2) David A.Patterson, John L.Hennessy. Computer Organization & Design – Hardware / Software Interface (Second edition), Weimin Zheng(Translator). Peking: Tsinghua University Press. ISBN: 7302069018. (3) Xuezen Pan, Lindi Ping. Computer Organization and Design. Hangzhou: Zhejiang University Press. ISBN: 730803523. (4) Aiying Wang. Computer Organization and Architecture. Peking: Tsinghua University Press. (5) Zhenkun Ying, Jiansheng Gao. Principles of Computer Organization. Hubei: Huazhong University of Science and Technology Publishing House. (6) Zhongying Bai. Principles of Computer Organization.. Peking: Science Press. Java Programming Course Name Java Programming Course Code 21190940 Weekly Hours 2.0-1.0 Credits Offered Semester Summer semester Textbooks Thinking In Java Prerequisites Object-Oriented Programming 2.5 The course consists of four parts: 1. Fundamentals of Java language 2. B/S programming using Java Course Description 3. Other tech. in B/S (Java Script, JSP and so on) 4. C/S architecture programming The students will be able to write application and applet in Java, as well as use JDBC, Servlet, Java Script and JSP to design a B/S system. Teaching Program Course Code: 21190940 Course Name: Java Programming Weekly Hours: 2.0-1.0 Credits:2.5 Teaching Goal and Basic Requirements: The course consists of three parts: 1. Fundamentals of Java language 2. B/S programming using Java 3. Other tech. in B/S (Java Script, JSP and so on) The students will be able to write application and applet in Java, as well as use JDBC, Servlet, Java Script and JSP to design a B/S system. Content of Courses & Hours Allocation: Week1: Introduction Week2: Fundamentals Idea of OOP Basic element of Java language Week3: Class and objects Week4: Inheritance and polymorphism Week5: Exception, IO and multi-threads Week6: Containers Week7: GUI Week8: Advanced Topics Teaching Plan: Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Thinking In Java Principles of Database System Course Name Principles of Database System Course Code 211C0030 Weekly Hours 4-2 Offered Semester Summer & Winter semester Textbooks Database Systems Concepts, 5th edition Prerequisites Programming Language C The course introduces the fundamental principles of database systems, including the general overview of the concepts of database system, the relational data model, SQL, entity-relationship data model, relational formalization, and database application programming, etc. The course also outlines the modern data processing technologies, such as object oriented database system, object-relational database system and XML. Course Description Credits 2.5 Students are expected to have good understanding of the database technologies, and be able to manage a database system or to develop a database application. Teaching Program Course Code: 211C0030 Course Name: Principles of Database System Weekly Hours: 4-2 Credits: 2.5 Teaching Goal and Basic Requirements: The course introduces the fundamental principles of database systems, including the general overview of the concepts of database system, the relational data model, SQL, entity-relationship data model, relational formalization, and database application programming, etc. The course also outlines the modern data processing technologies, such as object oriented database system, object-relational database system and XML. Students are expected to have good understanding of the database technologies, and be able to manage a database system or to develop a database application. Content of Courses & Hours Allocation: 1 Introduction (2 hours) 1.1. Database-System Applications 1.2. Purpose of Databases 1.3. View of Data 2 3 4 5 6 7 8 9 1.4. Database languages 1.5. Database Management Systems Relational Data Model (2 hours) 2.1. Structure of Relational Model 2.2. Fundamental Relational-Algebra Operations 2.3. Additional Relational-Algebra Operations 2.4. Extended Relational-Algebra Operations SQL (6 hours) 3.1 Data Definition 3.2 SQL Queries 3.3 Data Update 3.4 View 3.5 Embedded SQL and Dynamic SQL 3.6 Introduction of ODBC Database Integrity and Security (2 hours) 4.1 Data Integrity Constraint 4.2 Assert 4.3 Trigger 4.4 Authorization Entity-Relationship Model (4 hours) 5.1 The Entity-Relationship Model 5.2 Entity-Relationship Design Issues 5.4 Week Entity 5.5 Extended Entity-Relationship Features 5.6 Reduction to Relational Schema 5.7 Other Aspects of Database Design Relational Database Design (4 hours) 6.1. Functional Dependencies and Normal Forms 6.2. Formalization of Relational Schema 6.3. Multivalued Dependencies and 4NF Object-based Databases (2 hours) 8.1. Motivation of Object-based Databases 8.2. Object-Oriented Databases and ODMG C++ 8.3. Object-Relational Database and SQL99 XML (2 hours) 8.4. Structure of XML Data 8.5. XML DTD 8.6. XML Query and XPath Transaction Management (4 hours) 9.1 .Transaction and ACID Properties 9.2 .Serializability and Recoverability 9.3 .Transaction Control in SQL 9.4.Lock-based Concurrent Control 9.5.Two-phase Locking Protocol 9.7.Deadlock Handling Teaching Plan: Project: Design and implement a book library management system Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Database System Concepts(Fifth Edition), Database System Concepts(Fifth Edition) Abraham Silberschatz, Henry F.Korth, S.Sudarshan McGraw-Hill Companies, Higher Education Press(2006) Advanced Data Structures and Algorithm Analysis Course Name Advanced Data Structures and Algorithm Analysis Course Code 21120490 Weekly Hours 1.0-1.0 Offered Semester Winter semester Credits 1.5 Data Structures and Algorithm Analysis in C (Second Edition), Mark Allen Textbooks Weiss, Yue Chen (Adapter), Posts & Telecom Press, Pearson Addison Wesley,2005 Prerequisites Fundamentals of Data Structures Teaching Program Course Code: 21120490 Course Name: Advanced Data Structures and Algorithm Analysis Weekly Hours: 1.0-1.0 Credits: 1.5 Teaching Goal and Basic Requirements: Teaching Objective: This course is based on the fundamentals of data structures. It continues to investigate the definitions, implementations, and functions related to non-numerical data objects. Students are supposed to learn how to organize data, to represent problems in a computer, to select the optimal data structure and algorithm for a specific problem, and hence improve their ability of programming. Basic Requirements: Students are supposed to know the representations and application background of those advanced data structures that are discussed in class, as well as the applications of classical algorithms. Content of Courses & Hours Allocation: Ch4.4 AVL Tree 2 hrs Ch4.5,7 Splay Tree, B-Tree 2 hrs Ch5.6-7 Leftist Heap, Skew Heap 2 hrs Ch5.8 Binomial Queue 2 hrs Ch9.7 NP-Completeness Ch10.1 Greedy Algorithm (a) 2 hrs Ch10.1-2 Ch10.1 Greedy Algorithm (b), Divide and Conquer 2 hrs Ch10.3-5 Dynamic Programming, *Randomized Algorithm, Backtracking 2 hrs Ch11.1-4 Amortized Analysis 2 hrs Teaching Plan: 1. Use multi-media classrooms. 2. Laboratory Practice: 1 hour/week. Team work with 3 projects. 3. Homework: 2~3 hours/week. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Textbook: Data Structures and Algorithm Analysis in C (Second Edition), Mark Allen Weiss, Yue Chen (Adapter), Posts & Telecom Press, Pearson Addison Wesley,2005 Reference Books: [1] 《数据结构与算法分析》(C 语言版),魏宝刚、陈越、王申康编著,浙江大学出版社, 2004 [2] Data Structures, Algorithms, and Applications in C++, Sartaj Sahni, McGraw-Hill & China Machine Press,2002 E-commerce Technologies Course Name E-commerce Technologies Course Code 21190760 Weekly Hours 4.0 Credits 2.0 Offered Semester Fall semester E-commerce: Business, Technology, Society. 3nd Edition by Kenneth C. Textbooks Laudon and Carol Guercio Traver, Publisher: Addison Wesley, 2006 Prerequisites Computer Networks This course introduces the Internet technology and its applications for electronic commerce. Tutorials, assignments and project work will reinforce lectures by providing hands-on experience with E-commerce software components and technologies. Topics to be covered include: Course Description Introduction to E-Commerce; eCommerce Models, Structures and Mechanisms; Internet and the Web; XML technology; E-Commerce Security; Electronic Payment Systems; E-commerce marketing; Supply Chains; Collaborative Commerce; Mobile Commerce; Business On Demand; Semantic Web; and eCommerce related research such as applications of Artificial Agents and Data Mining. Teaching Program Course Code: 21190760 Course Name: E-commerce Technologies Weekly Hours: 4.0 Credits: 2.0 Teaching Goal and Basic Requirements: This course introduces the Internet technology and its applications for electronic commerce. Tutorials, assignments and project work will reinforce lectures by providing hands-on experience with E-commerce software components and technologies. Topics to be covered include: Introduction to E-Commerce; eCommerce Models, Structures and Mechanisms; Internet and the Web; XML technology; E-Commerce Security; Electronic Payment Systems; E-commerce marketing; Supply Chains; Collaborative Commerce; Mobile Commerce; Business On Demand; Semantic Web; and eCommerce related research such as applications of Artificial Agents and Data Mining. Content of Courses & Hours Allocation: No. Contents 1 Introduction 2 The Internet Hours 2 and World Wide Web: 2 E-commerce Infrastructure 3 Layout of E-commerce Web Site 2 4 Security in E-Commerce 4 5 E-Commerce Payment Systems 4 6 XML 4 7 Web Services 2 8 E-commerce Marketing 2 9 B2B e-Commerce 2 10 Logistics 2 11 Semantic Web 4 12 Mobile commerce 2 Teaching Plan: 1. Use multi-media classrooms. 2. Homework: Case Analysis, 1~2 hours/week 3. 1 Project: 3~5 students/group. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) 1. E-commerce: Business, Technology, Society. 2nd Edition by Kenneth C. Laudon and Carol Guercio Traver, Addison Wesley, 2004. (Textbook) 2. Turban E., King D., Lee J.K., Viehland D., Electronic Commerce: A Managerial Perspective 2006, 4/E, Prentice Hall, 2006 3. Framework of E-Commerce System, CHEN Deren, SHI Minhua, WU Zhihan, High Education Press, Aug.2002. Assembly Language and Microcomputer Interface Course Name Assembly Language and Microcomputer Interface Course Code 21120500 Weekly Hours 2.0-1.0 Offered Semester Fall-Winter semester Credits 2.5 《The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, Textbooks 80486, Pentium, and Pentium Pro Processor Architecture, Programming, and Interfacing》 Prerequisites 《Computer Organization & Design》 ,《C Programming》 Course Description This course focuses on assembly language programming and microcomputer I/O peripheral interface. That includes the structure of micro processor, ram addressing, microcomputer instructions and programming. The topics will also cover the main chips introduction on microcomputer I/O system. Those are 82c55, 8254, 16550, 8259A and DMA. And introduce the mechanism of 32-bit microprocessor. Teaching Program Course Code: 21120500 Course Name: Assembly Language and Microcomputer Interface Weekly Hours: 2-1 Credits: 2.5 Teaching Goal and Basic Requirements: This course focuses on assembly language programming and microcomputer I/O peripheral interface. That includes the structure of micro processor, ram addressing, microcomputer instructions and programming. The topics will also cover the main chips introduction on microcomputer I/O system. Those are 82c55, 8254, 16550, 8259A and DMA. And introduce the mechanism of 32-bit microprocessor. Content of Courses & Hours Allocation: (each for 2 hours) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 The structure of microprocessor. Registers introduction. Memory addressing. Dos debug command Data transfer instructions Arithmetic and logic instructions Program control instruction Assembly language programming. Keyboard & display Binary & decimal, disk file r/w Use assembly instructions in C/C++. Programming in protected mode. Basic knowledge about I/O system. I/O ports addressing. 8255A--a programmable peripheral interface, keyboard interface 8279 8254 Timer programming 16550 serial adapter Basic interrupt processing Initialization of 8259A interrupt controller and interrupt processing programming. Direct memory access(DMA) 80386/80486 microprocessor. Exercises and Review. Examination. Teaching Plan: 1. hours of lectures per week. 2. homework, and Assembly programming Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) 《The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, and Pentium Pro Processor Architecture, Programming, and Interfacing》 (sixth edition) Barry B.brey;Prentice Hall;August 15, 2002 Theory of Computation Course Name Theory of Computation Course Code 21120520 Weekly Hours 2.0 Offered Semester Fall-Winter semester Textbooks Prerequisites Credits 2.0 Elements of The Theory of Computation (Second Edition) Harry R. Lewis, Christos H. Papadimtriou Prentice Hall 1998. Discrete Mathematics, Data Structure This is a theoretical course designed for undergraduated students. There are 32 academic hours in total. This course covers the theory of automata and formal languages, computability by Turing machines and recursive functions, uncomputability, computational complexity, and mathematical Course Description logic. This term is devoted to establishing a foundation for the formal study of computation. This foundation consists of tools from mathematics such as set theory, logic, and graph theory, and concepts from theoretical computer science, such as formal languages, abstract machines, problem transformations, and computational complexity. Teaching Program Course Code: 21120520 Course Name: Theory of Computation Weekly Hours: 2.0 Credits:2.0 Teaching Goal and Basic Requirements: A study of the formal relationships between machines, languages and grammars; we will cover regular, context-free, context-sensitive, recursive and recursive enumerable languages along with undecidability and intractability. Content of Courses & Hours Allocation: 1.Introduction (2 hours) 2.Sets, Relations and Language(4 hours) Sets and Relations, Finite and infinite sets, Three fundamental proof techniques, Alphabets and languages 3. Regular Language and Finite Automata (8 hours) Finite automata and Nondeterministic finite automata, Equivalence of finite automata and regular expressions, Languages that are and are not regular 4. Context-free Languages (8 hours) Context-free grammars, Pushdown automata, Equivalence of Pushdown automata and context-free grammars, Languages that are and are not context-free 5. Turing machine (8 hours) The definition of Turing machines, Computing with Turing machines, Primitive recursive functions and Recursive functions 6. Undecidability(4 hours) Church-Turing thesis, Universal Turing machines, The halting problems, Unsolvable problems about Turing machines Teaching Plan: 1. 4 quizs after evry chapter 2. Lecture Notes, Solutions to homeworks, and past examinations are available online. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Textbook: Elements of The Theory of Computation Papadimtriou Prentice Hall 1998. References: (Second Edition) Harry R. Lewis, Christos H. 1.Introduction to the Theory of Computation Michael Sipser PWS, 1997. 2. Introduction to Automata Theory, Languages, and Computation John E.Hopcroft, Rajeev Motwani, Jeffrey D.Ullman, Addison-Wesley, 2001. Numerical Analysis Course Name Numerical Analysis Course Code 21190640 Weekly Hours 2.5-1.0 Offered Semester Fall-Winter semester Numerical Analysis, 7th Edition, Richard L. Burden & J. Douglas Faires, Thomson Learning, Inc. 2001 Textbooks Prerequisites Credits 3 Calculus, Linear Algebra, Fundamentals of C Programming Course Description Problems solving by numerical methods has now become one of the fundamental means of research in the physical sciences and engineering, and also in social sciences and humanities. This course is an introduction to numerical computation employed so widely in industry and research. We will discuss errors in numerical computation, roots of nonlinear equations, systems of linear equations, algebraic eigenvalue problems, function approximations by polynomial interpolation and cubic spline interpolations, quadratures, numerical differentiation. Students will learn from lectures and a series of projects the basic theories and how to program for solving practical problems. Teaching Program Course Code: 21190640 Course Name: Numerical Analysis Weekly Hours: 2.5-1.0 Credits: 3 Teaching Goal and Basic Requirements: This course is an introduction to numerical computation employed so widely in industry and research. We will discuss some classical numerical methods for solving engineering problems, and analyze the related errors. Based on knowledge of Calculus, Linear Algebra and Programming Languages, the students are supposed to understand methods in numerical computation, roots of nonlinear equations, systems of linear equations, algebraic eigenvalue problems, function approximations by polynomial interpolation and cubic spline interpolations, quadratures, and numerical differentiation. Students will learn from lectures and a series of projects the basic theories and how to program for solving practical problems. Content of Courses & Hours Allocation: Mathematical Preliminaries Roundoff Errors and Computer Arithmetic Algorithms and Convergence 4 hrs Solutions of Equations in One Variable The Bisection Method Fixed-Point Iteration Newton's Method Error Analysis for Iterative Methods Accelerating Convergence 5 hrs Direct Methods for Solving Linear Systems Linear Systems of Equations Pivoting Strategies Matrix Factorization Special Types of Matrices 4 hrs Iterative Techniques in Matrix Algebra 4 hrs Norms of Vectors and Matrices Eigenvalues and Eigenvectors Iterative Techniques for Solving Linear Systems Error Bounds and Iterative Refinement Approximating Eigenvalues The Power Method 2 hrs Interpolation and Polynomial Approximation Interpolation and the lagrange Polynomial Divided Differences Hermite Interpolation Cubic Spline Interpolation 5 hrs Approximation Theory Discrete Least Squares Approximation Orthogonal Polynomials and Least Squares Approximation Chebyshev Polynomials and Economization of Power Series 5 hrs Numerical Differentiation and Integration Numerical Differentiation Elements of Numerical Integration Composite Numerical Integration Romberg Integration Richardson's Extrapolation Adaptive Quadrature Methods Gaussian Quadrature 5 hrs Initial-Value Problems for Ordinary Differential Equations The Elementary Theory of Initial-Value Problems Euler's Method Higher-Order Taylor Methods Runge-Kutta Methods Multistep Methods Higher-Order Equations and Systems of Differential Equations Stability 6 hrs Teaching Plan: 1.Use multi-media classrooms. 2.Laboratory Projects: 8 projects, 1 lab hour/week. 3.Homework: 2~3 hours/week. Recommended Textbooks and Other References: Textbook: Numerical Analysis, Seventh Edition, Richard L. Burden & J. Douglas Faires, Thomson Learning, Inc. 2001 Reference Books: [1] 《数值方法》 ,金一庆、陈越 编著,机械工业出版社, 2000 年 2 月 [2] 《现代数值分析》 ,李庆扬、易大义、王能超 编著,高等教育出版社 Operating System Principles Course Name Operating System Principles Course Code 21120050 Weekly Hours 3.0-0.0 Offered Semester Fall-Winter semester Textbooks Prerequisites Course Description Credits 3.0 Abraham Silberschatz,etc. Operating System Concepts (7th edition). John Wiley&Sons. 2006. Computer Organization, Data Structure, C Programming, Assembly Language Understanding the operating system as to a computer system. Studying the resource management technologies used by modern OSes. The course includes sessions of introduction, process management, memory management, file system management, I/O system management, and some selected advanced topics. Teaching Program Course Code: 21120050 Course Name: Operating System Principles Weekly Hours: 3.0-0.0 Credits: 3.0 Teaching Goal and Basic Requirements: Content of Courses & Hours Allocation: Introduction [2 hours] Processor and Process Management [18 hours] §2.1 Basics and the preliminary of processor management §2.2 Process ▲ §2.3 Processor scheduling §2.4 Process synchronization ▲ §2.5 Deadlock §2.6 Case study §3 Memory Management [10 hours] §3.1 Introduction §3.2 Contiguous allocation ▲ §3.3 Paging ▲ §3.4 Segmentation ▲ §3.5 Case study §1 §2 Virtual Memory ▲ §4.1 Introduction §4.2 Demand paging §4.3 Page replacement §4.4 Demand Segmentation §4.5 Case study §5 File System §5.1 Introduction §5.2 File §5.3 File operations §5.4 File access §5.5 Directory §5.6 File protection §6 File System Implementation §6.1 File system structure §6.2 File space allocation §6.3 Free space management §6.4 Case study §7 Device Management §4 [10 hours] [3 hours] [3 hours] [2 hours] Teaching Plan: This is primarily a lecture based course. Some Linux kernel projects are designed to help understanding OS principles and their applications. The Web site, http://os.zju.edu.cn, will be heavily engaged in terms of discussion, Q&A, homework, and information sharing. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Abraham Silberschatz,etc. Operating System Concepts (7th edition). John Wiley&Sons. 2006. Human-Computer Interaction Engineering Course Name Human-Computer Interaction Engineering Course Code 22190900 Weekly Hours 2.0-4.0 Offered Semester Spring semester Credits 2.0 1: <Human-Computer Interaction-(Third Edition)>,Alan Dix,Publishing Textbooks house of Electronics Industry. 2: <Human-Computer Interaction-User Centered Design and Evaluation-(Second Edition)>,Dong Jianming,Tsinghua University Press. (For Reference) Prerequisites Course Description None According to study of HCI and corresponding course experiments, students are expected to learn: The development and future trend of HCI, and the relationship between HCI and courses related to HCI. Design and development of User Interface HCI Design based on user experiments Evaluation of User-Centered-Design User Interface Design of different industry fields Multi-Modal Interaction Teaching Program Course Code: 21120680 Course Name: Human-Computer Interaction Engineering Weekly Hours: 2.0-4.0 Credits: 2.0 Teaching Goal and Basic Requirements: Content of Courses & Hours Allocation: Week 1: Introduction & Basic of HCI Course Introduction. Basic concepts of HCI. Development of HCI. Different cases of so-called HCI. Exercise 1: Give your definition of HCI and provide several successful examples of HCI. Week 2: Related courses Introduction of courses related to HCI, especially ergonomics and cognitive psychology. Week 3: User Interface Design 1 Basic introduction Detailed contents of UI design Corresponding Case Study Exercise 2: Interpret the checklists of UI design standard of Xerox. Week 4: User Interface Design 2 Tools for UI design Study to design UI and algorithm separately QT programming Exercise 3: UI design by tools Week 5: User Experience Design-User Model User Classification User Investigation and Research Exercise: Questionnaire design by interviewing. Week 6: UED- Task Model Introduce user task model. Subdivision of user task Exercise 4: User task subdivision Week 7: UED – Usability Design Usability design of UED Emotion design of UED Exercise: writing a paper about selected advanced security topics Week 8: Multi-modal Interaction Basic of Multi-model Interaction Current MMIs The future trend of HCI Teaching Plan: Integrate Case Study,6-8 homework after the class. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) 1. ―Human-Computer Interaction-(Third Edition)‖,Alan Dix,Publishing house of Electronics Industry, 2006. 2. ―Human-Computer Interaction-User Centered Design and Evaluation-(Second Edition)‖,Dong Jianming,Tsinghua University Press, 2007. Introduction to Human-Computer Interaction Course Name Introduction to Human-Computer Interaction Course Code 21120680 Weekly Hours 2 Offered Semester Spring semester 1. Jennifer Preece, Yvonne Rogers, Helen Sharp. Interaction design: Beyond human-computer interaction. Wiley Press, 2002. 2. Doug A. Bowman, Ernst Kruijff, Joseph J. LaViola, Ivan Poupyrev. 3D User Interfaces : Theory and Practice. Addison-Wesley Professional (July, 2004) Textbooks Prerequisites Computer Graphics Credits Course Description Human-computer interaction (HCI) is a discipline concerned with the design, evaluation and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them. This course covers the fundamental concepts, principles and key knowledge for human-computer interaction. The main contents include: brief introduction to HCI, user-centered design, usability analysis, user evaluation, foundation of 3d user interfaces and 3d interaction techniques, user interfaces for ubiquitous computing, and HCI-related hot topics. Teaching Program Course Code: 21120680 Course Name: Introduction to Human-Computer Interaction Weekly Hours: 2 Credits: Teaching Goal and Basic Requirements: Teaching Objectives: To let students have an overview of HCI and be aware of HCI issues through lectures and demonstrations. Demands: Students are expected to master the basic concepts, principles and key knowledge of HCI (including design principles, usability analysis, cognition model, task analysis, design evaluation, and foundations for 3D interaction), and know the basics of multi-modal interfaces in ubiquitous computing environments. Content of Courses & Hours Allocation: Introduction 4 hours 1.1 The definition 1.2 The development 1.3 The contents 1.4 Related subjects: Psychology, Human Factors, etc (2). User-centered design 4 hours 2.1 User understanding 2.2 Cognition model 2.3 Task analysis (3). Usability, experience design and evaluation 8 hours 3.1 Usability 3.2 Design Principles 3.3 User experience design 3.4 Metaphors 3.5 Evaluation (4). Foundations of 3D user interfaces and 3D interaction techniques 8 hours 4.1 Introduction to 3D user interfaces 4.2 History and roadmap 4.3 Hardware technologies for 3D user interfaces 4.4 3D selection and direct manipulation 4.5 3D navigation 4.6 System control and typical examples (interactive toy, voice input, vision-based interaction) (5). User Interface for ubiquitous computing environments 5.1 Interface prototyping 5.2 Internet-based interaction 5.3 Pen-based interaction 5.4 Game interaction design 5.5 Hand-hold facilities interface design (6). Open topics 6.1 The future of human-computer interaction 6.2 Other hot topics (Tangible UI, BCI, etc. ) 4 hours 4 hours Teaching Plan: (1) 2 hours per week, 16 weeks (2) Using multimedia courseware, bilinguistic Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Textbooks: 1. Jennifer Preece, Yvonne Rogers, Helen Sharp. Interaction design: Beyond human-computer interaction. Wiley Press, 2002. 2. Doug A. Bowman, Ernst Kruijff, Joseph J. LaViola, Ivan Poupyrev. 3D User Interfaces : Theory and Practice. Addison-Wesley Professional (July, 2004) References: 3. Alan Dix, Janet E. Finlay, Gregory D. Abowd, Russell Beale, Human-Computer Interaction (3rd Edition). Prentice Hall. December, 2003. 4. R. J. Torres. User interface design and development. Prentice Hall PTR, NJ, 2002. 5. Mary Beth Rosson, John M. Carroll. Usability engineering. Morgan Kaufmann Publishers, CA, 2002. 6. 罗仕鉴,朱上上,孙守迁. 人机界面设计. 北京:机械工业出版社,2002 7. 董士海,王坚,戴国忠. 人机交互和多通道用户界面.北京:科学出版社,1999 Multimedia Technologies Course Name Multimedia Technologies Course Code 21190740 Weekly Hours 4 Offered Semester Spring semester Textbooks Fundamentals of Multimedia Prerequisites Credits 2 This course aims at introducing the basic ideals in multimedia to students. The main content covered in this course is multimedia data compression. Data compression turns out to be an important enabling technology that makes modern multimedia system possible. We will introduce both lossless and lossy compression methods and several common used Course Description compression standards, including still JPEG image compression standards, video compression standards such as MPEG-1,MPEG-2,MPEG4 and beyond. We also consider some basic audio compression techniques such as MP3.At the last part of this course, we go on to briefly introduce some network technologies and protocols that make interactive multimedia applications possible. Teaching Program Course Code: 21190740 Course Name: Multimedia Technologies Weekly Hours: 4 Credits: 2 Teaching Goal and Basic Requirements: This course is for students who want to learn basic concepts of multimedia technologies. The main contents of these concepts include how to present image, audio and video data. Students will learn several popular lossless compression algorithms and commonly used Image and video compression standards, such as JPEG,JPEG2000,MPEG-1,MPEG-2,MPEG-4,H.26x. Students will be required to finish their homework seriously in order to digest and consolidate what they learn. Teacher will assign sufficient homework at each teaching stage and give feedback to students in time. The grades of homework account for a certain proportion of the final score. Content of Courses & Hours Allocation: This course aims at introducing the basic ideals in multimedia to students. The main content covered in this course is multimedia data compression. Data compression turns out to be an important enabling technology that makes modern multimedia system possible. We will introduce both lossless and lossy compression methods and several common used compression standards, including still JPEG image compression standards, video compression standards such as MPEG-1,MPEG-2,MPEG4 and beyond. We also consider some basic audio compression techniques such as MP3.At the last part of this course, we go on to briefly introduce some network technologies and protocols that make interactive multimedia applications possible. Teaching Plan: 2007.11.19~2007.11.25 Chapter 1 Introduction 2 hours chapter 2 Basic Knowledge of Images 2 hours 2007.11.26-2007.12.2 Chapter 3 Fundamentals of Colors 2 hours Chapter 4 Fundamentals of Video 2 hours 200.7.12.3-2007.12.9 Chapter 5 Fundamentals of Audio 2 hours Chapter 6 Direction of Exercises 2 hours 2007.12.10-2007.12.16 Chapter 7 Lossless Compression 2 hours Chapter 8 Lossy Compression 2 hours 2007.12.17-2007.12.23 Chapter 9 Image Compression Standards 2 hours Chapter 10 Basic Concepts of Video Compression 2 hours 2007.12.24-2007.12.30 Chapter 11 MPEG Video Compression (Part 1)2 hours Chapter 12 MPEG Video Compression (Part 2)2 hours 2007.12.31-2008.1.6 Chapter 13 Audio Compression 2 hours 2008.1.7-2008.1.13 Chapter 14 Exercises 2 hours Chapter 15 Multimedia Network Compression and Applications 2 hours Teaching Process The process of teaching mainly includes teaching and homework. Teacher will assign sufficient homework at each teaching stage so as to improve the effect of teaching and learning and the grades of homework accounts for a certain proportion of the final score. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Fundamentals of Multimedia, Ze-Nian Li Mark S.Drew, China Machine Pub,Aug.2004 Some reference website: http://www.jpeg.org/jpeg2000/ http://www.chiariglione.org/mpeg/index.htm http://www.m4if.org/ http://bmrc.berkeley.edu/ Principle of Compilers Course Name Principle of Compilers Course Code 21120470 Weekly Hours 2.0-0.0 Offered Semester Spring semester Credits 2.0 Textbooks Prerequisites Course Description 《Modern Compiler Implementation in C》 Andrew W. Appel, Posts & Telecom PRESS,2005.9 Data structure 、Assemble Language,A programming language Compiler Principle introduces major components of a compiler including: preprocessor, scanner, parser, symbol table. Code generator, semantic analyzer and target code optimizer will also be introduced simply. Students are assumed to learn the following fundamentals: regular expression, automation, context-free grammars and etc, and they are supposed to grasp the lexical analyzer basing automation, the parser of top-down parsing, bottom-up parsing and the syntax-directed translation. Teaching Program Course Code: 21120470 Course Name: Principle of Compilers Weekly Hours: 2.0-0.0 Credits: 2.0 Teaching Goal and Basic Requirements: Compiler Principle introduces major components, basic principle and important technology of a compiler. Students are assumed to learn, understand and grasp the compiler. Students learn the following fundamentals: regular expression, automation, context-free grammars and etc, and they are supposed to grasp the lexical analyzer automatically, the parser of top-down parsing, bottom-up parsing and the syntax-directed translation. Content of Courses & Hours Allocation: 1. 2. 3. 4. 5. 6. basic concept of the compiler 2.5 periods the basic meaning of the compile, basic structure of a compiler, other concepts relevant to a compiler. lexical analysis 6.5 periods regular expressions representing patterns of strings of characters and definitions of NFA, DFA are introduced. Methods from a regular expression to an NFA, from an NFA to a DFA are introduced. The students will understand how to fulfill a scanner (lexical analysis) automatically. a context free grammar and analysis 7 periods some basic concepts in the context-free grammar are discussed, including programming language grammar designing, syntax tree, parse tree, ambiguity in grammar removing, left recursion removing and left factoring. LL(1) grammar and parser 7 periods Recursive-descent parsing and LL(1) parsing are discussed. We introduce top-down parsing techniques basing table-driven methods, constructing LL(1) parsing table, designing LL(1) grammar and fulfilling parsing program basing LL(1) table-driven. Some methods about error repairing and recovering are discussed simply. LR grammar and parser 7 periods LR parsing techniques and methods are introduced including the parsing methods and algorithms. The finite automata and parsing algorithms of LR(0),SLR(1),LALR(1) and LR(1) are discussed. symbol table arrangement and code generation 4 periods the structure of symbol table and some concept relevant to symbol table are introduced. The semantic analysis, attributes , attribute grammars and intermediate code are discussed simply. Teaching Plan: 2 hours homework per week. TA (a graduate student) checks the homework and mark. The courseware(ppt) can be download from the FTP. The teaching with multimedia The final examination is the written examination. The score includes three parts: attend class 15%, homework 15%, The final examination 75% Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) 《Modern Compiler Implementation in C》, Andrew W. Appel, Posts & Telecom PRESS, 2005.9 《Compiler Construction Principles and Practice》 ,Kenneth C. Louden,China Machine PRESS, 2002,8 Principles of Information Security Course Name Principles of Information Security Course Code 21190850 Weekly Hours 2.0-0.0 Offered Semester Spring Semester Textbooks Prerequisites Credits 2.0 ―Computer Security: Art and Science", Matthew Bishop, Addison-Wesley, 2002. Computer Network Help students understand various issues of information security, such as confidentiality, integrity, availability; authentication models; protection Course Description models; security kernels; secure programming; audit; intrusion detection and response; policy formation and enforcement; access controls; information flow; identification and authentication in local and distributed systems; classification and trust modeling; risk assessment. Teaching Program Course Code: 21190850 Course Name: Principles of Information Security Weekly Hours: 2.0-0.0 Credits: 2.0 Teaching Goal and Basic Requirements: Help students understand various issues of information security, such as confidentiality, integrity, availability; authentication models; protection models; security kernels; secure programming; audit; intrusion detection and response; operational security issues; physical security issues; personnel security; policy formation and enforcement; access controls; information flow; legal and social issues; identification and authentication in local and distributed systems; classification and trust modeling; risk assessment. The students are required to understand basic concept of information security and security infrastructure. Besides, they are required to know how to use certain security products. Content of Courses & Hours Allocation: This course help students understand various issues of information security, such as confidentiality, integrity, availability; authentication models; protection models; security kernels; secure programming; audit; intrusion detection and response; operational security issues; physical security issues; personnel security; policy formation and enforcement; access controls; information flow; legal and social issues; identification and authentication in local and distributed systems; classification and trust modeling; risk assessment. Week 1: Introduction & Basic of Information Security Course Introduction. Basic concepts of information security: trust, security, threat, countermeasure, etc. Week 2: Cryptography Cryptography: History Single key Crypto-system Public Key Crypto-system Exercise: try to decrypt a given ciphertext. Week 3: OS Security Authentication, authorization and identification. Access Control Matrix Model. Bell-LaPadula model, and more formal policy models. Information flow. Week 4: Malicious Code Concept and classification of malicious code Trojan horses Computer viruses and worms Defenses techniques Week 5: Trusted Computing & Trusted OS Concept of TCG (Trusted Computing Group) The Core Component - TPM System Layout based on TCG Secure design principles. TCB and security kernel construction. Week 6: Network Security 1 Web Security & Browser Security. Network Phishing & Online Identity Management Week 7: Network Security 2 TCP/IP Security. Typical attacks and possible countermeasures Botnets and Denial of Service Exercise: writing a paper about selected advanced security topics Week 8: Network Security 3 Firewall: concept and classification Misuse and intrusion detection: host, network, distributed, application. Pattern and behavior detection. Distributed attacks and defenses. Teaching Plan: Integrate Case Study and Discussion into the class. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) [1]―Computer Security: Art and Science", Matthew Bishop, Addison-Wesley, 2002. [2] “ 计 算 机 安 全 : 艺 术 与 科 学 ”, Matthew Bishop, 清 华 大 学 出 版 社 , 2004.http://www.china-pub.com/computers/subject/huodong/sanshe/sale.asp Overview of Digital Communication Systems and Networks Course Name Overview of Digital Communication Systems and Networks Course Code 22190780 Weekly Hours 4 Offered Semester Spring semester Textbooks Prerequisites Credits 2.0 William Stallings, Wireless Communications and Networks, Prentice Hall, 2002 Analog Circuits, Digital Circuits, Probability and Random Processes, Signals & Systems Introduction to the basic principles of the design and analysis of modern digital communication systems. Topics include source coding; information theoretic techniques; analog and digital modulation techniques; block, convolutional, and trellis coding techniques; multiuser communications Course Description and spread spectrum; multi-carrier techniques and FDM. This course also provides a comprehensive introduction of the development of modern communication systems, including the first generation analog, the second generation TDMA and CDMA, and some representative examples of the third generation systems ⎯ WCDMA and UMTS. Software Architecture Course Name Software Architecture Course Code 21190840 Weekly Hours 4.0-0.0 Offered Semester Spring semester Textbooks Prerequisites Credits 2.0 Software Architecture in Practice,2/e, L. Bass, P. Clements, and R. Kazman, Tsinghua University Press, 2003 Software Engineering As the software component of systems becomes larger and more complex, the need to understand them at a higher level of abstraction becomes more important. The software architecture of a computing system describes the overall structure of the system in terms of the software components, the externally visible properties of those components, and the relationships among them. For large software system like traffic management systems, Course Description process control systems, and command-and-control systems, the choice of software architecture is becoming more crucial within the overall development process. This course will discuss different software architecture styles, their properties and the types of problems for which they are most appropriate, it will examine different formalisms for specifying software architecture, and it will explore the role of software architecture throughout the software development life cycle. Project Management and Case Study Course Name Project Management and Case Study Course Code 21120710 Weekly Hours 4.0-2.0 Offered Semester Spring-Summer semester Textbooks Prerequisites Credits 2.5 Information Technology Project Management, Schwalbe, Kathy, 4nd ed., Course Technology, Software Engineering As the important part in software engineering, the course gives the students some capability of project and process management techniques and organization operation. the case and practice provide an understanding Course Description and application of project management conception and processes. It includes project concept, project development life cycle, project selection, project planning, resource management, cost-benefit analysis, time management, quality management. Students learn the importance of effective communication and integration. Software Engineering Course Name Software Engineering Course Code 21120261 Weekly Hours 2.0-1.0 Offered Semester Spring-Summer semester Textbooks Prerequisites Credits 2.5 Software Engineering – A Practitioner‘s Approach, 6th Edition, Roger S. Pressman, Tsinghua University Press, 2006 Fundamentals of C Programming Teaching Program Course Code: 21120261 Course Name: Software Engineering Weekly Hours: 2.0-1.0 Credits: 2.5 Teaching Goal and Basic Requirements: Teaching Objective: ―Software Engineering‖ is for senior undergraduate students majored in Computer Science. This course guides the students to understand the significance of some fundamental concepts of software engineering. The frame works are introduced, such as the fundamental principles and concepts of software engineering, and its methods and tools. Projects are assigned to help students experience the life-cycle of a large-scaled software during practice. Basic Requirements: Students are supposed to 1. Understand the fundamental principles and concepts of software engineering. Software management, system modeling, requirement analysis, system design, component-level design, coding, testing, maintenance are covered; 2. Learn to use some basic methods and tools such as project management, data flow diagrams, data dictionary, conventional and object-oriented analysis methods, testing methods, and project measurements; 3. Master the methods and tools by experiencing practice of developing a large-scaled project. Content of Courses & Hours Allocation: Ch.1 Introduction -- 2 hrs Ch.2 -3 The Process -- 2 hrs Ch.21 Project Management; Ch.5 + 6 System Engineering Ch.7 Requirement Engineering Ch.8 Analysis Model -- 2 hrs -- 2 hrs -- 2 hrs Ch.26 SQA; Ch.27 Change; Ch.9 Design Engineering Ch.10 Architectural Design -- 2 hrs -- 2 hrs Ch.13 Testing Strategies -- 2 hrs Ch.14 Testing Tactics -- 2 hrs Ch.11 Component-level Design; Ch.12 UI Design Ch.16 Web Engineering; Ch.17 WebApp Project Ch.18 Analysis; Ch.19 Design -- 2 hrs -- 2 hrs -- 2 hrs Ch.20 Testing for WebApp; Ch.24 Scheduling; Ch.25 Risk -- 2 hrs Ch.4 Agile; Ch.15 Product Metrics; Ch.22 Project Process Metrics -- 2 hrs Ch.23 Estimation -- 2 hrs Review -- 2 hrs Teaching Plan: 1. Use multi-media classrooms. 2. Homework: 1~2 hours/week. 3. Laboratory Project: Students will be partitioned into 6 ~10 teams to develop a large-scaled system. The assessment includes Requirement Specification report, System Design presentation, Testing Plan report, Version 1.0 Release, Version 2.0 Release, System Integration, and Web Design presentation. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Textbook: Software Engineering – A Practitioner‘s Approach, 6th Edition, Roger S. Pressman, Tsinghua University Press, 2006 Reference Books: 1. 《Software Engineering, Theory and Practice》Shari Lawrence Pfleeger Prentice-Hall, Inc. (1998) 2. 《软件工程导论》 (第三版) ,张海藩,清华大学出版社(1997) 3. 《实用软件工程》 (第二版) ,郑人杰、殷人昆、陶永雷,清华大学出版社(1996) 4. 《Fundamentals of Software Engineering》Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, Prentice-Hall, Inc. (1991) Computer Architecture Course Name Computer Architecture Course Code 21191061 Weekly Hours 2.5-1.0 Offered Semester Spring-Summer semester Textbooks Prerequisites Course Description Credits 3.0 《Computer Architecture--A Quantitative Approach》, Fourth Edition, John L. Hennessy,David A. Patterson,China Machine Press Computer Organization, Operating System This course focuses on introduction of fundamental concepts of computer architecture, the task of computer design, quantitative principles of computer design, and performance evaluation of computer systems. The topics will cover quantitative principles of computer design, instruction set principles and examples, characteristics of CISC and RISC machines, basic and intermediate concepts for pipelining, causes and resolutions for pipeline hazards, memory hierarchy, improvement of cache performance, basic concepts for multiprocessors. Teaching Program Course Code: 21191061 Course Name: Computer Architecture Weekly Hours: 2.5-1.0 Credits: 3.0 Teaching Goal and Basic Requirements: Teaching Objectives:To learn the basic concepts and principles of computer architecture. To know how to design a computer using the quantitative approaches. To learn the methods evaluating the performance of a computer system. Requirements: We learn this course to know how to design a computer via trade-off. How the computer works, which involves architecture at many levels through algorithm, compiler, machine code to instruction set architecture level and micro-architecture level. Students are expected to learn the processor pipeline, pipeline hazards, memory hierarchy and methods to improvement cache performance, memory technology and optimizations, virtual memory and virtual machines, and multiprocessors. Content of Courses & Hours Allocation: Introduction to the course ( 1 credit-hour ) Chapter 1:Fundamentals of Computer Design (5 credit-hours) 1.1 Introduction 1.2 Classes of Computers 1.3 Defining Computer Architecture 1.4 Trends in Technology 1.5 Trends in Power in integrated circuits 1.6 Trends in cost 1.7 Dependability 1.8 Measuring, reporting and summarizing performance 1.9 Quantitative principles of computer design 1.10 Performance and price-performance 1.11 Answer to assignments Chapter 2:Instruction Set Principles and Examples ( 5 credit-hours) 2.1 Introduction 2.2 Classifying instruction set architecture 2.3 Memory addressing 2.4 Type and size of operands 2.5 Operation in the instruction set 2.6 Instruction s for control flow 2.7 Encoding an instruction set 2.8 The role of compilers 2.9 The MIPS architecture 2.10 Answer to assignments Chapter 3:Pipelining: Basic and Intermediate Concepts ( 12 credit-hours) 3.1 Introduction 3.2 The Major hurdles of pipelining-pipeline hazards 3.3 How is pipelining implemented ? 3.4 What makes pipelining hard to implement? 3.5 Extending the MIPS pipeline to handle multicycle operations 3.6 The MIPS R4000 pipeline 3.7 Survey of Instruction Level Parallelism 3.8 Answer to assignments Chapter 4 : Memory Hierarchy Design 10 hours 4.1 Introduciton 4.2 Cache performance 4.3 Six Basic cache optimizations 4.4 Eleven advanced optimizations of cache performance 4.5 Memory technology and optimizations 4.6 Virtual memory 4.7 Protection and examples of virtual memory 4.8 Virtual memory and virtual machines 4.9 The design of memory hierarchies 4.10 AMD opteron memory hierarchy 4.11 Answer to assignments Chapter 5: Multiprocessors ( 2 credit-hours) 5.1 Introduciton 5.2 Symmetric Shared-Memory Architecture 5.3 Performance of Symmetric Shared-Memory Architecture 5.4 Distributed shared memory and directory-based coherence Chapter 6:Perspective of computer architecture ( 2 credit-hours) Overview of the course:( 3 credit-hours) Lab assignments: 1. Understand how to design a simple and to know the MIPS instructions to be implemented. 2. Learn to install and use MaxPlus II. 3. Use MaxPlusII to design CPUs and perform function simulation step by step according to the project tutorial. a) Function Unit design, including Multiplexers、Adder、Shifter、ALU、Register file b) Single-cycle CPU c) Multiple-cycle CPU d) Pipelined CPU Teaching Plan: 1. 2. 3. 4. 5. Class teaching with lecture notes in PowerPoint files. At least two pop quizzes. Homework for each chapter. Lab assignments, about 32 credit hours. Lab assignments includes: 1) basic function units design; 2) single-cycle CPU design; 3) multiple-cycle CPU design; 4) pipelined CPU design. 6. Lecture notes and instructions for lab assignments can be downloaded via FTP. 7. Course website providing learning materials. 8. Bonus can be added to one‘s final grade if his lab assignments are finished extremely well done. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) 1. ―Computer Architecture-A Quantitative Approach‖, Fourth Edition,John L. Hennessy,David A. Patterson,China Machine Press. ISBN: 7-111-20378-X, Jan. 2007. 2. ―Computer Architecture-A Quantitative Approach(3rd edition)‖(in Chinese) , John L. Hennessy , David A. Patterson , Translated by Zheng-Weimin, Tang-Zhizhong,Wang-Dongsheng, Publishing House of Electronics Industry,ISBN: 7-5053-9916-0, July,2004. Fundamentals of Computer Networks Course Name Fundamentals of Computer Networks Course Code 21120850 Weekly Hours 3-1 Offered Semester Spring-Summer semester Textbooks Prerequisites Credits 3.5 Computer Networks (Fourth Edition) , Andrew S. Tanenbaum, Tsinghua University Press, 2004. Computer Structure, C++ Language From the perspective of network architecture, network principles and related fundamental concepts and methods in digital communication, internetworking and advanced protocols are introduced in this course. Some significant functions and relative protocols in network architecture together with recent developments of network and their technologies are Course Description also introduced. Students can get familiar with fundamental computer network principles and basic knowledge of the field through the course learning. And a thorough understanding of commonly used network and network security technology can be obtained with intimate knowledge of network architecture, functional principles and various of network protocols (especially that of TCP/IP). Teaching Program Course Code: 21120850 Course Name: Fundamentals of Computer Networks Weekly Hours: 3.0-1.0 Credits: 3.5 Teaching Goal and Basic Requirements: Teaching Objective: From the perspective of network architecture, network principles and related fundamental concepts and methods in digital communication, internetworking and advanced protocols are introduced in this course. Some significant functions and relative protocols in network architecture together with recent developments of network and their technologies are also introduced. Basic Requirements: Students can get familiar with fundamental computer network principles and basic knowledge of the field through the course learning. And a thorough understanding of commonly -used network and network security technology can be obtained with intimate knowledge of network architecture, functional principles and various of network protocols (especially that of TCP/IP and Internet). Content of Courses & Hours Allocation: Week Lecture Outline Hour 1 The history and actual of computer networks. Concepts of protocols. Network architectures. Network standardization. Reference models. Comparison of the OSI and TCP/IP reference models. Example networks, such as Internet, Ethernet, Frame Relay, ATM, WLAN and so on. 3 2 Physical Layer: The theoretical basis for data communication. Guided transmission media (Coaxial cable, twisted pair and fiber optics). Wireless transmission. 3 3 Physical Layer: Communication satellites. The PSTN (Modem, xDSL). The mobile telephone system. Cable television (Broadband technology, cable modem). 3 4 Data Link Layer: Design issues. Error detection and correction. Elementary Data link protocols. 3 5 Data Link Layer: Sliding window protocols. Protocol verification. Example data link protocols(HDLC and PPP). 3 6 MAC Sublayer: The Channel Allocation Problem. Multiple Access Protocols. Ethernet. (Switched Ethernet, Fast Ethernet, Gigabit Ethernet, etc.) 3 7 MAC Sublayer: Wireless LANs. Broadband Wireless. Bluetooth. Data Link Layer Switching technologies(Spanning tree bridges, Repeaters, Hubs, Bridges, Switches, Routers, Gateways and VLANs) 3 8 Network Layer: Design issues. Routing algorithms (Distance vector routing and Link state routing). 3 9 Network Layer: Congestion control algorithms. Quality of service. Internetworking. IP protocol, ICMP protocol. The migrating technology from IPv4 to IPv6. MPLS technology. 3 10 Network Layer: Interior gateway routing protocols (RIP, OSPF), Exterior gateway routing protocols (BGP), IP Multicasting, DHCP protocol , Network Address Translation(NAT). 3 11 Transport Layer: The transport service. Elements of transport protocols. The Internet Transport Protocols: UDP. 3 12 Transport Layer: The Internet transport protocols: TCP. Performance issues. 3 13 Application Layer: The domain name system (DNS). Electronic mail (SMTP, POP3). File transfer protocol (FTP, TFTP). 3 14 Application Layer: The World Wide Web (Static pages, Dynamic pages, Enhanced performance, HTTP, HTTPS, Wireless WEB). IP network and Multimedia. 3 15 Network Security: Cryptography. Symmetric-Key Algorithms (DES,AES). Public-Key Algorithms (RSA and so on). Digital Signatures. Management of Public Keys (Digital certificates, X.509). 3 16 Network Security: Communication security (IPsec, Firewall and VPN). Authentication protocols. E-Mail Security (PGP and so on). Web Security. 3 17 Final Exam. 3 Teaching Plan: 1. Use multi-media classrooms. 2. Laboratory Practice: 1 hours/week. Team work with 3 projects. 3. Homework: 3~5 hours/chapter. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Textbook: Andrew S. Tanenbaum,Computer Networks, 4/E,Tsinghua University Press,2004 Reference Books: [1].Computer Networks and Internets With Internet Applications --Third Edition,Douglas E.Comer, Tsinghua University Press,2002 [2].Computer Networks,4/E, XIE Xiren, Electric Industry Press, 2003 Network Programming Course Name Network Programming Course Code 21191200 Weekly Hours 1.0-2.0 Offered Semester Summer semester Credits 2.0 《UNIX Network Programming Volume 1, Third Edition: The Sockets Textbooks Networking API》 ,W.Richard Stevens, Bill Fenner, Andrew M. Rudoff, 机 械工业出版社,2004 Prerequisites Fundamentals of Computer Networks, Object Oriented Programming This course is designed to provide students with and understanding about the standards, implementations, and techniques of network programming. Course Description The students will learn the technique details of the sockets, included TCP and UDP. This course guidance for building robust, high-performance networked systems. Teaching Program Course Code: 21191200 Course Name: Network Programming Weekly Hours: 1.0-2.0 Credits: 2.0 Teaching Goal and Basic Requirements: This course is designed to provide students with and understanding about the standards, implementations, and techniques of network programming. The students will learn the technique details of the sockets, included TCP and UDP. This course guidance for building robust, high-performance networked systems. Content of Courses & Hours Allocation: Lesson 1 Introduction and TCP/IP Lesson 2 Sockets Introduction Lesson 3 Elementary TCP Sockets Lesson 4 I/O Multiplexing Lesson 5 Socket Options Lesson 6 Elementary UDP Sockets Lesson 7 Elementary SCTP Sockets Lesson 8 Name and Address Conversions Lesson 9 Advanced I/O Functions Lesson 10 Nonblocking I/O Lesson 11 ioctl Operations Lesson 12 Broadcasting and Multicasting Lesson 13 Advanced UDP Sockets Lesson 14 Out-of-Band Data Lesson 15 Raw Sockets Laboratory Projects: TELNET Protocol Programming TFTP Protocol Programming P2P Programming 2 hours 1 hour 1 hour 1 hour 1 hour 1 hour 1 hour 1 hour 1 hour 1 hour 1 hour 1 hour 1 hour 1 hour 1 hour 8 hours 12 hours 12 hours Teaching Plan: Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) 《UNIX Network Programming Volume 1, Third Edition: The Sockets Networking API》, W.Richard Stevens, Bill Fenner, Andrew M. Rudoff, 机械工业出版社,2004 Algorithm Design and Analysis Course Name Algorithm Design and Analysis Course Code 22120011 Weekly Hours 2.0-4.0 Offered Semester Summer semester Introduction to algorithms, Second Edition. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein. The MIT Press. ISBN: 0262032937. 2001. Textbooks Credits 1.0-2.0 Prerequisites One programming language; Data Structure Course Description 《Algorithm design and analysis》is the fundamental course of theoretical computer science. This course covers the basic knowledge of algorithm designing and analysis, includes many practice problems, such as many problems appear in ACM/ICPC. Mainly, this course is to offer the institution of algorithms and the techniques of algorithm designing and analyzing. The outcomes of the course are: 1) Understand the concepts and skills of algorithm design; 2) Implement some well-known algorithms; 3) Could roughly analyze the performance of algorithms. Teaching Program Course Code: Course Name: Algorithm Design and Analysis Weekly Hours: 2.0-4.0 Credits: 1.0-2.0 Teaching Goal and Basic Requirements: 《Algorithm design and analysis》is the fundamental course of theoretical computer science. This course covers the basic knowledge of algorithm designing and analysis, includes many practice problems, such as many problems appear in ACM/ICPC. Mainly, this course is to offer the institution of algorithms and the techniques of algorithm designing and analyzing. The outcomes of the course are: 1) Understand the concepts and skills of algorithm design; 2) Implement some well-known algorithms; 3) Could roughly analyze the performance of algorithms. Content of Courses & Hours Allocation: 1. Mathematical Fundament 1.1 Fundamental of algorithms 1.2 SUMS, Sets 1.3 Special Numbers (Stirling numbers, Harmonic numbers, Eulerian numbers et al.) 2. Fundamental Algorithms 2.1 Divide-and-Conquer 2.1.1 Mergesort 2.1.2 Multiplication 2.1.3 Matrix multiplication 2.1.4 Discrete Fourier transform and Fast Fourier transform 2.2 Dynamic Programming 2.2.1 Longest increasing subsequence 2.2.2 Sequence alignment 2.2.3 Longest common subsequence 2.3.4 Matrix-chain multiplication 2.3.5 Independent sets in tree * 2.3 Greedy method 2.3.1 Interval scheduling 2.3.2 Set cover 2.3.3 Matroids * 2.4 NP problem and NP-completeness 2.4.1 The classes P and NP 2.4.2 NP-completeness and reducibility 2.4.3 NP-complete problems 2.5 Approximate Algorithm 2.5.1 Vertex cover 2.5.2 Load balancing 2.5.3 Traveling salesman problem 2.5.4 Subset sum problem 2.6 Amortized Analysis * 3. Applications of Algorithms 3.1 Local Search 3.1.1 The Metropolis Algorithm and Simulated Annealing 3.1.2 Local Search to Hopfield Neural Networks(Nash Equilibria) 3.1.3 Maximum Cut Approximation via Local Search 3.2 Graph Theorem 3.2.1 Fundamental of Graph theorem 3.2.2 Simple introduction to Linear Programming 3.3 Computational Geometry 3.3.1 Notation and Line-segment 3.3.2 Properties of line 3.3.3 Convex hull 3.3.4 Closest pair problem 3.3.5 Polygon Triangulation 3.4 String Matching* 3.4.1 Simple algorithm for string matching 3.4.2 The Karp-Rabin algorithm 3.4.3 Finite automata, The Knuth-Morris-Pratt algorithm 3.5 Randomized Algorithm 3.5.1 Random variables and expectations 3.5.2 A Randomized MAX-3-SAT 3.5.3 Randomized Divide-and-Conquer 3.6 Number-Theoretic * 3.7 BigNums * 3.8 Advance Data Structure* Skip list, Fibonacci Heaps, Data Structures for Disjoint Sets 3.9 Matrix operations* 3.10. Online Algorithms 3.10.1 General lower bounds 3.10.2 Doubling Technique for upper bounds *:Optional contents Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Textbooks: Introduction to algorithms, Second Edition. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein. The MIT Press. ISBN: 0262032937. 2001. References: 1. Concrete Mathematics Ronald L. Graham, Donald E. Knuth, Oren Patashnik. Addison-Wesley Publishing Company. ISBN: o-201-14236-8.2005. 2. Algorithm Design Jon Kleinberg, Eva Tardos, Addison Wesley. ISBN: 0-321-29535-8 2005. 3. Algorithms S. Dasgupta, C.H. Papadimitriou, and U. V. Vazirani. May 2006. 4. Combinatorial Algorithms Jeff Erickson. University of Illinois, Urbana-Champaign. Lecture Notes. Fall 2002. Capability Maturity Model Course Name Capability Maturity Model Course Code 22120011 Weekly Hours 2.0-1.0 Offered Semester Summer semester Credits 2.5 《CMMI: Guidelines for Process Integration and Product Improvement》, Textbooks Mary Beth Chrissis, Mike Konrad, Sandy Shrum, Tsinghua University Press, ISBN: 7-302-07868-8/TP·5715, 2004-11。 Prerequisites The course introduces basic concepts of CMMI, including process areas and relationships among process areas, process institutionalization, continuous and staged representations, how to use CMMI models, etc. Process areas concerning software process management will be introduced Course Description and discussed in detail, including requirements management, project planning, risk management, project monitoring and control, measurement and analysis, process and product quality assurance, configuration management, etc. Students will also be organized into several development teams to finish separate projects and present their achievements in the class. Teaching Program Course Code: 22120011 Course Name: Capability Maturity Model Weekly Hours: 2.0-1.0 Credits: 2.5 Teaching Goal and Basic Requirements: The students are expected to understand the basic principles and components of software process management and CMMI, and that successful software development can be achieved by software process improvement. The students are required to first set up a goal targeting a specific capability level or maturity level, then select and tailor a realistic CMMI model to implement a practical software project. Content of Courses & Hours Allocation: 1. CMMI Introduction (2 hours) Evolution of CMMI; Process improvement concept; Source models of CMMI; Two different representations of CMMI. 2. Process Area Introduction (2 hours) Required, expected and information components of process area; Numbering scheme and typographical conventions in the process area. Categorization of process areas. Students are assigned with different process areas to start research. 3. Process Institutionalization (2 hours) Different levels of process, i.e., performed, managed, defined, quantitatively managed and optimized process; Generic goals and generic practices relating to different levels of process. 4. Relationships among process areas (4 hours) Four categories of CMMI process areas; Process area relationship in the same category as well as among different categories. Students are organized into separate teams and assigned with several projects. 5. Comparison of two different representations of CMMI (4 hours) Understanding capability levels and maturity levels; Comparison and equivalent staging of the two representations. 6. Using CMMI (2 hours) Two different aspects of using CMMI. One is for appraisals and benchmarking, the other is for process improvement. 7. Introduction of process areas in maturity level 2 (6 hours) Introduce software specific process areas in maturity level 2. Students are require to present their research achievements in requirement management, project planning, project monitoring and control, and configuration management. 8. Introduction of process areas in maturity level 3 (4 hours) Introduce software specific process areas in maturity level 3. Students are require to present their research achievements in integrated project management, requirement development, and risk management. 9. Introduction of process areas in maturity level 4 and 5 (2 hours) 10. Project presentation and level appraisal (4 hours) Every team presents their software process management achievements in the project development. Students are encouraged to give their comments on the maturity levels of different teams or capability levels of different processes. Teaching Plan: Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) 《CMMI: Guidelines for Process Integration and Product Improvement》, Mary Beth Chrissis, Mike Konrad, Sandy Shrum, 清华大学出版社, ISBN: 7-302-07868-8/TP·5715 Compiler Design Course Name Compiler Design Course Code 21190960 Weekly Hours 1.0-1.0 Offered Semester Summer semester Textbooks Prerequisites Course Description Credits 1.5 《Modern Compiler Implementation in C》 Andrew W. Appel, Posts & Telecom PRESS,2005.9 Data structure 、Assemble Language,A programming language, Compiler Principle This course assumes the students are familiar with major components of a compiler including: preprocessor, scanner, parser and symbol table. Compiler Design mainly introduces two program, LEX: a scanner generator and YACC: a parser generator. Also Compiler Design mainly introduces source code optimizer,syntax analyzer, code generator and target code optimizer. They are supposed to be able to design and implement a small full compiler after finishing the course. Teaching Program Course Code: 21190960 Course Name: Compiler Design Weekly Hours: 1.0-1.0 Credits: 1.5 Teaching Goal and Basic Requirements: Compiler design introduces major components of a compiler and how to design and accomplish a compiler. Students are assumed to learn, understand and grasp the basic methods and tools for fulfilling a compiler. Students learn the major component of a compiler: syntax analysis, code generation, code optimize and etc, and they are supposed to grasp the major tools LEX and YACC. Then they can finish a complier or parts of a compiler. Content of Courses & Hours Allocation: 17 periods, experiment classes are not included. 7. LEX and YACC 3 periods A LALR(1) parser generator (YACC) generating a parser automatically and a LEX generating a scanner automatically are introduced. 2. semantic analysis 4 periods Additional information needed for compilation are discussed. Attributes and attribute grammars are introduced. Also the data types and type checking relevant to semantic analysis are mainly introduced. 3. runtime environments 4 periods Memory organization during program execution is introduced: fully static runtime environment, stack-based runtime environment and dynamic memory and parameter passing mechanisms. 4. code generation 6 periods The main contents are intermediate code and data structure in code generation. Basic code generating technique including control statements, logical expressions, procedure and function calls. Some code optimization techniques are introduced. Teaching Plan: 1 hours homework per week. A project: the design and implementation of some modules of compiler. TA (a graduate student) checks the homework and mark. The courseware(ppt) can be download from the FTP. The teaching with multimedia The final examination is the written examination. The score includes four parts: attend class 10%, homework 5%, the project 25%, The final examination 60%. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) 《Modern Compiler Implementation in C》, Andrew W. Appel, Posts & Telecom PRESS, 2005.9 《Compiler Construction Principles and Practice》 ,Kenneth C. Louden,China Machine PRESS, 2002,8 Design and Project of Network System Course Name Design and Project of Network System Course Code 21190901 Weekly Hours 0.5-2 Offered Semester Summer semester Textbooks Prerequisites Credits 1.5 《 Cisco Networking Academy Program CCNA 3 and 4 Companion Guide》Third Edition,Cisco systems, Inc., Cisco Press; June 25, 2003; Fundamentals of Computer Networks This course introduces the practical technologies concerned switches, routers, CSU/DSU and Modems, analyses network structures of local area network and wide area network, and introduces configuration methods of static routing, RIP and OSPF protocols. And also the course introduces Course Description switching technology, LAN design, VLAN and point-to-point protocols. The goal of this course is to enhance practical skills of students on configuring network protocols, such as RIP、OSPF、DHCP、DNS、CHAP、 FTT and NAT, accumulate practical experience of network design and maintenance. Teaching Program Course Code: 21190901 Course Name: Design and Project of Network System Weekly Hours: 0.5-2.0 Credits: 1.5 Teaching Goal and Basic Requirements: Teaching Objective: From the perspective of network architecture, technologies and related project design methods, students are required to do a lot of experiments on network installation, configuration and debugging for switches and routers in this course. Basic Requirements: Students can get familiar with fundamental computer network principles and common used protocols via theory teaching and experiment. After this course, they can configure most of switches and routers, and can also design simple network systems. Content of Courses & Hours Allocation: Content of Teaching: Content of Teaching Week Lecture Outline Hour 1 Introduce laboratory environment, routers, switches and network OS and network commands 1 2 Introduce the principle and usage of switch 1 3 VLAN design and use 1 4 Introduce the principle and usage of router, and static route configuration 1 5 Introduce the principle, command and configuration of dynamic route protocol(RIP) 1 6 Introduce the principle, command and configuration of dynamic route protocol(OSPF) 1 7 Introduce the setup and usage of DNS,DHCP and WWW servers 1 8 Review and Exam. 1 Content of Experiment Week Lecture Outline Hour 1 To be familiar with laboratory hardware and software environment, To be familiar with multi-modes and commands of routers and switches, To configure routers as telnet server. 4 2 To be familiar with laboratory hardware and software environment, To be familiar with multi-modes and commands of routers and switches, To configure routers as telnet server. 4 3 To remove password of router and switch To install and upgrade IOS of router and switch via TFTP server 4 4 To configure switch and VLAN 4 5 To configure and analyses static route protocol 4 6 To configure and analyses dynamic static route protocol(RIP) 4 7 To configure and analyses dynamic static route protocol(OSPF) 4 8 To configure a router as a DHCP server 4 Teaching Plan: 1. Use multi-media classrooms. 2. Laboratory Practice: 4 hours/week. Team work with 7 projects. 3. To finish at least 5 experiment reports Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Textbook: Cisco Networking Academy Program CCNA 3 and 4 Companion Guide,Cisco systems, Inc., Cisco Press,2003 Reference Books: [1]. Network Practice Guide: Based on Cisco Routers and Switches, Lu Kui Jun, Tsinghua University Press,2007 [2]. CCNA Experiment Guide, Gary Heap,Lynn Mayness,[Translated by] Yuan Ai Ping, Posts and Telecom Press, 2002 [3]. Cisco Networking Academy Program: First-Year Companion Guide,2nd Edition, Cisco systems, Inc.,Cisco Press,2001 Mutual Fund Management and Services Course Name Mutual Fund Management and Services Course Code 21190980 Weekly Hours 2.0-0.0 Offered Semester Summer semester Textbooks Credits 2 ‗How Mutual Fund Works‘, Albert J. Fredman & Russ Wiler, Prentice Hall Press, 1997 Prerequisites None This course will illustrate the basic concepts and operational business knowledge of mutual fund. Mainly it will cover the topics as mutual fund Course Description setup, mutual fund management and operation, and services for mutual fund business such as custody, pricing, and reporting. Different roles within the mutual fund business such as investor, investment manager, transfer agent, custodian, and settlement will also be introduced. Teaching Program Course Code: 21190980 Course Name: Mutual Fund Management and Services Weekly Hours: 2.0-0.0 Credits: 2 Teaching Goal and Basic Requirements: This course will illustrate the basic concepts and operational business knowledge of mutual fund. Mainly it will cover the topics as mutual fund setup, mutual fund management and operation, and services for mutual fund business such as custody, pricing, and reporting. Different roles within the mutual fund business such as investor, investment manager, transfer agent, custodian, and settlement will also be introduced. Content of Courses & Hours Allocation: 1. Introduction 4 hours Basic concept of mutual fund and structure of fund management company; 2. Establishment and Distribution of Mutual Fund 4 hours How mutual fund is set up and distributed? The roles of investor, investment manager, investment advisor, and transfer agent; 3. Investment of Mutual Fund 4 hours Investment strategy and portfolio 4. Mutual Fund Return of Investment Analysis 4 hours Calculation of mutual fund net asset value and investment income 5.Mutual Fund Custody and Pricing 4 hours The concept of mutual fund custody and pricing 6. Mutual Fund Compliance and Risk Management 4 hours Risk analysis, mitigation, and mutual fund compliance 7. Fund Information Delivery and Reporting 4 hours Information delivery and reporting system and mechanisms 8. Fund Performance Analysis and Evaluation 4 hours Mutual fund performance analysis and evaluation Teaching Plan: 1. Multi-media teaching mode 2. Courseware and exercises can be downloaded from ftp server。 Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) ‗How Mutual Fund Works‘, Albert J. Fredman & Russ Wiler, Prentice Hall Press, 1997 ‗Mutual Fund‘, Hu Meng, Yu Lu, and Xiang Xinhua, China Financial Press, 2002 Middleware Technology Course Name Middleware Technology Course Code Weekly Hours 2.0-1.0 Credits Offered Semester Winter semester 2.5 Middleware Technology Principle and Application, Yunyong Zhang etc, Tsinghua University Press, ISBN:7-302-09399-7, Publication Date:2004 Web Services: Concepts, Architectures and Applications, Gustavo Alonso etc, Springer Press, ISBN:3-540-44008-9, 2004-08(manifold) Textbooks Distributed Event-Based Systems, Gero Muhl etc, Springer Press, ISBN: 3-540-32651-0, Publication Date: 2006-09(manifold) Distributed Computing: Principles, Algorithms, and Systems, Ajay Kshemkalyani etc, Cambridge University Press, ISBN: 978-0-521-87634-6, Publication Date: 2008-04(manifold) Prerequisites Course Description Java, Data Structures, Database, Computer Network The middleware, database and the operating system are called the three carriages of the enterprise‘s foundation application software. This course introduce the basic concept and theory, technology, the realization of the kernel and the latest progress of the new technology, middleware. And it will make students grasp the knowledge of rapid application development based on the middleware technology by introducing the self-developed Jtang Middleware Series. The content of this course mainly includes the Web server and AJAX technology, EJB object middleware technology, Event Middleware technology, JNDI technology, security middleware, workflow management technology, SOA and so on. Teaching Program Course Code: Course Name: Middleware Technology Weekly Hours: 2.0-1.0 Credits: 2.5 Teaching Goal and Basic Requirements: The middleware, database and the operating system are called the three carriages of the enterprise‘s foundation application software. This course introduce the basic concept and theory, use method, the realization of the kernel and the latest progress of the new technology, middleware. And it will make students grasp the knowledge of rapid application development based on the middleware technology by introducing the self-developed Jtang Middleware Series. Content of Courses & Hours Allocation: Ch1: Introduction: Middleware Technology‘s background, content, advancing front and course arrangement 2 hrs Ch2.1:WebTechnology :Web Server kernel analysis and system development 2 hrs Ch2.2:Web Technology : JSP application development、Form、Report system application 2 hrs Ch2.3:Web Technology : AJAX technology introduction 2 hrs Ch3.1: Object Middleware: EJB‘s background, usage and kernel 2 hrs Ch3.2: Object Middleware: Spring+Hibernate+data source 2 hrs Ch4.1:Event Middleware: MQ‘s background, usage and kernel 2 hrs Ch4.2: Event Middleware: content-based release subscription system, matching routing algorithm 2 hrs Ch5.1: JNDI+JMX: Directory service usage and the kernel Ch5.2: JNDI+JMX: JMX‘s usage and kernel 2 hrs Ch6.1: Security +Eclipse: PMI、JACC、JAAS Ch6.2: Security +Eclipse: Eclipse‘s integrating 2 hrs Ch7:Workflow Management Technology: Background, Workflow Mode, Engine, Usage 2 hrs Ch8.1: SOA Technology : Background、SOAP、UDDI、WSDL、WSFL 2 hrs Ch8.2: SOA Technology : SOA‘s usage、ESB Technology 2 hrs Ch8.3: SOA Technology : Semantic Web 2 hrs Ch9: Other Middleware Technology: J2ME、Cluster、Memory、Component、 2 hrs SAAS、Business Ch10:Report of team work : Every team descript the team‘s task 2 hrs Teaching Plan: 1.Grouping: No more than 6 students one group. 2. Use multi-media classrooms. 3. Use FTP to upload and download the courseware and the course homework. Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Middleware Technology Principle and Application, Yunyong Zhang etc, Tsinghua University Press, ISBN:7-302-09399-7, Publication Date:2004 Web Services: Concepts, Architectures and Applications, Gustavo Alonso etc, Springer Press, ISBN:3-540-44008-9, 2004-08(manifold) Distributed Event-Based Systems, Gero Muhl etc, Springer Press, ISBN : 3-540-32651-0, Publication Date: 2006-09(manifold) Distributed Computing: Principles, Algorithms, and Systems, Ajay Kshemkalyani etc, Cambridge University Press, ISBN:978-0-521-87634-6, Publication Date: 2008-04(manifold) Operating Systems: Analysis and Projects Course Name Operating Systems: Analysis and Projects Course Code 21120360 Weekly Hours 6 Offered Semester Winter semester Textbooks Learning With Practice – Instruction of Linux Kernel Prerequisites C programming, Computer organization Credits 2 Through the learning and practice of this course, the students are required to be familiar with the Linux environment, to deeply understand the concepts, principles, methods, and techniques of the operating system. Furthermore, 4 experiments are required to carry out: Course Description 1. Recompiling the Linux kernel; 2. Adding a new system call (integrated experiment); 3. State the page fault number of the system (integrated experiment); 4. Adding a new file system (integrated experiment). Teaching Program Course Code:21120360 Course Name: Operating Systems: Analysis and Projects Weekly Hours: 6 Credits: 2 Teaching Goal and Basic Requirements: Through the learning and practice of this course, the students are required to be familiar with the Linux environment, to deeply understand the concepts, principles, methods, and techniques of the operating system. Furthermore, 4 experiments are required to carry out: 1. Recompiling the Linux kernel; 2. Adding a new system call (integrated experiment); 3. State the page fault number of the system (integrated experiment); Adding a new file system (integrated experiment). Content of Courses & Hours Allocation: 1. 2. (a) (b) Instruction on the course (16 hours); Experiments (32 hours); Recompiling the Linux kernel; Adding a new system call (integrated experiment); (c) State the page fault number of the system (integrated experiment); (d ) Adding a new file system (integrated experiment). Teaching Plan: (1) (2) (3) (4) (5) (6) Linux environment and basis kernel structure(4 hours); Shell programming skills(2 hours); Linux initialization and process management(4 hours); Linux memory management(2 hours); Linux File System(2 hours) Linux device driver and kernel module(2 hours). Recommended Textbooks and Other References: (books, editors, publishing company, publishing time) Learning With Practice – Instruction of Linux Kernel, Li Shanping, Zhejiang University Press, 2002. Software Quality Assurance/Testing Course Name Software Quality Assurance/Testing Course Code 21120550 Weekly Hours 4-2 Offered Semester Winter semester Software Engineering – A Practitioner‘s Approach (5th ED), Roger S. Pressman, Tshinghua Press, 2001 Textbooks Credits 2.5 Prerequisites Students after this course could understand the effectively strategies of testing, the methods and technologies of software testing; design test plan Course Description and test cases; do automatic testing; establish a testing group and manage the whole testing project; clearly and correctly report the software defectives; asses the software product correctly; distinguish relationship between the software testing and the quality assurance. Teaching Program Course Code: 21120550 Course Name: Software Quality Assurance/Testing Weekly Hours: 4-2 Credits: 2.5 Teaching Goal and Basic Requirements: Students after this course could understand the effectively strategies of testing, the methods and technologies of software testing; design test plan and test cases; do automatic testing; establish a testing group and manage the whole testing project; clearly and correctly report the software defectives; asses the software product correctly; distinguish relationship between the software testing and the quality assurance. Content of Courses & Hours Allocation: 1. Introduction 4 hrs 2. Overview of software quality 4 hrs Basic concept of software quality, criteria or system of quality asses 3. software testing throughout the testing process 4 hrs The lifetime of software, procedures of testing, test planning Homework: make a test plan in practice examples. 4. Testing strategies 4 hrs The concept of testing strategies Homework: make testing strategies in practice examples. 5. Testing methods 8 hrs Test cases, white-box testing, black-box testing, and gray-box testing, and so on. Homework: Apply all the methods in practice. 6. Testing tools 4 hrs Unit testing, interface testing, performance testing, manage testing Homework: utilize the tools in practice 7. The strategies and methods of quality assurance 4 hrs The fundamental, strategies, and methods of quality assurance 8. Presentation of homework 2 hrs Each group should present their homework. Teaching Plan: 1. Students are partitioned into several groups, with one group at most 6 students. 2. Multimedia used in teaching. 3. Lectures and homework are uploaded or download via ftp. Recommended Textbooks and Other References: Software Engineering – A Practitioner‘s Approach (5th ED), Roger S. Pressman, Tshinghua Press, 2001. Software quality assurance, Daniel Galin, China Machine Press, ISBN:711116787, 2005. Software testing, R. Patton, China Machine Press, ISBN:7111185269, 2006.