COLLEGE OF ENGINEERING
Department of Computer Science and Information Engineering
Degrees Offered:B.S., M.S., Ph.D
Chair:Kuo, Chin-hwa
The Department
Established in 1969, the Department of Computer Science and Information Engineering is one of the earliest programs of computer science and engineering in Taiwan. The department was reorganized on the basis of the original Management Information System Program under the Graduate Institute of Management Science.
Currently, the department has 23 full-time faculty members, in conjunction with about 55 part-time instructors. The undergraduate program covers all aspects of computer science, information engineering, software applications, and computer theory. With the newly developed technologies in computer networks, multimedia computing, and telecommunication, the department offers various elective courses in those related areas. Currently, about 1300 students were enrolled in the department.
The graduate program of the department offers the Master's degree and the Doctoral degree in Computer Science and Information Engineering, Master's degree in Networking and Communication. In the year 2007, the department had around 156 Master students and about 53 Ph.D. students. The focus of research areas in the department includes:
- Computer Networks
- Distance Learning Technologies and Standards
- Multimedia Computing
- Software Engineering
- Parallel and Distributed Computing
- Database Systems, Data Mining and Applications
- Artificial Intelligence and Fuzzy Theory
- Computer Graphics and Virtual Reality
- Image Processing, Pattern Recognition and Machine Vision
- Embedded Systems
- Wireless Communication, Mobile Computing, and Sensor Networks
- Information Security and Cryptography
- Bioinformatics
- Web Technology, Electronic Commerce, and others
Starting in 2000, some of the graduate courses are taught in English. Globalization is one of the unique features of our department. A series of lectures in our graduate school will be taught in English in the future. One of the perspectives of our department is to admit international graduate students, under the permission of the Ministry of Education and Tamkang University.
In the past few years, the department faculty has had joint research projects with their counterpants Hong Kong, Japan, and Canada. International research activity is another active perspective. The faculty members constantly travel overseas to discuss research projects and co-author research publications with researchers in the US, Europe, and other areas. It's hoped that this direction will continue to build up the Department's reputation in the international community.
Faculty
Chair Professor
Chao, Louis R.Y.
Professors
Chiang, Ding-an ; Keh, Huan-chao ; Kuo, Chin-hwa ; Shih, Timothy Kuo-chen
Associate Professors
Chang, Chih-yung ; Chen, Po-zung ; Chung, Hsing-tai ; Horng, Wen-bing ; Hsu,Hui-huang ; Hwang, Ren-junn ; Hwang, Shin-jia ; Lin, Hwei-jen ; Lin, Pei-ching ; Shyu, Yuh-huei ; Wang, Bal ; Wang, Ching-lin ; Wang, Ying-hong ; Yen, Shwu-huei ; Shih, Kuei-ping
Assistant Professors
Chen, Jui-fa ; Tsai, Yi-chia
Lecturer
Huang, Lain-jinn
Degree Requirements
The Department of Computer Science and Information Engineering offers the program at the undergraduate level.
- Requirements for a degree of B.Sc. in Computer Science & Information Engineering:
Successful completion of 139 credits of courses, including 113 credits of required courses (there are 31 credits of General Education), 21 credits of elective professional courses, and 6 credits of free elective courses. - Requirements for a Master's degree in Computer Science and Information Engineering:
Successful completion of 34 credits of courses, including 8 credits of required courses and 4 credits of Thesis.
Students are also required to submit a written master's thesis completed under the supervision of a faculty member, and pass an Oral Examination.
Required courses:
Research Methodology (I) & (II), Computer Algorithms, Formal Language and Automata Theory, Thesis. - Requirements for a Master's degree in Networking and Communication:
Successful completion of 30 credits of courses, including 5 credits of required courses and 4 credits of thesis course.
Students are required to publish at least one research paper in professional Journals or Conferences and submit a written master's thesis completed under the supervision of a faculty member, and pass an Oral Examination. - Requirements for a Ph.D. degree in Computer Science and Information Engineering:
Successful completion of 24 credits of courses, including 6 credits of required courses and 6 credits of thesis course.
Students are required to pass a qualifying examination within the first three years, publish at least one research paper in any journal listed in Science Citation Index or Engineering Index, and submit a written doctoral dissertation completed under the supervision of a faculty member, and pass an Oral Examination.
Course Descriptions
Undergraduate Courses
Required Courses
E0034 Engineering Mathematics (3/0) This course introduces methods of solution of common types of ODE, and then some numerical methods used to approximate equation solutions, functions, integrals, derivatives, and solutions to systems of differential equations.
E0175 Operating Systems (2/2) Fundamental concepts of operating systems, including computer-system structures, operating-system structures, processes, threads, CPU scheduling, process synchronization, deadlocks, memory management, virtual memory, file systems, I/O systems, and mass-storage structures.
E0194 System Programming (0/3) Fundamental concepts of system software design and implementation, including assemblers, linkers, loaders, and macro processors.
E0334 Computer Organization (0/3) The goal of this course is to introduce the basic architecture and organization of the computer. It includes overview, data representation and operation, device, processing unit, instruction sets, memory, and I/O systems of the computers.
E0342 Computer Programming (3/0) Covering the entire C or C++, this course is organized into five parts: the C subset-foundations of C/C++, C++ object-oriented features, the C/C++ function library, the C++ class library, and applications.
E0447 Advanced Programming Language (0/3) Covering the entire Java. These include its object-oriented features such as inheritance, function overloading, operator overloading, exception handling, class library, virtual machine, and applications.
E0644 Database (2/2) The effective management and utilization of data. Objectives of database management system (DBMS); Three-level architecture, data independence; File organization and access methods; Relational systems, SQL language, data definition and manipulation, views; Relational model theory, relational algebra and calculus; Database environments, transactions, concurrence, security and data integrity.
E0651 Data Structure and Processing (3/0) Fundamental concepts of data structure, including basic concept, arrays, stack, queue, list, tree, graph, sorting technology, hash function and search technology are presented.
E0747 Language Structures (2/2) This course introduces various programming language concepts, including syntax, semantics, scope, storage management, parameter passing methods, type checking and inference, data abstraction, polymorphism, exception handling, and so on. The four programming languages paradigms- imperative, object-oriented, functional, and logic-are also introduced.
E0761 Digital Systems (3/0) and Lab (1/0) Fundamental concepts of digital system design, including registers, counters, memory, programmable logic array, programmable logic array device, combinational logic circuits analysis, combinational logic circuits design, VHDL language, sequential circuits analysis and sequential circuits design are covered.
E0768 Numerical Methods (3/0) First, errors in computing will be introduced. Then problems involving solutions of single nonlinear equations and system of linear equations will be discussed. Interpolation is also an important topic, as well as numerical integration, numerical differentiations and solving the differential equations. We will be sure to talk about a key issue in data analysis: least square approximation.
E0790 Compilers (0/3) Fundamental concepts of compiler design, including scanning, LL parsing, LR parsing, semantic processing, symbol tables, run-time storage organization, code generation, and code optimization.
E0933 Assembly Language (3/0) Introduction to Intel X80 architecture and its instruction set, assemblers and debuggers and assembly programming basics.
E1034 Introduction to Computers (3/3) This course provides an overview of computer science, including hardware such as basic digital logic design and computer organization and software such as programming, algorithms, and data structures.
E1039 Introduction of Computer Network (3/0) Computer networking is an introductory course for modern day communication technologies. This course provides a broad and thorough exploration of a variety of network technology and protocol suites, including wired and wireless networks. Topics to be covered include the design and implementation of computer communication networks, their protocols, and applications.
E1111 Algorithms (0/3) This course addresses the design and analysis of computer algorithms. Although theoretical analysis is emphasized, implementation and evaluation techniques are also covered. Topics include: big-O notation, sorting, useful data structures, graph algorithms and matrix calculations.
E2738 Digital System Design and Programming (0/3) This course provides the basic knowledge necessary to understand how to simulate digital systems using hardware description languages. Digital systems here include digital logic circuits, such as adders, multiplexers, flip-flops, latches, counters and sequential-state machines. This course covers Very High-Speed Integrated Circuit Hardware Description Language (VHDL) and Verilog Hardware Description Language(Verilog HDL).
E2739 Experiment of Digital System Design and Programming (0/1) Computer-Aided Design is playing an increasingly important role in digital system design and, as such, should be a part of an engineer's skill. This course introduces the process of designing digital systems. It discusses the key steps in the design process and explains how CAD tools, such as Quartus II, can be used to automate the tasks. In a laboratory setting, students require to implement the text book's design examples in actual complex programmable logic devices (CPLD) and filed-programmable gate arrays(FPGA) chip.
S0439 Linear Algebra (0/3) This course covers Gaussian elimination, determinants, Euclidean and general vector spaces, basis, dimension, inner product spaces, linear transformations, changes of basis, eigenvalues and eigenvectors, special matrices, singular value decomposition, orthogonality, and least squares solutions.
T0141 Special Topics Lab. (1/1) This course is designed for students to integrate theories and applications. Students choose topics they are interested in, and discuss and/or do presentations regularly with professors. From this training, they learn how to do research, solve problems, and realize theorems into reality.
Eelective Courses
E0524 Introduction to Software Engineering (3) Introduces techniques to specify, design, test, and document medium and large software systems. Design Techniques include structured programming, defensive programming, program design language (PDL), and program complexity models; Path testing, test methods and the construction of test data; Software reliability models; Introduction to software tools and management techniques. Student team projects are required as term projects.
E1050 Automata Theory (3) This course introduces abstract models of digital computers, programming languages, and related matters. Students will learn the foundations and basic principles of computer science.
E2110 Introduction to Wireless Networks (3) This course introduces the technology and underlying principles of wireless networks, such as AMPS (Advanced Mobile Phone System), GSM (Global System for Mobile communications), wireless LAN, wireless PAN (Personal Area Network), and MANET (Mobile ad hoc Network).
M0517 Statistics (3) Limit theorem, law of large numbers and some probability distributions will be reviewed. Estimation of the parameters including point estimation and interval estimation will be discussed. Hypotheses are tested for means and variances. Regression and analysis of variances are very popular methods in statistical analysis.
M0821 Introduction to Multimedia (3) We introduce the basic concepts of multimedia. The multimedia processing technologies are specially emphasized, covering speech, image, and video compression schemes. Students are able to appreciate the power of digital multimedia. Meanwhile, this course is designed to build the fundamental concepts so that students are able to design multimedia systems.
S0450 Introduction to Probability Theory (0/3) Combinatorial analysis, probability space, axioms of probability, conditional probability and independence, discrete random variables, continuous random variables, jointly distributed random variables, properties of expectation and limit theorem.
S0487 Discrete Mathematics (2/2) This course is centered on the mathematics most directly applicable to computing. From this course students can develop maturity in mathematics, so the skills of problem solving can be improved.
Master's Program for Computer Science and Information Engineering
Required Courses
E0349 Computer Algorithms (3) This course addresses the design and analysis of computer algorithms. Although theoretical analysis is emphasized, implementation and evaluation techniques are also covered. Topics include: big-O notation, sorting, useful data structures, graph algorithms, matrix calculations, dynamics programming, and greedy algorithms.
E1354 Formal Language and Automata Theory (3) This course is to introduce students to the abstract models of digital computers, programming languages, and related matters. Students learn the foundations and basic principles of computer science.
T0081 Research Methodology (1/1) Basic skills of writing research papers/thesis and selecting research topics will be delivered in the class. Student will have a short presentation to show their direction of thesis writing. The instructor will invite domestic/international scholars to present their work up on demand.
T8000 Thesis (4) Selecting a good topic for graduate student's research and transform an idea to reality, we try to organize the paper and the thesis.
Elective Courses
E0175 Operating System (3) In this course, we will study the theories, techniques, and instance of the operating system. They include process management, memory management, file and I/O management, disk management, network management, security management.
E0644 Database (3) Object-oriented data modeling, object SQL, physical object management. Logical-based data modeling, logic foundation of database. A database management system design and implementation project is required.
E0790 Compilers (3) UNIX's utility tools: Lex and Yacc, top-down and bottom-up parsing techniques; attributed grammars. Intermediate code, front end and back end code optimizations; Dataflow analysis, code generators, concepts of compiler, parallel compiling technique. There are many elective courses included multiple professional courses of IT area, such as Pattern Recognition, Cryptology, Broadband Wireless Networks, Ubiquitous Computing Security, Machine Learning, Image Processing, Object-Oriented Software Engineering, Component-based Software Development Technology, Complex Networks, Data Mining, Distributed System, and so on.
Master's Program for Networking and Communication
Required Courses
E2796 Multimedia Information Network (3) Multimedia has become an indispensable part of modern computer technology. In this course, students will be introduced to principles and current technologies of multimedia system design and gain hands-on experience in this area. Lecture topics include fundamental concepts of digital image and video, as well as practical solutions to multimedia applications. Special research topics on image and video processes will be discussed.
E2832 Wireless Communication (3) This course introduces the fundamentals and design principles of wireless communication. Existing wireless communication standards including Bluetooth radio networks, Wireless LANs, Wireless Sensor Networks, WiMAX and Telecommunication systems are addressed.
T0081 Research Methodology (1/1) Basic skills of writing research papers/thesis and selecting research topics will be delivered in the class. Student will have a short presentation to show their direction of thesis writing. The instructor will invite domestic/international scholars to present their work up on demand.
T8000 Thesis (4) Selecting a good topic for graduate student's research and transform an idea to reality, we try to organize the paper and the thesis.
Elective Courses
There are many elective courses, including multiple professional courses of C&C area, such as Computer Vision, Internet Cryptography, Web-based Software Engineering, Ubiquitous Computing, Wireless Sensor Network, Personal Communication, Information Indexing and Retrieving in The Web, Grid Computing, Network Security, Embedded System, Mobile Computing, Digital Signal Processing, Multimedia Network Applications, and so on.
Ph.D. Program
Required Courses
D0035 University Education and Instruction (2) This course is made up of five parts. First, to explore the development and change of idea and spirit of a university; second, to understand recent development trend and reform direction of higher education in advanced countries; third, to probe some problems, strategies and perspectives of higher education in Taiwan; fourth, to inquire the impact of knowledge-base economy upon higher education and its challenges; and finally, to enhance total quality of higher education and competitiveness.
T0102/M0878 Seminar (I)&(II) (2/2) The instructor supervises students as a study group in reading state-of-the-art research issues. Students will present their studies in English and to deliver a draft paper for conference/journal submission. Research topic of each student is selective. However, an individual should discuss with his/her supervise to decide a reasonable title of presentation and paper.
T8000 Thesis (6) By selecting a good topic for graduate student's research and transforming an idea to reality, we try to organize the paper and the thesis.
Elective Courses
There are many elective courses, including multiple advanced and professional courses of IT area, such as Digital Communication, Bioinformatics, Soft Computing, Text Mining, The Design of Multimedia Systems, Intelligent Web Information System, Semantic Web Technology, The Mobility Management, Parallel Computing, Multimedia Digital Watermarking, and so on.

