Bachelor of Science

Program Introduction

  • Duration of Study

    The normal duration of this course is 4 year,and the maximum duration is 7 years.

  • Teaching Approach

    Face-to-face Teaching

  • Teaching Language

    Chinese/English

  • Academic Field

    Information Technology

  • Course Introduction

    The BSc program is designed to train students to become IT professionals who have the skills and capabilities to survive in today’s fiercely competitive market and adapt the rapid development of information technology. Its syllabi aim to cultivate IT professionals with solid foundation, wide range of professional knowledge, as well as abilities to work independently.

    The objective of the program is to help students to:

    1. Establish a solid foundation in fundamental theories,

    2. Have an exposure to a wide range of professional knowledge,

    3. Get a good idea or the latest IT technologies,

    4. Learning to work independently, and

    5. Improve English communication ability.

    Majors:

    There are three majors under this programme: 1) Computer Science, 2) Electronic and Information Engineering, and 3) Software Engineering.

    Program Duration:

    The program can usually be completed in four years and the maximum study period is seven years. Students are required to complete at least 141 credits of courses, including major courses (99 credits) and general study courses (42 credits). Students will be awarded the BSc degree after they pass an overall assessment.

    Upon approval from the Senate of the University, a Bachelor’s Degree will be conferred on a student when he or she has:

    1. completed and met the requirements prescribed in the study plan of his or her program within the specific study period*,

    2. abided by the regulations of the University,

    3. cleared all fees and charges and returned all University property and equipment borrowed.

    * Students admitted from the academic year 2017/2018 onwards are required to achieve a cumulative GPA of 2.0 or above in order to graduate.

    # The curriculum is only for students admitted academic year 2019/2020. Students admitted before academic year 2019/2020, please contact faculty office for inquiry.


Study Plan

1) Academic area: Information Technology.

2) Major:

    • Computer Science,

    • Electronic and Information Engineering,

    • Software Engineering.

3) Program Duration: 4 years.

4) Medium of Instruction: Chinese/English.

5) Instructional method: face-to-face.

6) Total credits need for the completion of the program: 141 credits. 141 credits can be allocated as below:

            1) Complete 29 credits of core course in Table 1.

            2) According to designation specialized direction, student must complete 52 to 58 credits of core courses in Table 2.

            3) Complete 12 to 18 credits of elective course in Table 3 that can be allocated as below:

      1. Major in "Computer Science" students are required to complete 18 credits electives.

      2. Major in "Electronic and Information Engineering" students are required to complete 12 credits electives.

      3. Major in "Software Engineering" students are required to complete 15 credits electives.

            4) Complete 36 credits of the General Studies Courses in Table 4 which are assigned as below:

  1. Complete 30 credits of required courses.

  2. Complete 2 credits of Sciences and Technology Courses.

  3. Complete 2 credits of Social Sciences Courses.

  4. Complete 2 credits of Humanities and Arts Courses.

            5) Complete the elective courses from other faculties to take 6 credits (except for the operation project/graduation project and practice-oriented subject unit/subject).


Table 1

Course Code

Course Name

Type

Credit

MATH101

CALCULUS I

Core

3

MATH102

CALCULUS II

"

3

MATH103

CALCULUS III

"

3

MATH104

PROBABILITY AND STATISTICS

"

3

CS110/
EIE110/
SE110

COMPUTER PROGRAMMING

"

3

CS111/
EIE111/
SE111

OBJECT-ORIENTED PROGRAMMING

"

3

CS230/
EIE230/
SE230

COMPUTER ORGANIZATION

"

3

CS231/
EIE231/
SE231

COMPUTER ORGANIZATION LABORATORY

"

1

CS190/
EIE190/
SE190

PROFESSIONAL ETHICS AND COMMUNICATION SKILLS

"

1

CS390/
EIE390/
SE390

FINAL YEAR PROJECT

"

6


Table 2

Computer Science

Course Code

Course Name

Type

Credit

CS120

DISCRETE MATHEMATICS

Core

3

PHYS100

PHYSICS

"

3

CS130

DIGITAL LOGIC

"

3

CS112

WEB TECHNOLOGIES

"

3

CS121

DATA STRUCTURES

"

3

CS220

DESIGN AND ANALYSIS OF ALGORITHMS

"

3

CS250

SOFTWARE ENGINEERING

"

3

CS240

DATABASE SYSTEMS

"

3

CS340

OPERATING SYSTEMS

"

3

CS341

OPERATING SYSTEMS LABORATORY

