Download Teaching Program

Document related concepts
no text concepts found
Transcript
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.