교육
학과 과정
이수구분 | 과목코드 | 과목명 | 학점 | |
---|---|---|---|---|
전공 | 필수 | CSE221 | 데이터구조 | 3 |
전공 | 필수 | CSE241 | 고급 프로그래밍 | 3 |
전공 | 필수 | CSE251 | 시스템 프로그래밍 | 3 |
전공 | 필수 | CSE261 | 컴퓨터구조 | 3 |
전공 | 필수 | CSE271 | 프로그래밍언어 | 3 |
전공 | 필수 | CSE311 | 운영체제 | 3 |
전공 | 필수 | CSE331 | 알고리즘 | 3 |
전공 | 필수 | CSE351 | 컴퓨터네트워크 | 3 |
전공 | 필수 | CSE401 | 졸업연구 | 3 |
전공 | 선택 | CSE302 | 맞춤형 컴퓨터 만들기 | 3 |
전공 | 선택 | CSE303 | 인공지능을 위한 기초수학 | 3 |
전공 | 선택 | CSE304 | 데이터마이닝 개론 | 3 |
전공 | 선택 | CSE321 | 데이터베이스시스템 | 3 |
전공 | 선택 | CSE332 | 계산이론 | 3 |
전공 | 선택 | CSE333 | 인간-컴퓨터 상호작용 개론 | 3 |
전공 | 선택 | CSE362 | 인공지능 | 3 |
전공 | 선택 | CSE364 | 소프트웨어공학 | 3 |
전공 | 선택 | CSE402 | 자연어처리 | 3 |
전공 | 선택 | CSE403 | 딥 러닝 | 3 |
전공 | 선택 | CSE411 | 컴파일러개론 | 3 |
전공 | 선택 | CSE412 | 병렬컴퓨팅 | 3 |
전공 | 선택 | CSE463 | 기계학습 | 3 |
전공 | 선택 | CSE465 | 모바일 컴퓨팅 | 3 |
전공 | 선택 | CSE466 | 클라우드 컴퓨팅 | 3 |
전공 | 선택 | CSE467 | 컴퓨터 보안 | 3 |
전공 | 선택 | CSE468 | 정보시각화 기술 | 3 |
전공 | 선택 | CSE469 | 로보틱스 개론 | 3 |
전공 | 선택 | CSE471 | 컴퓨터그래픽스 | 3 |
전공 | 선택 | CSE472 | 컴퓨터 비전 | 3 |
전공 | 선택 | CSE480 | 컴퓨터공학특론 Ⅰ | 3 |
전공 | 선택 | CSE481 | 컴퓨터공학특론 Ⅱ | 3 |
전공 | 선택 | CSE482 | 컴퓨터공학특론 Ⅲ | 3 |
전공 | 선택 | CSE483 | 컴퓨터공학특론 Ⅳ | 3 |
전공 | 선택 | CSE484 | 컴퓨터공학특론 Ⅴ | 3 |
전공 | 선택 | UNI204 | 소프트웨어 해킹과 방어 | 1 |
기초 | 필수 | ITP107 | 기초 인공지능 프로그래밍 Ⅰ | 3 |
기초 | 필수 | ITP112 | 이산수학 | 3 |
기초 | 필수 | UNI111 | 전공의 이해 (컴퓨터공학 소개) | 1 |
-
1데이터구조CSE221
This course introduces abstract data type concept such as array, queue, stack, tree, and graph to obtain the ability to program these abstract data types in computer programming languages.
-
2고급 프로그래밍CSE241
This course is a second programming course for Computer Science Engineering track with a focus on advanced programming. The goal of the course is to develop skills such as algorithm design and testing as well as the implementation of programs. This course requires students to implement a large number of small to medium-sized applications, and to learn how to use relevant development tools.
-
3시스템 프로그래밍CSE251
Through this course, students are provided a programmer’s view on how computer systems execute programs, store information, and communicate. This will enable students to become more effective programmers allowing students to consider issues such as performance, portability and robustness when programming. This course will also serve as a foundation for upper level courses such as operating systems, computer networks, and computer organization. Various topics such as machine-level code and its generation by optimizing compilers, performance evaluation and optimization, and memory organization and management will be covered.
-
4컴퓨터구조CSE261
This course provides students with a basic understanding of computer organization and architecture. It is concerned mostly with the hardware aspects of computer systems: structural organization and hardware design of digital computer systems; underlying design principles and their impact on computer performance; and software impact on computer.
-
5프로그래밍언어CSE271
By studying the design of programming languages and discussing their similarities and differences, this course provide introduces the concept of modern programming languages and improves the ability to learn diverse programming languages.
-
6맞춤형 컴퓨터 만들기CSE302
In this course, students will learn how they can redesign pieces of a computer system (e.g., processor architecture, operating systems, or compiler) to customize a computer system for design goals, such as improved security or higher performance. As the example of goals, students will design and implement an extension to a computer to prevent a well-known attach mechanism, and to accelerate a machine-learning applications.
-
7인공지능을 위한 기초수학CSE303
This course aims to help students gain hands-on experience on basic mathematical tools in AI. We will revisit topics and linear algebra, vector calculus, probability, and statistics contextualized in AI and study some advanced topics such as mathematical optimization.
-
8데이터마이닝 개론CSE304
This course introduces fundamental data mining techniques for extracting patterns and insights from large datasets. Core topics include classification, clustering, association rule mining, anomaly detection, data preprocessing, and model evaluation. The course emphasizes both theory and practical applications, using real-world datasets and modern tools to understand and apply data mining methods.
-
9운영체제CSE311
This course introduces the objective and various forms of operating systems. Also resource management mechanisms such as process management, memory management, storage management and synchronization tools are covered in this course.
-
10데이터베이스시스템CSE321
This course introduces the concept of databases and provides basic experience in database programming. This includes the design of relational model, relational algebra, and SQL. The second half of the class will focus on the under-the-hood of DBMS systems and database design principles are also in the scope of this course.
-
11알고리즘CSE331
This course introduces the basic concepts of design and analysis of computer algorithms: the basic principles and techniques of computational complexity (worst-case and average behavior, space usage, and lower bounds on the complexity of a problem), and algorithms for fundamental problems. It also introduces NP-completeness.
-
12계산이론CSE332
This course is an introductory course on the theory of computation. The topics covered in this course includes: mathematical modelling of computing mechanisms (automatons), formal languages, computability, and basic complexity theory.
-
13인간-컴퓨터 상호작용 개론CSE333
In this course, we discuss the fundamentals of human-computer interaction, user interface design, and usability analysis. Students will learn principles and guidelines for usability, quantitative and qualitative analysis methods. They will also apply the principles through critiques of existing user interfaces and development of new ones with term projects and assignments. This course covers cognitive models, task analysis, psychology, experimental design, and prototyping methods.
-
14컴퓨터네트워크CSE351
This course provides the fundamental concepts of computer networking and exercises for network programming. The topics covered in this course are data link, networking, transport, and application layers.
-
15인공지능CSE362
Can machines think? Many pioneers in computer science have investigated this question. Artificial Intelligence (AI) is a branch of computer science dedicated to the creation of machines with intelligence. This course aims to introduce students to the field of AI and make them familiar with fundamental techniques for building intelligent systems.
-
16소프트웨어공학CSE364
In this course on software engineering, we ask the following question. How can we develop high-quality software in a productive manner? Given the high complexity of software and its development, there is no one-size-fits-all solution. Rather, software engineers make use of various approaches such as improving development processes and automating part of development tasks. In this course, we will take a look at various prominent approaches developed to help software engineers, focusing more on modern approaches of software engineering, which emphasize automation of software development. At this point, automation is most advanced in software testing and static analysis, and automatic debugging and bug fixing are on the horizon. In this course, students will have a chance to use various tools and understand how and why these tools work internally.
-
17졸업연구CSE401
This course is aim to perform a term project through collaboration.
Students are required to conceive a novel idea, which will be envisioned by designing and fabricating a product by using the best knowledge learned at undergraduate level. Lastly, students will present their work in public for evaluation. -
18딥 러닝CSE402
The course introduces fundamental ideas in deep learning, as well as to advanced deep learning software and prototyping. Our goals are
1. to provide you the basic foundations and practical techniques for deep learning,
2. to train you in high-level and low-level deep learning software development for several important concepts,
3. to show you complex real-world applications of deep learning in various areas. -
19인공지능을 위한 기초수학CSE403
The course introduces fundamental ideas in deep learning, as well as to advanced deep learning software and prototyping. Our goals are
1. to provide you the basic foundations and practical techniques for deep learning,
2. to train you in high-level and low-level deep learning software development for several important concepts,
3. to show you complex real-world applications of deep learning in various areas. -
20컴파일러개론CSE411
This course introduces the design and implementation of compiler and runtime systems for programming languages. The topics covered include parsing techniques, lexcial and syntactic analysis, context analysis, and runtime systems.
-
21병렬컴퓨팅CSE412
As we enter the multicore era, parallel and distributed computing techniques now permeate most computing activities. This course is designed to let students follow rapid changes in computing hardware platforms and devices, and understand the concepts of parallel computing architecture, parallel programming models, parallel computing applications, and performance analysis.
-
22기계학습CSE463
Machine learning is the science and engineering of building system that can learn from data. In recent years, machine learning has given us self-driving cars, effective web search, and accurate recommendation systems. This course will provide the theoretical underpinnings of machine learning, but also best practices in the machine learning industries. The courses include a broad introduction to machine learning, learning theory, and data mining.
-
23모바일 컴퓨팅CSE465
This course studies how mobile computing is different from conventional computing in the aspect of its concept, architecture and applications. Major enabling techniques of mobile computing such as sensing, mobile communication, machine learning, and system optimization for energy efficiency are explained with opportunities of implementing such technologies in Android platforms.
-
24클라우드 컴퓨팅CSE466
This course is to understand basic concepts and techniques of virtualization, cloud computing systems, and cloud platforms including x86 virtualization and virtual machine, virtual machine management, cloud resource management, and big data analytics platforms (MapReduce).
-
25컴퓨터 보안CSE467
This course introduces the principle and practice of securing modern computer systems. From the seminal works and state-of-the-art security mechanisms, students will learn to formulate the security problems and to devise their solutions.
-
26정보시각화 기술CSE468
In this course, we will focus on “designing user new interfaces” and “information visualization techniques” and systems. A fundamental skill in software engineering is to rapidly implement and evaluate efficient prototypes of an end-user application for deployment. This course will introduce foundational skills for high-fidelity graphical and visual user interface prototyping and development with state-of-the-art software interface design toolkits.
-
27로보틱스 개론CSE469
Robotics is an important topic in Artificial Intelligence (AI), focusing on the physical aspect of intelligence. A machine that can interact successfully with our physical world is an important demonstration of AI. The objective of this course is to learn some basic algorithms and techniques for robotic research and robot programming. This course will cover the following topics: motion control (PID control), state estimation and tracking (Kalman filters), localization (particle filters, SLAM), computer vision (color segmentation, deep learning, object detection), motion/path planning (PRM, RRT), action and sensor modeling (task planning), reinforcement learning (MDPs, Q-learning, inverse reinforcement learning), and human-robot interaction (socially intelligent robots), behavior architectures (subsumption architecture), applications (autonomous vehicles), and social implications (Isaac Asimov’s “Three laws of Robotics”). Students will learn to program a robot in Robot Operating System (ROS).
-
28컴퓨터그래픽스CSE471
Computer graphics is one of the flourishing fields within computer science that deals with generating 2D/3D images with the aid of computers. This course will introduce the fundamental concepts in the computer graphics for displaying 3D objects and the algorithms to improve the reality of computer graphics. It will provide the experience of computer graphics programming.
-
29컴퓨터 비전CSE472
This course aims to understand machine/deep learning algorithms which are dedicated to computer vision tasks. During the 8-week course, students will learn to implement, train and debug their machine/deep learning models. The final assignment will involve training a multi-million parameter convolutional neural network and applying it onto the real-world computer vision problem. The lecture will focus on teaching the learning algorithms (e.g. stochastic gradient descent), practical engineering methods for obtaining an improved machine/deep learning model.
-
30컴퓨터공학특론ⅠCSE480
This course introduces new research topics in the field of Computer Science & Engineering Ⅰ~Ⅴ.
-
31컴퓨터공학특론ⅡCSE481
This course introduces new research topics in the field of Computer Science & Engineering Ⅰ~Ⅴ.
-
32컴퓨터공학특론ⅢCSE482
This course introduces new research topics in the field of Computer Science & Engineering Ⅰ~Ⅴ.
-
33컴퓨터공학특론IVCSE483
This course introduces new research topics in the field of Computer Science & Engineering Ⅰ~Ⅴ.
-
34컴퓨터공학특론ⅤCSE484
This course introduces new research topics in the field of Computer Science & Engineering Ⅰ~Ⅴ.
-
35소프트웨어 해킹과 방어UNI204
This course introduces the principle and practice of software hacking and defense. Through state-of-the-art software hacking and defense mechanisms and various practices, students will learn to formulate the software security problems and to devise their solutions. Students are expected to participate in hacking competition at the end of the class.
이수학점
구분 | 이수학점 | 비고 | 소계 |
---|---|---|---|
필수 | 17 | Calculus I(3), General Physics I(3), General Chemistry I(3), General Biology(3), Introduction to AI Programming I(3), General Chemistry Lab I(1), General Physics Lab I(1) | At least 33 credits |
선택 (학과 지정) | 16 | Take 16 credits among the basic course list – Required : 4 courses – Recommended : 2 courses – Elective : 3 courses |
이수교과
※ 전공 : 16학점 / 복수전공 : 16학점 / 부전공 : 16학점필수 ● / 선택 ○ / 권장 ◑
과목코드 | 과목명 | 전공 | 복수전공 | 부전공 |
---|---|---|---|---|
MTH112 | 미적분학Ⅱ | ○ | ○ | ○ |
PHY103 | 일반물리학Ⅱ | – | – | – |
CHM102 | 일반화학Ⅱ | – | – | – |
PHY108 | 일반물리실험Ⅱ | – | – | – |
CHM106 | 일반화학실험Ⅱ | – | – | – |
MTH201 | 미분방정식 | ○ | ○ | ○ |
MTH203 | 응용선형대수 | ● | ● | ● |
과목코드 | 과목명 | 전공 | 복수전공 | 부전공 |
---|---|---|---|---|
MTH211 | 통계학 | ◑ | ◑ | ◑ |
MGT102 | 기업가정신 | – | – | – |
IE101 | 데이터사이언스개론 | ○ | ○ | ○ |
ITP117 | 기초인공지능프로그래밍Ⅱ | ● | ● | ● |
ITP111 | 확률과랜덤프로세스개론 | ◑ | ◑ | ◑ |
ITP112 | 이산수학 | ● | ● | ● |
UNI111 | 전공의이해 | ● | ● | ● |