"

3

CS252

SOFTWARE PROJECT MANAGEMENT

"

3

CS360

ARTIFICIAL INTELLIGENCE

"

3

CS374

NETWORK PROGRAMMING

"

3

CS210

MOBILE APPLICATION DEVELOPMENT

"

3

CS370

COMPUTER NETWORKS I

"

3

CS371

COMPUTER NETWORKS LABORATORY I

"

3

CS372

COMPUTER NETWORKS II

"

3

CS373

COMPUTER NETWORKS LABORATORY II

"

1

Electronic and Information Engineering

Course Name

Course Code

Type

Credit

PHYS101

PHYSICS I

Core

3

PHYS102

PHYSICS II

"

3

PHYS103

PHYSICS LABORATORY

"

1

MATH200

NUMERICAL COMPUTATION

"

3

EIE191

ENGINEERING MANAGEMENT

"

3

EIE130

DIGITAL CIRCUITS

"

3

EIE131

DIGITAL CIRCUITS LABORATORY

"

3

EIE240

CIRCUIT ANALYSIS

"

3

EIE241

CIRCUIT ANALYSIS LABORATORY

"

3

EIE340

ANALOG CIRCUITS

"

3

EIE341

ANALOG CIRCUITS LABORATORY

"

3

EIE220

SIGNALS AND SYSTEMS

"

3

EIE320

DIGITAL SIGNAL PROCESSING

"

3

EIE321

DIGITAL SIGNAL PROCESSING LABORATORY

"

3

EIE350

PRINCIPLES OF COMMUNICATIONS

"

3

EIE351

COMMUNICATIONS LABORATORY

"

3

EIE352

COMMUNICATION NETWORKS

"

3

EIE353

MODERN COMMUNICATION SYSTEMS

"

3

EIE330

FPGA-BASED SYSTEM DESIGN

"

3

EIE331

EMBEDDED SYSTEMS

"

3

Software Engineering

Course Code

Course Name

Type

Credit

SE120

DISCRETE MATHEMATICS

Core

3

PHYS100

PHYSICS

"

3

SE130

DIGITAL LOGIC

"

3

SE112

WEB TECHNOLOGIES

"

3

SE121

DATA STRUCTURES

"

3

SE220

DESIGN AND ANALYSIS OF ALGORITHMS

"

3

SE250

SOFTWARE ENGINEERING

"

3

SE240

DATABASE SYSTEMS

"

3

SE340

OPERATING SYSTEMS

"

3

SE252

SOFTWARE PROJECT MANAGEMENT

"

3

SE360

ARTIFICIAL INTELLIGENCE

"

3

SE350

FORMAL METHODS IN SOFTWARE SPECIFICATION

"

3

SE251

SOFTWARE ENGINEERING PRACTICES

"

3

SE351

SOFTWARE DESIGN

"

3

SE352

SOFTWARE QUALITY ASSURANCE

"

3

SE370

COMPUTER NETWORKS I

"

3

SE371

COMPUTER NETWORKS LABORATORY I

"

3

SE372

COMPUTER NETWORKS II

"

3

SE373

COMPUTER NETWORKS LABORATORY II

"

1


Table 3

Computer Science

Course Code

Course Name

Type

Credit

CS440

COMPUTER GRAPHICS

Elective

3

CS441

HUMAN-COMPUTER INTERACTION

"

3

MATH400

NUMERICAL COMPUTATION

"

3

CS442

COMPILER CONSTRUCTION

"

3

CS451

SOFTWARE ENGINEERING PRACTICES

"

3

CS481

E-COMMERCE

"

3

CS420

THEORY OF COMPUTATION

"

3

CS471

COMPUTER AND NETWORK SECURITY

"

3

CS470

WIRELESS AND MOBILE NETWORKS

"

3

CS472

DISTRIBUTED AND PARALLEL COMPUTING

"

3

CS473

CLOUD COMPUTING

"

3

CS482

DATA SCIENCE

"

3

CS462

MACHINE LEARNING*

"

3

CS463

DEEP LEARNING*

"

3

CS460

COMPUTER VISION*

"

3

CS464

DATA MINING*

"

3

CS465

NATURAL LANGUAGE PROCESSING*

"

3

CS461

ROBOTICS*

"

3

CS466

COMPUTATIONAL BIOLOGY*

"

3

CS480

TOPICS IN COMPUTER SCIENCE

"

3

CS490

INTERNSHIP

"

3

Electronic and Information Engineering

Course Code

Course Name

