Undergraduate

  • 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

    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
    3-3-0
    Object Oriented Programming Object Oriented Programming
    1,2
    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 30
    1) 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
    네트워크개론
    CSE351
    Computer Networks
    컴퓨터네트워크

    Course Descriptions

    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Ⅴ.