High Tech, High Touch

Search
Close
Search
 

Undergraduate

  • home
  • Undergraduate
  • Department of Computer Science and Engineering
  • Curriculum

Undergraduate

Department of Computer Science and Engineering

For more details on the courses, please refer to the Course Catalog

교육과정
Code Course Title Credit Learning Time Division Degree Grade Note Language Availability
ESW4001 Virtual Reality Theory 3 6 Major Bachelor/Master Computer Science and Engineering - No
Virtual reality is an interdisciplinary next-generation medium that fuses many different areas upon computer science and engineering. This course focuses on the technological aspects of virtual reality, and deals with the fundamentals of theories, hardware/software, and its applications. The major subjects include virtual reality systems, the basics of computer graphics and stereoscopic rendering, vision/auditory/haptic perception, 3D interaction and practical implementation techniques.
ESW4004 Principles of Distributed Computing 3 6 Major Bachelor/Master Computer Science and Engineering Korean Yes
A distributed system is a collection of independent networked computers that function as a single coherent system. With the advent of the fast interconnect and large datasets, a.k.a. Big Data, distributed systems are becoming more important and they are widely used in various domains including AI. The primary goal of this class is to learn key design principles of distributed systems and understand how distributed systems manage resources in a networked environment. Course topics include, but not limited to, communication protocols, processes/threads, naming, synchronization, consistency, and fault tolerance.
ESW4006 Information Visualization 3 6 Major Bachelor/Master Computer Science and Engineering Korean Yes
With the advances in data storing and processing technologies, the size of data humans confront is increasing at an unprecedented rate. Despite the ever-increasing data size, our perceptual and cognitive abilities stay relatively unchanged, leading to an information gap between humans and data. Information visualization provides one means of addressing such information overload, as well-designed visual representations can assist our perceptual and cognitive abilities to understand, analyze, and memorize the data. In this course, students will learn to 1) design, evaluate, and critique visualization designs, 2) comprehend the characteristics of humans' perception that underpin visualization, 3) understand novel visualization and interaction techniques, and 4) implement interactive data visualizations. The topics of this course will include but not limited to: - Foundations of Information Visualization, Exploratory Data Analysis (EDA), Visual Analytics - Data and Task Abstraction - Mark, Channel, Color, Perception, Interaction, and Animation - Tables, Maps, Networks, Text, and Uncertainty - Visualization for Large-scale and High-dimensional Data - Visualization for the Explainability and Trustworthiness of Machine Learning Methods
ESW4007 Principles of Compilers and Programming Languages 3 6 Major Bachelor/Master Computer Science and Engineering Korean Yes
This is a graduate level course for compiler and programming language technology. Based on data flow analysis and control flow analysis, techniques for static/dynamic analysis, compiler optimizations, and code generation are explored. In addition, dependence analysis and loop transformation, which are base techniques for auto-parallelization to support multicore computing and vector processing, are covered.
ESW4008 Data Science and Security 3 6 Major Bachelor/Master Computer Science and Engineering - No
This course is to learn about the AI security and privacy. Additionally, we study the role of AI, data and data analytics for security and privacy applications. This course focuses on applications of AI, machine learning and big data analytics to various security and privacy problems, using various data analysis and AI techniques to solve challenging security and privacy issues.
ESW4009 Blockchain and Smart Contract 3 6 Major Bachelor/Master Computer Science and Engineering - No
This course introduces blockchain and smart contract technologies that enable peer-to-peer transfer of digital assets without any intermediaries. We specifically aim to provide students with (1) an understanding and working knowledge of foundational blockchain concepts, (2) programming skills for designing and implementing smart contracts, (3) methods for developing decentralized applications on the blockchain, and (4) information about the ongoing specific industry-wide blockchain frameworks. The course also covers a range of essential topics, from the cryptographic underpinnings of blockchain technology to enabling decentralized applications on blockchain platforms.
ESW4010 Special Topics in Systems Security 3 6 Major Bachelor/Master Computer Science and Engineering - No
This course will cover the fundamental principles in software and systems security, and practical information security skills using the Capture-the-Flag(CTF) format. You will learn the principles of software security and secure systems design as well as the basics of cryptography and protocol security, authentication and access control. CTF challenges will require you to apply the offensive security skills that you learn in this course.
ESW4011 Software Security With AI 3 6 Major Bachelor/Master Computer Science and Engineering - No
The surge of digital data and computing resources (GPU) makes artificial intelligence (AI) play a pivotal role on leading the changes for our society. A study in the field of software security that utilizes AI technologies has been constantly on the rise. This course covers varying topics that enhance software security by harnessing deep learning. The course discusses the direction of software security with lately-published papers that contain state-of-the-art ideas. The following includes (but not limited to) actively ongoing research topics for the last five years. - Function boundary identification on an executable binary - Function parameter prediction - Object type prediction - Software authorship prediction - Code similarity detection - Malware family classification - Malware behavior detection - Code clone detection - Automatic vulnerability detection on source code - Automatic vulnerability detection on a binary - Binary function name prediction - Debugging information (e.g.,variable name) prediction - Attack surface reduction - Automatic vulnerability patching (repair) on source code - Automatic vulnerability patching (repair) on a binary - Semantic-aware code representation - Obfuscation code detection - Binary toolchain provenance prediction - Understanding of program with neural networks - Code summerization - Neural representation on control flow / call invocation graph - Neural watermarking
ESW4012 Offensive Security 3 6 Major Bachelor/Master Computer Science and Engineering Korean Yes
This course aims to cover offensive security that centers around real attacks for better defenses. The understanding of attack mechanisms is particularly fruitful when designing a safe system or network protocol as well as implementing intrusion detection/prevention systems. The course begins with ethics and today’s cybercrime, followed by various topics on aggressive security. Ethics and relevant regulations Understanding of varying cybercrimes Google hacking database (GHDB) Phishing/Pharming/Smishing Domain squatting Privacy invasion Fake news propagation Deepfake Dark Web Penetration Test Attacks over network and a hands-on experiment Passive attack (sniffing) Active attack (spoofing, interception, replaying) ARP spoofing, session hijacking, DDoS attacks, DNS Kaminsky attack Hands-on: tcpdump, wireshark, scapy Anonymous network and Tor Reconnaissance on a target Port scanning Social engineering Information gathering: SNS, websites, etc. Reverse Engineering and a hands-on experiment Understanding of assembly Demystifying executable binaries: ELF and PE Static analysis Dynamic analysis automatic binary analysis framework Hands on: debugging an executable binary, angr framework Understanding of memory-corruption-based system attacks History of memory corrpution attacks Stack overflow Heap overflow Integer overflow ROP (return-oriented programming) attack Code injection VS code reuse a
ESW4013 Automated Software Analysis 3 6 Major Bachelor/Master Computer Science and Engineering - No
The class teaches both foundation and practical aspects of automated software analysis, which is used by various research domains such as software engineering, program analysis, and security. Such techniques are also increasingly adopted in industries in order to automatically detect SW bugs and vulnerabilities before officially releasing the products. In this course, the foundation of automated software analysis techniques such as the theory of abstract interpretation, data-flow analysis, concolic testing, symbolic execution, fuzzing, and instrumentation will be introduced. Moreover, the recent research papers from top-tier conferences which utilizes such automated analysis techniques will be introduced in order to teach students how these techniques can be used to solve research problems. In addition, through assignments, students will design and implement practical software analysis tools that find bugs and verify software properties. After taking this course, students are able to: - Understand the foundation and practice of software analysis techniques, and - Able to detect SW bugs and vulnerabilities automatically, and - Could perform research on automated SW analysis
ESW4014 Principles of Reinforcement Learning 3 6 Major Bachelor/Master Computer Science and Engineering Korean Yes
In this course, students learn the basic theory algorithm of Reinforcement Learning (RL) to find the optimal policy for a given environment. From basic reinforcement learning theories such as Markov Decision Process, Planning, and Q-learning to deep neural network-based reinforcement algorithms such as Value Function Approximations and Policy Gradient Methods. In addition, Model-based RL through estimating environments, Exploitation & Exploration Trade-off, and Inverse RL that mimics the behavior of experts are also covered. Basic knowledge of data structures, algorithms and machine learning is required to take this course.
ESW4015 Network Security And Artificial Intelligence 3 6 Major Bachelor/Master Computer Science and Engineering - No
This course will explain the techniques of artificial intelligence (AI) and machine learning (ML) that are required by computer networks and security areas. First, it explains the basic mathematics and algorithms required by AI and ML.. Second, it explains representative AI techniques (e.g., genetic algorithm, evolutionary algorithms, artificial bee colony algorithm). Third, it explain representative ML techniques (e.g., decision tree, random forest, deep learning, reinforcement learning). Fourth, it teaches how to apply AI and ML techniques to computer networks and security areas with both journal and conference papers. The topics covered by this course include Internet of Things (IoT), vehicular networks, software-defined networking (SDN), network functions virtualization (NFV), 5G/6G, wireless drone networks, cloud-based security systems, and Blockchain.
ESW4016 Research Paper Writing In Network Security 3 6 Major Bachelor/Master 1 Computer Science and Engineering - No
This course will explain research plan, design, implementation, performance evaluation, paper writing, preparation for paper presentation slides, presentation methology in computer networks and security areas. The topics covered by this course include Internet of Things (IoT), vehicular networks, software-defined networking (SDN), network functions virtualization (NFV), 5G/6G, wireless drone networks, cloud-based security systems, and Blockchain.
ESW4017 Seminar In Digital Healthcare Security 1 2 Major Bachelor/Master 1 Computer Science and Engineering Korean Yes
This course will consist of seminars about the state-of-the-art terminal security, infrastructure security, and data security areas related to digital healthcare, which are delivered by domestic and international professors, researchers, and software engineers. The terminal security deals with security in system software and application software in various devices (e.g., smartphone, autonomous vehicle, and cloud server). The infrastructure security deals with security in various wired amd wireless networks (e.g., Internet of Things (IoT), vehicular networks, software-defined networking (SDN), network functions virtualization (NFV), 5G/6G, and Blockchain). The data security deals with security and privacy related to users’ data (e.g., digital healthcare data, video, photos, and audio).
ESW4019 Moving Object Networking and Security 3 6 Major Bachelor/Master 4
1
Computer Science and Engineering - No
This course aims at the teaching of Moving Object Networking and Security. Moving objects include mobile devices carried by humans, Internet-of-Things (IoT) devices with mobility, and Unmanned Aerial Vehicles (UAV), robots, and vehicles. That is, they mean terrestrial, aerial, and marine vehicles along with humans. To avoid collisions among those moving objects and let them collaborate with each other to achieve some missions, they need to communicate with each via one-hop or multi-hop wireless communications. This communications also need to be protected by security protocols. This course teaches students IPv6 wireless mobile networking and security of the moving objects as well as context-aware navigation for the safe movement of moving objects in terrestrial, aerial, and marine areas.