Type

Credit

EIE440

CAD FOR CIRCUITS

Elective

3

EIE441

POWER ELECTRONICS

"

3

EIE420

DIGITAL IMAGE PROCESSING

"

3

EIE451

WIRELESS COMMUNICATIONS

"

3

EIE452

FIBER-OPTIC COMMUNICATIONS

"

3

EIE450

DIGITAL COMMUNICATIONS

"

3

EIE460

COMPUTER VISION

"

3

EIE471

COMPUTER AND NETWORK SECURITY

"

3

EIE421

MULTIMEDIA COMPUTING

"

3

EIE470

COMPUTER NETWORKS

"

3

EIE481

INFORMATION THEORY

"

3

EIE461

ROBOTICS

"

3

EIE480

TOPICS IN ELECTRONIC AND INFORMATION ENGINEERING

"

3

EIE490

INTERNSHIP

"

3

Software Engineering

Course Code

Course Name

Type

Credit

SE440

COMPUTER GRAPHICS

Elective

3

SE441

HUMAN-COMPUTER INTERACTION

"

3

MATH400

NUMERICAL COMPUTATION

"

3

SE442

COMPILER CONSTRUCTION

"

3

SE481

E-COMMERCE

"

3

SE420

THEORY OF COMPUTATION

"

3

SE471

COMPUTER AND NETWORK SECURITY

"

3

SE470

WIRELESS AND MOBILE NETWORKS

"

3

SE472

DISTRIBUTED AND PARALLEL COMPUTING

"

3

SE473

CLOUD COMPUTING

"

3

SE410

MOBILE APPLICATION DEVELOPMENT

"

3

SE474

NETWORK PROGRAMMING

"

3

SE482

DATA SCIENCE

"

3

SE462

MACHINE LEARNING*

"

3

SE463

DEEP LEARNING*

"

3

SE460

COMPUTER VISION*

"

3

SE464

DATA MINING*

"

3

SE465

NATURAL LANGUAGE PROCESSING*

"

3

SE461

ROBOTICS*

"

3

SE466

COMPUTATIONAL BIOLOGY*

"

3

SE480

TOPICS IN SOFTWARE ENGINEERING

"

3

SE490

INTERNSHIP

"

3

Courses with * are the electives of "Artificial Intelligence" area. Major in “Computer Science" and “Software Engineering" are required to complete at least 3 courses with * if students choose the "Artificial Intelligence" area.


Table 4

Course Code

Course Name

Type

Credit

ENG001

ENGLISH I

Core

3

ENG002

ENGLISH II

"

3

ENG003

ENGLISH III

"

3

ENG004

ENGLISH IV

"

3

CHNRW001

CHINESE READING AND WRITING

"

3

MATH100

LINEAR ALGEBRA

"

3

GCWC001

GENERAL STUDY OF CHINESE & WESTERN CULTURES

"

3

GMST001

MASTERS SERIES OF SCIENCE AND TECHNOLOGY

"

2

GSDS001

SPEAKING AND DEBATING SKILLS

"

3

GUL001

UNIVERSITY LIFE

"

1

GCLBL001

INTRODUCTION TO CONSTITUTIONAL LAW AND BASIC LAW

"

1

PES-

PHYSICAL EDUCATION AND SPORTS

"

2

Sciences and Technology 

Course Code

Course Name

Type

Credit

GSS001

ASTRONOMY

Elective

2

GSS002

EARTH SCIENCE

"

2

GSS004

LIFE SCIENCE

"

2

GSS003

ENVIRONMENTAL SCIENCE

"

2

GIT-

SPECIAL TOPIC IN INFORMATION TECHNOLOGY

"

2

GSS-

SPECIAL TOPIC IN SCIENCE AND TECHNOLOGY

"

2

Social Sciences

Course Code

Course Name

Type

Credit

GSH031

INTRODUCTION TO POLITICS

Elective

2

GSH009

SOCIOLOGY

"

2

GSH024

INTRODUCTION TO PSYCHOLOGY

"

2

GSH033

INTRODUCTION TO INTERNATIONAL RELATIONS

"

2

GSH020

PUBLIC ADMINISTRATION

"

2

GSH021

HISTORY OF MACAU

"

2

GSH022

CHINESE HISTORY

"

2

GSA044

INTRODUCTION TO PHILOSOPHY

"

2

GSH025

GLOBAL ISSUES

"

2

GSH-

SPECIAL TOPIC IN SOCIAL SCIENCE

"

2

Humanities and Arts

