Courses
GPU Computing (GPU컴퓨팅)
Undergraduate 2025–2026 | SpringThis course introduces how to carry out parallel computing using CPUs and GPUs. Parallel computing is an approach that harnesses many computing resources together to solve problems, and it has become pervasive across domains such as simulation, graphics, and artificial intelligence, where it is relied on to improve both speed and accuracy. Among the many parallel architectures in use today, multicore CPUs and GPUs are the most common platforms students will encounter in practice. The goal of the course is to build intuition for when and why parallelization pays off, and to equip students with foundational programming techniques for designing and implementing parallel programs on these mainstream architectures.
Introduction to Engineering Design (공학설계입문)
Undergraduate 2023 | Fall; 2024–2026 | SpringThis course develops the foundational knowledge required to practice engineering design by walking students through a systematic creative design process, illustrated with diverse examples that connect theory to realistic constraints and decisions. In parallel, teams carry out a project-based experience that mirrors how engineering work is actually done—scoping problems, iterating concepts, communicating ideas, and integrating feedback—so that participants leave with both structured methods for design thinking and firsthand practice of collaborative engineering design.
Object Oriented Programming Design (객체지향프로그래밍설계)
Undergraduate 2023–2026 | SpringThis course is designed to help students build a solid foundation in modern C++ programming while developing a deep, practical understanding of object-oriented programming principles and the habits of thought needed to apply them in real software. Through lectures, exercises, and design-oriented assignments, participants learn to write clear, maintainable, and efficient code, to model problems with appropriate abstractions, and to reason about encapsulation, inheritance, polymorphism, and composition in the context of small and medium-sized systems. Emphasis is placed on moving beyond syntax to genuine design judgment—evaluating trade-offs, structuring responsibilities among classes, and refactoring toward better structure—so that graduates leave with both technical proficiency in C++ and the conceptual tools to grow as thoughtful object-oriented designers.
Object Oriented Programming Lab. (객체지향프로그래밍실습)
Undergraduate 2023–2026 | SpringThis laboratory course complements object-oriented programming with hands-on design practice, emphasizing implementation habits, tooling, and iterative refinement of small systems. Assignments and projects are coordinated with the paired design-oriented course so that conceptual design work and concrete coding reinforce each other across the term.
Seminar for Computer Engineering Beginners (컴퓨터공학입문세미나)
Undergraduate 2026 | SpringThis course is intended for entering students: it surveys the breadth of computer and information engineering and cultivates the foundational literacy expected of students in the discipline. Through introductions to research labs and ongoing work across the department, students deepen their understanding of what the field encompasses while also building a stronger sense of identity and belonging within the undergraduate program.
Algorithm (알고리즘)
Undergraduate 2023–2025 | FallThis course develops methodologies for designing and analyzing effective algorithms and surveys representative techniques aimed at diverse computational goals. It also covers ideas that matter for understanding intractability in practice, including NP-completeness and approximation algorithms as central lenses on hard optimization and decision problems.
Basic Computer Engineering Lab2 (컴퓨터공학기초실험2)
Undergraduate 2024–2025 | FallThis laboratory course uses Arduino, an open-source microcontroller platform that supports approachable embedded programming, as the basis for a sequence of hands-on exercises. Working with sensors, actuators, and simple circuits, students explore how software on a microcontroller coordinates with physical hardware, building intuition for hardware–software interaction in a concrete and engaging setting.
Numerical Analysis (수치해석)
Undergraduate 2025 | FallThis course covers the theory of linear systems, nonlinear equations, and related transforms alongside practical computer-based methods for realizing those ideas reliably on finite-precision hardware. Application-oriented examples are used throughout to connect algorithms to engineering problems and to show how numerical analysis is brought to bear when models must be solved, approximated, or simulated in practice.
Open Source Software Design and Lab. (오픈소스소프트웨어설계및실습)
Undergraduate 2023–2025 | FallOpen source software (OSS) is software whose source code is publicly available, and professional developers today are expected both to build on OSS responsibly and to understand how to participate in open communities. This course supports that goal by teaching Git as a representative version-control system and GitHub as a collaboration platform built on those workflows. Hands-on work uses JavaScript—widely used across OSS ecosystems—as the primary vehicle for practicing the ideas introduced in lecture.
Probability and Statistics (확률및통계)
Undergraduate 2023–2024 | SpringStatistics is the discipline of learning from data; this course follows the natural progression from descriptive statistics through probability to inferential statistics. In the descriptive part, students learn how to summarize and visualize collected data in ways that reveal structure without overclaiming. The probability segment develops core ideas of chance, random variables, and distributions as the language for quantifying uncertainty. The inferential part then turns to methods for drawing justified conclusions about populations from samples, connecting each step to the earlier material.