데이터구조(Data Structure) 이 과목에서는 C++언어를 이용하여 컴퓨터에서 자료를 표현하고 조작하는 방법에 대하여 교육하며, 리스트, 스택, 뷰, 트리, 그리고 재귀호출 등의 주제를 포함한다. 학생들은 이 과정을 통하여 복잡한 컴퓨터 프로그램을 읽고 쓰기 위해 필요한 문제해결능력과 설계방법을 결정하는 방법을 배우게 된다.
창의공학설계입문(Introduction to Creative Engineering Design) 이 과목은 공학설계에 대한 소개과목이다. 이 과목에서 학생들은 공학설계의 이론적인 기초를 학습하며, 공학설계의 전 과정을 수행한다. 이 과정을 통하여 학생들은 공학설계에 필요한 내용에 대한 경험적인 지식을 습득한다.
객체지향프로그래밍(500111) Object Oriented Programming) 객체지향 프로그래밍의 근본적인 개념들인 클래스, 멤버변수, 멤버함수, 데이터 추상화, 인캡슐레이션, 상속성, 동적바인딩 등을 상세히 학습한다.
전공선택
응용수학(Applied Mathematics) 본 교과과정에서는 게임과 애니메이션 등의 응용분야에 기초가 되는 수학적인 이론을 소개한다. 컴퓨터그래픽스에 필요한 벡터해석 및 미분기하학을 학습하며, 유체역학에 필요한 미분방정식 등을 학습한다.
가상현실(Virtual Reality) 본 교과과정에서는 컴퓨터그래픽스 이론을 바탕으로 하는 가상현실의 다양한 기법을 학습한다. 이에 대한 효율적인 이해를 위하여 Unity 와 WebGL 을 이용하여 3D 모바일 게임을 제작해 본다.
논리설계(Logic Design) 디지털 회로의 기초 이론인 2진수의 개념 및 논리 회로, 부울대수, 플립플롭 회로, 카운터 레지스터, 인코더와 디코더, 기억회로 및 동작원리, A/D와 D/A 변환 등을 익혀 디지털 컴퓨터 시스템의 구성을 이해한다.
데이터베이스(Database) 이 교과목에서는 데이터베이스 시스템의 개념과 구조를 학습하고, 관계형 데이터 모델을 중심으로 설계, 구현, 활용에 대한 이론을 학습한다. 특히 관계형 데이터베이스 시스템에서의 데이터모델링, 관계대수, SQL, 정규형 등을 깊이 있게 다루며, 객체관계 데이터 모델, 객체지향 데이터 모델에 대해서도 소개한다.
디지털신호처리(Digital Signal Processing) 디지털신호처리과목에서는 여러 가지 센서에서 얻어지는 신호로부터 우리가 필요로 하는 유용한 정보를 얻어내는 방법을 배운다. 선형 시스템에 대한 지식과 푸리에변환, 라플라스변환등 각종 변환법과 저역통과, 고역통과등 필터링과정이 기본적으로 다루어진다. 우리가 센서로부터 획득한 잡음 신호로부터 잡음이 제거된 신호를 얻는다든가, 음성 인식을 통해 로봇에게 명령을 한다든가, 물체의 형태를 식별하는 영상처리 등이 신호처리의 응용분야이다.
디지털영상처리I(Digital Image Processing I) 인간의 시각체계와 영상처리 시스템의 구조를 소개하고, 영상의 디지털화, 영상의 기하학적 변환과 합성, 그리고 영상의 화질향상과 복원 등과 같은 기초적인 영상처리 알고리즘들을 강의하며 컴퓨터로 구현하는 기법 등도 함께 학습한다.
디지털영상처리II(Digital Image Processing II) 디지털 영상처리에 대한 기본개념을 바탕으로 영상의 변환과 압축, 그리고 영상의 분할과 영상정보의 해석 등에 필요한 영상처리 기법 등을 소개하며 영상인식과 같은 응용 기법 등도 함께 학습한다.
선형대수(Linear Algebra) 행렬과 벡터의 연산과 같은 선형대수의 기본 이론 및 개념을 이해하고 학습한다. 또한 향후 학습한 내용을 바탕으로 응용분야인 컴퓨터 그래픽스, 영상처리 등의 영역에서 적용되는 방안에 대하여 살펴본다.
음향처리(Audio Signal Processing) 음향학의 기본지식과 음향 수집, 편집, 레코딩, 전기음향, 공간음향, 그리고 효과적인 음향 재생 기법 등을 학습하고 나아가 입체 음향을 직접 구현해본다.
인공지능(Artificial Intelligence) 지능 시스템에 대한 간단한 소개를 하며, 퍼지 논리의 기본과 신경회로망의 기본 원리 및 학습 구조 등을 다룬다. 간단한 지능 제어 시스템들의 예제들이 제시된다.
정보보안(Information Security) 정보보안 과목은 정보의 수집, 가공, 저장, 검색, 송신, 수신 도중에 발생하는 정보의 훼손, 변조, 유출을 방지하기 위한 기술에 대하여 학습한다. 정보 보안의 주요 목표인 기밀성, 무결성, 가용성에 대하여 이해하고 효율적인 정보보안 기법에 대하여 이해한다.
컴퓨터구조(Computer Architecture) 1. 마이크로프로세서의 기본구조 및 동작 원리 이해 2. 마이크로프로세서의 외부장치간의 인터페이스 이해 3. ALU 설계 기술 배양
확률과통계(Probability & Statistics) 이 세상에는 우연에 지배되어 결과를 예측할 수 없는 경우가 많이 존재한다. 그러나 우리 주변의 많은 부분, 예를 들면, 시청률 조사, 일기예보, 선거, 복권, 경마 등을 확률과 통계에 관련시키면 미래를 예측할 수 있다. 이를 위해 확률에 대한 기본적인 이론과, 랜덤 변수들의 분포, 조건부 확률, 확률의 독립성을 살펴보고, 나아가 응용소프트웨어 관점에서 다수의 수치적 통계 방법과 통계적 알고리즘을 다룬다.
임베디드시스템(Embedded System) 자동차, PDA, 가전제품 등의 실시간 내장형 시스템(Real-time Embedded System)을 위한 임베디드 시스템에 대한 이해와 개발 능력을 배양하기 위한 교과내용으로서 Embedded Java, Embedded Visual Basic 등에 대한 소개와 객체 지향 모델링 도구인 UML 등을 이용한 임베디드 시스템 개발방법론에 대하여 다룬다.
웹프로그래밍I( Web Programming I) 기초프로그래밍과목으로 HTML과 CSS를 사용하여 홈페이지 제작하는 방법에 대하여 설명한다. 이 과정에서는 효과적인 웹 페이지의 설계와 HTTP를 포함하여 기본적인 웹 이론에 대하여 다룬다.
웹프로그래밍II( Web Programming II) 기초프로그래밍과목으로 HTML, 동적 HTML과 XML 등의 인터넷/웹 마크업 언어와 JavaScript, VBScript 등의 스크립트언어를 기반으로 프로그래밍의 기반에 대하여 설명한다. 이 과정에서는 웹 페이지들과 웹 기반의 응용에서 영상과 음성의 결과물을 산출하는 프로그램을 이용하여 프로그래밍의 개념에 대하여 충분히 다루며, 효과적인 웹 페이지의 설계와 클라이언트측 기본적인 웹이론에 대하여 다룬다.
컴퓨터그래픽스I(Computer GraphicsI) 본 과정에서는 컴퓨터그래픽스의 기본 원리를 학습하며, 곡선과 같은 2차원 물체들에 대한 다양한 모델링 기법을 학습한다. 이를 위하여 OpenGL 라이브러리를 다루어 2차원 게임을 제작해 본다.
컴퓨터그래픽스II(Computer GraphicsII) 본 과정에서는 3차원 컴퓨터그래픽스의 기본 과정인 모델링, 렌더링, 애니메이션에 대한 원리를 학습하며, 원리에 대한 이해도를 높이기 위하여 학생들 본인이 관심 있어 하는 주제를 정하여 3차원 게임을 제작해 본다.
컴퓨터알고리즘(Computer Algorithm) 이 과목의 목적은 알고리즘을 설계하고 분석하는 것으로 주제는 욕심장이 방법, 분할정복, 동적프로그래밍, 퇴각검색, 분기한정 등의 알고리즘적인 기법의 분석과, 몇몇 잘 알려진 알고리즘에 대하여 다룬다. 특히, 이러한 알고리즘의 정확성과 효율성에 대하여 교육한다.
자바프로그래밍(Java Programming) 이 과정은 자바언어를 이용한 객체지향 설계와 프로그램의 구현에 대하여 소개한다. 캡슐화, 상속 다형성 등의 객체지향 프로그래밍 개념이 소개된다. 추가적인 주제로 네트워킹, UML(Unified Modeling Language), 객체지향디자인패턴, RMI (Remote Method Invocation)와 J2EE(Java 2 Enterprise Edition)등을 포함할 수 있다.
HCI(Human–Computer Interaction) 컴퓨터 소프트웨어 시스템을 개발함에 있어서 사용자 인터페이스의 중요성을 학습하고, 상호작용 디자인의 방법론과 제반 기술을 연구한다.
멀티미디어통신(Multimedia Communication) 본 과목은 이동 네트워크, 멀티미디어 통신 네트워크 등 향상된 다양한 네트워크 응용 소개와 무선 네트워킹 기술, 서비스 품질 보장 방법 등 실제 인터넷에서 사용되는 네트워킹 기술을 강의한다. 학생은 C/C++ code를 이용하여 프로토콜 구현 기술을 공부하며 그 기술을 통해서 네트워크 응용을 개발할 수 있는 기법을 습득한다.
앱프로그래밍(App Programming) 스마트 모바일 플랫폼에서 응용 앱 개발 방법을 소개한다. 모바일 플랫폼을 위한 개발환경, 응용 프로그램 설계, 사용자 인터페이스, 응용 개발 콘셉 등을 다룬다.
캡스톤디자인I(Capstone DesignI) 캡스톤디자인I(Capstone Design I)은 학생의 창의력, 실무, 팀워크, 의사소통 등의 훈련을 통한 설계 및 구현 능력의 향상을 목표로 하며 캡스톤디자인II 교과목에서 최종 완성할 프로젝트를 설계하고 프로토타입을 구현한다. 설계 주제 선정 방식은 팀 회의를 통한 학생 자발적 선정, 기업체 제시에 따른 선정, 교수 지정에 따른 선정 등을 활용하도록 한다.
캡스톤디자인II(Capstone DesignII) 캡스톤디자인II(Capstone Design II) 교과목에서는 캡스톤디자인I에서 설계하고 구현한 프로토타입을 심화시켜, 기존 프로젝트를 최종 완성하고 결과물을 산출하도록 한다. 이 교과목은 반드시 캡스톤디자인I을 이수한 후에 이수할 수 있다. 이 교과목에서 산출된 결과물들은 가급적 외부 경연 대회에 제출하도록 하여 완성도를 객관적으로 평가 받을 수 있도록 한다.
고급웹프로그래밍(509017) Advanced Web Programming 고급 웹 프로그래밍 과목으로 고수준의 웹 프로그래밍 언어와 웹 프레임워크를 기반으로 고급 웹 서비스 이론 및 설계에 대하여 다룬다. 직접 웹 플랫폼을 구축하여 고급 웹 서비스의 흐름을 파악한다.
비주얼프로그래밍I(Visual Programming I) C# 의 메소드, 클래스, 인터페이스, 델리게이트 등을 학습하여 C# 프로그래밍과 WinForm 기반 윈도우 프로그래밍을 개발 능력을 습득하게 한다.
비주얼프로그래밍II(Visual Programming II) MFC를 사용하여 윈도우 프로그램의 구조, MFC 사용 방법, 메시지 처리 방법 등과 같은 윈도우 응용프로그램 개발 능력과 개념을 습득하게 한다.
창업과취업(산학연계학)(Entrepreneurship and Employment) 학생들의 창업과 취업을 독려하기 위하여 전공 분야의 산업 발전 경향 소개, 기업 활동 탐색, 전문가 초청 특강, 기업체 방문, 현장 실습 등을 목표로 한다. 학생들이 희망하고 선호하는 창업과 취업 기회를 충분히 제공하기 위하여 다양한 프로그램을 활용하여 기업체와 학교가 동반 성장할 수 있도록 한다.
비전프로그래밍(Vision Programming) MFC와 OpenCV 를 이용하여 얼굴, 눈과 같은 물체 검출을 위한 컴퓨터비젼 윈도우 프로그램을 구성하는 방법을 학습한다. 웹 카메라로 영상을 획득하는 방법, MFC를 이용하여 GUI를 구성하는 방법들을 학습한다.
컴퓨터융합응용(Computer Convergence Application) 미래의 컴퓨터 기술은 단순 컴퓨팅(Computing)기술에서 벗어나 다른 분야와 융합되어 새로운 컴퓨터 기술로 빠르게 바뀌어 가고 있다.본 과목에서는 컴퓨터 기술이 다양한 분야(문화기술 CT, 생명공학 BT, 기계/나노기술 NT 등)와 융합되는 과정을 살펴보고, 그 과정에 필요한기술과 아이디어를 구현해 봄으로써 컴퓨터의 발전 방향과 융합 지식을 함양한다.