Course Code

Course Name

Type

Credit

GSA046

FILMS APPRECIATION

Elective

2

GSA047

SELECTIVE READINGS OF MODERN CHINESE LITERATURE

"

2

GSA048

APPRECIATION OF TRADITIONAL CHINESE POEMS

"

2

GSA049

SELECTIVE READINGS OF MASTERPIECES IN WORLD LITERATURE

"

2

GSA050

MUSIC APPRECIATION

"

2

GSA051

FINE ARTS APPRECIATION

"

2

GSA052

APPRECIATION OF CULTURE AND ARTS

"

2

GSA053

WORLD CULTURAL HERITAGE

"

2

GLL-

SPECIAL TOPIC IN LANGUAGE LEARNING

"

2

GSA-

SPECIAL TOPIC IN HUMANITIES AND ARTS

"

2

# The study plan is only for students admitted academic year 2019/2020. Students admitted before academic year 2019/2020, please contact faculty office for inquiry.


Course Description

MATH101 Calculus I (3 credits)

The course is an important foundation course in mathematics for all majors in IT. It provides an introduction to calculus that supports conceptual understanding, and helps student to develop skills in abstract thinking, logical reasoning, spatial imagination and self-learning mathematics. Main contents of the course include: Functions, Limits, Continuity and Calculus of One Variable.

MATH102 Calculus II (3 credits)
The course is an important foundation course in mathematics for all majors in IT. It provides an introduction to calculus that supports conceptual understanding, and helps student to develop skills in abstract thinking, logical reasoning, spatial imagination and self-learning mathematics. Main contents of the course include: Analytic Geometry of Space, Partial Derivative, Multivariable Calculus, Infinite Series and Differential Equations.

MATH103 Calculus III (3 credits)
The course is an important foundation course in mathematics for all majors in IT. It provides an introduction to calculus that supports conceptual understanding, and helps student to develop skills in abstract thinking, logical reasoning, spatial imagination and self-learning mathematics. Main contents of the course include: vector-valued function and motion in space, partial derivative, multiple integral, integrals and vector field, first-order differential equation.

MATH104 Probability and Statistics (3 credits)
This course is to provide students with the basic knowledge of probability and statistics in addition to the notions and approaches of stochastic mathematics. This includes distribution and numerical characters of random variables, laws of large numbers and central limit theorem, sample and sampling distribution, parameter estimation and hypothesis testing, analysis of variance and regression, basic knowledge of random process.

PHYS100 Physics (3 credits)
This course prepares students to study science, engineering or related programs. This subject aims to provide students with fundamental knowledge in physics focusing on the topics of mechanics and electromagnetism.

CS110/EIE110 Computer Programming (3 credits)
The course introduces the basic programming concepts to students who learn computer programming for the first time. It also explains the way how programs are executed, how data are stored and processed in computers. The course is based on the C programming language which has features that exposes the most fundamental ideas of computer programming. Students learn the procedures and methods of how programs are constructed progressively, as well as the way that computations are performed.

CS111/ EIE111 Object-oriented Programming (3 credits)
The course introduces the basic Object Oriented Programming concepts to students who learn computer programming for the first time. The course is based on the C++programming language. This is a one semester course. Concept and practice are the emphasis of this course.

CS112/SE112 Web Technologies (3 credits)
This course is designed to provide an introduction to the core technologies that have been developed as part of the World Wide Web, helping students understand the Web at a fundamental level. This provides a solid foundation from which students can move on to higher-level Web development tools. Detailed coverage of a wide spectrum of Web technologies, including HTTP, XHTML, CSS, JavaScript, DOM, Java Servlets, XML, SAX, XPath, XSLT, JSP, SOAP, WSDL, XML Schema, and JAX-PRC.

CS120/SE120 Discrete Mathematics (3 credits)
It covers foundations and important themes of discrete mathematics, and helps students learn the particular set of mathematical tools and how they can be applied. The topics discussed include: sets, logic, relations, functions, algorithms and integers, mathematical reasoning, induction, recursion, counting techniques, graphs, trees, Boolean algebra, and modeling computation.
Upon completion, students are expected to gain good understanding of discrete structures and improve their capabilities in mathematical reasoning, combinational analysis, algorithmic thinking, and modeling and problem solving.

CS121/SE121 Data Structures (credits)
The course is designed to introduce various linear and non-linear data structures and the corresponding operations on them, related algorithms and their complexity analysis are also presented. After taking the course, the students are expected to be able to design appropriate data structures with proper algorithms to fulfill efficiently the requirement of the application.

