Curriculum 교육과정

교과목 개요

전공 선택 과목

 3학년

  • 고급프로그래밍언어(Advanced Programming Languages) 
    이 과목은 프로그래밍 언어를 통한 소프트웨어 설계 및 구현의 고급 기능을 학습한다. 특히, 고급프로그래밍언어는 시스템지향, 객체지향, 기능, 로직 프로그래밍언어를 고려한 향상된 방법을 배운다. 또한 구현 방법도 함께 학습한다. 
  • 알고리즘(Algorithms) 
    이 과목은 알고리즘을 설계하고 분석하는 것으로 주제는 욕심장이 방법, 분할정복, 동적프로그래밍, 퇴각검색, 분기한정 등의 알고리즘적인 기법의 분석과, 몇몇 잘 알려진 알고리즘에 대하여 다룬다. 특히, 이러한 알고리즘의 정확성과 효율성에 대하여 교육한다. 
  • 스마트디바이스(Smart Device) 
    이 과목은 아두이노와 같은 오픈소스 기반 소형 컴퓨터 하드웨어/소프트웨어 플랫폼을 사용하여 물리적 공간을 감지하고 제어할 수 있는 디지털 디바이스 개발 방법을 배운다. 특히 학생은 오픈소스 하드웨어/소프트웨어 플랫폼을 동작시키는 방법과 쉴드에 관해서 배운다. 추가적으로 C 코드를 사용하는 플랫폼 프로그래밍 방법을 학습한다. 
  • 자료구조(Data Structures) 
    이 과목은 C++언어를 이용하여 컴퓨터에서 자료를 표현하고 조작하는 방법에 대하여 배운다. 학생은 이 과정을 통하여 복잡한 컴퓨터 프로그램을 읽고 쓰기 위해 필요한 문제해결능력과 설계방법을 결정하는 방법을 학습한다. 
  • 모바일프로그래밍(Mobile Programming) 
    이 과목은 모바일 플랫폼을 이해하고, 모바일 애플리케이션을 개발방법에 관해서 배운다. 그리고 iOS, 안드로이드 등의 모바일 운영체제에서 실행되는 응용의 프로그래밍 과정을 실습한다. 
  • 빅데이터시스템(Big Data System) 
    이 과목은 대용량 데이터(빅데이터) 처리를 위한 시스템 구성에 대하여 학습한다. 이를 위해 분산처리기법, 분산데이터베이스, 분산파일시스템, 데이터웨어하우스, 빅데이터 데이터 관리, 빅데이터 처리 플랫폼, 분산프로그래밍, 빅데이터의 분석기법(데이터마이닝) 등에 대해 살펴본다. 
  • 사물인터넷(Internet of Things) 
    이 과목은 사물인터넷 기술에 대한 개괄적인 이론과 응용을 소개한다. 특히, 사물인터넷 구조, 다양한 사물인터넷 서비스, 사물인터넷 기술 등을 소개하고 간단한 사물인터넷 응용 서비스 개발을 통해 사물인터넷 개발 방법을 배운다. 
  • 산업네트워크(Industry Network) 
    이 과목은 산업네트워크의 기본 개념 및 이론을 소개한다. 특히, Top-Down fashion을 기반으로 산업네트워크 구조, 산업 서비스를 위한 다양한 프로토콜, 구현 기술을 강의한다. 
  • 오픈소스SW응용(Open-source SW application) 
    이 과목은 오픈소스SW를 활용한 어플리케이션 개발을 학습한다. 특히, 전통적 오픈소스SW 개념과 기술을 이해하고 최근 오픈소스SW 활용 기술을 학습한다. 
  • 임베디드SW(EmbeddedSW) 
    이 과목은 임베디드 시스템에서 활용될 수 있는 리눅스 기반 어플리케이션 개발에 대하여 학습한다. 특히 임베디드SW의 실시간, 신뢰성, 하드웨어 최적화를 위한 임베디드 SW 활용을 학습한다. 
  • 임베디드OS(Embedded OS) 
    본 과목에서는 리눅스 기반 임베디드 운영체제와 리눅스커널분석, 커널프로그래밍에 대하여 배운다. 그리고 임베디드 시스템에 적용되는 리눅스 프로그래밍도 함께 배운다. 
  • 플랫폼기술(Platform Technology) 
    이 과목은 사물인터넷 플랫폼 기반의 산업플랫폼 기술 개발 방법을 배운다. 특히, 사물인터넷 서버 플랫폼인 openMobius와 사물인터넷디바이스 플랫폼를 Cube 등과 다양한 디바이스 플랫폼 통해 산업플랫폼 구축에 필요한 기술을 학습한다. 

 4학년

  • 가상현실(Virtual Reality) 
    이 과목은 가상현실의 개념 이해와 가상현실 실험 환경에서 개발 방법을 배운다. 또한 이 과목은 멀티미디어통신과 기기간 효율적 상호작용을 만들 수 있는 능력과 가상현실 환경을 개발하는 방법을 학습한다. 
  • 네트워크프로그래밍(Network Programming) 
    이 과목은 컴퓨터네트워크 프로그래밍 개발 방법을 배운다. 특히, 통신프로토콜의 트렌드 이해, 소켓프로그래밍 기법, 어떻게 네트워크 개발이 완성되는지에 대한 이해를 돕는 것으로 목적으로 한다. 또한 유선 및 무선 네트워크 환경에서 네트워크 프로그래밍 기법을 학습한다. 
  • 소프트웨어공학(Software Engineering) 
    소프트웨어공학은 객체지향 설계에서 사용되는 과정 및 패턴을 학습한다. 특히, 객체지향 설계에서 사용되는 패턴 학습을 통해 고품질의 객체지향 소프트웨어를 개발할 수 있도록 한다. 
  • 인공지능(Artificial Intelligence) 
    이 과목은 지능 시스템에 대한 간단한 소개를 하며, 퍼지 논리의 기본과 신경회로망의 기본 원리 및 학습 구조 등을 배운다. 
  • 산업디바이스프로젝트(Industry Device Project) 
    이 과목은 사물인터넷을 위한 라즈베리파이 기반의 사물인터넷 디바이스 개발 솔루션들을 소개한다. 특히, 다양한 산업환경 서비스 개발에 활용될 수 있도록 데이터를 수집하고 수집된 정보를 클라우드 플랫폼과 연동하는 방법 등을 중점 강의한다. 
  • CPS(CPS & hologram) 
    이 과목은 CPS를 위한 기본 개념과 개발 툴을 학습한다. 특히, continuous-time & discrete-time systems, finite state machines, stateflow, timed & hybrid automata, concurrency, invariant, linear temporal logic, verification, numerical simulation을 위한 모델링, 분석툴 등 CPS 개발에 필요한 이론 등을 학습한다. 
  • 머신러닝(Machine Learning) 
    이 과목은 머신러닝에 대한 개념, 기술, 알고리즘 등을 학습한다. 특히 boosting, support vector machines, hidden Markov models, Bayesian network과 같은 기초 지식을 다룬다. 
  • 전공캡스톤디자인(Major capstone design) 
    캡스톤 디자인(Capstone Design)은 학생의 창의력, 실무, 팀워크, 의사소통 등의 훈련을 통한 설계 및 구현 능력의 향상을 목표로 한다.설계 주제 선정 방식은 팀 회의를 통한 학생 자발적 선정, 기업체 제시에 따른 선정, 교수 지정에 따른 선정 등을 활용하도록 한다. 설계 주제 내용은 가급적 혁신적인 수행을 목표로 경제, 환경, 산업표준, 응용 등의 효율성을 충분히 반영할 수 있도록 한다. 
  • 클라우드컴퓨팅(Cloud Computing) 
    본 과목에서는 병렬 서비스지원이 가능한 클라우드 컴퓨팅기술과 응용체계들에 대해 학습한다. 세부 내용으로는 클라우드 컴퓨팅 개요, 클라우드 시스템모델, 클러스터링, 가상화 기술, 클라우드 프로그래밍 환경 등을 다룬다. 
  • 창의캡스톤디자인(Creative Capstone Design) 
    다른 학부 또는 다른 단과대학의 학생들과 함께 팀을 이루어 창의적인 아이디어를 도출하고 이를 설계, 제작하여 완성품을 발표한다. 제안서, 문헌 조사, 제작, 평가, 보고서 작성 등 프로젝트 전 과정을 진행해 본다.