• Computer Science and Engineering [CSE]

      Computer Science and Engineering (CSE) is the field of study that blends principles, theories, and applications of computer technologies that improve access to information. It encompasses computer programming, theoretical computer science, operating systems, databases, computer architecture, artificial intelligence, computer graphics, and human computer interaction just to name a few. Computer science and engineering is not just about how to write computer programs or how to use them, but it tries to tackle the fundamental question – how and what computation can be efficiently automated and implemented.

      Artificial Intelligence

      Can machines think? Many pioneers in computer science have investigated this question at some point during their lifetimes. In fact, long before the dawn of computing, people have been fascinated by the possibility of building machines that can think like humans. Artificial Intelligence (AI) is a branch of computer science dedicated to the creation of machines with intelligence. At UNIST, we aim to study all aspects of intelligent machines and build intelligent systems for all kinds of applications. Our research topics include the architecture of intelligent agents, gameplaying programs, knowledge representation and automated reasoning, planning and acting in the real world, machine learning, natural language processing, computer vision and robotics

      Computer Systems & Network Area

      Today’s information systems are connected through wired/wireless communications with each other. The fundamental challenges in this area are how to build networked computer systems, and how to design scalable, predictable, reliable, trustable, and yet cost-effective systems, in both hardware and software. Advances in this area are critical to meet the exploding demands of tomorrow’s applications arising in other sciences and engineering as well as in our daily lives. UNIST research in this area includes computer architecture, embedded systems, parallel and distributed computing, real-time systems, operating system virtualization, mobile computing, the Internet computing, and ubiquitous computing.

      Graphics and Visualization

      “A picture is worth a thousand words.” This is still valid in the big data era where heterogeneous data are flooded. Graphics and visualization research focuses on developing novel algorithms and interactive techniques to represent, understand, and manipulate visual information from scientific, industry, and personal data. This research area is inherently interdisciplinary and requires close collaboration across various fields in computer science, including computer graphics, computational geometry, scientific and information visualization, computer vision, image processing, and human-computer interaction. This research will address many practical needs in entertainment, medicine, finance, internet, and domain sciences.

      Theoretical Computer Science

      Computer science and engineering does not always involve computers. It is as if music is not just about creating musical instruments or how to play them. In fact, computer science problems have been investigated even before modern computers were built. This field focuses on analysis of algorithms, data structures, computational complexity theory, computational biology, computational geometry, information theory, cryptography, algebra, automata theory, and more mathematical aspects of computation.

Credit Requirement

Credit Requirement
Program Total Credits required Course Credit Research Credit
Master’s Program at least 28 credits at least 21 credits at least 7 credits
(at least 1 credit for ECE Graduate Seminar, at least 6 credits for Master’s Research)
Doctoral Program at least 60 credits at least 18 credits at least 42 credits
(at least 2 credits for ECE Graduate Seminar, at least 40 credits for Doctoral Research)
Combined Master’s – Doctoral Program at least 60 credits at least 36 credits at least 24 credits
(at least 3 credits for ECE Graduate Seminar, at least 21 credits for Doctoral Research)