CS130/SE130 Digital Logic (3 credits)
The course provides an introduction to digital logic and digital circuits. Topics include number systems, Boolean algebra, combinatorial logic circuits, flip-flop circuits, sequential logic circuit.

CS190/EIE190/SE190 Professional Ethics and Communication Skills (1 credit)

It is a course to introduce to understand the essential ethical problems and principles for professionals in any field and how to deal with many other professions as well. The main content covers the ethics of several major professions: Business Ethics, Media Ethics, Police Ethics, Medical Ethics, Legal Ethics, and Research Ethics. Topics covered will also include: the nature of a profession, professional codes of ethics, confidentiality, whistle-blowing, the responsibility of business to the environment, uses and abuses of human research, and animal ethics in research.

CS210/SE410 Mobile Application Development (3 credits)

This subject introduces students to programming technologies, design and development related to mobile applications in Android OS. It discusses the fundamental concepts needed to develop application using Android Software Development Kit (SDK). Topics include accessing device capabilities, industry standards, operating systems, programming for mobile applications, useful GUI and media controls, web services and other important components.

CS220/SE220 Design and analysis of algorithms (3 credits)

This course is designed to provide an introduction to the design and analysis of algorithms for undergraduate students. The course will cover the analysis of algorithm efficiency, brute force and exhaustive search, decrease-and-conquer, divide-and-conquer, transform-and-conquer, space and time trade-offs, dynamic programming, greedy technique, iterative improvement, limitations of algorithm power, coping with the limitations of algorithm power, probabilistic analysis of algorithms, and NP hard problems.

CS230/EIE230/SE230 Computer Organization (3 credits)
This course introduces the basic principles of organization of computer illustrated by means of microcomputer. It includes the representation, transformation and arithmetic calculation of integer and characters, logical unit, instruction sets and assembly programming, arithmetic unit, control unit, structure and design of main memory, peripherals, input/output devices and interfacing, development of computer organization and architecture.

CS231/EIE231/SE231 Computer Organization Laboratory (1 credit)
This subject aims to teach student how to implement and design the main components such as the register, shift register, arithmetic functions and ALU in computer organization with Programmable Logic Device (PLD). Students should understand how to design their digital circuits by drawing their logic diagrams or designing their logics with the ABEL hardware description language. Several concerning experiments should be finished by students to verify their practical abilities on implementing main circuits in computer organization thus enhancing their skills on it. Students will verify their circuits designed by downloading them into the PLD teaching box or hardware simulator. In this way, the students’ understanding of theoretical knowledge is consolidated and their independent problem–solving ability is also enhanced. 

CS240/SE240 Database Systems (3 credits)
The course aims to provide a foundation in understanding of database design principles, implementation and management. Upon completion, students should be able to identify and execute the steps involved in the design of a database, implement the design via a relational database management system, maintain the goal of data sharing and consistency of database systems.

CS250/SE250 Software Engineering (3 credits)
This course introduces the methods, technologies and management of software development. It covers software life cycle, software processes, requirements engineering and system modeling, UML, software design, software testing and maintenance, object-oriented software engineering, managing software projects, computer aided software engineering, reverse engineering and Re-engineering, etc.

CS252/SE25Software Project management (3 credits)
The students are requested to join a team and select a system to be developed, such as: hotel management system, library information system, etc.  They must develop software following the principles of software engineering, and work cooperatively in software planning, requirements engineering, system modeling, software design, and so on. The students will receive the practical engineering training of software development and document writing.

CS340/SE340 Operating Systems (3 credits)
This course aims at the introduction of the principle and implementation of computer resource management software – Operating system. It includes process/thread management, CPU scheduling, synchronization and exclusion, memory management, file system, devices management, etc. It also introduces the popular operating systems – Windows, Unix/Linux.

CS341 Operating Systems Laboratory (3 credits)
Based on the study of principles of operating systems, the students will be required to design and implement part of the operating systems kernel, to achieve both better understanding and pragmatic knowledge about operating systems.

CS360/SE360 Artificial Intelligence (3 credits)
This course is to briefly cover Artificial Intelligence with its basic concepts, important techniques, representative applications, and challenges, and therefore provide students a foundation for their further studies in artificial intelligence and intelligent systems. The main topics discussed include: a brief history of artificial intelligence, problem solving, representation and reasoning, knowledge-based system, a brief introduction to AI languages, and intelligent techniques and intelligent systems. Throughout this course, students are expected to further understand the important concepts of intelligent techniques, the role of intelligent system in today’s IT application areas, and basic ideas of designing and developing knowledge-based systems.

