popup zone

CSE2013 시스템소프트웨어와 실습 System Software and Practice
본 강좌는 다양한 시스템 소프트웨어를 작성하고 응용하는데 필요한 능력을 기르는 핵심적인 과목이다. 우선, 가상의 단순 명령어 컴퓨터 (SIC/XE) 머신에 대해 학습하고 어셈블러, 링커, 로더 및 운영체제에 대해 이해한다. 또한, 리눅스 커널 프로그래밍을 통해 운영체제의 원리를 이해한다. 강의/실습/과제를 통하여 어셈블러, 링커를 구현해보고 리눅스 커널 기반의 서버를 작성해 본다.
This course aims at understanding the essential concepts in writing various system softwares. First, basic concepts are introduced for simple instruction computer and its extension (SIC/XE). Second, several algorithms are presented for implementing assembler, linker, and loader are introduced. Finally, the essential APIs in Linux kernel such as process, thread, and IPC are covered with a lot of practices.
CSE2014 기초프로그래밍 Introduction to Programming
‘프로그래밍’이란 사용자가 원하는 기능을 수행하도록 컴퓨터에게 명령을 내리는 ‘프로그램’을 만드는 과정이다. 본 강의에서는 현실의 문제들을 컴퓨터가 이해할 수 있는 프로그래밍 언어로 명령하는 방법을 배우고 원하는 목표를 올바르게 수행하는 ‘프로그램’을 개발하는 방법을 배운다. C 언어의 기초적인 사용방법을 배우고 다양한 프로그래밍 실습을 통하여 효율적이고 실용적인 프로그래밍 능력을 습득한다.
‘Programming’ is making a set of orders or ‘programs’ so that computers can execute desired operations specified by human users. In this course, students will learn how to command computers by means of programming languages and solve real-world problems. Students will study basic and fundamental programming methods of C programming language with various examples.
CSE2015 웹프로그래밍 Web Programming
웹상에서 프로그래밍을 할 수 있도록 웹페이지 작성 언어에 대해 공부하고, 클라이언트 측에서 사용되는 프로그래밍 언어를 학습하며, 서버 측에서 사용되는 프로그래밍 언어를 공부한다.
This course deals with web programming on the internet. we study languages used to construct web pages. Then, we learn client-side scripting languages and server-side scripting languages.
CSE2016 어드벤처디자인 Creative Engineering Design
공학도로서 공학설계에 필요한 창의적 사고능력 훈련을 위해 그룹 단위 프로젝트를 수행하고 그 결과에 대해 토론하도록 하여 학생 스스로 창의력을 배양시키도록 한다.
As the first introductory course to engineering design courses, this course prepares students with basic design skills and knowledge. By conducting a project with a team, students will improve their design capability and the teamwork skill.
CSE2017 자료구조와 실습 Data Structures and Practice
이 강좌에서는 주어진 문제를 컴퓨터로 효과적으로 해결하기 위한 자료구조와 알고리즘들을 소개하고, 이를 프로그래밍을 통해 실제 구현하는 방법에 대해서 실습한다. 배열과 연결 리스트, 이를 응용한 스택, 큐, 리스트, 트리, 그래프 구조 등을 배우며, 여러 가지 탐색 방법과 정렬 방법 등을 공부한다
This course introduces data structures and algorithms to solve problems by computers in an effective way. Students learn and practice the methods to implement these with a programming language. Topics include arrays and linked lists, structures such as stacks, queues, trees, graphs, and various methods for searching and sorting of data.
CSE2018 컴퓨터 구성 Computer Organization
디지털 컴퓨터의 하드웨어적인 구성과 그 동작원리를 이해할 수 있도록 컴퓨터의 구조에 대해 강의함으로써 앞으로의 컴퓨터 시스템 관련 과목 수강의 기초를 마련하게 한다.
This course is for understanding of computer organization concepts in terms of computer hardware and software. Scope of the course includes combinational and sequential digital logic design, hardwired control, CPU organization, computer operational principals, register transfer operations, pipelining techniques, etc. By the end of semester, students will be able to understand computer organization and architecture, how to design digital logics that consist the internal hardware of a computer, and techniques for improving computer performance.
CSE2019 객체지향언어와 실습 Object-Oriented Language and Practice
객체지향 프로그래밍 언어를 선택하여 그 언어를 이용하여 문제를 해결하고 프로그램을 작성할 수 있는 능력을 기른다. 특히, 프로그래밍 언어론적 관점에서 객체지향 언어를 강의하고 객체 지향 프로그래밍에 필수적인 개념을 학습하고 실습한다.
This course provides in-depth coverage of object-oriented programming principles and techniques using C++. Topics include classes, overloading, data abstraction, information hiding, encapsulation, inheritance, polymorphism, file processing, templates, exceptions, container classes, and low-level language features. The course briefly covers the mapping of UML design to C++ implementation and object-oriented considerations for software design and reuse.
CSE2022 심화프로그래밍 Advanced Programming
본 강의에서는 프로그래밍 언어를 자유자재로 사용하고 고급 프로그래밍 기술을 능숙하게 활용할 수 있는 프로그래밍 능력을 얻는 것을 목표로 한다. 먼저, c++ 프로그래밍 언어의 문법과 활용법, 다양한 프로그래밍 기술을 공부한 후 표준 라이브러리, 오픈 소스, 응용 API 등을 이용하여 기능을 확장하는 방법을 풍부한 예제와 함께 연습한다.
This course is designed for undergraduate students to obtain the expertise in computer programming. You will study the basic grammar and usages of c++ programming language and various programming skills. You will also practice how to use standard libraries, open sources, and application APIs through many practical programming examples.
CSE2023 객체지향 윈도우즈 프로그래밍 Objet-OrientedWindows Programming
윈도우 환경에서 효과적으로 응용 프로그램을 개발할 수 있는 C# 언어에 대해서 강의한다. 델리게이트, 이벤트, 스레드, 그리고 제네릭 등과 같은 언어의 고급 개념은 이론적인 강의를 통하여 공부하고 그래픽 사용자 인터페이스를 위한 윈폼 애플리케이션을 작성하는 기법은 실습을 통하여 학습한다.
This course enables to develop application programs effectively in C# on Windows Environments. The advanced concepts such as delegate, event, thread, and generics are studied by the theoretical explanation. And, the programming techniques to write Winform applications for GUI are learned by programming practices.
CSE2024 프로그래밍 언어 개념 Concepts of Programming Languages
고급 프로그래밍 언어가 가지고 있는 언어의 기본구조와 그 구조를 구현하는 방법을 공부한다. 자료형, 추상화, 순서제어, 부프로그램제어, 자료제어, 기억장소관리 기법을 다양한 언어에서 어떻게 구현하며, 장단점이 무엇인지 구체적으로 분석한다.
This course covers structures of programming languages: Data Types, Encapsulation, Inheritance, Sequence Control, Subprogram Control, and Storage Management. The key objectives of this course are the following:
1. Understand the issues and principles of programming language design
2. Become familiar with different language paradigms (imperative, functional, logic, object oriented)
3. Gain some practical experience in the design of a programming language
CSE2025 계산적사고법 Computational Thinking
퍼즐놀이와 같은 단순한 게임들을 활용하여 흥미롭게 논리적 사고과정을 훈련받는 강좌로서 부울논리, 논리추론, 알고리즘적 사고 등을 학습한다.
This course is focused on learning how to do computational thinking by practicing simple puzzle-like games of boolean logic, logical inference, algorithmic process, etc.
CSE2026 이산구조 Discrete Structures
이 강좌는 컴퓨터공학 및 컴퓨터과학을 전공하기 위해 필요한 수학적 기본개념과 기초이론들을 소개하는 과목으로서, 논리, 집합, 알고리즘 분석, 이산확률, 그래프, 트리, 순환관계, 정수론, 부울대수, 유한상태기계 등의 개념와 응용에 대하여 학습한다.
This class introduces the mathematical concepts and theories necessary for computer science and engineering major. The students learn the basic concepts such as logic, sets, algorithms analysis, discrete probability, graphs, trees, recurrence relations, number theory, Boolean algebra, finite sate machines, and their applications.
CSE4029 컴퓨터알고리즘과 실습 Computer Algorithm and Practice
컴퓨터 응용에서 자주 발생하는 문제에 대해 자료구조를 토대로 효과적인 컴퓨터알고리즘을 작성하는 기법을 익힌다.
This course is focused on learning how to analyze data structures for application problems and design efficient computer algorithms based on the data structure.
CSE4031 형식언어 Formal Language
컴파일러의 기본 구조를 소개하고 각 단계를 자동적으로 구현하기 위한 형식언어 이론을 강의한다. 먼저, 정규 언어(Regular language)를 중심으로 정규 문법, 정규 표현 그리고 인식기인 유한 오토마타(Finite automata)의 관계를 학습하고 이와 같은 이론을 바탕으로 어휘 분석기(Lexical analyzer)를 구현한다. 다음으로, 구문 분석(Syntax analysis)을 위한 Context-free 문법의 여러 가지 속성을 공부하고 그의 인식기인 푸시다운 오토마타(Pushdown automata) 이론을 학습한다. 이와 같은 이론을 바탕으로 컴파일러의 파싱 방법을 익히고 파서를 구현할 수 있는 능력을 기른다.
This course deals with Formal Languages, Grammar Theory, and Automata Theory. And the relationships between them are mainly studied. This lecture deals with the papers relating to Formal Languages, Formal Grammar, and Automata Theory. The participants at class present the assigned papers that are selected previously by lecturer.
CSE4033 운영체제 Operating Systems
최신 운영체제의 내부 구성요소 및 그 동작에 대해 소개한다. 특히, 프로세스와 스레드, 스케쥴링, 프로세스간 통신, 메모리 관리, 파일시스템, 입출력 시스템 및 보안 등을 공부한다. 또한, Unix/Linux 운영체제를 사용하여 다양한 프로그램밍 과제를 통해 이해를 돕도록 한다.
This course provides an introduction to internal components and operation of modern operating systems. The cource will cover processes and threads, scheduling, interprocess communication, memory management, file systems, input/output system and security. Students will use the Unix/Linux operating system for several programming projects to understand these concepts.
CSE4034 컴퓨터 구조 Computer Architecture
컴퓨터 구성 과목에서 다루지 않았던 전자계산기 조직 분야의 topic 등을 다룬다. 기억장치의 계층구조, 입출력 시스템, 병렬처리(Parallel Processing), 고성능의 ALU설계 등이 주된 과제이며, 현재 전자계산기 조직 분야의 발전추세에 맞는 제목들이 추가 강의된다.
This course includes computer architectural topics that have not covered in Computer Organization (CSE2009). Major concepts are memory hierarchy, I/O systems, parallel processing, and high performance ALU design. Recent topics on computer architecture trends will be also included.
CSE4035 컴파일러 구성 Compiler Construction
본 강좌는 형식언어의 연속 강의로 컴파일과정 중에 구문 분석과 중간코드 생성을 중점적으로 강의한다. 또한, AST 생성, Ucode 번역 등을 강의하며 Mini C 언어에서 Ucode 코드로 번역하는 실험용 컴파일러를 제작해 본다. 생성된 Ucode는 Ucode 인터프리터에 의해 실행된다.
This lecture studies the parsing and intermediate code generation of compiling process except the phase dealing with the former subject, Formal language. Also, we teach the AST generation and Ucode translation for implementing an experimental compiler which translates Mini C programs into Ucode programs. The resulting code can be executed by Ucode interpreter that is supplied at class.
CSE4036 인공지능 Artificial Intelligence
컴퓨터가 지능적인 작업을 수행할 수 있도록 하기 위한 인공지능의 기본적인 개념 및 기법을 소개하며, 현재 진행되고 있는 연구 분야와 응용 분야에 대해 강의한다. 지식의 표현 및 추론, 탐색에 의한 문제 해결 방법 등을 공부하고, 전문가 시스템, 확률적 추론, 기계 학습, 신경망, 자연언어처리 등 인공지능 분야의 여러 가지 기초 이론과 연구 등을 소개한다.
This course introduces the basic concepts and techniques to make machines perform intelligent tasks. It deals with basic theories and researches on knowledge representation and inference, problem solving by searching, expert systems, probabilistic reasoning, machine learning, neural networks, natural language processing, etc.
CSE4037 데이터베이스 시스템 Database Systems
데이터베이스 시스템 개념에 대한 강좌로 데이터베이스 시스템 개요, 데이터베이스 모델링, 관계 데이터 모델, 관계 언어, SQL, 저장 및 인덱싱, 질의 처리 개요 등에 대하여 공부한다. 이 강좌는 데이터베이스 설계와 데이터베이스 프로그래밍에 기본이 되는 강좌이다.
This is an introductory course to database system concepts. Topics covered include overview of database systems, introduction to database design, relational data model, relational languages, SQL, storage and indexing, and overview of query evaluation. This is an essential course for database design and database programming.
CSE4038 데이터 통신 입문 Introduction to Data Communications
데이터 통신의 기본 개념을 공부한다. 아날로그 또는 디지털로 표현된 데이터를 송신자에서 통신로를 통해 수신자로 전송할 때 발생하는 문제점과 그에 대한 다양한 해결책을 공부한다. 데이터와 신호 개념, 수학으로 표현되는 유무선의 통신로의 특성, 그리고 전송 알고리즘을 배운다. Modem, Codec, Hub, Bridge, Ethernet, Wireless LAN 등의 전송기기의 동작원리를 공부한다.
This course introduces the basics of the data communications. In this course, we analyze the problems occurred when a sender transmits either analog or digital data to its receiver over various communication media and their solutions. We also learn the concepts of data and signal, the analytic characteristics of communication paths, and the communication algorithms to optimize these properties. We, finally, study the operational principles of several communication devices and networks such as modem, codec, hub, bridge, Ethernet, wireless LANs.
CSE4041 데이터베이스 프로그래밍 Database Programming
데이터베이스 설계와 프로그래밍에 대하여 공부한다. 데이터베이스 시스템 강좌에서 공부한 지식을 바탕으로 데이터 모델, 개념적 설계, 논리적 설계, 물리적 설계, 데이터베이스 프로그래밍에 대하여 학습한다.
This course covers issues underlying database design and programming. It covers topics including data models, conceptual database design, logical database design, physical database design, and database programming.
CSE4043 컴퓨터 네트워킹 Computer Networking
IP, TCP, UDP 등의 인터넷 전송 프로토콜과 E-mail, DNS(Domain Name System), 웹 등 인터넷의 다양한 응용 프로토콜을 공부한다. 다양한 네트워크를 하나의 가상 네트워크로 통합하는 IP, 다양한 서비스를 제공하는 TCP와 UDP, 다양한 라우팅 알고리즘들을 배운다. 또한 소켓 프로그램 기법을 실습하며 다양한 컴퓨터 네트워크 보안 알고리즘들을 소개한다.
This course introduces the Internet transport protocols such as IP, TCP, and UDP and also the Internet application protocols such as E-mail, DNS, Web. In detail, it explains IP integrating various networks, TCP and UDP providing advanced communication services, and several routing algorithms. It, finally, teaches a lot of network security algorithms and socket program interfaces.
CSE4044 컴퓨터보안 Computer Security
본 강좌에서는 암호학에 대한 기본적인 이해를 바탕으로 컴퓨터 보안에서 필수적인 개념에 대해 공부한다. 운영체제, 데이터베이스, 네트워킹 및 소프트웨어와 관련된 컴퓨터 시스템에서 발생할 수 있는 다양한 보안 이슈에 대해서 공부한다. 특히, 인증, 접근제어, 악성코드, 서비스거부, 침입탐지, 방화벽 등을 비롯하여 소프트웨어 개발 및 구현 과정에서 발생하는 버퍼 오버플로우에 대한 내용을 다룬다.
This course aims at understanding the essential concepts in computer security after studying basic concepts for cryptography. The security issues are covered, which might be occurred in OS, database, networking, and software related computer systems. In particular, general security topics are covered such as authentication, access control, malware, DDoS, intrusion detection, firewall, secure coding, and buffer overflow.
CSE4047 양자컴퓨팅 Concurrent Programming
본 강의에서는 동시성 모델링 도구인 페트리네트(Petri Nets)에 대한 학습을 통하여 동시성과 병렬성의 차이를 이해한다. 동시성 모델 중에서 주로 액터(Actor) 모델인 얼랭(Erlang)과 CSP 모델인 고랭(Golang) 등을 학습하고, 이를 바탕으로 실시간 반응성이 뛰어나고 탄력적인 무정지(fault tolerant) 서버를 위해 필요한 프로그래밍 기술들을 익힌다. 궁극적으로 다양한 웹 프레임워크 및 서버 컨테이너를 활용하여 탄력적인 실시간 동시성 서버를 구축하는 것을 최종 목표로 둔다.
This course aims at understanding concurrency and parallelism by introducing Petri-net theory, which is a powerful modeling tool. First, actor model (ex, Erlang) and CSP model (ex, Go) are intensively covered among concurrency models, and second the programming techniques are introduced for elastic and fault-tolerant server with real-time interaction. Eventually, the goal is to construct the real-time and concurrency server using server containers.
CSE4051 객체지향 설계와 패턴 Object-Oriented Design and Patterns
고층빌딩을 지을 때 수많은 설계도면을 그리는 것처럼 상품이 될 대규모 소프트웨어를 개발하려면 수많은 추상적 표현이 필요하다. 또한 시스템의 구조적 측면, 행위적 측면, 자료적 측면 등 여러 특성에 대한 설계 의사결정과 문서 작성이 필요하다. 이 강좌에서는 소프트웨어 설계를 위한 분석, 표현 및 구현 방법을 배운다. 특히 소프트웨어의 아키텍처 설계와 객체지향 프로그래밍을 위한 설계 패턴에 집중한다.
Developing commercial huge software needs various kinds of abstraction like drawing many bluepoints for constructing sky rocket building. Several design decisions about structural, behavioral, data oriented properties of the system are made and documented. In this course students will learn to analyze, express, and implements software design. This course will focus on software architecture design and design patterns for object-oriented programming.
CSE4053 모바일 컴퓨팅 Mobile Computing
본 강좌에서는 모바일 앱, 모바일 운영체제, 모바일 서버 같은 모바일 컴퓨팅 시스템뿐만 아니라 WiFi 와 3G/LTE/5G 같은 무선 시스템에 대해서 집중적으로 공부한다. 특히, Mobile IP와 SIP에 대한 기본 개념들을 학습하고, 이를 바탕으로 IPv6 기반의 센서 네트워크와 사물인터넷을 위한 이동성 문제와 서비스 플랫폼을 위한 주요 개념을 다룬다.
This course has its focus on the wireless systems such as WiFi and 3G/LTE/5G as well as the mobile computing systems such as mobile App., mobile OS and mobile sever. The basic concept for Mobile-IP and SIP(session initiation protocol) are also considered. In particular, The basic concept of mobility issues and service platforms are introduced for Internet of Things (IoT) and IPv6-based sensor networks.
CSE4058 소프트웨어 공학 개론 Introduction to Software Engineering
소프트웨어를 개발하고 유지보수하는 데 적용되는 체계적이며 원리적인 접근 방법을 소개한다. 소프트웨어를 개발하는 프로젝트를 계획하는 기법, 사용자의 요구를 분석하는 기법, 소프트웨어 구조를 설계하는 기법, 모듈과 사용자 인터페이스를 설계하는 기법, 코딩 스타일, 테스팅 기법, 유지보수 기법, 소프트웨어 품질 보증 활동을 다룬다.
This course introduces systematic and principal approach to software development and maintenance. Software project planning, user requirement analysis, software architecture design, module and user interface design, coding style, testing technique, maintenance technique, software quality assurance activities are covered in this lecture.
CSE4060 컴퓨터 그래픽스 입문 Introduction to Computer Graphics
컴퓨터 그래픽스는 컴퓨터를 이용해 정보를 가시화하고 새로운 기하 정보와 영상 정보를 생성하는 데 사용되는 모든 종류의 기술들을 다루는 분야이다. 게임 프로그래밍, 영화 특수효과, 삼차원 애니메이션, 가상현실, 3D 프린팅 등 다양한 분야에서 활발히 사용되면서 점점 더 그 가치가 커져가고 있다. 본 과목에서는 기하 모델링, 랜더링, 컴퓨터 애니메이션 등의 기초적인 그래픽스 이론을 학습하고 실시간 삼차원 그래픽스를 중심으로 응용 프로그래밍을 연습한다.
The study of computer graphics includes all kinds of computer-based geometric modeling and visualization techniques for game programming, movie visual effects, 3D animation, virtual reality, 3D printing, etc. Students will learn basic computer graphics theories such as geometric modeling, rendering, and computer animation, and practice developing real-time 3D graphics applications.
CSE4061 S/W 품질관리 및 테스팅 Software Quality Assurance
본 과목은 소프트웨어가 주어진 명세서 내용에 맞게 개발되었는지를 확인하고 테스팅하는 방법을 소프트웨어 품질 관리 측면에서 강의한다. 본 교과목의 주요 내용은 소프트웨어 품질보증방법, 테스팅 전략 및 기획, 유닛 및 시스템 레벨 테스팅, 소프트웨어 신뢰성, 소프트웨어 품질 관리 기법 등이다.
This course provides theory and practice of determining whether a product conforms to its specification and intended use. Topics include software quality assurance methods, test plans and strategies, unit level and system level testing, software reliability, peer review methods, and configuration control responsibilities in quality assurance.
CSE4066 컴퓨터공학종합설계 1 Computer Engineering Capstone Design 1
본 강좌는 전공교육과정을 통해 습득한 지식을 바탕으로, 목표하는 기능과 성능을 포함한 제반 요구조건들을 만족하도록 시스템을 고안하는 과정을 수행하는 종합설계 교과목이다. 현대적인 설계이론과 함께 설계문제 모델링, 선행기술 조사, 아이디어 생성, 비교분석, 계획서 작성, 협업적 설계 등을 교육하며, 학생들은 팀을 구성하여 팀별로 특정한 주제에 관한 프로젝트를 수행한다.
This class deals with the engineering design problem which is defined as the process of devising a system, component, or process to meet the desired needs. Among the fundamental elements of design process, the establishment of design objectives and criteria, researches on the previous works, idea making, analysis, presentation for the design proposal, and collaborative design are focused in this course. Students form a team and work on a project throughout the semester.
CSE4067 컴퓨터공학종합설계 2 Computer Engineering Capstone Design 2
본 강좌는 전공교육과정을 통해 습득한 지식을 바탕으로, 목표하는 기능과 성능을 포함한 제반 요구조건들을 만족하도록 시스템을 개발하는 과정을 수행하는 종합설계 교과목이다. 컴퓨터공학종합설계1에 연이어 시스템 구현, 테스트, 상세 시스템 명세, 보고서 작성, 공학윤리 등을 교육하며, 학생들은 팀을 구성하여 팀별로 특정한 주제에 관한 프로젝트를 수행한다.
This class deals with the engineering design problem which is defined as the process of devising a system, component, or process to meet the desired needs. Continued with the Computer Engineering Capstone Design 1 course, the implementation of detailed system components and their integration, testing, presentation of the design report, engineering ethics are done during this course with team members.
CSE4070 임베디드 소프트웨어 입문 Introduction to Embedded Software
Embedded 시스템의 기본적인 구조와 특징 및 기능 등 Embedded 시스템에 전반적인 이해는 물론 Embedded 소프트웨어의 필요성 및 응용 분야 등에 대한 기초지식을 비롯하여 Embedded 시스템 분야에서 전문가가 되기 위해 필요한 이론은 물론 실제로 주어진 환경에서 유용한 응용 프로그램을 설계하고 구축할 수 있는 능력을 갖추어야 한다. 이를 위해서 충분한 양의 실험 실습과 더불어 산업체에서 다루어지는 최신의 문제들을 다루는 프로젝트를 수행한다.
Embedded systems have become a centric technology to lead ubiquitous computing area. Diverse subjects in diverse application areas such as sensor networks and RFID will be taught. This course is focused on the introduction of various embedded systems and components, and the development of programming ability for embedded system using a LINUX-based developmental kit.
CSE4048 암호학과 네트워크 보안 Cryptography and Network Security
본 강좌에서는 암호학에 대한 기본적인 이해를 바탕으로 네트워크 보안에서 필수적인 개념 및 인터넷의 각 계층별 인증 및 보안 이슈를 공부한다. 먼저 암호학에 대한 이론적인 내용을 공부하고 네트워크 환경에서 대칭키/공개키 암호화 방식을 활용한 메시지 인증, 디지털 서명, 키 분배, IP 보안 등을 공부한다.
This course considers various algorithms from cryptography concepts such as modular, group, field, prime number and logarithm. This course also has its focus on the security issues such as symmetric-key, asymmetric-key, message authentication, digital signature, key distribution, IP security, SSL/TLS and so on.
CSE4073 인간컴퓨터상호작용시스템 Human-Computer Interaction System
HCI, UX, Human-in-the-loop System의 개념을 이해하고 다양한 입출력 장치들을 활용해 인간과 컴퓨터, 인간과 기계, 인간과 로봇 간의 다양한 상호작용방법을 설계해보는 과목임
This course is focused on understanding the concept of HCI, UX and Human-in-the-Loop system by designing various interaction system with various I/Os for the interaction between human and computer, human and machine, and human and robot.
CSE4074 공개SW프로젝트 Open Source Software Project
공개 소프트웨어의 중요성과 사회 발전에 미치는 영향을 이해한다. 또한, 기존의 공개소프트웨어를 기반으로 새로운 공개소프트웨어를 개발하는 전과정을 경험한다. 공개소프트웨어 개발환경에서 공개소스를 기반으로 팀단위 협업프로그래밍 과제를 수행하여 유용한 소프트웨어를 제작하고 이를 공개한다.
This class starts with understanding the importance of open source software and its societal impact. The students experience the complete procedure of developing a new open source software application from existing open source platforms. They develop a useful software product and contribute it to the community by carrying out a team programming assignment under open source development environment.
CSE4075 SW비즈니스와창업 Software Business & Start-up
다양한 SW분야에서 비즈니스 모델을 만드는 과정과 창업에 필요한 여러 가지 지식들을 학습한다. 사업 구상, 사업 계획 수립, 자금조달, 면허, 각종 법령에 대한 개요 등에 대해 학습하여 창업 과정에 대해 이해하고 준비한다.
Learn to establish business models in various software fields and acquire knowledge for starting a business. Understand and prepare to start a business by learning the process of brainstorming, business plan writing, financing, licensing, dealing with various legal issues, and etc.
CSE4074 테크니컬 프리젠테이션 Technical Presentation
전문적인 보고서와 논문을 영어로 작성하며, 영어로 발표하는 능력을 함양한다. 구체적으로는 종합설계에서 개발한 과제를 기술하는 3쪽 이내의 영어 논문을 작성하며, 중간과 최종 영어 발표를 연습하게 된다.
Learn to write technical reports and academic papers, and develop ability to give presentations in English. Class participants will write a short (three pages) technical paper that describes the project from Computer Engineering Capstone Design class and give two presentations (one intermediate and the final) in English.
CSE6015 로봇 프로그래밍 Robot Programming
모바일 로봇을 포함한 다양한 지능시스템에 대해 이해해보고 최신 이슈들을 소개받는다.
This course is focused on understanding various intelligent systems including intelligent robotics. In addition, state-of-the-art technologies are introduced.
CSE6016 사물인터넷 Internet of Things
본 교과목은 최신 사물인터넷 기술 동향 및 기술 예측에 대해 학습하는 과목으로, 센서 디바이스, 무선통신, 사물인터넷 플랫폼, 모바일 서비스 등을 다룬다. 사물인터넷 전문가로 성장할 학생들이 필수적으로 알아야할 최소한의 지식인 임베디드 소프트웨어에 대한 지식을 선수 지식으로 요구한다.
The course aims to introduce students to the concepts underlying the Internet of Things (IoT) through a series of lectures on the various topics that are important to understand the state-of-the-art as well as the trends for IoT. The lectures will be focused on the sensor devices, wireless communications, Internet of Things platform and mobile services. Embedded software knowledge is required prior knowledge.
CSE6017 빅데이터분석 Big Data Analysis
빅데이터란 디지털 환경에서 만들어지는 규모가 방대하고, 빠르게 지속적으로 생성되며, 수치 데이터뿐 아니라 문자와 영상 등 다양한 형태를 가진 대규모 데이터를 말한다. 다양한 영역에서 이러한 빅데이터를 분석하여 새로운 가치를 창출하고 있다. 본 강좌에서는 빅데이터의 기본 개념을 살펴보고, 데이터 분석을 위한 여러 알고리즘과 분석 도구들을 소개한다. 수업은 주요 이론들에 대한 강의와 토론 및 실습 형식으로 진행되며, 연습문제 풀이와 데이터 분석 등의 과제가 부여된다.
Big data represents the information assets characterized by high volume, velocity and variety including not only numeric but also text and image data. The analysis of big data creates new values in various area. This class introduces the basic concepts of big data, and various algorithms and tools for big data analysis. The class consists of lectures on the basic concepts and theories, discussion and practice with data analysis tools. Problem solving and data analysis tasks will be given as homeworks.
CSE6019 클라우드컴퓨팅 Cloud Computing
클라우드 컴퓨팅은 언제 어디서든 사용자가 원할 때 컴퓨팅 자원 및 데이터를 제공하고 사용한 컴퓨팅 자원 만큼만 지불하는 인터넷 기반의 컴퓨팅으로 컴퓨팅 자원을 빠르게 프로비저닝하고 릴리즈할 수 있는 특징과 사용자가 요구가 갑작스럽게 증가하더라도 유연하게 확장가능하다는 특징을 가진다. 이 교과에서는 클라우드 컴퓨팅에서 어떠한 컴퓨터 기술들이 접목되어 어떻게 이러한 일들이 가능한지 알아보고, 클라우드 컴퓨팅의 설계와 구현을 할 수 있는 능력을 함양하는 것을 목표로 한다.
Cloud computing is an Internet-based computing that provides computing resources and data, which can be rapidly provisioned and released with minimal management efforts, to computers and other devices on demand in a pay-per-use way. The objective of this course is to give students basic skills in designing and implementing cloud computing systems.
CSE4077 컴퓨터공학실무 Computer Engineering Practice
본 강좌는 소프트웨어 개발과정에서 단계별로 활용되는 실무 지식을 학습한다. 소프트웨어 개발을 위한 요구사항 분석부터 응용프로그램 기능 및 화면 설계, 인터페이스 설계, 데이터베이스 설계, 응용프로그램 개발 및 테스트, 데이터베이스 구축 및 이행 등을 교육하며 학생들은 팀을 구성하여 팀별로 특정한 주제에 관한 프로젝트를 수행한다.
This course teaches practical skills and knowledge in computer engineering field necessary for software development processes. In detail, this course will cover all steps taken in software development such as user requirement analysis, function and user interface design, system interface design, database design, application development and testing, database construction and migration. Finally, students will carry out a team project on specific topics as practice.
CSE4078 협업소프트웨어 개발 실습 Collaborative Software Development Practice
이 강의에서는 linux 디버거인 gdb, 협업 프로그램을 관리하는 SCCS(source code control system), 프로그램 성능을 개선하기 위한 프로파일링, open 소스 관리와 배포를 위한 GitHub 등 프로그램 개발에 필요한 다양한 소프트웨어 도구를 공부한다. 이 강의를 통하여 많은 사람들과 협업하여 프로그램을 개발하는 전 과정을 수행하면서 프로그래밍의 실전 기술을 습득하게 된다. 마지막으로 이 강의는 네 개의 작은 프로그램을 과제를 수행하면서 각 도구의 사용방법을 실습한다.
This course will teach software tools essential for practical program development such as a typical linux debugger gdb, a code management tool SCCS (source code control system), a performance tuning tool gprof, a open source publishing platform GitHup, etc. To acquire the necessary competency of software development, in this course students will go through a whole process for collaboratively developing a big program which would be coded in real work place. Finally, students will carry out four small-size projects requiring the above software tools.
현장실습 Internship
본 교과목은 산업현장 적응력 및 창의력을 지닌 인재 양성과 재학생의 원활한 사회진출을 목적으로, 교과과정을 통해 습득한 전공지식을 산업체에서 활용할 기회를 제공하며 산업체에서의 현장실습(인턴십)에 대한 학점을 인정한다.