High Tech, High Touch

Search
Close
Search
 

Undergraduate

  • home
  • Undergraduate
  • Department of Computer Science
  • Curriculum

Undergraduate

Department of Computer Science

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

교육과정
Code Course Title Credit Learning Time Division Degree Grade Note Language Availability
ERC3011 Industry Collaborative Capstone Design 3 6 Major Bachelor 3-4 Engineering - No
This course is a senior level capstone design course in the College of Engineering, School of Information & Communication Engineering and the College of Software, the College of Natural Science. This capstone design course emphasizes the industry-based problem solving task through interdisciplinary team project. The students of this course will discover industry and customer’s needs, and explore industry-based problem issues, and study on interdisciplinary knowledge and theory. Also, they will try to apply the diverse engineering sciences and humanistic knowledge to the problem and reflect the actual industry situation and various consideration, explore various open-ended solutions, improve their best solution, and communicate their results each other. Each team will consist of students from several different departments, and be supported by professors and industry-expert(mentor).
ERC3013 Technology Commercialization Capstone Design 3 6 Major Bachelor Engineering - No
This lecture consists of background theory and practice for patent protection and commercialization(technology transfer..) of technologies or engineering ideas.
ERP4001 Creative Group Study 3 6 Major Bachelor/Master - No
This course cultivates and supports research partnerships between our undergraduates and faculty. It offers the chance to work on cutting edge research—whether you join established research projects or pursue your own ideas. Undergraduates participate in each phase of standard research activity: developing research plans, writing proposals, conducting research, analyzing data and presenting research results in oral and written form. Projects can last for an entire semester, and many continue for a year or more. SKKU students use their CGS(Creative Group Study) experiences to become familiar with the faculty, learn about potential majors, and investigate areas of interest. They gain practical skills and knowledge they eventually apply to careers after graduation or as graduate students.
ESM3056 CAD/Product Data Management 3 6 Major Bachelor 3-4 Systems Management Engineering English Yes
This course is basic class for the product development process using computer and information technologies. Basic concepts and theories of CAD(Computer-Aided Design) and PDM(Product Data Management) are introduced, and lab session for product design in digital environment is prepared. Taking this course will ensure you a solid foundation for application of diverse information technologies in product development process in manufacturing industries.
ESM3061 Data Mining 3 6 Major Bachelor 3-4 Systems Management Engineering Korean,English Yes
Data mining is effectively applicable to various fields of service and manufacturing industry such as financial fraud detection, credit scoring, marketing, and quality engineering. Although this course will be an introduction to data mining, we plan to cover several essential data mining techniques ranging from exploratory data analysis to basics for classification and clustering to association rule mining. Students will be required to work on a term project applying the data mining techniques to real world problems.
ESM3074 Next Generation Computing Interface Construction 3 6 Major Bachelor 3-4 Systems Management Engineering Korean Yes
This course will cover the theoretical concepts and the state-of-art application of next-generation computing to understand how these new ICTs would change human life and our society in the future. By examining diverse aspects of emerging new computing technologies such as smart technologies and ubiquitous computing, students will gain more understanding in the ICT innovation and its impact on people and society. The course also covers national policy on the ICT development and international standards.
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