Electrical Engineering Curriculum
Course is Classification Course No. Course Title Cred.- Lect.- Exp. Prerequisite Convergence
Required Research ECE590 ECE Graduate Seminar 1-1-0 EE211, EE311 X
ECE690 Master’s Research 가변학점
ECE890 Doctoral Research 가변학점
Elective Lecture EE506 Introduction to Optimization 3-3-0 EE533 O
CSE507 Probabilitic Graph Models 3-3-0
CSE508 Automated Planning and Decision Making 3-3-0
CSE509 Mobile Networks 3-3-0
CSE510 System Software 3-3-0
CSE511 Advanced Computer Architecture 3-3-0 CSE301 O
CSE512 Graph Theory 3-3-0
CSE513 Formal Languages and Automata 3-3-0
CSE514 Advanced Operating Systems 3-3-0
CSE515 Algorithm Design 3-3-0
CSE516 Compiler Design 3-3-0 CSE211, CSE221
CSE517 Distributed Systems 3-3-0 CSE221, CSE311
CSE518 Modern Cryptography 3-3-0 CSE232
CSE519 Massively Parallel Programming 3-3-0
CSE520 Computational Geometry 3-3-0
CSE521 Intelligent Agents and Electronic Marketplace 3-3-0
CSE522 Data Visualization 3-3-0
CSE523 Human Computer Interaction 3-3-0 O
CSE524 Software Engineering 3-3-0
CSE525 Parallel Computing 3-3-0 O
CSE526 Programming Language Design 3-3-0
CSE527 Embedded System Design 3-3-0 O
CSE528 Cloud Computing 3-3-0
CSE529 Autonomous Robots 3-3-0 O
CSE539 Advanced Computer Networks 3-3-0
CSE543 Computer Vision 3-3-0 EE211, EE311 O
CSE544 Advanced Machine Learning 3-3-0
CSE610 Special Topics in Computer Engineering I 3-3-0
CSE611 Special Topics in Computer Engineering II 3-3-0
CSE612 Special Topics in Computer Engineering III 3-3-0
CSE613 Special Topics in Computer Engineering Ⅳ 3-3-0
CSE614 Special Topics in Computer Engineering Ⅴ 3-3-0
CSE710 Natural Language Processing 3-3-0
CSE714 Artificial Intelligence 3-3-0
CSE715 Advanced Computer Graphics 3-3-0
CSE716 Advanced Database 3-3-0
CSE717 Computational Complexity 3-3-0 ECE513
CSE719 Information Retrieval 3-3-0
CSE721 Bioinformatics 3-3-0
CSE722 Discrete Stochastic Processes 3-3-0
CSE810 Advanced Topics in Computer Engineering I 3-3-0
CSE811 Advanced Topics in Computer Engineering II 3-3-0
CSE812 Advanced Topics in Computer Engineering III 3-3-0
CSE813 Advanced Topics in Computer Engineering Ⅳ 3-3-0
CSE814 Advanced Topics in Computer Engineering Ⅴ 3-3-0


ECE590 ECE Graduate Seminar ECE 대학원 세미나

The purpose of this course is to extend knowledge to the state-of-the-art R&D level by invited talks of the experts in various related scientific or engineering fields, and also possibly by presentations of the students in the course to exchange their own ideas and updated information for creative and fine-tuned achievements.


ECE690 Master’s Research 석사논문연구

This course is related to the student’s graduate thesis and dissertation. As such, students should be actively working in a laboratory setting and gaining experience through hands-on experimentation.


ECE890 Doctoral Research 박사논문연구

This course is related to the student’s graduate thesis and dissertation. As such, students should be actively working in a laboratory setting and gaining experience through hands-on experimentation.


EE506 Introduction to Optimization 최적화 이론

This course introduces basic optimization theory and methods, with applications in systems and control. The course will cover constrained and unconstrained optimization, linear programming, various algorithms and search methods for optimization, and their analysis. Examples from various engineering applications are given. Prerequisite of linear algebra and calculus of several variables.


CSE507 Probabilistic Graphical Models 확률 그래프 모델

This course studies a class of graphical models that represent joint probability distributions of random variables. The topics include conditional dependence of random variables, statistical inference, message passing algorithm, Nash equilibrium, (Non-)cooperative game, Bayesian network, Conditional Random Fields.


CSE508 Automated Planning and Decision Making 자동 플래닝 및 의사 결정 (폐지)

Planning is a fundamental ability for intelligent agents to act successfully in an environment.

Automated planning has been an active area of research in artificial intelligence for over three decades. Planning techniques have been applied in a number of domains including robotics, process planning, web-based information gathering, and spacecraft mission control. This course aims to introduce the basic algorithms and techniques in AI planning research, with an overview of a wide variety of planning paradigms and applications.


CSE509 Mobile Networks 모바일 네트워크 (폐지)

This course provides the fundamental concepts and algorithms in mobile networks involving cellular networks, mobile ad-hoc networks, and opportunistic networks. The topics covered in this course include naming, routing and transport layer protocols designed and optimized for mobile networks.


CSE510 System Software 시스템소프트웨어

This course introduces fundamental principles behind diverse system software such as linker, loader, debugger, performance profiler and virtualization hypervisor.


CSE511 Advanced Computer Architecture 고급 컴퓨터 구조

This course provides the in-depth understanding of the design issues of processors, memory hierarchy, data bus architectures, and storage technologies.


CSE512 Graph Theory 그래프 이론

