Computational models. Computable and uncomputable functions. Decision problems and formal languages. Automata and relations among automata. Grammars and formal languages. Computational complexity. NP problem and mathematical logics.
Design of efficient algorithms, divide and conquer, recursion, dynamic programming and greedy algorithm, selection of appropriate data abstraction, analysis and correctness of algorithms, algebraic algorithms, combinatorial problems, proving techniques for complexity analysis.
Design and analysis of parallel algorithms. Fundamental models of parallel computers. Parallel algorithms for selection, sorting, searching, combinatorial problems, matrix problems, numerical problems, and graph algorithms.
Algorithms for discrete computational geometry. Geometric computation range searching, convex hulls, proximity, vornoi diagram, intersection. Application in very large scale integrated circuit design and computer graphics.
Basic concepts of data science. Estimation. Goodness-of-fit test. Data visualization. Hypothesis testing. Analysis of variance. Regression analysis. Classification analysis. Time-series analysis. Bayesian statistics. Applications in data science.
Design and classification of computer architectures. Memory management, special purpose computer architectures. Varieties of high-performance computers, reduced instruction set computers (RISC), parallel and distributed computers, pipelining, vector processors, associative processors, supercomputers, and massively parallel computers.
Specification of fault-tolerance, fault classes, measures of reliability, fault detection and system recovery algorithms, methodology of implementation, analytical models and evaluation, design and analysis of fault-tolerant software.
Basic concepts of the Internet of Things. Architectures, applications, and protocol stacks of wireless sensor networks and Internet of things. Communication protocols at different layers. Wireless sensor node programming. Routing and data flow. Node-centric and data-centric networking. Power management and topology control. Localization. IPv6 over low-power devices.
LAN setup. IP address management. IPv6. Routing configuration. Access control list. Wireless LAN setup. Switch configuration and virtual LAN setup. Network address translation. Network interoperability. Network security.
Wireless communications. Wireless local area network. Technologies, standards, and components. Wireless medium access control. Wireless physical architecture and system design. Integration and implementation. Performance evaluation. Cellular data networks. Multimedia wireless local area network. Related research topics.
Definition and types of real-time and embedded systems. Design principles of real-time and embedded systems. Modeling. Reliability and fault tolerance. Concurrency. Synchronization issues. Timing characteristics. Real-time scheduling. Real-time operating systems. System synthesis and validation. Case study.
Relation between languages and automata; classification of grammars, lexical analysis and symbol-table management, top-down parsing and bottom-up parsing, semantic analysis and intermediate code generation, code optimization and code generator, approaches in constructing language processors, language translator project.
Massively parallel SIMD processors, multiprocessor architecture, interconnection networks, synchronization and communication, memory and address space management, process management and scheduling, parallel compilers and languages, performance evaluation.
Basic concepts in distributed and cloud computing. Overcoming failures in distributed systems. Dynamic membership. Point-to-point and multi-group communication systems. Virtual synchrony execution model. Consistency in distributed systems. Applications of reliability techniques.
Fundamental concepts. Administration of computer centers and data centers. Performance monitoring and evaluation. Proper computer selection methodology. Data center administration, management, and standards. Risk. Security. Case study.
Advanced database systems, distributed database, integrity of data, reliability and consistency control, relational theory, semantics of data types and connection between programming languages and database.
Hardware and software of big data infrastructure. Big data sources and types. Programming on distributed platform. File system for large data analysis. Storage and its access using SQL-like and No-SQL-like tools. Data analysis and prediction techniques using machine learning and data mining. Tools for structured and unstructured analysis for batch and real-time mode. Case study.
Social media structure and modeling. Social network properties. Methods for link analysis. Network community detection. User behavior characterization. Information diffusion. Behavior cascade and social influence. Link prediction and network inference. Sentiment analysis and opinion mining. Applications for social sciences and economics.
Knowledge representation and its reasoning tasks. Principles, advantages and limitations of rule-based systems, frame-based systems and logic-based system. Black-board architecture. Knowledge acquisition, validation and verification. Explanation production techniques. Truth-maintenance systems. Automatic planning systems.
Fundamental method of connectionist model networks. Surveys of historical developments and recent research results from both the computational and dynamical systems. Logical neurons, perceptrons, linear adaptive networks. Adaptive resonance. Energy mininizing models, competitive activation models, error back-propagation and tensor models.
Advanced natural language processing. Emphasis on employing statistical techniques and machine learning, as well as linguistic theories, to develop natural language processing models for word-level, syntax-level, semantic-level, and discourse-level processing. High-level natural language processing techniques and applications, including text clustering and classification, topic modeling, text summarization, text mining. Deep learning for natural language processing.
Discrete time signal and system, Z-transform algorithm, Discrete Fourier Transform and Fast Fourier Transform. Digital filter design and special techniques of signal processing including its application.
Analysis of methods of the design and operation of robotic systems, Identification of three-dimensional objects using digitized images, Arm Control, coordinate transformations, feedback control systems, hardware components, applications of distributed microcomputer systems for robotic control, command languages and planning of job assignments.
VLSI Design, processing unit architecture, memory and logic circuit, and IC placement. Design and construction of a rapid prototype large scale integration, delay time determination, and performance analysis. Synthesis and simulation the circuit via CAD tools.
Principle of design of a combinational logic circuit and finite state machine. Digital system design technique. Computer aided design for digital circuits. Hardware descriptive languages and its compiler. Analysis and simulation of a digital logic circuit. Digital design automation of a digital circuit. Circuit synthesis, partitioning, placement and routing on PLD and FPGA. Digital of computer component.
Pattern recognition theory, parametric and non-parametric approaches to classification. Decision functions, classification with likelihood functions and distance functions. Density estimation, supervised and unsupervised learning. Decision tree feature, reduction performance. Estimation and classification using contextual information.
Human factors in the role of users in relation to software development and database system use. Designing user interface, programming technique, preparing user manual, program development strategy, program debugging and readability. Building interactive system, consideration of response time, graphical display rate, online help, command languages and menu selection.
Research principles and methods in computer engineering and problem analysis for research topic identification. Data collection for research planning. Identification of samples and techniques. Analysis, interpretation, and discussion of research result. Report writing for presentation and publication.