Reinforcement learning (RL) is one of the popular machine learning paradigms for solving sequential decision-making problems. In this paradigm, agents learn the optimal policies by repeatedly interacting with an environment to maximize (cumulative) rewards. This courses will cover the foundational concepts of RL, including state-action-reward pairs, the Markov decision process, and exploration versus exploitation. In addition, we will learn key RL algorithms, such as the Monte Carlo method, temporal difference learning, function approximation, and policy gradients. Furthermore, you will work on a small team project to implement an RL agent to solve problems with different difficulties, from simple to complex ones.
This courses introduces fundamental concepts and theories to design and analyze computer algorithms that are widely employed in computer science. Throughout the courses, we will cover divide-and-conquer, dynamic programming, greedy algorithms, backtracking, branch-and-bound, genetic algorithms, and NP theory.
This course aims to provide broad knowledge about interaction design methods and principles for better usability through hands-on experiences in user-centered design sessions. The course covers well-known design principles on usability aspects (e.g., learnability, efficiency, human errors) and design methodologies (e.g., user-centered design, task analysis, prototyping, heuristic evaluation, and user testing). Design assignments and term projects will help students enhance their user interface design skills in web, mobile, and IoT environments.
This courses aims to cultivate practical skills to solve programming challenges based on what students learned from the data structure and additional techniques, including string manipulation, sorting, backtracking, graph traversal, and dynamic programming.
This courses covers fundamental concepts of database and database management systems and how to build and query your own database using Structured Query Language. In addition, you will learn a theoretical background for designing a good database and basic techniques for concurrency control and recovery.
This courses covers the concepts, history, and applications of artificial intelligence technology, which has rapidly advanced in recent years. Additionally, students will practice programming basics and frameworks to apply real-world artificial intelligence technology. By learning various artificial intelligence algorithms, computer vision, natural language processing, and cloud-based artificial intelligence, this courses aims to cultivate data security professionals with the capabilities to apply artificial intelligence technology to solve real-world problems.
This courses covers a wide range of the concepts, history, examples, and applications of artificial intelligence, cultivating the ability to understand the past and present of artificial intelligence technology, which has recently developed rapidly, and predict how future society will change in the future.