Department of Computer Science and Engineering
While most of people are familiar with computers, not many people have a good understanding of what computer science and engineering (CSE) is really about. Implementation of computer programs that improve the quality of human life is an important aspect of computer science and engineering, however learning how to write computer programs is not the core discipline of computer science but just a necessary skill to implement and prove creative and innovative computational logics and ideas in many broad sub-areas of computer science such as algorithms, theoretical computer science, programming languages, operating systems, databases, networks, computer security, computer graphics, artificial intelligence, and many more. In CSE track, students learn foundational principles of the core sub-areas of computer science. Having this curriculum, we cultivate the finest computer scientists and engineers that have the ability of conducting highly creative and innovative research and creating high-quality computing solutions. CSE graduates typically find jobs in IT-related companies or national research institutes or continue to study in graduate schools.
Credit Requirement Required/Elective Credit(minimum) Interdisciplinary Major Remark 1st Track 2st Track Required 33 3 Elective 21 15
Required Mathematics Course
Required Mathematics Course Course No. Required Mathematics course MTH201 Differential Equations MTH203 Applied Linear Algebra
Curriculum※ Course opening semester is subject to be changed according to School’s situation.▶ Core Required: 1TR/2TR Common
Core Required: 1TR/2TR Common Course No. Course Title. Cred.-Lect.-Exp. Remarks Semester CSE241 Object Oriented Programming
객체 지향 프로그래밍
Object Oriented Programming
Object Oriented Programming Object Oriented Programming
Total Credit 3▶ Required : 1TR / Elective : 2TR ▶ Required : 1TR / Elective : 2TR Track Course No. Course Title. Cred.-Lect.-Exp. Remarks Semester CSE CSE201 Digital Logic
3-3-0 1 CSE2211) Data Structures
3-3-0 1,2 CSE232 Discrete Mathematics
3-3-0 1,2 CSE251 System Programming
3-3-0 1 CSE301 Computer Architecture
3-3-0 Prerequisite: CSE201, CSE251 1 CSE311 Operating Systems
3-3-0 Prerequisite: CSE251 2 CSE3311) Introduction to Algorithms
3-3-0 Prerequisite: CSE221 1,2 CSE341 Principles of Programming Languages
3-3-0 Prerequisite: CSE241 1 CSE351 Computer Networks
3-3-0 Prerequisite: EE211Identical: EE314 1 EE EE211 Probability and Introduction to Random Processes
3-3-0 2 Total Credit 301) Data Structures (CSE221) and Introduction to Algorithms (CSE331) become elective courses to CSE 2nd track students who follow the 2019 curriculum and beyond.▶ Elective❇ All EE, MTH courses in CSE curriculum are recognized as elective credits for CSE 1st track only, effective the academic year 2020. ▶ Elective Track Course No. Course Title. Cred.-Lect.-Exp. Remarks Semester CSE CSE332 Theory of Computation
3-3-0 Prerequisite: CSE232 2 CSE411 Introduction to Compilers
3-3-0 Prerequisite: CSE341 2 CSE412 Parallel Computing
3-3-0 Prerequisite: CSE221, CSE311 1 CSE421 Database Systems
3-3-0 Prerequisite: CSE221, CSE241 – CSE462 Artificial Intelligence
3-3-0 Prerequisite: CSE221 1 CSE463 Machine Learning
3-3-0 Prerequisite: EE211, CSE331 2 CSE464 Software Engineering
3-3-0 Prerequisite: CSE241 2 CSE465 Mobile Computing
3-3-0 Prerequisite: CSE241, CSE351 2 CSE466 Cloud Computing
3-3-0 Prerequisite: CSE311 1 CSE467 Computer Security
3-3-0 Prerequisite: CSE251 1 CSE468 Information Visualization
3-3-0 Prerequisite: CSE221, CSE351 1 CSE471 Computer Graphics
3-3-0 Prerequisite: CSE221, CSE241 2 CSE480 Special Topic in CSE Ⅰ
컴퓨터 공학 특론 Ⅰ
3-3-0 – CSE481 Special Topic in CSE Ⅱ
컴퓨터 공학 특론 Ⅱ
3-3-0 – CSE482 Special Topic in CSE Ⅲ
컴퓨터 공학 특론 Ⅲ
3-3-0 – CSE483 Special Topic in CSE Ⅳ
컴퓨터 공학 특론 Ⅳ
3-3-0 – CSE484 Special Topic in CSE Ⅴ
컴퓨터 공학 특론 Ⅴ
3-3-0 – EE EE201 Basic Circuit Theory
3-3-0 2 EE211 Probability and Introduction to Random Processes
3-3-0 2 EE313 Automatic Control
3-3-0 Prerequisite: EE311 2 EE320 Digital System Lab
3-1-4 Prerequisite: EE201, CSE201 1 EE402 Introduction to VLSI Design
초고밀도 집적회로 설계
3-3-0 Prerequisite: EE301 1 EE414 Optimization Theory
3-3-0 2 MTH MTH2021) Linear Algebra
3-3-0 Prerequisite: MTH203 2 MTH2601) Elementary Number Theory
3-3-0 2 Total Credit 75
- 1) MTH204 and MTH260 are elective courses effective the academic year 2018 for CSE 1st track students.
- 2) CSE 2nd track students who follow the 2019 curriculum and beyond (including 2020) must complete at least 12 elective credits (out of the 15 elective credits) from CSE 300 or 400-level courses or CSE221.
- 3) There are no prerequisites listed above for 2nd track students except CSE241 effective the academic year 2020 and beyond.
History of Courses Change in 2019-2020
History of Courses Change in 2019-2020
2019 2020 CSE CSE351
Introduction to Networks
CSE201 Digital Logic [디지털 로직]
To understand the basic principles of digital logic circuit, this course introduces the fundamental concepts, components and operations of digital systems. The topics to be covered include the theories of binary numbers, Boolean algebra, combination/sequential logics, registers, and counters and their implementation via hardware description languages.
CSE221 Data Structures [데이터구조]
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.
CSE232 Discrete Mathematics [이산수학]
This course introduces discrete objects, such as permutations, combinations, networks, and graphs. Topics include enumeration, partially ordered sets, generating functions, graphs, trees, and algorithms.
CSE241 Object Oriented Programming [객체 지향 프로그래밍]
This course is a second programming course for Computer Science Engineering track with a focus on object-oriented 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.
CSE251 System Programming [시스템 프로그래밍]
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.
CSE301 Computer Architecture [컴퓨터구조]
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.
CSE311 Operating Systems [운영체제]
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.
CSE331 Introduction to Algorithms [알고리즘]
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 the areas of NP-completeness and parallel algorithms.
CSE332 Theory of Computation [계산이론]
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.
CSE341 Principles of Programming Languages [프로그래밍언어]
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.
CSE351 Computer Networks [컴퓨터 네트워크]
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.
CSE411 Introduction to Compilers [컴파일러 개론]
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.
CSE412 Parallel Computing [병렬 컴퓨팅]
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.
CSE421 Database Systems [데이터베이스 시스템]
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.
CSE462 Artificial Intelligence [인공지능]
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.
CSE463 Machine Learning [기계 학습]
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.
CSE464 Software Engineering [소프트웨어 공학]
This course introduces various software development methods, the nature of software and development projects, software development models, project planning, and project management.
CSE465 Mobile Computing [모바일 컴퓨팅]
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.
CSE466 Cloud Computing [클라우드 컴퓨팅]
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).
CSE467 Computer Security [컴퓨터 보안]
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.
CSE468 Information Visualization [정보시각화 기술]
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.
CSE471 Computer Graphics [컴퓨터 그래픽스]
This course introduces the theory behind the computer graphics for displaying 3D objects and the algorithms to improve the reality of the 3D computer graphics and provides the experience of 3D computer graphics programming with OpenGL.
CSE480 Special Topics in CSE Ⅰ [컴퓨터공학특론 Ⅰ]
This course introduces new research topics in the field of Computer Science & Engineering I.
CSE481 Special Topics in CSE Ⅱ [컴퓨터공학특론 Ⅱ]
This course introduces new research topics in the field of Computer Science & Engineering II.
CSE482 Special Topics in CSE Ⅲ [컴퓨터공학특론 Ⅲ]
This course introduces new research topics in the field of Computer Science & Engineering III.
CSE483 Special Topics in CSE Ⅳ [컴퓨터공학특론 Ⅳ]
This course introduces new research topics in the field of Computer Science & Engineering Ⅳ.
CSE484 Special Topics in CSE Ⅴ [컴퓨터공학특론 Ⅴ]
This course introduces new research topics in the field of Computer Science & EngineeringⅤ.