인공지능공학부 커리큘럼
구분 |
1학기 |
2학기 |
---|---|---|
1학년 |
인공지능IT기술이해 |
공학수학I(필수) |
2학년 |
공학수학II(필수) |
웹프로그래밍(필수) |
3학년 |
인공지능과기계학습 |
딥러닝개론 |
4학년 |
지능형IoT응용(캡스톤 디자인) |
지능형언어처리 |
교과목 개요 (학년/학기 순)
1학년 1학기
컴퓨터 소프트웨어 개발에 필요한 프로그래밍 언어 중 최근 가장 각광받고 있는 파이썬(Python)을 학습하고 연습하는 과목이다. 본 강좌에서는 배우기 가장 쉬우면서도 프로그래밍의 다양한 기능들을 지원하는 언어인 파이썬의 문법(Syntax)과 의미(Semantics)를 강의한다. 프로그래밍 언어란 컴퓨터가 이해하는 언어로써 프로 그래머는 프로그래밍 언어를 사용하여 컴퓨팅 장치에 명령을 주고 원하는 작업을 시킬 수 있다. 본 강좌는 수강생들이 컴퓨터 프로그래밍을 쉽게 배울 수 있도록 함과 동시에 컴퓨터 소프트웨어 개발 원리도 습득할 수 있도록 구성되어 있다. 프로그래밍 언어 학습을 통한 프로그래밍 능력은 향후 IT공학과의 다양한 교과목 들을 제대로 이수하기 위해 필수적인 소양이다. 실험/실습 환경으로는 IT공과학과 실습실에 설치된 무료 파 이썬 개발 도구를 사용하여 실습한다. 선수과목은 없으며 본 강의가 여러분의 생애 최초 프로그래밍 강좌라 는 가정 하에 쉽고 완만한 속도로 진행될 예정이다.
최근 들어 다양한 산업분야에 인공지능 기술이 활용되고 있으며 이를 이해하기 위해서는 IT 기술의 기본적인 개념과 원리를 학습하는 것이 필요하다. 이에 본 교과목에서는 인공지능 기술을 이해하기 위한 IT기술의 기본적인 개념과 원리를 설명하고, 그 기반 위에서 IT 기술이 인공지능 기술과 융합하여 활용되는 응용분야를 학습한다.
In recent times, artificial intelligence (AI) technology has been increasingly utilized across various industries. To comprehend this phenomenon, it is essential to learn the fundamental concepts and principles of information technology (IT). In this course, we will explain the basic concepts and principles of IT to facilitate an understanding of AI technology. Additionally, we will explore application areas where IT and AI technologies converge, highlighting the integration and utilization of these technologies in various industries.
1학년 2학기
컴퓨터의 기초 원리가 되는 이산수학과 인공지능의 초석이 되는 확률과 통계를 배우는 교과과정으로서 컴퓨터이론뿐만 아니라 프로그래밍 과정에 필요한 논리적인 사고력, 추리력을 배양시킨다. 특히 프로그래밍 실습을 통하여 학습효과를 높인다.
This curriculum encompasses the fundamentals of discrete mathematics, which serve as the underlying principles for computer science, and the foundational elements of probability and statistics crucial for artificial intelligence. It not only delves into computer theory but also cultivates logical reasoning and inferential skills essential for the programming process. Through practical programming exercises, a particular emphasis is placed on enhancing the effectiveness of learning.
본 과목은 프로그래밍입문을 선수과목으로 한다. 컴퓨터과학을 학습하기 위한 중요하고 진보된 고수준의 프로그래밍 언어를 학습하는 것을 목표로 한다. 구체적으로 객체 지향 개념을 포함한 응용 프로그래밍 언어로 C 및 C++ 언어를 학습한다. 본 강좌는 수강생들에게 프로그래밍을 응용하고 실용적인 방법을 체득함으로써 인공지능공학 관련 분야를 위한 실용적인 기반 기술을 배운다.
This course requires a prerequisite in introductory programming. Its goal is to instruct students in a crucial and advanced high-level programming language for the study of computer science. Specifically, it focuses on learning the C and C++ languages, encompassing object-oriented concepts in applied programming. Through this course, students acquire practical skills in applying programming and gain a pragmatic foundation in technology essential for the field of artificial intelligence engineering.
2학년 1학기
인공지능과 IT 주요분야인 컴퓨터 그래픽스, 컴퓨터비젼, 컴퓨터게임 프로그래밍 등을 배우는데 반드시 필요한 기본 수학을 학습하고 파이썬 언어를 통한 실습을 통해 학부교과 과정에서 접하게 될 공학문제를 이해하고 해결하는 토대를 마련하고자 한다.
The aim of this course is to provide students with a foundation in essential mathematics necessary for learning key areas in artificial intelligence and information technology, such as computer graphics, computer vision, and computer game programming. Through practical exercises using the Python language, the course aims to equip students with the knowledge and skills to understand and solve engineering problems they will encounter in their undergraduate curriculum.
본 교과목에서는 오픈소스SW에 대한 발전역사 및 오픈소스 SW라이센스들을 소개한다. 개인 또는 기업이 오픈소스 SW에 기여하는 과정 및 그 과정에서 오픈 소스 사용 및 기여에 대한 이해도를 높이고 Git 등의 기본적인 오픈소스 관리 및 공유 방법을 익힌다. 또한 다양한 오프소스의 기초적 사용법을 배우고 그 특징을 이해한다.
In this course, the development history of open-source software (OSS) and various open-source software licenses are introduced. The curriculum focuses on enhancing understanding of the process through which individuals or companies contribute to open-source software, raising awareness about the use and contribution to open source during this process. Students will also become familiar with basic open-source management and sharing methods using tools such as Git. Additionally, the course covers the fundamental usage and characteristics of various open-source software.
IT 기기의 핵심구조를 이해하고, IT 기기의 동작과 설계에 대한 기본원리를 학습한다. IT 기기의 양대 구성요소인 하드웨어와 소프트웨어의 인터페이스에 대해서 심층적으로 학습하고, 프로세서와 주변장치들의 구성 원리에 대해 이 해하며, 하드웨어의 기초인 디지털 논리회로의 설계에 대해서 학습한다. 이러 한 과정을 통해 학습자는 소프트웨어가 IT 기기 상에서 어떤 원리로 실행되는 지에 대해 하드웨어적인 관점의 자세한 이해를 할 수 있다.
The course objective is to understand the basic architecture of modern IT devices and to learn the principle of operation and design of them. Especially, we study the interface of two prominent components, hardware and software, the interaction between the main processor and peripherals, and logic design as the basis of hardware. Through this course, students can understand how software can be implemented by hardware of IT devices.
객체지향 개념을 이해하고 Java 언어 실습을 통한 멀티미디어 응용 소프트웨 어 개발 방법을 습득한다. 또한 소프트웨어 재사용 및 복잡한 객체, 멀티미디 어 데이터 표현 등 의 새로운 요구사항을 충족시키는 확장 멀티미디어 라이브 러리 구축방법을 습득한다.
Students acquire the object-oriented concept, then learn the developin g method of reusable software through the practice of C++ language. Al so students learn the constructing method of the extended software lib rary satisfied with the reusable software, the complicated object and the data expression of multimedia, etc.
이 과목은 컴퓨터 시스템에서 멀티미디어 데이터를 효과적으로 구성하기 위한 데이터의 설계, 구현, 선택, 사용 기법을 제공한다. 과목의 주제는 배열, 스택, 큐, 리스트, 트리, 그래프, 정렬, 히프 구조, 탐 색 기법, 파일 구조, 색인 파일, 해쉬 파일등을 포함한다. 아울러, 각 데이터 및 파일 구조에 대한 수학적 해석을 통해서 학습한 내용을 다양한 응용에 적 용하는 기법도 배운다.
This course presents the issues in the design, implementation, selecti on, and use of multimedia data and files in computer system. We presen t the topics of arrays, stacks, queues, lists, trees, graphs, sorting, hashing, heap structures, search structures, basic file structures, i ndexed files, hashed files. An analytical approach is followed through out so that the concepts learned can be applied to any of the wide var iety of data and file structures in practice.
2학년 2학기
본 교과목에서는 인공지능에 대한 기본적인 개념과 지식표현, 문제 공간과 문제 해결 방법에 대하여 학습한다. 또한 환경과의 상호작용을 통한 경험을 바탕으로 인공지능 스시템의 모델 구성 원리와 문제 해결을 위한 적합한 도구 선정 방법을 학습함으로써, 향후 기계학습 기법과 딥러닝 기법을 배우기 위한 기초를 마련한다.
In this course, students will learn the fundamental concepts and knowledge representation of artificial intelligence, as well as problem spaces and problem-solving methods. Additionally, based on experiential interaction with the environment, students will learn the principles of modeling artificial intelligence systems and the selection of appropriate tools for problem-solving. This course aims to lay the foundation for future learning of machine learning techniques and deep learning methods.
본 과정에서는 WWW를 기반으로 하는 웹페이지의 표현과 웹응용 프로그래밍 기술을 학습한다. 웹 관련 기술의 기본 지식을 이해하고, HTML5, CSS3, Javascript ES6, 응용 API 등 웹 프론트엔드 프로그래밍과 백엔드 서버 프로그래밍을 통해 웹 프로그래밍의 개요를 이해한다. 또한 웹2.0 환경에서고급 Javascript 기술로 많이 사용되고 있는 jQuery, DOM, Ajax, JSON을 배우고 다양한 Javascript 프레임워크에서 어떤 기능을 제공하고 있는지 소개한다.
In this course, students will learn the representation of web pages and web application programming technologies based on the World Wide Web (WWW). They will gain an understanding of the fundamental knowledge of web-related technologies and grasp the overview of web programming through web front-end programming (HTML5, CSS3, JavaScript ES6, application APIs) and back-end server programming. Additionally, the course covers advanced JavaScript technologies widely used in the Web 2.0 environment, such as jQuery, DOM, Ajax, and JSON. Students will also be introduced to the functionalities provided by various JavaScript frameworks.
알고리즘은 멀티미디어과학의 모든 분야를 이해하는 기초가 되는 중요한 분야 이다. 이 과목을 통해서 문제 해결을 위한 접근 방법들과 그 방법에 대한 성 능평가를 수행하고, 이를 효과적으로 구현할 수 있는 능력을 배양하고자 한 다. 복잡도 분석을 통해 알고리즘 성능 평가 방법을 배우고, 정렬, 선택알고 리즘, 검색 트리, 해시테이블 등을 통해 효율적인 자료 찾기 방법을 배운다. 아울러 집합처리, 동적 프로그래밍, 그래프알고리즘, 문자열 매칭 학습을 통 해 고급 알고리즘을 익힌다. 시간이 허락할 경우 NP-Complete 문제들과 상태 공간 트리 탐색 등 고차원적인 알고리즘에 대해서도 공부한다. 이 과정을 마 치고 나면 수강생들은 효율성이 컴퓨팅에 얼마나 중요한 요소인지 알게 될 것 이며, 이를 통해 수강생들은 간결하면서도 비용이 적게 드는 프로그램을 작성 할 수 있는 소프트웨어 프로그래머로 발돋움할 수 있을 것으로 확신한다.
This is a required course covering fundamental ideas in algorithms. Emphasis is on the introducing basic concepts of algorithms, mathematical aspects and analysis, sorting and searching algorithms, various algorithmic techniques, and cost associated with different algorithms, and finally how the cost can be affected by subtle choices. Students are assumed to have a good foundation in basic data structures, or equivalent. Basic programming competency in C++ or Java is also assumed.
모바일 응용서비스에 대한 기초지식을 연구하고 이를 바탕으로 멀티미디어 응 용서비스의 구축방법, 서비스활용방법 등에 대한 지식을습득한다. 이를 위하 여 프로그램 언어(자바) 를 바탕으로 모바일 응용서비스 플랫폼 구현과 응용 서비스의 실험을 통하여 지식을 터득한다.
After providing the basic theory on mobile service applications, it de als with the implementation of multimedia applications and their pract ical use. It trains students with the implementation of platform and p ractice for mobile service applications in a programming language such as Java.
이 강좌는 컴퓨터상에서 발생하는 데이터를 효과적으로 저장하고, 관리하는방 법을 강의한다. 수강생들은 본 강좌를 통하여, 사회 (회사, 연구소, 대학원) 에서 요구하는 실질적인 DBMS 프로그래밍을 배울 수 있다. 이를 통해, 취업현 장에서 데이터베이스를 바로 실행할 수 있도록 강의한다. 데이터베이스는 현 존하는 지식을 Database에 저장하기 위한 다양한 기법들이 소개된다. 자세히 설명하면, DBMS는 그 자체 만으로도 수많은 타 학문(생명공학, 경영학, 경제 학, 건축, 자동차, 토목 등) 과 결합되는 중요성을 가진다. 그러므로 그들 분 야에서 다루고자 하는 중요한 데이터에 대한 저장 및 검색 방법을 제시한다. 구체적인 학습 내용은 관계형 데이터베이스 시스템 및 관련 응용들을 설계, 사용, 구현하기 위한 기본 개념을 배운다. 강좌의 주된 내용은 다음을 포함한 다: (관계형) 데이터베이스 모델링 및 설계 기법, 데이터베이스 언어, 저장 및 색인 기법, 질의 처리 기법,트랜잭션 처리 기법, DBMS(DatabaseManagement System) 실습, 또한, 본 강좌에서 사용되는 프로그래밍언어(C,C++, Java 중 1 과목)와 웹 언어(JSP, PHP, ASP 중 1과목) 등은 관련 과목 사전 수강이나 독 자학습을 권고한다.
The goal of this course is to provide an understanding of how to design a database management system. We will focus on physical representation of data, query execution, and query optimization in both database and data integration contexts. Prior database knowledge in undergraduate is required. Familiarity with Java, c, or c++, TCP sockets, and basic dynamic programming and search algorithms is desirable. This course includes a relational database modeling, organizing techniques, database languages, Storages, and Indexing techniques, Query processing methods, Transaction Processing techniques and DBMS (DatabaseManagement System) Practices.
3학년 1학기
데이터 패턴 인식이란 다양한 형태의 데이터로부터 지식을 추출하는데 활용할 수 있는 패턴인식 및 데이터마이닝 과정을 포하한 합리적, 과학적 방법론을 의미한다. 본 과정에서는 데이터 패터에 대해 학습하고 이를 처리하기 위한 다양한 접근 방안을 소개한다. 이후 이를 통해 데이터 패턴을 처리하여 인공지능의 입력으로 사용하기 위한 각종 단계를 학습한다. 또한 데이터베이스, 데이터 웨어하우스, 웹, 문서 커렉션 및 데이터 스트리미을 포함한 대규모 데이터 저장소에서의 패턴을 자동으로 인식하는 프로세서를 학습하고 분석, 예측, 클러스터링 등의 데이터 패턴 처리의 기본 주제는 학습한다.
The term 'data pattern recognition' refers to a rational and scientific methodology encompassing pattern recognition and data mining processes that can be utilized to extract knowledge from various forms of data. In this course, students will learn about data patterns and be introduced to various approaches for processing them. Subsequently, they will learn the various steps involved in processing data patterns to use them as inputs for artificial intelligence. The course will also cover processors that automatically recognize patterns in large-scale data repositories, including databases, data warehouses, the web, document collections, and data streams. Fundamental topics such as analysis, prediction, clustering, and other aspects of data pattern processing will be covered.
본 강좌에서는 기계학습에 대한 기본 개념과 더불어 다양한 학습 방법론에 대해서 배우며, 각각의 학습법에 따른 특징과 학습 대상에 따른 적용 방법에 대한 강좌를 진행한다. 기계학습에 대한 기초적 이론과 알고리즘, 학습 방법을 강의하며, 주요 내용으로는 베이지안 결정이론 및 퍼셉트론, 깊은 신경망, 지도학습, 비지도 학습, 생성 모델, 강화 학습 등이 있다.
In this course, we learn about the basic concepts of artificial intelligence, knowledge expression for problem solving, and various exploration techniques. In addition, we learn about machine learning, a technology that builds models based on experiences through interaction with the environment and solves problems based on the models. In particular, among machine learning techniques, we focus on classification and regression models on supervised learning.
학생들은 각종 영상을 컴퓨터를 통하여 묘사하기 위한 그래픽 저작도구들의 사용 기법을 습득한다. 특히 3D객체를 모델링하여 실내의 인테리어등을 디자 인하며, 카메라, 조명, 애니메이션을 배운다. 또한 openGL 을 이용하여 그래 픽 프로그램의 설계와 응용기법도 습득한다
Students acquire how to use the graphic author-ware to describe any kind of image by the computer. Especially, it covers 3D objects modeling, interior design, and animation of objects, camers, and lightings. In addition, a graphics program planning and its applications using openGL are learned.
본 교과목은 컴퓨터비전 교과목의 선수과목으로 사람의 시각 기능을 기반으로체계화된 영상처리 이론 및 디지털 영상데이터 처리구조를 학습한다. 이론으로 화소처리 및 영역처리 등과 같은 변환 기법 등을 통하여 실제 처리되는 결과를 간단한 MCF 프로그래밍으로 실습한다.
This course is an prerequisite one in computer vision and learns a structured image processing theory and digital image data structure based on a human’s visual function. Theoretically, we practice the results of actual processing through transformation techniques such as pixel processing, frame processing, and region processing with simple MFC programming.
IT분야의 소프트웨어나 어플리케이션을 개발할 때 매우 중요한 요소인 UX(사용자경험)에 기반한 UI설계 기법에 대해 배운다. 모바일 기기나 웹 환경에서사용자 인터페이스의 설계, 프로토타입 개발, 평가 기법에 대해 다음과 같은항목을 학습한다. 1) UX 기반의 사용자의 요구 및 작업 분석, 2) UI 프로토타입 개발 기법, 3) UI 설계에 대한 사용성 평가 기법, 4) UI 설계에 영향을 주는 인지적(cognitive/perceptua) 요소
This course introduces the User Interface(UI) design techniques based on User Experience(UX) which is very important when developing computer software and applications. This course targets on mobile and web environment, and covers UI design, prototype implementation, and evaluation techniques as followings; 1) User requirement and task analysis based on UX, 2) UI prototype development technioques, 3) Usability test on UI design, 4) Cognitive or perceptual element affecting UI design
3학년 2학기
본 교과목에서는 신경망 모형을 이용한 딥러닝 방법론을 배운다. 신겨앙 모형이 구성하는 함수 공간을 이해하고, 기존 학습방법론과의 차이를 이해한다. 또한 강화학습은 로봇 공학이나 자율주행 등 다양한 분야에서 최적의 의사결정을 탐색하는데 효과적인 방법론이다. 본 과목에서는 불확실한 동적 시스템을 다양한 강화학습 방법론으로 모델링하고 상호작용하는 방법론을 학습한다.
In this course, students will learn the deep learning methodology using neural network models. They will gain an understanding of the function space formed by neural network models and comprehend the differences from traditional learning methodologies. Additionally, reinforcement learning is an effective methodology for exploring optimal decision-making in various fields such as robotics and autonomous driving. In this course, students will learn to model uncertain dynamic systems using various reinforcement learning methodologies and understand the methodologies for interacting with and exploring such systems.
본 수업에서는 서버운영체제로 많이 사용되는 리눅스 설치방법을 배우고 리눅스 스시템 관리를 위한 명령어 사용 방법을 학습한다. 또한 정보보안의 개요에 대하여 학습하고 리눅스 시스템 내에서의 보안관 관련된 기능을 익힌다. SELinux 설정방법과 시스템 로그 관련 관리기법도 다룬다. 학생들은 보안 체크와 침입탐지 기법을 배우고 파일 시스템과 네트워크 보안 기법을 습득한다.
In this class, students will learn the installation methods of Linux, widely used as a server operating system, and understand the command usage for Linux system administration. Additionally, they will study an overview of information security, familiarize themselves with security-related features within the Linux system, and delve into topics such as SELinux configuration and system log management techniques. Students will also learn security checks, intrusion detection techniques, and acquire knowledge in file system and network security methods.
컴퓨터 환경에서 현실과 유사한 가상 세계를 모델링하는 기술을 익히는 과정이다. 탐험형태 및 대화형태의 가상현실모델기법을 기반으로 하여, 시각 및 청각, 촉각과 같은 감각을 느끼고 반응하도록 프로그래밍을 제작한다. 가상건축, 원격수술, 항공기 훈련, 심리치료 등 여러 분야에 활용되고 있다.
The techniques for constructing virtual world under computer environme nt are learned. Based on navigating and interactive interface for virt ual reality, an avatar is created to have the sense of vision, auditor y, and tactile. it is applied in many areas such as virtual architectu re, distance surgery, flight simulation, and psychological therapy.
최근 IT 기술의 발달에 고기능의 멀티미디어 서비스가 가능한 휴대용 단말기 기반의 분산 멀티미디어 응용 소프트웨어를 만들기 위하여 필요한 UNIX Network Programming기법을 다룬다. 프로세스 관리, 프로세서(서버, 클라이언 트)간 통신프로그램, 유닉스 소켓 프로그램, Java RMI를 이용한 프로그램, 서 블릿 등을 이용한 멀티미디어 분산 시스템을 구축하기 위한 다양한 네트워크 프로그래밍 기법을 습득한다.
This course deals with the method of UNIX network programming to make the distributed multimedia application software. For distributed multimedia systems, students are trained network programming skills such as the process management, the communication program between processors (Server, Client), Unix Socket program, Java RMI program, Servlet program, etc.
본 교과목에서는 라즈베리파이/아드이노 보드의 프로그래밍 실습을 통하여 마 이크로프로세서의 제어방법 및 기술을 습득한다. 라즈베리파이/아드이노를 바 탕으로 만들어진 학습 보드에 대해 살펴보고, Python, C/C++ 언어로 프로그래 밍하는데 필요한 기본 요소들, 텍스트 LCD를 이용하여 정보를 표시하는 방법, 스케치 작성에 흔히 사용되는 기본 및 확장 라이브러리, 스마트폰 앱을 통해 라즈베리파이/아드이노에 연결된 센서들을 원격으로 제어하는 방법 등을 학습 한다.
This course deals with basic concepts and their operations of various sensors to achieve the environmental data, using RasberryPi-3/Arduino training kits. In terms of IoT, RasberryPi-3/Arduino training kits are introduced and we show how to make control program, to use sensors such as Text LCD, LEDs, and Motor, based on Python, C/C++ languages. Also, we will come to meet a chance to utilize various libraries and modules for extending functions which are based on Web and short range communications (Blutooth and NFC).
4학년 1학기
지능형 IoT 적용 산업이 확산됨에 따라 IoT로부터 데이터를 수집하여 인공지능 서비스를 개발하는 DNA(Data, Network, AI)시대에 접어들었다. 또한 지능형 서비스 제공을 위해 현실 공간과 가상 공간을 유기적으로 결함하여 미래 세계를 구축하는 시스템이 다양하게 개발되고 있다. 본 강좌를 통해 다양한 IoT기기들을 제어하는데 사용되는 핵심 기술에 대한 이해와 지능형 IoT 기반 디지털 트윈, 메타버스 등 혁신적인 미래 서비스 플랫폼을 구축하는 능력을 함양한다.
With the widespread adoption of Intelligent IoT in various industries, we have entered the era of DNA (Data, Network, AI), where data collected from IoT is utilized to develop artificial intelligence services. Moreover, diverse systems are being developed to seamlessly integrate physical and virtual spaces to create the future world for providing intelligent services. Through this course, students will cultivate an understanding of core technologies used to control various IoT devices and develop the ability to build innovative future service platforms, including Intelligent IoT-based digital twins, metaverse, and more.
데이터 분석 오픈소스 플랫폼을 활용한 데이터 분석 기법과 이에 대한 활용을 학습한다. Hadoop기반의 MapReduce 플랫폼을 활용한 데이터 분석과 인메모리 기반의 Spark 플랫폼을 활용한 데이터 분석 기법을 학습하고, 이외의 다양한 최신의 오픈소스 데이터분석 플랫폼을 활용하는 기법에 대하여 학습한다. 또 한 데이터 분석을 통해 획득된 지식을 활용하는 다양한 어플케이션들과 산업 체 현장에서의 실제 사례에 대해 학습한다.
The goal of this course is to study data analysis techniques and applications based on open source platforms. We practice distributed programming skills and algorithms to analysis big data based on emerging distributed platforms such as Hadoop MapReduce platform and Spark In- Memory platform. In addition, we learn various applications and commercial cases using data analysis techniques.
본 교과목에서는 인간-인공지능 상호작용 개념을 학습하고, 인간중심 인공지능 시스템 설계를 위한 과학적 기반, 연구방법, 다양한 사용자 인터페이스 기술 및 사례 등을 학습한다.
Human Computer Interaction(HCI) is a study for computer systems and its users. The course of HCI aims to increase the user's creativity and communication skills between users by maximizing the potential of computer tools. The HCI experts have concerns on applying various interaction techniques to the actual field problems. They develop and evaluate new interaction techniques, and implement new hardware and software systems. Also they develope new paradigm model or theory.
분산 컴퓨팅 환경의 발전과 함께 자원의 공유라는 차원에서 대두되고 있는 클 라우드 컴퓨팅의 개념을 설명한다. 본 과목에서는 클라우드 컴퓨팅 기술과 사 례를 소개한다. 특히, 정의된 개념과 모델, 기술 메커니즘 및 아키텍처 등을 중심으로 기본 기술들을 학습한다. 또한 사례 연구를 기반으로 전통적인 IT컴 퓨팅과의 비교가 가능하도록 한다.
This course introduces cloud computing technology as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of computing resources. It provides comprehensive and descriptive coverage of cloud computing technology. It provides a deep-down analysis of cloud architectures and mechanisms that capture the real-world moving parts of cloud platforms. It delves into the details of how cloud computing technologies function, how they are architected, and how they are modelled.
본 교과목에서는 전공과목에서 배운 이론적인 SW기술을 실무 프로젝트 내용으 로 구성하고 팀 단위로 수행하여 정보의 검색, 분석 및 실무 서비스 개발 능 력을 배양하고자 한다. 또한 팀 프로젝트를 수행해 봄으로써 기획, 개발 및 관리, 팀원과의 소통 능력 등을 동시에 함양한다.
In this subject, the theoretical SW technologies learned in major subjects are organized into the contents of practical projects and performed by teams to cultivate the ability to search for information, analyze and develop practical services. It also cultivates both planning, development and management, and communication skills with team members by carrying out team projects.
4학년 2학기
자연어처리(NLP)란 공학과 산업, 그리고 인문학까지 걸쳐 다양한 응용성을 가지고 있는 최신 기술분야이다. 본 과목은 사람의 언어를 컴퓨틷 시스템으로 표현하는 다양한 방법론에 대하여 학습하고, 이에 기반하여 기계번역, 자동요약, 정보추출, 질의응답, 자연어 질의 시스템, 대화형 에이전트 등의 언어에 기반한 유용한 응용시스템을 다룬다. 이를 위하여 본 과목에서는 단어, 음성, 문장, 의미 그리고 대화 등을 다루는 고전적인 방법론부터 최신 딥러닝에 기반한 방법론까지 체계적으로 학습한다.
Natural Language Processing (NLP) is a cutting-edge technology field with diverse applications spanning engineering, industry, and humanities. This course explores various methodologies for representing human language in computational systems. Building upon these methodologies, the course covers language-based useful application systems such as machine translation, automatic summarization, information extraction, question-answering systems, natural language query systems, and interactive agents. To achieve this, the course systematically covers both classical methodologies dealing with words, speech, sentences, meaning, and dialogue, as well as the latest methodologies based on deep learning.
시스템은 기존 전통적 컴퓨터 시스템과는 다른 조건을 갖추어야 하는데, 그 이유는 멀티미디어 데이터는 시간 제약 조건을 갖기 때문이다. 본 강의에서는 우선 멀티미디어 운영체제가 갖추어야 할 기능들에 대해서 살펴본다. 멀티미 디어 프로세스관리와 메모리 관리, 프로세스 스케줄링, 입출력 스케줄링 등이 그것이며,이를 통해 멀티미디어 운영체제의 핵심 요소를 학습한다. 아울러 멀 티미디어 시스템 구조에 대해 간략히 살펴본다. 수강생들은 이를 통해 하드웨 어 성능이 시스템 성능에 미치는 영향에 대한 통찰력을 키울 수 있다.
Due to the wide spread of multimedia systems, the two terms, computer systems and multimedia systems are being interchangeably used. The mul timedia systems, however, should have special abilities solving the ti me-constraints that the multimedia applications inherently have. In th is course, the various requirements that a multimedia system should su pport, such as multimedia process scheduling, multimedia memory manage ment and multimedia disk scheduling, are covered. After going through these subjects, students can get the insight how the multimedia operat ing systems kernel should be shaped. As a part II of this course, mult imedia systems architectures are also covered.
본 과목은 소프트웨어 개발에 있어서 소프트웨어 공학의 필요성에 대하여 이 해하고, 공학적인 접근방법에 대하여 학습한다. 또한 소프트웨어 개발과 관련 된 기본 기술들(분석, 디자인, 구성, 테스트, 유지보수, 프로젝트 관리 및 품 질보장 등)을 학습한다.
In this course, students learn the basic aspects of software engineering and the process of software development. This course focuses on key topics that are fundamental to all development processes and topics concerned with the development of reliable and distributed systems, such as requirement engineering, architectural design, software testing and evolution, project management and quality management.
본 교과목에서는 기본 영상의 생성 및 다양한 변환 모델링을 통한 변화 과정 등의 사람의 시각시스템 관점에서 컴퓨터 비젼에 대한 내용을 소개한다. 이를 위해 기본 영상 전처리 과정인 화소처리, 히스토그램 처리, 영상 이진화 등 기본 내용을 이론적으로 학습하고 실제 전처리 데이터의 분석을 통한 인식 및 분류를 위한 특징 기반 해석 방법에 대해서 강의한다. OpenCV 기반 실습을 통 하여 실제 배운 이론을 적용해 봄으로써 실무 능력까지 겸비하도록 구성하였 다.
In this course, basic concept and theory of computer vision as human vision system is introduced. To help this goal, we will focus on pixel processing, histogram concept, image thresholding as pre-processing theoretically. Also from the result of the preprocessing , feature-based analysis methods are given to recognize or verify some objects through data analysis and learning. Using OpenCV library, all students make in practice with real image and video data, to understand some real cases.
본 교과목에서는 전공과목에서 배운 이론적인 SW기술을 실무 프로젝트 내용으 로 구성하고 팀 단위로 수행하여 정보의 검색, 분석 및 실무 서비스 개발 능 력을 배양하고자 한다. 또한 팀 프로젝트를 수행해 봄으로써 기획, 개발 및 관리, 팀원과의 소통 능력 등을 동시에 함양한다.
In this subject, the theoretical SW technologies learned in major subjects are organized into the contents of practical projects and performed by teams to cultivate the ability to search for information, analyze and develop practical services. It also cultivates both planning, development and management, and communication skills with team members by carrying out team projects.
2024년 IT공학전공 커리큘럼
구분 |
1학기 |
2학기 |
---|---|---|
1학년 |
IT기술의 이해 |
IT수학 |
2학년 |
객체지향프로그래밍 (Java)(필수) |
C++프로그래밍 |
3학년 |
데이터베이스 |
IT소프트웨어공학 |
4학년 |
|
HCI개론 |
졸업필수 |
★졸업프로젝트 (캡스톤디자인) |
★졸업프로젝트 (캡스톤디자인) |
교양 |
프리미어와플래시기초 |
소셜미디어의이해와활용 |
교과목 개요 (학년/학기 순)
1학년 1학기
컴퓨터 소프트웨어 개발에 필요한 프로그래밍 언어 중 최근 가장 각광받고 있는 파이썬(Python)을 학습하고 연습하는 과목이다. 본 강좌에서는 배우기 가장 쉬우면서도 프로그래밍의 다양한 기능들을 지원하는 언어인 파이썬의 문법(Syntax)과 의미(Semantics)를 강의한다. 프로그래밍 언어란 컴퓨터가 이해하는 언어로써 프로그래머는 프로그래밍 언어를 사용하여 컴퓨팅 장치에 명령을 주고 원하는 작업을 시킬 수 있다. 본 강좌는 수강생들이 컴퓨터 프로그래밍을 쉽게 배울 수 있도록 함과 동시에 컴퓨터 소프트웨어 개발 원리도 습득할 수 있도록 구성되어 있다. 프로그래밍 언어 학습을 통한 프로그래밍 능력은 향후 IT공학과의 다양한 교과목들을 제대로 이수하기 위해 필수적인 소양이다. 실험/실습 환경으로는 IT공과학과 실습실에 설치된 무료 파이썬 개발 도구를 사용하여 실습한다. 선수과목은 없으며 본 강의가 여러분의 생애 최초프로그래밍 강좌라는 가정 하에 쉽고 완만한 속도로 진행될 예정이다.
In this course, students will learn and practice the Python, which is recently becoming a popular programming language in the world. Python’s syntaxes and sementics are covered to construct any logic that programmers want. By using programming languages executed by computing elements, programmers can give any command they want to computer systems to make them doing the program’s jobs. This course helps students learn a programming language easily, and at the same time master the software development basics. Mastering any programming language is very crucial for students of IT engineering to fulfill the remaining coursework. For programming practices, students can use 70 PCs in two programming practice rooms. There is no pre-requisite, and teaching schedule is going to be at a slow speed because students are considered as a programming beginner.
2학년 1학기
객체 지향 개념을 이해하고 Java 언어 실습을 통한 멀티미디어 응용 소프트웨어 개발 방법을 습득한다. 또한 소프트웨어 재사용 및 복잡한 객체, 멀티미디어 데이터 표현 등의 새로운 요구사항을 충족시키는 확장 멀티미디어 라이브러리 구축방법을 습득한다. Java 언어와 관련된 개발환경과 응용 시스템의 구조를 연구하게 된다.
Students acquire the object-oriented concept, then learn the developing method of reusable software through the practice of C++ language. Also students learn the constructing method of the extended software library satisfied with the reusable software, the complicated object and the data expression of multimedia, etc.
인터넷에서 WWW를 기반으로 하는 웹 페이지의 표현과 웹기반 기초 프로그래밍을 학습한다. 웹 관련 기술의 기본 지식을 이해하고, HTML5, CSS3, JavaScript, Application API 등 웹 클라이언트 프로그래밍을 학습하고 PHP 등 서버 프로그래밍을 통해 웹 프로그래밍의 개요를 이해한다.
Students study the principles and programming techniques to represent internet web pages. With understanding of basic knowledge on the web environment, the client programming like HTML5, CSS3, Javascript and Application API will be learned, and server programming like PHP will be learned for linkage system between internet and the application program.
이 과목은 컴퓨터 시스템에서 멀티미디어 데이터를 효과적으로 구성하기 위한 데이터의 설계, 구현, 선택, 사용 기법을 제공한다. 과목의 주제는 배열, 스택, 큐, 리스트, 트리, 그래프, 정렬, 히프 구조, 탐색 기법, 파일 구조, 색인 파일, 해쉬 파일등을 포함한다. 아울러, 각 데이터 및 파일 구조에 대한 수학적 해석을 통해서 학습한 내용을 다양한 응용에 적용하는 기법도 배운다.
This course presents the issues in the design, implementation, selection, and use of multimedia data and files in computer system. We present the topics of arrays, stacks, queues, lists, trees, graphs, sorting, hashing, heap structures, search structures, basic file structures, indexed files, hashed files. An analytical approach is followed throughout so that the concepts learned can be applied to any of the wide variety of data and file structures in practice.
2학년 2학기
C 언어를 사용한 시스템 수준의 프로그래밍 응용에 대해 학습한다. 최근 중요도가 더욱 높아지고 있는 Linux 시스템을 중심으로 C 프로그램에 대한 컴파일과 디버깅 방법을 습득하고, 운영체제 시스템 호출을 이용한 시스템 프로그래밍과 시스템 라이브러리 구축 및 활용 기법을 학습한다.
We study system programming and its applications using C language. Based on Linux which is an immensely popular operating system, we learn how to compile and debug C programs and how to use system calls and construct system libraries.
모바일 응용서비스에 대한 기초지식을 연구하고 이를 바탕으로 멀티미디어 응용서비스의 구축방법, 서비스활용방법 등에 대한 지식을습득한다. 이를 위하여 프로그램 언어(자바) 를 바탕으로 모바일 응용서비스 플랫폼 구현과 응용 서비스의 실험을 통하여 지식을 터득한다.
After providing the basic theory on mobile service applications, it deals with the implementation of multimedia applications and their practical use. It trains students with the implementation of platform and practice for mobile service applications in a programming language such as Java.
서버 운영체제로 많이 사용되는 리눅스를 설치하고 리눅스를 기반으로 한 서버 시스템의 사용 기법을 습득한다. 특히, 초보자의 입장에서 리눅스 시스템 관리를 위한 사용 방법을 학습한다. 또한 리눅스 시스템 내에서 동작되는 인트라넷/인터넷 서비스 구축 방법을 습득하여 서비스 관리 지식을 습득한다. 아울러 웹 서비스 운영 중에 발생할 수 있는 보안 이슈들에 대해 공부하고 내외부로부터의 침입에 대비할 수 있는 웹 서버 운영 방안을 습득한다. 웹 서버 운영 시 발생하는 침입의 유형에 대해 다루고 이들 웹 서버 침입에 대비할 수 있는 방안과 그 실무를 익힌다.
Linux is one of the popular operating systems in the world. This course covers all the details from linux installations how-to to linux server management. It also includes various linux security settings. There is no pre-requisite. Linux internet/intranet services such as apache web server, OpenSSH server, and VsFTP services are also handled. Students will learn the security settings to keep the linux itself and the web services and SSH services normal.
웹 환경에서 사용되고 있는 핵심 기반 기술과 최신 기술 동향에 대해 배운다. 우선, 웹2.0 환경에서 핵심적인 웹데이터 표현언어로 중요시되고 있는 XML에 대해 이해한다. XML은 무엇인지, 어떻게 사용되는지, 어떻게 작동되는지에 대하여 배운다. 또한, 웹2.0 환경에서 웹어플리케이션 개발을 위해 다양하게 사용되고 있는 고급Javascript 기술을 이해한다. 고급 Javascript 기술로 많이 사용되고 있는 Ajax, JSON 을 배우고, 다양한 Javascript Framework에는 어떤 것이 있으며 어떤 기능을 제공하고 있는지 소개한다. (JQuery, Angular JS, Node.js 등)
Students learn about core technology and new trend for the web programming. First, they learn XML which is widely used as a web data description language in web 2.0 environment. This course introduces what is XML, how to use XML, and how XML is processed. Next, they learn advanced Javascript technologies which are used to develop various web applications. This course introduces Ajax, JSON and various Javascript frameworks like Jquery, Angular JS, Node.js, etc.
3학년 1학기
이 강좌는 컴퓨터상에서 발생하는 데이터를 효과적으로 저장하고, 관리하는방법을 강의한다. 수강생들은 본 강좌를 통하여, 사회 (회사, 연구소, 대학원)에서 요구하는 실질적인 DBMS 프로그래밍을 배울 수 있다. 이를 통해, 취업현장에서 데이터베이스를 바로 실행할 수 있도록 강의한다. 데이터베이스는 현존하는 지식을 Database에 저장하기 위한 다양한 기법들이 소개된다. 자세히 설명하면, DBMS는 그 자체 만으로도 수많은 타 학문(생명공학, 경영학, 경제학, 건축, 자동차, 토목 등) 과 결합되는 중요성을 가진다. 그러므로 그들 분야에서 다루고자 하는 중요한 데이터에 대한 저장 및 검색 방법을 제시한다. 구체적인 학습 내용은 관계형 데이터베이스 시스템 및 관련 응용들을 설계, 사용, 구현하기 위한 기본 개념을 배운다. 강좌의 주된 내용은 다음을 포함한다: (관계형) 데이터베이스 모델링 및 설계 기법, 데이터베이스 언어, 저장 및 색인 기법, 질의 처리 기법,트랜잭션 처리 기법, DBMS(DatabaseManagement System) 실습, 또한, 본 강좌에서 사용되는 프로그래밍언어(C,C++, Java 중 1 과목)와 웹 언어(JSP, PHP, ASP 중 1과목) 등은 관련 과목 사전 수강이나 독자학습을 권고한다.
The goal of this course is to provide an understanding of how to design a database management system. We will focus on physical representation of data, query execution, and query optimization in both database and data integration contexts. Prior database knowledge in undergraduate is required. Familiarity with Java, c, or c++, TCP sockets, and basic dynamic programming and search algorithms is desirable. This course includes a relational database modeling, organizing techniques, database languages, Storages, and Indexing techniques, Query processing methods, Transaction Processing techniques and DBMS (DatabaseManagement System) Practices.
학생들은 각종 영상을 컴퓨터를 통하여 묘사하기 위한 그래픽 저작도구들의 사용 기법을 습득한다. 특히 3D객체를 모델링하여 실내의 인테리어등을 디자인하며, 카메라, 조명, 애니메이션을 배운다. 또한 openGL 을 이용하여 그래픽 프로그램의 설계와 응용기법도 습득한다
Students acquire how to use the graphic author-ware to describe any kind of image by the computer. Especially, it covers 3D objects modeling, interior design, and animation of objects, camers, and lightings. In addition, a graphics program planning and its applications using openGL are learned.
알고리즘은 멀티미디어과학의 모든 분야를 이해하는 기초가 되는 중요한 분야이다. 이 과목을 통해서 문제 해결을 위한 접근 방법들과 그 방법에 대한 성능평가를 수행하고, 이를 효과적으로 구현할 수 있는 능력을 배양하고자 한다. 복잡도 분석을 통해 알고리즘 성능 평가 방법을 배우고, 정렬, 선택알고리즘, 검색 트리, 해시테이블 등을 통해 효율적인 자료 찾기 방법을 배운다. 아울러 집합처리, 동적 프로그래밍, 그래프알고리즘, 문자열 매칭 학습을 통해 고급 알고리즘을 익힌다. 시간이 허락할 경우 NP-Complete 문제들과 상태공간 트리 탐색 등 고차원적인 알고리즘에 대해서도 공부한다. 이 과정을 마치고 나면 수강생들은 효율성이 컴퓨팅에 얼마나 중요한 요소인지 알게 될 것이며, 이를 통해 수강생들은 간결하면서도 비용이 적게 드는 프로그램을 작성할 수 있는 소프트웨어 프로그래머로 발돋움할 수 있을 것으로 확신한다.
This is a required course covering fundamental ideas in algorithms. Emphasis is on the introducing basic concepts of algorithms, mathematical aspects and analysis, sorting and searching algorithms, various algorithmic techniques, and cost associated with different algorithms, and finally how the cost can be affected by subtle choices. Students are assumed to have a good foundation in basic data structures, or equivalent. Basic programming competency in C++ or Java is also assumed.
본 교과목은 컴퓨터비전 교과목의 선수과목으로 사람의 시각 기능을 기반으로 체계화된 영상처리 이론 및 디지털 영상데이터 처리구조를 학습한다. 이론으로 화소처리 및 영역처리 등과 같은 변환 기법 등을 통하여 실제 처리되는 결과를 간단한 MCF 프로그래밍으로 실습한다.
This course is an prerequisite one in computer vision and learns a structured image processing theory and digital image data structure based on a human’s visual function. Theoretically, we practice the results of actual processing through transformation techniques such as pixel processing, frame processing, and region processing with simple MFC programming.
IT분야의 소프트웨어나 어플리케이션을 개발할 때 매우 중요한 요소인 UX(사용자경험)에 기반한 UI설계 기법에 대해 배운다. 모바일 기기나 웹 환경에서 사용자 인터페이스의 설계, 프로토타입 개발, 평가 기법에 대해 다음과 같은 항목을 학습한다. 1) UX 기반의 사용자의 요구 및 작업 분석, 2) UI 프로토타입 개발 기법, 3) UI 설계에 대한 사용성 평가 기법, 4) UI 설계에 영향을 주는 인지적(cognitive/perceptua) 요소
This course introduces the User Interface(UI) design techniques based on User Experience(UX) which is very important when developing computer software and applications. This course targets on mobile and web environment, and covers UI design, prototype implementation, and evaluation techniques as followings; 1) User requirement and task analysis based on UX, 2) UI prototype development technioques, 3) Usability test on UI design, 4) Cognitive or perceptual element affecting UI design
3학년 2학기
본 과목은 소프트웨어 개발에 있어서 소프트웨어 공학의 필요성에 대하여 이해하고, 공학적인 접근방법에 대하여 학습한다. 또한 소프트웨어 개발과 관련된 기본 기술들(분석, 디자인, 구성, 테스트, 유지보수, 프로젝트 관리 및 품질보장 등)을 학습한다.
In this course, students learn the basic aspects of software engineering and the process of software development. This course focuses on key topics that are fundamental to all development processes and topics concerned with the development of reliable and distributed systems, such as requirement engineering, architectural design, software testing and evolution, project management and quality management.
컴퓨터 환경에서 현실과 유사한 가상 세계를 모델링하는 기술을 익히는 과정이다. 탐험형태 및 대화형태의 가상현실모델기법을 기반으로 하여, 시각 및 청각, 촉각과 같은 감각을 느끼고 반응하도록 프로그래밍을 제작한다. 가상건축, 원격수술, 항공기 훈련, 심리치료 등 여러 분야에 활용되고 있다.
The techniques for constructing virtual world under computer environment are learned. Based on navigating and interactive interface for virtual reality, an avatar is created to have the sense of vision, auditory, and tactile. it is applied in many areas such as virtual architecture, distance surgery, flight simulation, and psychological therapy.
최근 IT 기술의 발달에 고기능의 멀티미디어 서비스가 가능한 휴대용 단말기 기반의 분산 멀티미디어 응용 소프트웨어를 만들기 위하여 필요한 UNIX Network Programming기법을 다룬다. 프로세스 관리, 프로세서(서버, 클라이언트)간 통신프로그램, 유닉스 소켓 프로그램, Java RMI를 이용한 프로그램, 서블릿 등을 이용한 멀티미디어 분산 시스템을 구축하기 위한 다양한 네트워크 프로그래밍 기법을 습득한다.
This course deals with the method of UNIX network programming to make the distributed multimedia application software. For distributed multimedia systems, students are trained network programming skills such as the process management, the communication program between processors (Server, Client), Unix Socket program, Java RMI program, Servlet program, etc.
시스템은 기존 전통적 컴퓨터 시스템과는 다른 조건을 갖추어야 하는데, 그 이유는 멀티미디어 데이터는 시간 제약 조건을 갖기 때문이다. 본 강의에서는 우선 멀티미디어 운영체제가 갖추어야 할 기능들에 대해서 살펴본다. 멀티미디어 프로세스관리와 메모리 관리, 프로세스 스케줄링, 입출력 스케줄링 등이 그것이며,이를 통해 멀티미디어 운영체제의 핵심 요소를 학습한다. 아울러 멀티미디어 시스템 구조에 대해 간략히 살펴본다. 수강생들은 이를 통해 하드웨어 성능이 시스템 성능에 미치는 영향에 대한 통찰력을 키울 수 있다.
Due to the wide spread of multimedia systems, the two terms, computer systems and multimedia systems are being interchangeably used. The multimedia systems, however, should have special abilities solving the time-constraints that the multimedia applications inherently have. In this course, the various requirements that a multimedia system should support, such as multimedia process scheduling, multimedia memory management and multimedia disk scheduling, are covered. After going through these subjects, students can get the insight how the multimedia operating systems kernel should be shaped. As a part II of this course, multimedia systems architectures are also covered.
본 교과목에서는 라즈베리파이/아드이노 보드의 프로그래밍 실습을 통하여 마이크로프로세서의 제어방법 및 기술을 습득한다. 라즈베리파이/아드이노를 바탕으로 만들어진 학습 보드에 대해 살펴보고, Python, C/C++ 언어로 프로그래밍하는데 필요한 기본 요소들, 텍스트 LCD를 이용하여 정보를 표시하는 방법, 스케치 작성에 흔히 사용되는 기본 및 확장 라이브러리, 스마트폰 앱을 통해 라즈베리파이/아드이노에 연결된 센서들을 원격으로 제어하는 방법 등을 학습한다.
This course deals with basic concepts and their operations of various sensors to achieve the environmental data, using RasberryPi-3/Arduino training kits. In terms of IoT, RasberryPi-3/Arduino training kits are introduced and we show how to make control program, to use sensors such as Text LCD, LEDs, and Motor, based on Python, C/C++ languages. Also, we will come to meet a chance to utilize various libraries and modules for extending functions which are based on Web and short range communications (Blutooth and NFC).
4학년 1학기
디지털 기술의 발전과 함께 IoT(Internet of Things)의 개념이 확대되고 있다. 통신 프로토콜의 발전에 따른 IoT의 기본 개념을 설명한다. 또한, 각종산업 분야에서 IoT 기술을 활용하는 ICBM(IoT, Cloud, BigData, Mobile) 개념을 설명한다. 또한, ICT 융합 산업 분야에서 실제로 활용되는 IoT 기술을 이해하고, 이를 활용하는 능력을 배양한다.
With 4th Industry revolution, the importance of IoT(Internet of Things) is expanding for new life building, This course explains the connectivity concepts and communication protocols for using of IoT, Also, we discuss how to apply the IoT technologies in the industry area and our life environment with ICBM(IoT, Cloud, BigData, Mobile) concept. We enhance the capability of IoT application by understanding and using IoT technologies in the ICT convergence projects.
데이터 마이닝 개론은 빅데이터 분석의 핵심 기술을 학습한다. 본 과목에서는 실제 사용되는 기술을 강의한다. 실제 사용되는 기술이란, 연관규칙(associationrules), 분류(classifications), 클러스터링(Clustering), 유사검색(Similarity Search) 등을 말한다. 이러한 기술을 통해, 누구나 할 수 있는 분석을 넘어서, 빅데이터 대상의 의미 있는 분석 기술을 익히는 것을 목표로 한다. 데이터 마이닝이라 불리는 세 가지 핵심 기술과 주변 기술을 습득한다. 또한, R프로그래밍 기술 습득 및 R을 활용한 마이닝 기술을 실습한다.
Data Mining studies algorithms and computational paradigms that allow computers to find patterns and regularities in databases, perform prediction and forecasting, and generally improve their performance through interaction with data. It is currently regarded as the key element of a more general process called Knowledge Discovery that deals with extracting useful knowledge from raw data. The knowledge discovery process includes data selection, cleaning, coding, using different statistical and machine learning techniques, and visualization of the generated structures. The course will cover all these issues and will illustrate the whole process by examples. Special emphasis will be give to the Machine Learning methods as they provide the real knowledge discovery tools. Important related technologies, as data warehousing and on-line analytical processing (OLAP) will be also discussed. The students will use recent Data Mining software.
스마트 콘텐츠의 정의 및 특징을 이해하고 스마트 콘텐츠 산업의 현황 및 시장의 흐름에 맞춰 사용자의 요구를 분석한다. 브레인스토밍등 팀워크 및 창의력을 키우는 활동을 통해 스마트 앱 서비스를 설계 및 기획하며 프로토타입을 개발하기까지의 과정을 다룬다.
Understand the definition and characteristics of smart contents and analyze users' needs according to the current status of smart contents industry and market trends. This course covers the process of designing and planning an app through developing teamwork and creativity, such as brainstorming, and developing a prototype of smart app service.
4학년 2학기
인간 컴퓨터 상호작용(Human Computer Interaction, HCI)은 컴퓨터 시스템은 물론 이를 이용하는 인간을 위한 학문이다. 인간 컴퓨터 상호작용 수업의 목표는 도구로서의 컴퓨터 잠재력을 극대화하여 인간의 창의력을 증진시키고, 인간 사이의 의사소통과 협력을 증진시키는 데 있다. 인간-컴퓨터 상호작용 전문가는 다양한 인터랙션 기법들을 실제 현장의 문제에 적용하는 데 관심이 있으며, 새로운 인터랙션 기법을 개발하거나, 새로운 하드웨어를 시험하고, 새로운 소프트웨어 시스템을 구현해보고, 새로운 패러다임을 찾거나, 모델이나 이론을 개발한다.
Human Computer Interaction(HCI) is a study for computer systems and its users. The course of HCI aims to increase the user's creativity and communication skills between users by maximizing the potential of computer tools. The HCI experts have concerns on applying various interaction techniques to the actual field problems. They develop and evaluate new interaction techniques, and implement new hardware and software systems. Also they develope new paradigm model or theory.
데이터 분석 오픈소스 플랫폼을 활용한 데이터 분석 기법과 이에 대한 활용을 학습한다. Hadoop기반의 MapReduce 플랫폼을 활용한 데이터 분석과 인메모리 기반의 Spark 플랫폼을 활용한 데이터 분석 기법을 학습하고, 이외의 다양한 최신의 오픈소스 데이터분석 플랫폼을 활용하는 기법에 대하여 학습한다. 또한 데이터 분석을 통해 획득된 지식을 활용하는 다양한 어플케이션들과 산업체 현장에서의 실제 사례에 대해 학습한다.
The goal of this course is to study data analysis techniques and applications based on open source platforms. We practice distributed programming skills and algorithms to analysis big data based on emerging distributed platforms such as Hadoop MapReduce platform and Spark In-Memory platform. In addition, we learn various applications and commercial cases using data analysis techniques.
본 교과목에서는 기본 영상의 생성 및 다양한 변환 모델링을 통한 변화 과정 등의 사람의 시각시스템 관점에서 컴퓨터 비젼에 대한 내용을 소개한다. 이를 위해 기본 영상 전처리 과정인 화소처리, 히스토그램 처리, 영상 이진화 등 기본 내용을 이론적으로 학습하고 실제 전처리 데이터의 분석을 통한 인식 및 분류를 위한 특징 기반 해석 방법에 대해서 강의한다. OpenCV 기반 실습을 통하여 실제 배운 이론을 적용해 봄으로써 실무 능력까지 겸비하도록 구성하였다.
In this course, basic concept and theory of computer vision as human vision system is introduced. To help this goal, we will focus on pixel processing, histogram concept, image thresholding as pre-processing theoretically. Also from the result of the preprocessing , feature-based analysis methods are given to recognize or verify some objects through data analysis and learning. Using OpenCV library, all students make in practice with real image and video data, to understand some real cases.
분산 컴퓨팅 환경의 발전과 함께 자원의 공유라는 차원에서 대두되고 있는 클라우드 컴퓨팅의 개념을 설명한다. 본 과목에서는 클라우드 컴퓨팅 기술과 사례를 소개한다. 특히, 정의된 개념과 모델, 기술 메커니즘 및 아키텍처 등을 중심으로 기본 기술들을 학습한다. 또한 사례 연구를 기반으로 전통적인 IT컴퓨팅과의 비교가 가능하도록 한다.
This course introduces cloud computing technology as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of computing resources. It provides comprehensive and descriptive coverage of cloud computing technology. It provides a deep-down analysis of cloud architectures and mechanisms that capture the real-world moving parts of cloud platforms. It delves into the details of how cloud computing technologies function, how they are architected, and how they are modelled.
졸업필수
본 교과목에서는 전공과목에서 배운 이론적인 SW기술을 실무 프로젝트 내용으로 구성하고 팀 단위로 수행하여 정보의 검색, 분석 및 실무 서비스 개발 능력을 배양하고자 한다. 또한 팀 프로젝트를 수행해 봄으로써 기획, 개발 및 관리, 팀원과의 소통 능력 등을 동시에 함양한다.
In this subject, the theoretical SW technologies learned in major subjects are organized into the contents of practical projects and performed by teams to cultivate the ability to search for information, analyze and develop practical services. It also cultivates both planning, development and management, and communication skills with team members by carrying out team projects.
교양 (1학기)
본 교과목에서는 동영상의 기본 개념을 정리하고, 사용자의 요구에 따른 다양한 미디어 정보를 바탕으로 동영상을 제작 할 수 있는 방법을 연구한다. 이를 위하여 가장 범용적인 동영상 저작도구를 통하여 동영상 제작 방법과 제작되는 동영상에 다양한 효과를 주는 기법들도 함께 습득한다. 또한 가장 많이 사용하는 저작도구인 플래시를 이용하여 애니메이션 디지털 콘텐츠를 기획하여 제작함으로써 게임, 2D 만화영화, 디지털 광고 등에 적용해본다.
In this lecture, we will study some concepts and requirements for video media. Then we will learn a method to generate a fused video stream that is based on both general media information and user requirements. For the effect, we will study a general authoring tool, like Premiere, and study a method to attach some effects inside the video stream. In addition, the most popular Flash authoring tool that uses animation, digital content by applied to the game and 2D animation, are produced in this course.
교양 (2학기)
이 강좌의 목적은 소설미디어의 개념을 이해하고 이를 활용해 보는 것이다. 소설네트워크 시대에 소설 미디어의 활용은 곧 경쟁력이다. 따라서 현재 대표적인 소설미디어인 블로그, 트위터, 페이스북, 구글, 미디어 공유 서비스 등을 학습하고, 이를 통해 자신을 표현하고 공유하는 소셜 네트워크 활용능력을 배양한다.
The goal of the course is the understanding of the social media and help students to take advantage of the social media services. In this era of social network, practical use of social media is personal competitiveness. Therefore, the class consists of the representative services of social media - Blog, Twitter, Facebook, Google, sharing services of media, and so on. This can make the students improve the literacy of network to express oneself and to share the network.
본 강좌에서는 일러스트레이터와 포토샵을 다루는 기법에 대해서 배운다. 일러스트레이터를 사용하여 벡터이미지를 생성하고 드로잉기법을 익히며, 포토샵을 사용하여 사진 등의 정지화상에 효과를 입히거나 대비등을 조절하여 다양한 이미지 생성 기법을 배운다.
In this course, you learn how to handle illustrator and photoshop. It covers drawing skills for vector images in illustrator and generating various images effects using a certain filter or adjusting contrasts onto the still image like a photo in Photoshop.