Lectures
CS360
Introduction to Database
Database management is widely recognized as a central component of almost all enterprises, and, accordingly, the knowledge about database systems has become essential for an education in computer science. This course teaches the fundamental concepts of database management. More specifically, database design, database languages (SQL), and application development will be covered. The course is intended for a first course in databases at the junior or senior undergraduate level, and there is no prerequisite required. The students will practice not only using SQL through lab sessions but also developing a database application through assignments. In addition, they will gain some experience with the implementation of an internal component of a database system.
Offered in fall 2022, fall 2023, spring 2024
CS361
Introduction to Data Science
Data science is an inter-disciplinary field focused on extracting knowledge from typically large data sets. This course aims at teaching basic skills in data science for undergraduate students. It covers basic probability and statistics theories required for data science; exploratory data analysis (EDA) required for understanding a given data set; and predictive analysis based on statistical or machine learning techniques. Additionally, it discusses recent big data processing techniques and various data science applications. Overall, this course is specialized for data science beginners such as juniors and sophomores. The students will also learn how to implement the methodologies using the Python language (on Google Colab).
Offered in the spring semesters from 2021 through 2023
CS564
Data Science Methodology
Data mining plays an important role in discovering useful knowledge from huge amounts of data. This course teaches the basic concepts and methods of data mining for data science. More specifically, frequent patterns and associations; classification and prediction; and cluster analysis will be covered. The main goal of this course is to give the students a broad knowledge of various data mining methods without confining to a specific domain. This course is intended as a prerequisite for advanced data mining courses and thus is suitable for both (senior) undergraduate and graduate students. The students will understand how data mining can be exploited for discovering useful knowledge.
Offered in fall 2022, spring 2023 (continuation of KSE525)
CS665
Advanced Data Mining
Deep learning has played an important role in big data analysis in recent years. This newly-designed course teaches recent applications of deep learning, such as convolutional neural networks (CNN), recurrent neural networks (RNN), and auto encoders, for various data analysis problems. These selected problems will mostly deal with mobility data and time-series data. Then, the recent publications on the problems will be presented and discussed in class. The students are required to submit a term paper as the final outcome. The course conforms to KAIST Education 4.0 (track 2). That is, the proportion of traditional lectures is less than half, and the students should participate in discussion and presentation.
Offered in fall 2021
Lectures (Discontinued)
I no longer offer these courses since I transferred to the School of Computing.
KSE525
Data Mining and Knowledge Discovery
Data mining plays an important role in discovering useful knowledge from huge amounts of data. This course teaches the basic concepts and methods of data mining. More specifically, frequent patterns and associations; classification and prediction; and cluster analysis will be covered. The main goal of this course is to give the students a broad knowledge of various data mining methods without confining to a specific domain. This course is intended as a prerequisite for advanced data mining courses and thus is suitable for both undergraduate and graduate students. The students will understand how data mining can be exploited for discovering useful knowledge.
Offered in the spring semesters from 2011 through 2021
KSE526
Analytical Methodologies for Big Data
Today, the amount of data we're creating continues to increase rapidly. This course discusses basic analytical methodologies for big data, which are vital to data scientists. Big data analytics calls for extending existing algorithms so that they can support big data. In this course, the instructor will first teach MapReduce, which is the representative framework of processing big data, and then the methodologies of extending data mining (e.g., clustering and classification) algorithms into MapReduce. The students will also learn how to implement those algorithms using Apache Hadoop. As a result, the students will achieve the basic capabilities needed to design the algorithms of big data analytics.
Offered in the fall semesters in 2013, 2014, 2016, 2018, 2019, and 2020
​
KSE625
Data Mining for Social Networks
The advent of online social networks has been one of the most exciting events in this decade. Many popular online social networks such as Twitter, Facebook, and LinkedIn have become increasingly popular. Such social networks typically contain a tremendous amount of content and linkage data which can be leveraged for analysis. This abundant data provides unprecedented opportunities for knowledge discovery in the context of social networks. This course teaches key concepts and algorithms for analyzing online social networks from the data mining point of view. The course will cover many interesting topics including community discovery, evolution analysis, link prediction, and influence analysis. The instructor will introduce the representative papers (two for each week) published in the data mining field. In addition, the students will get to play with real data crawled from social networking sites.
Offered in the fall semesters in 2011, 2012, 2015, and 2017
CoE202
Basics of Artificial Intelligence (Learning Artificial Intelligence with LEGO)
This course gives an overview about the role and application of artificial intelligence (AI) in the 4th Industrial Revolution. It is designed mainly for undergraduate freshmen and sophomores. First, the students will learn the basic concepts and methods of AI, including supervised learning, (convolutional) neural networks, reinforcement learning, and programming tools (e.g., PyTorch). Then, they will build a smart factory model using LEGO, collect product image data, and sort out defective products using the AI techniques; besides, they will build a crawler robot that can learn by itself how to move forward using reinforcement learning.
Offered in fall 2018 and spring 2020