This course studies the theories of graphs that are useful in solving problems in computer science/engineering especially in networking, communication, and database. This course also focuses on how to apply the theories of graphs to practical problems and how to implement the solution techniques using computer languages. The major topics to be covered include matchings, factors, connectivity, coloring, and cycles of various types of graphs.


CSE513 Formal Languages and Automata 형식언어 및 오토마타

This course introduces the theory of formal languages and automata. Finite automata, regular expression, context-free grammar, pushdown automata, turing machine and computability will be covered in this course.


CSE514 Advanced Operating Systems 고급 운영체제

This course is to introduce the core concepts in operating systems and distributed systems, and study recent research topics on computer systems. This course will cover topics including classic systems, large scale systems, multicore systems, and fault tolerance.


CSE515 Algorithm Design 알고리즘 디자인

This course presents fundamental techniques for designing and analyzing algorithms. The topics include approximation algorithms, randomized algorithms, amortized analysis, the fast Fourier transform, parallel algorithms and quantum algorithms.

CSE516 Compiler Design 컴파일러 디자인

Through this course, students study basic rules and implementation considerations in implementing a programming language. More details on grammar checks for program syntax, implementation optimization, relations between programming languages and compilers, the role of interpreters, run-time systems, and semantically accurate expressions are also covered.


CSE517 Distributed Systems 분산시스템 (폐지)

This course studies the key design principles of distributed systems, which are collections of independent networked computers that function as single coherent systems. Covered topics include communication protocols, processes and threads, naming, synchronization, consistency and replication, and fault tolerance. This course also examines some specific real-world distributed systems case studies, ranging from the Internet to file systems. Class discussion is based on readings from the textbooks and research papers.


CSE518 Modern Cryptography 현대암호학

This is an introductory course on cryptography, covering fundamental cryptographic notions including pseudorandom generators, symmetric-key encryption, message authentication codes, public-key encryption, and digital signatures. Special emphasis is given to rigorous definition and provable security.


CSE519 Massively Parallel Programming 대규모 병렬처리 프로그래밍

This course introduces state-of-the-art programming techniques for massively parallel computing systems, such as graphics processing units (GPU). The course covers basic parallel programming theories and several programming APIs such as NVIDIA CUDA, OpenCL, and MPI.


CSE520 Computational Geometry 계산 기하학

Computational geometry studies efficient algorithms and data structures for solving large scale geometry problems. The topics to be covered include computational complexity, convex hull, line segment intersection, Delaunay triangulation, Voronoi diagram, Euclidean shortest path, mesh generation, and so on. The main goal of the course is to make students familiar with the fundamental data structures for geometric objects and train them to develop the efficient data structures. The knowledge and insight about algorithms and data structures gained from this course can be applied to various computer science research – database management systems, distributed systems, geographic information systems, computer graphics, etc.


CSE521 Intelligent Agents and Electronic Marketplaces 지능 에이전트와 전자 상거래

An intelligent agent is an Artificial Intelligence program that situates in a simulated or physical environment and operates on behalf of a user to achieve certain goals or maximize a performance measure. This course provides a board introduction to the design of intelligent agents, with emphasis on agents in electronic markets. We will also cover computational and game-theoretic topics related to the foundations of electronic marketplaces. Topics include agent architectures and modeling, game theoretic analysis of multiagent systems, automated mechanism design, auction and exchange design, computational social choice, incentive-compatibility, privacy in mechanism design, negotiation and bargaining, reputation systems, prediction markets, advertising markets, and electricity markets.


CSE522 Data Visualization 데이터 가시화

In this class, we will learn introductory visualization algorithms and data structures frequently used in scientific and information visualization research. The class will cover basic data representation, scalar and vector visualization, image and volume visualization, and information visualization. We will also cover widely used image processing and visualization libraries, such as ITK and VTK.


CSE523 Human Computer Interaction 인간 컴퓨터 상호작용

This course introduces the concepts of Human-Computer Interaction (HCI) that enables computer scientists to design systems that consider human factors. In this course, students will learn what are the good and bad design from the perspective of users, and analytic and empirical evaluation methods.


CSE524 Advanced Software Engineering 고급 소프트웨어 공학 (과목명 변경)