CS370/SE370 Computer Networks (3 credits)
The objective of this course is to introduce the theories and technologies of computer networks. It includes: the principles of data communication; the architectures of computer networks, the functions and protocols in each layer of OSI and TCP/IP reference model; the basic concepts of addressing technologies and routing algorithms; the knowledge in installing and configuring typical network devices, etc.

CS371/SE371 Computer Networks Laboratory (3 credits)
This subject aims to provide the experiment practice of computer network technologies for the course “COMPUTER NETWORKS I”. The students are expected to be able to understand the principles of communications in data networks, be familiar with the routing algorithms and protocols, and be able to make basic router configurations and network troubleshooting.

CS372/SE372 Computer Networks II (3 credits)
The objective of this course is to introduce the concepts and technologies of network implementations. The course emphasizes the capability in designing and deploying a network system. It includes: LANs technologies (wired LANs, wireless LANs and virtual LANs, etc) and WAN technologies (circuit switched networks and packet switched networks); network security; network management; network design and deployment, etc.

CS373/SE373 Computer Networks Laboratory II (1 credit)
This subject aims to provide the experiment practice of computer network technologies for the course “COMPUTER NETWORKS II”. The students are expected to be able to understand the advanced technologies of computer networks, and capable of designing and implementing a typical modern network, and analyzing the network problem.

CS374/SE474 Network Programming (3 credits)
This course focuses on the programming aspects of computer networks. The goal of this course is to know the current trends of communication protocols, to learn socket programming, and to understand the depth knowledge of the design considerations in building network applications and the system calls needed to support network programming.

CS390/EIE390/SE390 Final Year Project (6 credits)
This Project is to provide students an opportunity to apply what they have learned through individual courses to the development of a small scale system or the analysis of a specific topic. The topic and scope are designed by faculty members. Under the supervision of a faculty member, students are expected to gain real experience in all the stages of development and so to improve the capability of independent problem solving.

MATH200/MATH400 Numerical Computation (3 credits)
This course helps students learn how to apply computation methods in problem solving with the introduction to the basic algorithms and related theories of numerical computations. It covers Matlab software, the numerical solutions of linear and non-linear algebraic equations, matrix eigenvalue problems, interpolation and fitting, numerical differentiation and integration, numerical solutions of ordinary differential equations.

PHYS101 Physics I (3 credits)
This course prepares students to study science, engineering or related programs. This course is the foundation of many professional courses aiming at introducing different forms of motion, and the properties of their transformation. It covers mechanics, electromagnetism.

PHYS102 Physics II (3 credits)
This course prepares students to study science, engineering or related programs. This course is the foundation of many professional courses aiming at introducing different forms of motion, and the properties of their transformation. It covers thermodynamics, vibration and wave, fundamental of quantum physics, theory of relativity, etc.

PHYS103 Physics Laboratory (1 credit)
This course is to develop the skills in the study and investigation of physics experiments. It provides students with the knowledge and methods of physics experiments, the understanding of the physics laws, the principle and operation of ordinary experiment instruments, the fundaments of experiment data processing and error analysis, qualified experiment techniques and style. Four experiments relating to electricity, optics and advances physics are to be completed during the course study.

EIE130 Digital Circuits (3 credits)
This course is designed to provide an introduction to digital systems. The course will cover digital systems and information, combinational logic circuits, combinational logic design, arithmetic functions, sequential circuits, as well as some selected design topics.

EIE131 Digital Circuits Laboratory (3 credits)
This subject aims to let student know how to implement and design the digital circuit under some given design requirements with Programmable Logic Device (PLD). Students should learn how to design the digital circuits by drawing the logic diagram or designing the logic with the ABEL hardware description language. Several combinational-circuit and sequential-circuit experiments should be finished by students to verify their practical abilities on circuit designing thus enhancing their skills on it. Students will verify their designs by downloading the circuit into a PLD teaching box or hardware simulator. In this way, the students’ understanding of theoretical knowledge is enhanced and their independent problem–solving ability is also developed. 

EIE191 Engineering Management (3 credits)

Principles of engineering management focusing on the managing technology and research and development. Topics include, but are not limited to, processes of project management, technological innovation, strategic and intermediate term planning, organizing, leadership, motivation, finance and budgeting, operations management, legal issues, working within groups, written and oral communication, and professionalism. Case studies and current literature will be utilized.

