課程大綱
902 10720 - 計算機概論
Unit 1: The Amazing ComputerLesson 1: An Overview of the Computer System
Lesson 2: The Shapes of Computers Today
Unit 2: Interacting with Your Computer
Lesson 3: Standard Methods of Input
Lesson 4: Alternative Methods of Input
Unit 3: Output Devices
Lesson 5: Monitors and Sound
Lesson 6: Devices That Output Hard Copy
Unit 4: Processing Data
Lesson 7: Transforming Data into Information
Lesson 8: CPUs Used in Personal Computers
Unit 5: Storing Information in a Computer
Lesson 9: Types of Storage Devices
Lesson 10: Measuring Drive Performance
Unit 6: The Operating System and User Interface
Lesson 11: Operating System Basics
Lesson 12: PC Operating Systems
Unit 7: Productivity Software, Part I
Lesson 13: Word Processing and Desktop Publishing Software
Lesson 14: Spreadsheet Software
Unit 8: Productivity Software, Part II
Lesson 15: Presentation Programs
Lesson 16: Database Management Systems and Enterprise Software
Unit 9: Networks and Data Communications
Lesson 17: Networking Basics
Lesson 18: Networking at Home & Abroad
Unit 10: The Internet and Online Resources
Lesson 19: Internet Basics
Lesson 20: Getting Online, Working Online
Unit 11: Computer Graphics and Design
Lesson 21: Working with Images
Lesson 22: Graphics Software
Unit 12: The New Media
Lesson 23: Understanding Multimedia
Lesson 24: Creating and Distributing New Media Content
Unit 13: Development of Information Systems
Lesson 25: The Basics of Information Systems
Lesson 26: Building Information Systems
Unit 14: Software Programming and Development
Lesson 27: Creating Computer Programs
Lesson 28: Programming Languages and the Programming Process
Unit 15: Living with Computers
Lesson 29: Computers and the Individual
Lesson 30: Computing Issues That Affect Us All
902 10720 - 計算機概論
Unit 1: The Amazing ComputerLesson 1: An Overview of the Computer System
Lesson 2: The Shapes of Computers Today
Unit 2: Interacting with Your Computer
Lesson 3: Standard Methods of Input
Lesson 4: Alternative Methods of Input
Unit 3: Output Devices
Lesson 5: Monitors and Sound
Lesson 6: Devices That Output Hard Copy
Unit 4: Processing Data
Lesson 7: Transforming Data into Information
Lesson 8: CPUs Used in Personal Computers
Unit 5: Storing Information in a Computer
Lesson 9: Types of Storage Devices
Lesson 10: Measuring Drive Performance
Unit 6: The Operating System and User Interface
Lesson 11: Operating System Basics
Lesson 12: PC Operating Systems
Unit 7: Productivity Software, Part I
Lesson 13: Word Processing and Desktop Publishing Software
Lesson 14: Spreadsheet Software
Unit 8: Productivity Software, Part II
Lesson 15: Presentation Programs
Lesson 16: Database Management Systems and Enterprise Software
Unit 9: Networks and Data Communications
Lesson 17: Networking Basics
Lesson 18: Networking at Home & Abroad
Unit 10: The Internet and Online Resources
Lesson 19: Internet Basics
Lesson 20: Getting Online, Working Online
Unit 11: Computer Graphics and Design
Lesson 21: Working with Images
Lesson 22: Graphics Software
Unit 12: The New Media
Lesson 23: Understanding Multimedia
Lesson 24: Creating and Distributing New Media Content
Unit 13: Development of Information Systems
Lesson 25: The Basics of Information Systems
Lesson 26: Building Information Systems
Unit 14: Software Programming and Development
Lesson 27: Creating Computer Programs
Lesson 28: Programming Languages and the Programming Process
Unit 15: Living with Computers
Lesson 29: Computers and the Individual
Lesson 30: Computing Issues That Affect Us All
902 48000 - 計算機程式設計
This course will introduce computer programming in C. This freshman CS course will assume no priori experience about computer. We will cover basic operations about computer, then move on to how to write computer program in a language called C. Various C concepts will be introduced, including the following:
*basic data types*operator and expression
*program flow control
*modulization with functions.
*arrays and structure
*the usage of pointer
*Standard I/O library and file processing
*C preprocessor
If time permits, we will cover basic object-oriented concepts in C++ and Java.
*Data abstraction*Inheritance
*Polymorphism
This course will also introduce "programming style", which I toughly define as the practice of writing code that is clean, easy to understand, and easy to maintain. Various examples will given to illustrate both good and bad programming style.
This course is a introductory course of computer programming, I will still give out a good number of homework so that the students can have extensive hand-on experience on how to write programs. I will also cover some programming experiences, especially in debugging and utilizing system tools to improve programmer productivity.
902 48000 - 計算機程式設計
This course will introduce computer programming in C. This freshman CS course will assume no priori experience about computer. We will cover basic operations about computer, then move on to how to write computer program in a language called C. Various C concepts will be introduced, including the following:
* Overview of C* Top-Down Design of Functions
* Control Structures
* Modular Programming
* Simple Data Types
* Arrays and Strings
* Recursion
* Structure, Files and Union Types
* Dynamic Data Structures
902 25040 - 線性代數
1. Matrices2. Systems of Linear Equations
3. The Least Squares Problem
4. Determinants
5. Eigenvalues and Eigenvectors
6. The Singular Value Decomposition
7. Vector Spaces
902 25200 - 離散數學
1.Graph Theory2.Algebra
3.Combinatorics
902 25300 - 計算機組織與組合語言
This course will introduce the followings:
1.Basic Concepts2.IA-32 Processor Architecture
3.Assembly Language Fundamentals
4.Data Transfers, Addressing, and Arithmetic
5.Procedures
6.Conditional Processing
7.Integer Arithmetic
8.String and Arrays
9.Structures and Macros
10.32-Bit Windows Programming and 16-Bit MS-DOS Programming
11.Disk Fundamentals
902 25701 - 資料結構與演算法上
1.Recurrences2.Sorting
3.Medians and Order Statistics
4.Elementary Data Structures
5.Binary Search Trees
6.Red-Black Trees
7.Binomial Heaps
8.B-trees
9.Data Structures for Disjoint Sets
10.Polynomials and the FFT.
902 36700 - 作業系統
1. Introduction2. Computer-System Structures
3. Operating-System Structures
4. Processes
5. Threads
6. CPU Scheduling
7. Process Synchronization
8. Deadlocks
9. Memory Management
10. Virtual Memory
11. File Systems
902 43500 - 自動機與形式語言
In studying the theory of computation we seek to determine what can and cannot be computed, how quickly, with how much memory, and on what type of computation model. The subject has obvious connections with engineering practice, and, as many sciences, it also has purely philosophical aspects.
Topics:
0. Introduction1. Regular Languages
2. Context-free Languages
3. The Church-Turing Thesis
4. Decidability
5. Reducibility
6. Advanced Topics in Computability Theory
7. Time Complexity
902 47000 - 資料庫系統
This is an introductory course on database systems. This course will cover topics on the entity- relationship model, the relational data models, SQL languages, relational algebra and calculus, query evaluation and optimization, storage and indexing, security and authorization, transaction management, concurrency control, fault tolerance and recovery, and distributed databases. This course will place more emphasis on the system aspects of databases.
The instructor will teach this course in English. Students are encouraged to ask questions using either Chinese or English.
922 M0590
1.Fundamentals of Computer Architecture: cost and performance measurement2.Instruction Set Design and Basic Pipelining: DLX architecture Exploiting
3.Instruction Level Pipelining: multiple issue processor and compiler support
4.Memory Hierarchy Design: cache and virtual memory
5.I/O System Design
6.Multiprocessors: parallel architecture types and memory consistence models.
7.Advanced Topics: Multi-Threading Architecture, Lower Power Design
922 M1440 - 資料庫系統設計
1. Web-based Database design frame-work:1). Web server-- Apache.
2). Database server-- MySql.
3). AP language-- PHP.
2. Web services approach:
1). XML.
2). UDDI, SOAP, WSDL.
3. Search engine issue.
4. Workflow database applications.
5. Peer-2-peer applications.
6. WebDAV issues.
7. Personal database applications.
922 U0010 - 智財權保護之資訊技術
(i) Steganography and Information Hiding(ii) Information Technology for Intellectual property Right Protection
922 U0020 - 生物資訊與計算分子生物學
Since the structure of DNA was unraveled in 1953, molecular biology has witnessed tremendous advances. With our increasing ability to manipulate bio-molecular sequences, a huge amount of data is being generated. The computer is a natural instrument for solving molecular biology problems. Computational Molecular Biology consists of the development and use of mathematical and computer science techniques in solving problems in molecular biology.
Topics covered include:
1.Computational Gene Hunting2.Restriction Mapping and Map Assembly
3.Human Genome Project and Sequencing
4.DNA Array
5.Sequence Comparison and Multiple Alignment
6.Finding Signals in DNA
7.Gene Prediction
8.Genome Rearrangement
9.Computational Proteomics
2.Bioinformatics: Apractical Guide to the Analysis of Genes and Proteins , Andreas Baxevanis & B. F. Francis Ouellette, Wiley-Interscience, 1998
3.Introduction to Computational Molecular Biology, Joao Setubal and Joao Meidanis, PWS Publishing Company, 1997
922 U0030 - 資訊與數位通訊
0. Introduction - The World of Digital Communications and Computing1. Fundamentals
Fourier analysis and stochastic modeling of signals and noise, Sampling Theorem and PCM, basic concepts in digital communications, etc.
2.Digitization and Compression of Speech, Audio and Video Signals
quantization and signal compression, linear predictive coding (LPC), code-excited linear prediction (CELP), perceptual coding, etc.
3. Digital Transmission – Baseband, Modulation and Systems
error rate and noise, speed and bandwidth, channel problems, vector space theory, modulation techniques, spread-spectrum and CDMA, wireless communications, optical fiber communications and WDM, etc.
4. Speech Access of Networks
speech signal modeling and recognition, text-to-speech synthesis, spoken dialogue systems, human-network speech interface, etc.
5. Conclusion: Looking towards the Future
922 U0090 - 網路系統管理
1. Internet routing and management.2. Intranet LAN design and management.
3. AP server and VLAN management.
4. Firewall and network security.
5. Wireless LAN deployment.
6. Handheld devices management.
7. Bandwidth management.
8. Server farm management.
922 U0130
Discuss various ways of attacks to the network by case study and the defense.
Include the followings:1.Ways of Attack
Password Cracker
DOS
Trojans
Virus
Worm
2.ToolsScanner
Soiffer
3.WeaknessNT
UNIX
922 U3010 - 數位影像處理
The goal of this course is to introduce the basic concepts and techniques used in the field of digital image processing. Students are expected to be familiar with the fundamentals of linear algebra and calculus. In addition, we will be using C++ to complete a programming section of the written assignments. The outline of this course is given below.
I. IntroductionII. Digital Image Fundamentals
III. Image Enhancement in the Spatial Domain
IV. Image Enhancement in the FrequencyDomain
V. Image Restoration
VI. Color Image Processing
VII. Wavelets and Multiresolution Processing
VIII. Image Compression
IX. Morphological Image Processing
X. Image Segmentation
922 U0150 - 個人通訊服務
* PCS Basic Concepts* Mobility Management
* PCS Network Signaling
* GSM System Overview
* GSM Network Signaling
* Fault Tolerance for GSM
* GSM Short Message Service
* General Packet Radio Service (GPRS) Overview (including Architecture, Protocols)
* GPRS Procedures
* Radio Channel Allocation for GSM/GPRS
* Third-Generation Mobile Services (including 3G Technologies)
* High-Speed Downlink Packet in UMTS
* 3G All IP Approach for UMTS
922 U0260 - 高等程式設計
This course will focus on how to prepare a CS major student as a skilled computer programmer. There will be three major themes in this course -- computer algorithm designs, data structure, and computer program implementation techniques.
The computer algorithm design will focus on various methodologies, including divide-and-conquer, dynamic programming, combinatorial optimization, graph theory and its applications, randomized and amortized algorithm analysis. These methodologies will be illustrated by examples from ACM on-line problem archive, so that the student can learn to solve real-world problem.
This course will also focus on advanced data structures. Several self-adjusting data structures, including splay trees and pointer-jumping trees for union-and-find operation will be introduced. The introduction of these advanced data structures will facilitate the efficiency of computer programs, and provide useful tools for other related applications.
The computer implementation techniques will cover various disciplines in computer programming, including structure programming, programming style, debugging techniques, system tools utilization, and object-oriented programming. The goal of this training is that the students will be able to establish a solid foundation in expression what they want to implement, so that they could write code to realize the algorithms they learn from the first part of the course.
This course will be accompanied by weekly homework assignments, mainly from the ACM on-line problem archive, to give the students a hand-on experience on how to solve difficult problems with computers. Therefore, extensive understanding of C/C++ programming environment is required. The students will need to understand how to write program, so that they can combine the idea of algorithm design with solid implementation techniques to solve real problem correctly.
922 U0390
This course seeks to understand and create information technology and intelligence from the fundamental building blocks of physical media. We start from information theory to deduce Q.M. except for Pauli Exclision Principle. We could then comprehend the contents of Q.M. from the theory. We plan to introduce the following subjects in the class.
1. Quantum mechanics and computers** Qubits
** Schrodinger's equation
** Superposition
** Quantum leap
** Unitary evolution
** Benioff's quantum computer
** Feynman's quantum computer
** Deutcsh's quantum computer
2. Simulating a simple quantum computer
** Computing the Hamitonian operator
** Computing the unitary evolution operator
** Determining the size of the memory register
** Running the quantum computer for a fixed length of time
** Running the quantum computer until the computation is done
3. The effects of imperfections
** Imperfections in evolution
** Imperfections in measurement
** Imperfections in preparation
4. Breaking unbreakable codes
** Code-breaking on a classical computer
** Code -breaking on a quantum computer
** Shor's algorithm for factoring on a quantum computer
5. True randomness
** Does randomness exist in nature
** Randomness and quantum computer
** Simulation of a quantum computer generating a true random number
6. Quantum cryptography
** Quantum cryptography using polarized photons
** Simulation of quantum cryptography in the presence of eavesdropping
** The working prototype
7. Quantum teleportation
** Entanglement
** Physics behind teleportation
** Bell's theorem
** Teleportation circuit for a quantum computer
** Simulation of quantum teleportation
8. Quantum error correction
** Decoherence and dissipation
** Quantum error-correcting codes
** Quantum circuit for correcting a phase shift and/or bit flip error
9. How to make a quantum computer
** NMR-based
** Cavity QED-based
** Ion Trap-based
** Heteropolymer-based
Quantum computation and quantum information, Michael A. Nielsen and Isaac Chuang
922 U0400
1. Overview of applying machine learning in bioinformatics.2. Basic machine learning algorithms.
3. Protein function and structure analysis.
4. Microarray data analysis.
5. Advanced machine learning algorithms for bioinformatics.
922 U0670 - 自然語言處理
自然語言處理的應用,除了資訊檢索、機器翻譯、智慧型介面、寫作 輔助、語音辨識與合成、OCR等外,最近因為網際網路對於智慧型文 本處理的需求日益迫切,自然語言處理理論與技術更加重要。以網際 網路中最主要的資訊傳播媒體-全球資訊網為例,由網頁的生成、檢索 、擷取、多媒體性、及多語言性等方面,自然語言處理都扮演相當重 要的角色。修習本課程將可學到自然語言處理的相關理論與技術,對 未來從事研究或實務工作等方面都有幫助。
本課程分成三部份:
(1) 規則式的方法內容包括Finite State Transition Network、Recursive Transition Network、 Augmented Transition Network、Parsing Algorithms、Chart Data Structure、 Unification Approach等。
(2) 統計式的方法
內容包括Statistical Models and the Entropy of English、Hidden Markov Models、Algorithms for Hidden Markov Models、Part-of-Speech Tagging、 Probabilistic Context-Free Grammars、The Mathematics of PCFGs、 Partial Parsing、Learning Probabilistic Grammars、Data-Oriented Language Processing、Syntactic Disambiguation、Word Classes and Meaning等。
(3) 全球資訊網上的應用
Web document generation、retrieval、extraction等。
922 U0990
1.Visual C++ MFC, COM & ATL2.Various Classes of MFC
3.MFC Wizard
4.ODBC Technology
5.OLE, COM
6.Win32 SDK
922 U1020 - 數位訊號處理導論
1. Discrete Time Signals and Systems
2. Sampling of Continuous-Time Signals
3. The Z-transform
4. Transform Analysis of Linear Time-Invariant Systems
5. Structures for Discrete-Time Systems
6. Filers Design Technique
7. The DFT and the FFT
8. Discrete Hilbert Transform
9. Finite Wordlength Effect
10. Random Signal Processors
11. Digital Signal Processors
12. VLSI DSP
922 U1090 - 電腦視覺一
講授電腦視覺之基本觀念及立論基礎。介紹各種電腦視覺可能之應用, 並配合各項相關專題課程的需求研發適當之演算法及計算架構並完成軟體模擬。
將涵蓋:
概觀 (Overview), 黑白機器視覺 (Binary Machine Vision): 門檻值 (Thresholding) 與分割 (Segmentation), 黑白機器視覺: 區域分析 (Region Analysis), 統計圖案辨識 (Statistical Pattern Recognition), 數學形態學 (Mathematical Morphology), 鄰域運算子 (Neighborhood Operators), 調節與加標籤 (Conditioning and Labeling), 小平面模型 (The Facet Model), 質料 (Texture), 影像分割 (Image Segmentation), 取出弧與分割 (Arc Extraction and Segmentation)
922 U1130
1. Introduction to CMOS Circuits2. MOS Transistor Theory
3. CMOS Processing Technology
4. Circuit Characterization and Performance Estimation
5. CMOS Circuit and Logic Design
6. CMOS Design Methods
7. CMOS Subsystem Design1. Introduction to CMOS Circuits
8. CMOS System Design Examples
2. CMOS Digital Integrated Circuits Analysis and Design by Kang & Leblebigi McGraw Hill
922 U1180 - 類神經網路
The struggle to understand the brain has been made easier because of the pioneering work of Ramo`n y Caja`l(1911), who introduced the idea of neurons as structural constituents of the brain. The elements of a mathematical representation of brain theories were already laid out in 1961 in a paper by Caianiello. In his talk he showed the possibilities of an analytical treatment of his equations, which put an extreme emphasis on the nonlinearity of neural responses, and were originally designed as an alternative to the logical formalism prevalent in the early years of brain theory. The ideas of cell assemblies and associative memory, which introduce the necessary teleological argumentation into the pure physics of neural networks, were at the center of the class.
- Fundamental Concepts and Models of mental processes
- Single-Layer Perceptron
- Multilayer Perceptron
- Hopfield model
- Recurent Network
- Associative Memories
- Self-Organizing Networks
- Reinforcement learning
2.Neural Networks: a comprehensive foundation, second edition, by Simon Haykin, Prentice Hall International, Inc., 1999
922 U1650 - 即時系統
1.Introduction to Real-Time Systems2.Real-Time Process Scheduling
- Single-Processor Scheduling
- Multiprocessor Scheduling
4.Sporadic Servers
5.System Analysis - the Rate Monotonic Analysis
6.System Synthesis
7.Overview on Real-Time Databases and Disk Scheduling
8.Other Important Issues
922 U1780 - 時間資料庫
本課程係以資訊系三年級以上學生及研究生為授課對象。我們並不從 一般的資料庫原理講起,因此修課學生最好先修過資料庫課程。通常 的資料庫會保有最新的資料,所以一旦有新的資料進來,就做資料更 新而把舊資料刪除,但舊資料有時仍然有用,而時間資料庫則是在資 料庫內考慮時間的因素,介紹如何有系統的管理一些有時效性的資料 。因此一些基本且重要的時間資料庫模型理論與查詢語言均是本課程 的主要課題。
922 U1980
The goal of this course is to discuss some advanced machine learning techniques. Recently several new methods originated from statistical learning theory have been proposed. We will especially concentrate on the support vector machines (SVM), a very promising classification technique for pattern recognition.
Topics include:
1.Linear support vector machines2.Optimization Theory
3.Nonlinear support vector machines
4.Positive definite functions
5.Generalized performance of pattern recognition
6.Decomposition methods
7.Support vector regression
8.Applications