Software engineering is a sub field of computer science that studies how to analyze and understand software requirements, how to build cost-effective designs and solutions to the problems, and how to manage project teams. In this course, students will learn foundational skills for high-quality graphical user interface prototyping and development based on the underlying software architectures and modern software prototyping toolkits.

How to build reliable software in today’s development environment where constant rapid changes of software has become a norm? A key answer to this challenging question lies in the following possibility: many development tasks such as software testing, bug finding, bug fixing, and even code writing can be _automated_ in various degrees. In this course, we will see various fundamental techniques that enable automation of development tasks. These techniques include static analysis, dynamic analysis, and program repair/synthesis.


CSE525 Parallel Computing 병렬 컴퓨팅

Parallel computing enables many computations to be carried out concurrently on parallel platforms ranging from multi-core architectures to high-performance clusters. This course introduces parallel architectures, parallel algorithms, parallel programming models and libraries (Pthreads, MPI, PVM, OpenMP), scalability, locking protocols, data localization, and the theoretical models for parallel computation.


CSE526 Programming Language Design 프로그래밍 언어 설계

This course introduces concepts of the design of high-level programming languages. It includes various programming language features, structural operational semantics, denotational semantics, logic semantics, algebraic implementation of data types, attribute grammar formalism, and axiomatic semantics.


CSE527 Embedded System Design 내장형 시스템 설계

This course will introduce the fundamentals of embedded system design. Students are required to design and implement an application for an embedded systems platform, and to investigate performance tuning.


CSE528 Cloud Computing 클라우드 컴퓨팅

This course is to understand key concepts and techniques of cloud computing and virtualization, which is the core technology for cloud computing. This course will cover interesting topics including x86 virtualization, virtual machine management techniques, cloud resource management and optimization, big data analysis on cloud, and high performance computing on cloud.


CSE529 Autonomous Robots 자율 로봇

Robotics is a topic in artificial intelligence which focuses on the physical aspect of intelligence. A machine that can interact successfully with our physical world is an important incarnation of an intelligent agent. In this course, we will introduce some basic algorithms for robotic research. Topics include, but are not limited to: motion control (PID control), observers and tracking (Kalman filters), localization (particle filters, SLAM), vision (segmentation and object detection), walking (zero-moment point), action and sensor modeling (STRIPS planning, optimization of humanoid walk), path planning (Rapidly-exploring Random Trees), behavior architectures (subsumption architecture), multi-robot coordination (multi-robot patrolling), reinforcement learning (Q-learning, multi-armed bandit), multi-robot interaction (socially intelligent robots), applications (autonomous vehicles), and social implications (Isaac Asimov’s “Three laws of Robotics”).


CSE530 Algorithms and Complexity 알고리즘과 계산복잡도

This course gives basic introduction to algorithms and complexity. The topics covered are: review of asymptotic notations, elementary data structures and graph algorithms, dynamic programming, maximum flow, linear programming, Turing machine formalism, the classes P and NP, NP-completeness and reduction, and probabilistic algorithms.


CSE539 Advanced Computer Networks 고급 컴퓨터 네트워크

This course provides in-depth understanding on the design and implementation of computer and communication networks. It covers a variety of analytical techniques to understand system performance, and advanced networking technologies for performance improvement in wired and wireless environment.


CSE543 Computer Vision 컴퓨터 비전 (equivalent to EE543) (폐지)

This course aims at learning how to extract valuable information from visual scenes using computers. Topics may include the basic theories for capturing images by cameras, human visual perception, filtering, edge detection, segmentation, stereo, motion analysis, feature extraction, and object recognition.


CSE544 Advanced Machine Learning 고급 기계학습

The goal of Machine Learning is to build intelligent system that can adapt behaviors based on their experience. This course will study the theory ad application of machine learning methods in graduate level. The main body of the course will cover computational learning theory and various recently developed machine learning methods. The methods includes supervised/unsupervised learning, on-line learning method, Bayesian inference, Support Vector Machine (SVM), Deep Networks and Conditional Random Fields.


CSE551 Systems Security 시스템 보안 (신설과목)

Through this course, students will have a chance to gain experiences in understanding and exploiting software and system vulnerabilities. The series of lab assignments will adopt gradually strong and modern defense mechanisms which students will have chances to bypass. By taking this course, the students will have better understanding in the effectiveness and implication of various security mechanisms that they are implicitly using, and learn the importance of writing programs securely, following common rules for secure coding.