EIE220 Signals and Systems (3 credits)
This course introduces the basic concepts and methods for the transmission and processing of determinate signal via linear, time invariant systems. It covers basic principles and techniques of signal and system analysis in time domain and transform domains, including Fourier transform, Laplace transform and their applications.

EIE240 Circuit Analysis (3 credits)
The course aims at introducing the principles of the linear and non-linear electric circuits, as well as the analysis of their static and dynamic features. The topics include direct electric circuits, sine-cosine and non-sine-cosine alternative electric circuits, temporal domain analysis of dynamic characteristics for electric circuits, frequency domain analysis of dynamic characteristics for electric circuits.

EIE241 Circuit Analysis Laboratory (3 credits)
This course aims to providing opportunities to students for practice of actual circuit design, measurement and implementations. They will be trained for operation of kinds of devices, technical report writing, and team-work sprit.

EIE320 Digital Signal Processing (3 credits)

This subject aims to use mathematical techniques to help analyze and synthesize digital signals. The course begins with a discussion of the analysis and representation of discrete-time signals and systems including a discussion of discrete-time convolution, difference equations, the z-transform and the discrete Fourier transform. Considerable emphasis is placed on the similarities with and distinctions between discrete-time and continuous-time signals and systems. The object of the course is to help students understanding time domain methods and transform domain methods of digital signals on linear time invariant systems and to help students setting up their related knowledge base for the further courses.

EIE321 Digital Signal Processing Laboratory (3 credits)
This course is a professional experimental course for the Major of Electronic Information Technology. Under the experimental environment, the students can understand the whole design procedure of the digital circuit with ISP PLD after learning the principle of the experimental system and ISP software.
By using the signal analysis software --- Matlab, the analysis and simulation job of the signal and system can be carried out. This can not only enhance the understanding of theoretical knowledge and the method of the DSP students learnt, but also develop their independent problem–solving-ability.

EIE330 FPGA-Based System Design (3 credits)

This course is to introduce FPGA-based system design techniques using VHDL. Introduction to VHDL, advanced hardware design and optimization techniques, and major design examples will be reviewed.

EIE331 Embedded Systems (3 credits)

The course is to introduce the fundamentals of embedded system hardware and firmware design, such as embedded processor selection, hardware/firmware partitioning, glue logic, circuit design, circuit layout, circuit debugging, development tools, firmware architecture, firmware design, and firmware debugging.

EIE340 Analog Circuits (3 credits)
The objective of this course is to provide students a comprehensive understanding of electronic circuit and device. The main aspects covered are as follows: the physical models of electronic device and the constant analysis method of circuits; the principle of amplification and frequency response, as well as the feedback in analog circuit; the principle and analysis method of operational amplifier, signal operating, processing and generating in analog circuit.

EIE341 Analog Circuits Laboratory (3 credits)
This course aims to providing opportunities to students for practice of actual circuit design, measurement and implementations of diodes circuit, BJT-based amplifier, MOSFET-based amplifier Op-Amp Circuits. They will be trained for operation of kinds of devices, technical report writing, and teamwork sprit.

EIE350 Principles of Communications (3 credits)
This course is designed to introduction the basic theory of modern communication systems, including digital and analog communication with emphasis on the former one. The topics covered include linear modulation, non-linear modulation, pulse code modulation, base band transmission, carrier transmission error coding, etc.

 

EIE351 Communications Laboratory (3 credits)
This course is designed to introduction the basic theory of modern communication systems, including digital and analog communication with emphasis on the former one. The topics covered include linear modulation, non-linear modulation, pulse code modulation, base band transmission, carrier transmission error coding, etc.

EIE352 Communication Networks (3 credits)
This course aims at the introduction of modern integrated communication network application that includes telephone and non-telephone network services, electronic circuit interchange and program control interchange, principles, configuration, interface, network connection technique and standard of packet switching network and integrated services digital network (ISDN).

EIE353 Modern Communication Systems (3 credits)
This course is mainly concerned with the basic concepts and characteristics of the common communication systems that include telephone communication, mobile communication, optical fiber communication, and satellite communication, the transmission characteristics of communication channels, elements of system, working principle, key technologies, development trend, and typical applications. It enables students to grasp the basic knowledge of communication technologies and systems. It helps to lay a good foundation for students to continue their research, development and applications in the fields of electrical systems, modern communication and information networks.

