4학년
1. 캡스톤설계및실습 (전공필수)
본 수업은 전공교육과정을 통해 습득한 지식을 바탕으로 실제적인 문제를 설계하고 해결함으로써 학문간의 융합 능력과 창의적 문제해결 능력을 배양하는데 목적을 둔다. 학생들은 기업과 사회에서 제시하는 프로젝트를 팀 단위로 수행하면서 목표하는 기능과 성능을 포함한 제반 요구사항들을 만족시킬 수 있는 시스템을 고안하는 과정을 팀원들과 협업하면서 진행한다.
2. IoT시스템
IoT 시스템은 임베디드 시스템 플랫폼 기반 위에 각종 센서를 이용하여 센서 데이터 수집, 가공, 활용을 통해 IoT 관련 기술, 제품, 응용 개발에 대해서 학습하는 과목이다. 이 과목에서는 센서 제어, 센서 데이터 수집, 서버 관리, 모바일 응용 등을 다룬다.
3. 게임프로그래밍
멀티미디어 콘텐츠 중에서 컴퓨터 게임은 가장 많은 사람들이 관심을 가지며 상업성이 높다. 이 과목에서는 컴퓨터 게임의 기획 및 개발 방법론에 대한 이론을 배우고, 게임 개발 도구 및 언어를 익힌 후, 이를 이용하여 데모용 게임 작성을 실습한다.
게임 기획 및 프로그래밍 개론, 게임 개발 과정 및 설계 도큐먼트, 게임 메커니즘, 게임 플레이, 세팅 및 밸런싱, 게임 엔진 소개, 3D 모델링 저작 및 렌더링, 게임 프로그램의 구조, 게임 프로그래밍 언어, 게임 엔진의 API 및 실습
4. 데이터베이스설계
관계형 데이터베이스 설계에 대한 이론과 데이터베이스의 물리적 또는 논리적 설계 기법에 대해 배운다.
함수종속성, 정규화, 데이터베이스 설계 알고리즘, 데이터 분석, ER 모델링, EER 모델링, 화일 구조, 인덱싱, 트랜잭션 처리, 동시성 제어
5. 빅데이터처리
이 과목에서는 주요한 데이터 마이닝 알고리즘과 대용량의 데이터의 처리하기 위한 기초적인 분산 처리 방법 및 이와 관련된 기초 알고리즘에 대해서 강의한다.
데이터 마이닝 알고리즘, 패턴 분석 알고리즘, 그래프 분석, 데이터 스트림 알고리즘, 군집화 알고리즘, 분산 처리 방법, Hadoop, NoSQL 시스템 및 그와 관련된 기초 알고리즘
6. 컴퓨터비전
컴퓨터비전은 카메라와 컴퓨터를 이용하여 시각 기능을 구현하고자 하는 분야이다. 이 과목에서는 기본적인 영상처리 기법과 영역화, 3차원 비전, 물체 추적과 인식 등의 주제를 다룬다.
7. 로봇공학
다양한 유형 로봇 시스템에 대해 소개하고, 기구학, 동력학, 제어 등 로봇공학의 이론을 이해 하며, 드론의 제작과 프로그래밍을 병행하도록 한다.
8. 모바일프로그래밍
모바일 스마트폰 OS와 App의 동작 원리를 이해하고 모바일 App 개발 방법을 학습함으로써, 모바일 기반의 소프트웨어 개발방법론을 익힌다.
9. 딥러닝
최근 인공지능을 발전에 중심이 되는 딥러닝 개념 및 기초 지식을 습득하고 보편적으로 많이 활용되는 딥러닝 신경망 기술들을 소개한다. 딥러닝 신경망 학습의 주요 기술인 정규화, 최적화 관련 이론을 강의한다. 파이선 기반 프로젝트 수행을 통해 딥러닝 이론을 실질적인 응용에 활용할 수 있는 능력을 배양한다.
10. 컴퓨터보안
이 과목에서는 암호화 알고리즘에 대한 기초적인 이론과 사용자 인증 및 인가, 컴퓨터 네트워크 환경에서 기밀성과 무결성을 지원하기 위한 프로토콜, 소프트웨어 결함 및 멀웨어와 관련된 소프트웨어 보안에 대해서 강의한다.
암호 알고리즘 - DES, AES, RSA, 접근 제어, 사용자 인증과 인가, 보안 프로토콜, 컴퓨터네트워크 환경에서 기밀성과 무결성을 위한 방법, 소프트웨어 보안, 소프트웨어 버그와 멀웨어
11. 엔터프라이즈프로그래밍
산업체의 대형 엔터프라이즈 정보시스템을 개발하는데 필요한 핵신 개념과 방법론을 익힌다. 컴포넌트 기술을 기반으로 한 애플리케이션 개발에 강의의 주안점을 둔다.
12. SW연구프로젝트및실습
SW연구프로젝트 과목은 캡스톤설계를 마친 학생을 대상으로 캡스톤설계 문제 또는 관심 분야의 문제를 심화 연구하는 프로젝트 중심 교과목이다. 프로젝트는 개인별 또는 팀별 연구 프로젝트 위주로 진행이 되고, 주제는 캡스톤설계의 심화 주제이거나 알고리즘, 인공지능, 컴퓨터비전, 컴퓨터시스템 등의 다양한 이론 연구 주제 모두 가능하다.
13. 고급문제해결기법및실습
이 과목은 학생들의 문제 해결 능력을 배양하기 위함이다. 주어진 문제를 해결하는 방법은 여러가지가 있다. 기존의 다양한 문제 해결 기법을 학습하여 유사한 문제를 가급적 빠른 시간내에 정확하게 해결하는 기법을 익혀 실제 문제 해결 능력을 배양한다. 아울러 취업에 유리하게 하는 목적이다.
14. 소셜네트워크분석
본 교과목은 사람들이 생활하면서 형성하는 사회 연결망 데이터를 활용하여 사회 구조 및 연결망에 대해 분석하는 방법에 대해 배운다. IT 발전으로 사람들 사이의 관계는 복잡해지고 정교해 졌다. 이를 네트워크나 개인간의 상호 관계 등을 분석하는 것을 목표로 한다.
15. 인간컴퓨터상호작용
이 과목은 인간과 컴퓨터 간의 상호작용에 대해 연구하는 학문 분야다. 상호작용이란 사용자와 컴퓨터 사이에 있는 사용자 인터페이스 작동을 의미하며 하드웨어와 소프트웨어 모두를 포함한다. 기본 목적은 인간이 더 쉽고 간단하게 컴퓨터를 사용하게 하는 것이다.
16. 멀티코어컴퓨팅
이 과목은 컴퓨터의 병렬처리 환경을 소개하고 병렬프로그래밍 기법에 대해 공부한다. 대용량의 데이터를 효과적으로 처리하기 위해선 병렬프로그래밍이 필수이며 이를 분석/설계하는 방법에 대해 배운다.
17. 블록체인의이해
이 강의에서는 공개키 암호화, 해시 함수, 디지털 서명, 영지식 증명 등 블록체인의 기반기술과 합의 알고리즘, data feeds, 거버넌스(governance), 결정성(determinism) 등 블록체인의 중요 개념들을 설명한다. 그 뒤에 비트코인, 이더리움, 하이퍼레저 패브릭, 리플 등 대표적인 블록체인 시스템들을 설명한다. 블록체인이 탈중앙화(decentralization)의 핵심 기술임을 설명하기 위해 PoW, PoS, PBFT, Paxos 등의 합의 알고리즘과 Chord, Pastry, Kademlia 등의 P2P 네트워크를 설명한다.