CSE610 Special Topics in Computer Engineering I 컴퓨터공학 스페셜 토픽 I

This course introduces new research topics in the field of Computer Engineering I


CSE611 Special Topics in Computer Engineering II 컴퓨터공학 스페셜 토픽II

This course introduces new research topics in the field of Computer Engineering


CSE612 Special Topics in Computer Engineering III 컴퓨터공학 스페셜 토픽 III

This course introduces new research topics in the field of Computer Engineering


CSE613 Special Topics in Computer Engineering 컴퓨터공학 스페셜 토픽

This course introduces new research topics in the field of Computer Engineering


CSE614 Special Topics in Computer Engineering 컴퓨터공학 스페셜 토픽

This course introduces new research topics in the field of Computer Engineering


CSE710 Natural Language Processing 자연언어처리

This course introduces the theory and techniques to process natural language with computer systems.

CSE714 Artificial Intelligence 고급인공지능

This course provides diverse techniques for designing intelligent decision-making machines. The topics covered in this course are machine learning, expert systems, neural networks, game theory, operations research, and heuristic algorithms.


CSE715 Advanced Computer Graphics 고급 컴퓨터 그래픽스 (폐지)

This course is an advanced course on the state-of-the-art 3D computer graphics theories and applications. The course will review recent computer graphics and visualization research articles about 3D modeling, rendering, image processing, and volume graphics.

CSE716 Advanced Database 고급데이터베이스 (폐지)

This course covers database management system design principles and techniques. Possible topics include internal design of DBMS, indexing, query optimization, parallel databases, distributed databases, geographic information systems, data intensive computing, and big data processing. In the first half of the course, we will review internal design of DBMS. In the second half, we will read milestone papers in DB history as well as the state-of-the-art papers mainly focusing on emerging technologies.

CSE717 Computational Complexity 계산복잡도 이론

Computational complexity theory studies how much resource (time or memory, for example) is required to solve a given computational problem. Topics covered in this class includes time complexity, space complexity, randomized computation, quantum computation, and interactive proofs.

CSE719 Information Retrieval 정보 검색

This course introduces theory and design of text-based information retrieval systems. It discusses the models and methodologies used in information retrieval systems, statistical characteristics, representation of information, clustering algorithms, collaborative filtering, automatic text categorization, etc.

CSE721 BioInformatics 바이오 인포매틱스

Bioinformatics studies methods for storing, retrieving, and analyzing biological data, such as protein sequence, structure, and genetic interactions. It deals with various computer science fields including algorithms, databases, information systems, artificial intelligence, data mining, image processing, and discrete mathematics.

CSE722 Discrete Stochastic Processes 이산 확률 프로세스 (폐지)

The objective of this class is to help students develop the understanding necessary to apply stochastic models to a variety of problems in engineering, science and operations research. The course contains many examples and case studies designed to build insight into the structure of stochastic processes and their impact on real systems, especially in the broad area of communication and networking.


CSE723 Big Data Systems 빅데이터 시스템

This course will cover the state-of-the-art in large-scale data processing platforms while primarily focused on system runtimes that have been proposed to make those platforms more efficient, responsive, intelligent and programmable. In particular, this course will discuss mechanisms and policies in the field of batch and real-time data analytics, distributed processing of deep learning workloads, resource scheduling and management, resource disagreegation, serverless platforms, and public and private blockchain.


CSE810 Advanced Topics in Computer Engineering I [컴퓨터공학 고급 토픽 I]

This course introduces advanced research topics in the field of Computer Engineering I

CSE811 Advanced Topics in Computer Engineering II [컴퓨터공학 고급 토픽 II]

This course introduces advanced research topics in the field of Computer Engineering II

CSE812 Advanced Topics in Computer Engineering III [컴퓨터공학 고급 토픽 III]

This course introduces advanced research topics in the field of Computer Engineering III

CSE813 Advanced Topics in Computer Engineering [컴퓨터공학 고급 토픽 ]

This course introduces advanced research topics in the field of Computer Engineering Ⅳ

CSE814 Advanced Topics in Computer Engineering [컴퓨터공학 고급 토픽 ]

This course introduces advanced research topics in the field of Computer Engineering Ⅴ