SE110 Computer Programming  (3 credits)
This subject aims to introduce the basic programming concepts to students who learn computer programming for the first time. It also explains the way how programs are executed, how data are stored and processed in computers. The course is based on the C programming language which is highly related to computer hardware. It is one of the most widely known and used programming languages. The C programming is a hardware-oriented execution model that lets programmers understand the way how a program is running in the computer thoroughly. It enables the programmers can make full use of the computer hardware resources. The course provides basic understandings and knowledge for students to pursue further learning in computer science.

SE111 Object-oriented Programming (3 credits)
In this course, students are taught the one of the most popular object-oriented programming languages Java to learn basic object-oriented programming concepts elements, and the terminologies. Practical programming techniques are acquired in the laboratory. After taking this course, the students should have a general understanding of object-oriented program design and implementation using Java. Hands-on experience to implement reasonably large systems in object-objected software development will be acquired.

SE251/CS451 Software Engineering Practices (3 credits)
The students are requested to join a team and select a system to be developed, such as: hotel management system, library information system, etc. They must develop software following the principles of software engineering, and work cooperatively in software planning, requirements engineering, system modeling, software design, and so on. The students will receive the practical engineering training of software development and document writing.

SE350 Formal Methods in Software Specification (3 credits)
The subject gives students a comprehensive introduction to formal methods and their application in software specification and verification. It introduces some fundamentals in formal methods, including set theory, functions, finite state machines, and regular expressions. Moreover, it focuses on logic, a powerful formal language in specifying systems properties. It covers propositional logic, predicate logic, temporal logic, and model checking. The course also presents Petri nets, the most popular formal language in system behavior modelling. In additional to regular Petri nets, it also examines timed Petri nets and high-level Petri nets.

SE351 Software design (3 credits)
The subject aims to introduce the program design process and present program design guidelines that show the students how to analyze a problem statement, how to formulate concise goals, how to make up examples, how to develop an outline of the solution, how to finish the program, and how to test it. Because learning to design programs is about the study of principles and the acquisition of transferable skills, the course does not use an off-the-shelf industrial language but presents a tailor-made teaching language. This course focuses on teaching a systematic approach to program design. In detail, it introduces different design recipes for interactive programs with graphical interfaces and batch programs. It also enriches its design recipes for functions with numerous new hints.

SE352 Software Quality Assurance (3 credits)
This subject aims to provide visibility to management on the processes being followed and the work products being produced in the organization. It is a systematic enquiry into the way that things are done in the organization, and involves conducting audits of projects, suppliers and departments. It provides visibility into the processes and standards in use in the organization, and the extent of compliance to the defined processes and standards. Software quality assurance involves planning and conducting audits; reporting the results to the affected groups; tracking the assigned audit actions to completion; and conducting follow up audits, as appropriate. It is generally conducted by the SQA group and this group is independent of the groups being audited.

CS420/SE420 Theory of Computation (3 credits)

The course is to give an introduction of the mathematical foundations of computation including automata theory; the theory of formal languages and grammars; the notions of algorithm, decidability, complexity, and computability.

CS440/ SE440 Computer Graphics (3 credits)

This course is designed to provide an introduction to interactive computer graphics for advanced undergraduates. It covers principles of computer graphics, current graphics hardware, elementary operations in two- and three-dimensional space, transformational geometry, clipping, graphics system design, standard graphics systems. It also aims to acquaint the student with the basic principles of computer graphics with emphasis on programming in OpenGL.

CS441/SE441 Human-Computer Interaction (3 credits)
The course provides an introductory level of human-computer interaction (HCI) techniques. It is concerned with the design of the interaction between people and computers. It provides the fundamental concepts of human-computer interaction and user-centered desi

Degree Requirements

Total credits need for the completion of the program: 141 credits. 141 credits can be allocated as below: Complete 29 credits of core course in Table 1. According to designation specialized direction, student must complete 52 to 58 credits of core courses in Table 2. Complete 12 to 18 credits of elective course in Table 3 that can be allocated as below: Major in "Computer Science" students are required to complete 18 credits electives. Major in "Electronic and Information Engineering" students are required to complete 12 credits electives. Major in "Software Engineering" students are required to complete 15 credits electives. Complete 36 credits of the General Studies Courses in Table 4 which are assigned as below: Complete 30 credits of required courses. Complete 2 credits of Sciences and Technology Courses. Complete 2 credits of Social Sciences Courses. Complete 2 credits of Humanities and Arts Courses. Complete the elective courses from other faculties to take 6 credits (except for the operation project/graduation project and practice-oriented subject unit/subject).