전공 교과목
컴퓨터공학과 전공교과목 이수체계도는 교과목 이수체계도 페이지에서 확인하실 수 있습니다.
학수번호 | 과목명 | 시간/학점 | 상세내용 |
CE1001 | C 프로그래밍Basic C Programming | 실습 3시간 3학점 | 프로그래밍 작성 경험이 없는 수강생들을 대상으로 진행하며 내용으로는 프로그래밍의 기본 개념, C 언어의 문법, 변수와 상수, 프로그래밍의 기본 구성요소인 순차, 조건문, 반복문 , 배열 및 함수 등이 있다. 기본적인 개념에 대한 설명과 관련된 다양한 예제를 통해 이해를 증진하고 응용 및 심화 문제를 통해 C 언어를 활용한 문제 해결 능력을 배양하도록 한다. |
CE1144 | C 프로그래밍활용Advanced C Programming | 실습 3시간 3학점 | C언어는 현재도 여러 공학 전반의 실무 현장에서 가장 많이 사용되는 언어중의 하나이다. C언어는 간결하며 효율적이며 저수준의 하드웨어 제어도 가능한 강력한 언어이다. 본 강의는 C 프로그래밍의 연속 강의로 이전 학기에 학습한 C 프로그래밍의 기초를 확장해 고급 C 프로그램에 대해 학습한다. 학습 내용으로는 포인터, 문자열 처리 방법, 구조체, 파일 입출력과 등이 있으며 다양한 예제를 통해 개념과 활용법을 학습한다. 이를 통해 문제해결 능력을 배양하고 효율적인 프로그래밍을 하는 것을 습득한다. |
CE1123 | 확률 및 통계Probability and Statistics | 실습 3시간 3학점 | 오늘날 확률 및 기초통계이론은 다양한 학문분야에서 이용되고 있을 뿐만 아니라 실생활에서도 그 응용범위가 넓다. 본 강좌는 기술통계학에서는 기술통계의 종류와 확률 및 확률분포, 표본분포의 개념을 학습하고, 추론통계학에서는 통계적 추정과 가설검정에 대해 학습한다. 통계학에 대한 전반적인 내용을 살펴보고 또한 Excel을 활용하여 여러 자료들을 이용한 적용사례 등을 실습을 통해 습득한다. 또한 회귀분석, 교차분석, 상관분석등 주어진 문제에 대한 통계적 기법으로 접근하는 방법을 살펴보아, 다양한 통계적 문제를 해결하는 능력을 배양토록 한다. |
CE1094 | SoC설계System on Chip Design | 실습 3시간 3학점 | 컴퓨터 응용 제품의 고기능/고집적/초경량화에 따라 CPU와 제어기와 RAM/ROM 등 각종 기능 블록을 하나의 칩 안에 집적하는 SoC가 새로운 기술로 부상하고 있다. 본 교과에서는 이러한 기술 조류를 반영하여 프로세서와 제어장치 및 프로그래머블 논리회로가 하나의 칩에 내장된 SoC 컴퓨터시스템을 개발한다. Xilinx사의Spartan3EFPGA를이용하여32bitMicroblaze프로세서와기타제어장치를IP기반으로탑재된 시스템을 개발한다. 이를 기반으로 스위치 입력, LED 출력 동작에 관련된 GPIO, 7 Segment 제어기, LCD 문자 출력, RS-232 직렬통신, 인터럽트 및 레지스터 레벨의 low-level 함수를 모두 한 칩 안에 구현하는 SoC를 설계 과정을 익힌다. |
CE1127 | 컴퓨터비젼Computer Vision | 실습 3시간 3학점 | 컴퓨터 비젼은 영상정보를 이해하고 분석하는데 초점을 맞춘 영상처리의 한 기술이다. 본 과정에서는 최근 들어 그 실용성이 더욱 더 부각되고 있는 OpenCV를 기반으로 컴퓨터 비젼의 주요 알고리즘과 실용 영상처리 프로그래밍 기술을 확보하는 것을 목표로 학습한다. 본 과정을 통해 영상 파일 및 USB 카메라로 입력한 정지 영상 및 동영상의 읽기/쓰기/출력 등의 기초적인 내용과 마우스 이벤트 등을 비롯한 콜백 함수들, 그리기/글씨 쓰기 등의 프로그래밍 기술을 이용하여 실용 프로그램을 설계한다. 알고리즘으로는 모폴러지 연산, 에지처리, 스무싱, 허프 변환, 히스토그램/패턴 매칭, 칼라좌표 변환, 궤적 검출 및 형상 매칭 기법 등을 OpenCV 함수 기반으로 학습한다. 최종적으로는 역전파 알고리즘 기반의 인공 신경망을 동작 원리를 익히고 이를 기반으로 카메라로 입력된 문자를 인식하는 프로젝트를 수행한다. |
CE1113 | 컴퓨터입출력시스템Computer Input/Output System | 강의 2 및 실습 1시간 3학점 | PC 및 임베디드프로세서의 사례를 통해 컴퓨터시스템의 설계기법을 배운다. 컴퓨터시스템의 구성은크게보아 CPU,메모리,I/O장치로 구분할 수 있는데 본교과에서는 다음과 같은 주제들의 학습을 통해 컴퓨터시스템의 설계기법을 배운다. ① 메모리를 어떻게 CPU에 붙일것인가?→메모리인터페이스기법, ②I/O장치란무엇이고어떻게구현되는가?그실현사례는어떤것인가?→디지털데이터입출력장치, ③단순한디지털I/O장치로구현한IEEE1284병렬인터페이스의동작원리를익힌다.→IEEE1284병렬인터페이스, ④LCD제어기의학습을통해병렬인터페이싱기법을이용한LCD문자출력인터페이스를설계한다.→LCD인터페이스기법, ⑤DTE와DCE의직렬통신기법→RS-232인터페이싱, ⑥소자와소자간의직렬통신기법→I2C인터페이싱, ⑦임베디드프로세서에서의메모리,I/O장치,RS-232직렬통신및I2C장치의구현사례분석→임베디드시스템에의응용사례분석. |
CE1127 | 디지털영상처리Digital Image Processing | 실습 3시간 3학점 | 디지털 영상처리는 디지털 영상 정보를 컴퓨터를 이용하여 화질을 개선하거나, 가공/변환하여 다른 정보 형태로 만들어 내는 기술이다. 본 과정에서는 TV,스마트폰 카메라와 같은 민수용 제품부터 CCTV, DVR 등과 같은 산업제품에 이르기까지 다양한 분야에서 널리 쓰이는 실용성이 높은 대표적 영상처리 알고리즘을 이론과 사례를 중심으로 학습한다. 시뮬레이션의 편이성을 높이기 Matlab 예제 프로그램을 기반으로 학습한다. 본 교과에서 다루는 영상처리 알고리즘은 다음과 같다; ①화질 개선(히스토그램 처리, 명암/대비 조절, 잡음제거, blurring/sharpening, 확대/축소), ②칼라이론 및 색상 좌표변환, ③half toning, ④segmentation(edge, 이진화, 마스크 동작, LOG 필터), ⑤영상 변환/압축(FFT, DCT, Huffman, JPEG), ⑥패턴매칭, ⑦image pyramid, ⑧wavelets, ⑨image watermarking |
CE1102 | C++프로그래밍C++ Programming | 실습 3시간 3학점 | C++ 언어는 기존의 C 언어가 가지고 있던 장점과 객체지향 언어(Object-oriented Language)의 특징인 문제의 표현 및 설계 능력, 재사용성이 첨가된 언어이다. C++ 언어에서 배울 주요 내용으로는 실세계의 문제를 객체(Object)로 모델링하여 나타내고 객체를 표현하는데 필요한 자료구조와 그에 대한 연산을 모아 클래스(Class)로 나타냄으로써 제공되는 자료 추상화(Data Abstraction)와 정보은닉(Information Hiding)을 공부한다. 또한, 유도 클래스(Derived Class)를 통해 한 클래스가 가지고 있는 자료구조와 연산 등의 속성을 다른 클래스에 전달하는 상속성(Inheritance)을 공부하며 자료형만 다르고 연산은 같은 프로그램을 중복해서 작성하는 노력을 경감시키고자 클래스의 매개변수화된 형태를 제공하는 다형성(Polymorphism)의 특징 등에 대해 학습하여 객체지향 프로그래밍 개념을 확립한다. |
CE1053 | 컴퓨터그래픽스Computer Graphics | 실습 3시간 3학점 | 컴퓨터 그래픽스라고 하면 컴퓨터로 만든 영상이나 이미지로 생각하는 것이 일반적인데, 프로그래밍에서의 컴퓨터 그래픽스는 컴퓨터 그래픽 이론과 프로그래밍을 이용하여 어떻게 그래픽을 표현하는가에 대한 수식과 알고리즘에 중점을 두고 있다. 본 강좌는 컴퓨터 그래픽스의 기초 개념(2D 및 3D 기하변환, 래스터변환, 조명, 은면제거, 텍스처 매핑 등) 및 알고리즘을 이해하고 이를 바탕으로 실습을 병행한다. |
CE1047 | 비주얼 객체지향 프로그래밍Visual Object-oriented Programming | 실습 3시간 3학점 | 윈도우 환경하에서 가장 널리 사용되고 있는 Visual C++의 MFC(Microsoft Foundation Class)를 이용한 Windows 응용프로그래밍 방법을 단계별로 학습한다. 이 과정으로 객체지향언어인 C++언어를 활용한 윈도우즈 프로그래밍의 개념을 익힌다. 주요 내용으로는 MFC 프로그래밍 모델과 응용 프레임워크(Application Framework)에 대한 전반적인 이해를 위하여 MFC 프로그램을 작성해 본다. 그리고 사용자 입력 처리와 화면 출력에 대한 전반적인 내용, 다이얼로그 및 각종 컨트롤의 사용법에 관하여 공부한다. 그외에 MFC의 파일 입출력과 보다 안정적이고 신뢰성 있는 프로그램을 만들기 위해 필요한 디버깅과 예외처리 방법을 공부한다. 또한 이제까지 학습한 내용을 종합하여 실제로 비주얼 프로그래밍 응용을 제작해 본다. |
CE1088 | 공학수학Engineering Mathematics | 강의 3시간 3학점 | 대학수학에서 학습한 미분, 적분을 기본지식으로 하여 여러 분야에서 가장 많이 응용되는 미분방정식을 학습한다. 공학수학에 대한 이론을 전반적으로 소개하고 미분방정식 해법을 응용하며 전공에 필요한 공학적 계산능력을 함양함을 목표로 한다. |
CE1139 | 이산수학Discrete Mathematics | 강의 3시간 3학점 | 컴퓨터공학 및 공학 분야에서 많이 사용되는 수학적 개념과 응용에 대해 다룬다. 세상에 존재하는 여러 객체들과 그들 간의 관계에 대한 모델링을 통해서 수학이 실세계의 문제를 해결하는데 사용되는 체계를 익히도록 한다. 다루는 내용은 집합, 관계, 함수, 진법, 소수, 수열, 순열과 조합, 행렬, 급수, 기초 통계, 컴퓨터에서의 자료의 표현, 난수, 오류 검출과 정정, 부울 대수, 배열, 재귀 호출, 정렬 및 탐색 등이 된다. |
CE1119 | 암호론Cryptography | 강의 3시간 3학점 | 컴퓨터와 통신의 결합으로 이루어진 다양한 서비스들이 보다 안전하게 진행되기 위해서는 정보보호 방법이 필수적으로 요구된다. 이 강좌에서는 기밀성, 무결성, 인증, 디지털 서명, 부인 봉쇄 등의 목적을 위한 정보보안의 기초이론과 그의 적용(암호화, 인증, 서명 등의 방법론)을 위한 암호분야의 지식을 함양한다. |
CE1008 | 자료구조Data Structures | 강의 3시간 3학점 | 대용량의 자료를 효과적으로 구축하고 이를 효율적으로 운영, 관리할 수 있는 제반 기법들을 학습한다. 이러한 기법들의 동작원리 및 장, 단점을 정확히 이해함으로써 다양한 정보처리 요구에 적절하게 부응할 수 있는 기술적 수단을 정확하게 선택할 수 있는 능력을 함양하고 효율적인 알고리즘을 고안할 수 있는 기술적 능력을 배양한다. 이를 위하여 기본적으로 객체지향적 방법론과 추상자료형 개념을 재 고찰하고 포인터, 배열 및 구조체의 역할을 구체적으로 학습한다. 리스트, 스택 및 큐와 같은 기초적인 자료구조 형태를 이해하고 이를 객체지향적으로 구현하는 방법을 익힌다. 더불어, 효율적인 문제해결 방법으로서의 알고리즘의 효율성을 분석하는 방법을 배우며 정렬과 탐색 알고리즘과 트리 알고리즘을 학습한다. 또한, 해시나 균형탐색트리와 같은 심화된 탐색방법들을 배우며 앞에서 학습한 내용을 기반으로 다양한 종류의 알고리즘들을 소개한다. 공학은 주어진 도구들을 조합하여 효율적인 문제해결 방안을 도출하는 과정을 다루는 학문이다. 공학적 문제해결의 관건은 문제 특성에 맞게 해결 도구들에 대한 적절한 조합을 선택하는 것이다. 본 교과목은 각 도구들의 구현 방식을 익히고 이들이 가지고 있는 장단점을 소개하여 문제해결을 위한 선택 및 조합 능력을 배양하는 것을 목표로 한다. |
CE1110 | 알고리즘Algorithm | 강의 3시간 3학점 | 상이한 자료객체에서 수행될 수 있는 기존의 여러 가지 연산 방법들을 소개하고 문제에 대한 여러 형태의 해결 방법들을 비교, 분석, 평가할 수 있는 능력을 습득토록 하며, 보다 효율적인 프로그램을 개발할 수 있도록 최적화된 해결 능력 배양한다. 이를 위하여 알고리즘 분석방법, 복잡도 분석, 그리고 자료의 저장과 검색을 위한 정렬 및 선택 등 기초이론을 익히고 이를 기반으로 다양한 종류의 트리들과 해시테이블 및 집합들에 대한 처리방법을 학습한다. 또한, 흥미로운 주제로 프로그래밍적 사고력을 훈련할 수 있는 동적프로그래밍 방법과 그래프 알고리즘, 문자열 매칭 및 문제의 해를 찾는 풀이과정을 상태공간 트리 탐색으로 파악하는 방법 등을 학습한다. 본 교과목은 자료를 처리하거나 문제를 해결하여야 하는 모든 컴퓨팅환경에 대하여 최적화 혹은 효율적인 문제해결 사고력과 프로그래밍 능력을 배양하는 것을 목표로 한다. |
CE1022 | 데이터베이스시스템Database System | 강의 3시간 3학점 | 오늘날 데이터베이스시스템은 크고 작은 모든 형태의 컴퓨팅시스템들의 필수요소로 확대, 발전하였다. 본 교과목에서는 데이터베이스 시스템의 정의, 구성요소들에 대한 개념을 확립하고 개체관계 모델링의 기초를 학습한다. 이를 위하여 데이터베이스 시스템에서의 키 개념과 여러 가지 제한조건들을 소개하고 효과적인 데이터베이스 구축방법론으로서의 정규화와 역정규화 그리고 거래 수행형태에 대한 분석방법 등을 학습한다. 이러한 기본개념 위에서 데이터베이스 접근언어인 SQL 최신판을 통한 실질적인 데이터베이스 접근방법을 배운다. 이와 더불어 데이터베이스 관리시스템에서 제공하는 질의처리, 거래관리, 동시성제어, 회복관리 등 주요 기능들과 분산데이터베이스 시스템들을 소개하며 데이터웨어하우징, 데이터마이닝, OLAP 등 데이터베이스의 다양한 진보적 응용 예들을 학습한다. |
CE1118 | 데이터베이스관리Database Administration | 강의 1 및 실습 2시간 3학점 | 상용 데이터베이스 관리시스템으로 Oracle 혹은 MS SQL Server를 선정하여 데이터베이스 관리자(DBA)로서 갖추어야 할 역량을 배양한다. 이를 위하여 DBA 역할을 이해하고 데이터베이스 관리시스템 설치환경 및 SQL 문법을 학습한다. 이와 더불어, 데이터베이스관리시스템의 각종 프로세스와 이들의 구동방법, 메모리 및 파일관리, 데이터베이스 생성, 관리 및 세그먼트, 사용자 및 보안관리, 백업, 복구 및 튜닝기법 등 데이터베이스 시스템을 관리하는데 필요한 다양한 요소기술들에 대하여 체계적이고 구체적인 내용을 학습한다. 오늘날 모든 종류의 컴퓨팅환경에서는 크고 작은 데이터베이스관리시스템이 장착된다. 본 교과목은 데이터베이스를 접근하여 사용하는 것과 더불어 실제적으로 이들 데이터베이스관리시스템을 운영, 관리 및 통제하는 능력을 함양하는 것을 목표로 한다. |
CE1125 | 정보시스템보안Information System Security | 강의 3시간 3학점 | 해킹과 그에 대한 대응방안에 대한 기본개념 및 기반 기술에 대한 지식을 습득하고 다양한 공격과 이에 대한 대응에 대한 사례 분석을 통하여 해킹과 정보 보안 분야의 전반적인 이해와 기반 이론의 중요성, 실질적 대응 능력의 배양을 목표로 한다. 침입 대응 기술을 위하여 실제 인터넷 해킹 사례를 분석하고, 해킹이 발생하는 원인을 인지하고, 그에 따른 대응 기술이 어떠한 것이 있는지 실제 사례를 중심으로 학습한다. 또한, 개인 PC 보안, 네트워크 관리자 보안, 서버 관리자 보안 등의 개인 역할에 따른 정보보호 방법을 기반 이론을 바탕으로 사례 중심으로 알아본다. 다양한 암호방식들을 소개하고 이들의 특징과 최근 표준 동향들을 살펴본다. 이와 더불어, 다양한 접근제어 모델들을 소개하며 이러한 모델들의 적용방법들을 학습한다. 또한, 개인정보보호에 관한 사회적 인식과 제도적 장치들을 이해하고 이를 기술적으로 수용하기 위한 다양한 방법론들을 학습한다. |
CE1132 | 정보시스템설계및구축Design and Development of Information Systems | 강의 1 및 실습 2시간 3학점 | 정보시스템을 구축하기 위하여 업무분석 및 요구사항 분석 후 데이터 자원들을 도출하고 개체/관계 모델링을 통하여 도출된 데이터 자원들간 관계를 파악하는 방법을 학습한다. 이러한 과정에서 등장하는 다양한 상황들에 대하여 효과적인 해결방안들을 사례를 중심으로 제시한다. 이러한 기본적인 이론들과 사례들을 익힌 후 학습자는 특정 응용 예를 선정하여 상용 데이터모델링 도구를 이용하여 실제 데이터모델링을 수행하고 그 결과를 교수와 학습자가 함께 검토, 수정, 보완하는 경험을 가지도록 한다. 완성된 데이터모델링 결과를 실제적인 데이터베이스로 전환하는 다양한 방안들을 소개하고 전환 후 데이터베이스를 구축하는 방법과 이를 효율적으로 운영, 관리 할 수 있는 방법들을 제시한다. |
CE1063 | 컴퓨터구조Computer Architecture | 강의 3시간 3학점 | 디지털 논리회로를 바탕으로 컴퓨터의 구성요소인 CPU(중앙연산처리장치), 입출력 인터페이스, 메모리 시스템을 강의한다. CPU에서는 컴퓨터 명령어의 종류와 형식 등을 다루어 어셈블리 언어 및 시스템 설계언어를 이해하는데 바탕이 되도록 하며 입출력 인터페이스에서는 컴퓨터를 응용한 시스템 설계에 뒷받침이 되는 내용을 다룬다. 메모리 시스템에서는 캐쉬 메모리 및 가상주소 메모리를 다루어 컴퓨터 운영체제 등을 이해하는데 도움이 되도록 한다. |
CE1064 | 임베디드프로세서Embedded Processors | 강의 3시간 3학점 | 컴퓨터구조 과목을 바탕으로 컴퓨터 및 컴퓨터 응용 시스템을 구성하는 핵심요소인 마이크로프로세서를 중심으로 마이크로프로세서의 구조 및 프로그램 명령어 및 주변장치와의 인터페이스 등을 강의한다. 다양한 형태의 마이크로프로세서의 동작원리 및 명령어 등을 다루고 이를 이용한 프로세서 내장형 시스템의 개발에 관련한 활용 기술을 포함한다. |
CE1060 | 임베디드시스템Embedded System | 실습 3시간 3학점 | 본 과목은 최근 산업/민수/통신/가전/멀티미디어 시스템에서 부상하고 있는 임베디드 프로세서(embedded processor)에 기반하고 있는 시스템 설계에 관련된 주제를 다룬다. 임베디드 프로세서는 자체에 DMA/인터럽트 제어기와 통신 장치, 프로그램 가능한 메모리 제어기, RTC, 타이머 및 주변 제어 장치를 내장하여 소형 컴퓨터 시스템의 설계에 적합한 프로세서이다. 본 과목에서는 이와 같은 제어 장치와 함께 BIOS, 디바이스 드라이버와 같은 훰웨어(firmware) 프로그래밍, 실시간 OS와 시스템 함수 설계와 같은 주제에 대하여 학습한다. |
CE1124 | 하드웨어기술언어Hardware Description Language | 실습 3시간 3학점 | 디지털회로의 설계를 위한 하드웨어언어의 사용법과 프로그램방법을 강의하고 디지털논리회로를 하드웨어언어로 기술한 후 시뮬레이션을 수행함으로써 컴퓨터를 구성하는 기본회로의 구조와 동작원리를 이해하도록 한다. 하드웨어기술언어는 논리회로단계 뿐만 아니라 컴퓨터시스템의 알고리즘, 기능단계의 기술도 가능하여 시스템의 설계와 기능검증을 수행하는데 유용하다. |
CE1140 | Java 프로그래밍Java Programming | 실습 3시간 3학점 | 본강좌는자바언어를통하여프로그래밍기법을학습하는강좌로서프로그래밍 언어론적인 관점에서 자바 언어를 학습하고 자바가 지원하는 객체지향의 기본 개념들을 공부한다. 자바 언어의 중요한 특징은 클래스(class), 상속성(Inheritance), 다형성(Polymorphism), 예외처리(Exception Handling), 스레드(Thread)와 그래픽 프로그래밍 등으로 요약될 수 있으며 각 개념들을 기반으로 실습을 통하여 재사용 가능하고 신뢰성 있는 자바 프로그램을 작성할 수 있도록 한다. |
CE1116 | 컴파일러 설계 및 구축Compiler Design and Construction | 강의 1 및 실습 2시간 3학점 | 프로그래밍 언어의 구성 근간이 되는 형식이론 즉, 문법이론(Grammar Theory)을 체계적으로 공부한 후에, 시스템 소프트웨어인 컴파일러의 어휘 분석기(Lexical Analyzer)와 구문분석기(Syntax Analyzer)를 구현하도록 한다. 또한, 목적기계에 독립적인 스택기반의 중간코드(Intermediate Code)를 공부한 후에 각 문장과 의미적으로 동등한 가상기계(Virtul Machine) 기반의 중간코드를 생성하는 코드 생성기(Code Generator)를 구현하여 실험적인 컴파일러를 구현할 수 있는 능력을 갖추도록 한다. 또한, 본 과목의 학습을 통해 스마트 플랫폼 응용기술, 로보틱스 응용기술, 스마트폰 콘텐츠 변환기술, 시스템 소프트웨어 기술 등 다양한 분야에 응용할 수 있는 기술을 습득하도록 한다. |
CE1048 | 시스템프로젝트System Project | 강의 3시간 3학점 | 급변하는 컴퓨터 기술 환경에 적응하기 위해서 산업체에서 실제 정보 시스템을 설계하고 구축하는 방법론을 학습한다. 학습할 정보 시스템의 주제는 산업체의 기술동향 및 내용을 분석하여 결정하고 정보 시스템의 제안서 작성부터 평가, 감리 등 기본적인 지식을 습득하여 산업체의 실무에 적응할 수 있는 능력을 배양하고 시스템 구성능력 및 사고력 증진을 통해 컴퓨터 업계의 기술변화에 적응할 수 있도록 한다. |
CE1044 | 컴퓨터공학세미나Seminar on Computer Engneering | 강의 3시간 3학점 | 컴퓨터 공학 분야에서 취급되어야 할 과목 중에서 새로운 기술 및 첨단 IT 융합 분야 등의 주제를 선정하여 세미나 위주로 강의를 진행하여 산업체의 실무에 적응할 수 있는 능력을 배양하고 시스템 구성능력 및 사고력 증진을 통해 컴퓨터 업계의 기술변화에 적응할 수 있도록 한다. |
CE1069 | 운영체제Operation System | 강의 2 및 실습 1시간 3학점 | 컴퓨터 시스템 소프트웨어의 핵심이라고 할수 있는 운영체제의 구조, 방식, 체계와 기능에 대해 공부한다. 특히 컴퓨터의 주요 자원이 되는 프로세스 및 CPU 관리 기능, 메모리 관리 기능 ,주변장치 관리 기능 및 커널 동작방법 등을 학습하고 일부기능은 리눅스 환경에서 프로그래밍을 통해 구현해본다. |
CE1034 | 멀티미디어시스템Multimedia System | 강의 2 및 실습 1시간 3학점 | 인터넷과 멀티미디어로 대표되는 오늘날의 IT 기술 중에서 멀티미디어의 주요 매체가 되는 그래픽, 오디오, 비디오 각 매체별 특성과 함께 각 미디어별 처리방법 및 압축/복원방법을 학습한다. 아울러, 멀티미디어 데이터 처리를 위한 운영체제, 저장시스템, 파일시스템 등의 주요 이슈를 학습하고, 멀티미디어 저작도구를 사용하여 멀티미디어 타이틀 및 개인별 포트폴리오 제작해본다. |
CE1134 | 휴먼-컴퓨터 인터페이스Human Computer Interface | 강의 2 및 실습 1시간 3학점 | 사람들이 편리하고 즐겁게 사용할 수 있는 IT 제품 및 서비스를 개발하는 원리와 함께, 사람과 컴퓨터 시스템간에 주고받는 상호작용을 이해하고 구현하는 방법을 학습한다. 이를 위해, 컴퓨터시스템의 유용성, 사용성, 감성 등을 이론적/사례적으로 분석한다. 또한, 컴퓨터시스템과 상호작용 및 인터페이스를 설계하는 방법 및 스마트폰, 다양한 인터넷 사이트 등에서의 제품 디자인 방식을 예시하고 사례분석을 수행한다. |
CE1031 | 인터넷통신Internetworking with TCP/IP | 강의 2 및 실습 1시간 3학점 | 전 세계 모든 사람과 사물을 연결하는 글로벌 정보통신망으로 자리 잡은 인터넷은 월드와이드 웹의 등장과 함께, 동영상, 오디오, 그래픽, 애니메이션 등 멀티미디어정보기반의 유․무선 실시간 통신서비스를 제공할 수 있도록 다양한 통신기술들이 급속이 발전해나가고 있다. 이에 따라 본 교과목에서는 인터넷의 근간이 되는 TCP/IP 프로토콜을 중심으로 IP 주소체계, 어드레싱 및 라우팅 기술과 함께 다양한 응용계층 프로토콜들에 대한 개념 및 프로그래밍을 리눅스 OS 환경하에서 실습하여 통신 미들웨어 및 리눅스시스템 개발능력을 함양할 수 있도록 한다. |
CE1101 | 논리회로Logic Design | 강의 3시간 3학점 | 컴퓨터 하드웨어의 개념적 이해를 위하여 하드웨어의 기반이 되는 수의 진법 및 2진 연산, AND, OR, NOR, NAND 등 기본 논리회로 및 이들 논리회로의 응용, 간소화 등을 배운다. 또 기본적인 논리회로를 이용한 연산회로, 조합회로 및 순서회로 등의 구성 원리와 동작, 설계 방법을 배운다. |
CE1103 | 논리회로실험Logic Design Experiments | 실습 3시간 3학점 | 본 교과목은 디지털 논리 회로 설계에 대한 지식을 바탕으로 실제 디지털 회로 소자를 사용하여 회로를 구성하여 디지털 회로의 동작을 확인함으로써 이론적 원리를 확인하고 기본적인 디지털 회로의 설계 및 구현 능력을 배양한다. |
CE1105 | 회로망 및 시뮬레이션 기초Electric Circuit Basics | 강의 3 시간 3학점 | 본 교과목은 아날로그 회로의 동작 및 설계 원리의 이해를 위해 기본적인 회로 소자의 종류와 특성에 대해 다루고 이를 이용하여 기본적인 아날로그 회로인 저항 및 RLC 회로의 해석 및 설계 원리를 다룬다. 이와 더불어 회로를 설계하고 해석할 수 있는 시뮬레이션 도구를 통해 회로를 해석하는 방법에 대해 배우고 실습한다. |
CE1107 | 회로망 및 시뮬레이션 응용Electric Circuit Applications | 강의 3시간 3학점 | 본 교과목은 아날로그 회로의 동작 및 설계 원리의 이해를 위한 AC 회로해석의 원리를 주요 내용으로 하며 이를 위하여 기본 회로망 및 시뮬레이션 과목의 지식을 바탕으로 2차 RLC 회로, 정현파 신호 응답, AC 회로, 주파수 응답 해석 기법 및 필터 설계 등을 다루고 회로 설계 및 해석시 사용하는 시뮬레이션 S/W의 실습을 통해 기본적인 AC 회로를 구성하고 분석하는 능력을 배양한다. |
CE1114 | 컴퓨터제어Computer Control | 강의 2 및 실습 1시간 3학점 | 로봇을 원하는 목적대로 구동하기 위해 필요로 하는 기본적인 지식인 제어 이론에 관한 내용을 배운다. 본 과목에서는 시스템을 원하는 목적대로 제어할 수 있는 제어 시스템의 설계를 위하여 시스템의 수학적 표현 방법, 각종 제어기 설계 및 해석 기법, 디지털 제어 시스템의 구현 방법 등에 대해 배운다. 또한 컴퓨터를 이용한 제어기의 실험을 위하여 시뮬레이션 도구인 Matlab의 사용 방법을 등을 배우고 이를 이용하여 제어시스템을 설계하고 성능을 확인한다. |
CE1121 | 컴퓨터제어설계및실험Computed Control Design and Experiments | 실습 3시간 3학점 | 컴퓨터 제어 과목을 통해 학습한 제어기 설계 및 해석 이론을 설계 과제 및 실습을 통하여 배운다. 본 과목에서는 실제 제어시스템을 구성하여 이를 원하는 목적대로 제어할 수 있도록 시스템의 수학적 모델링, 각종 제어기 설계 및 해석, 디지털 제어 시스템의 구현 등을 통하여 설계하고 이를 H/W 및 S/W 통합개발환경인 LabView 시스템을 이용하여 실습함으로써 제어 시스템을 설계하고 제작 및 실험하는 학기과제를 수행한다. |
CE1090 | 마이크로로봇응용Applied Microrobot | 강의 1 및 실습 2시간 3학점 | 본 과목에서는 실제 복잡한 제어시스템의 구성과 동작 원리를 이해하고 구현하기 위한 능력을 배양하는 것을 목적으로 하여 마이크로 로봇 이동체를 직접 제작하고 구동하는 것을 실습한다. 이를 위하여 마이z크로 프로세서를 이용한 로봇 제어 시스템의 구성과 프로그래밍 개발 환경 구축, 로봇 이동체의 설계와 제작, 모터의 동작 원리와 제어 기법, 로봇 기구부의 해석과 제어기 설계, 주행 알고리즘 제작 및 구현, 설계와 해석 과정에서의 시뮬레이션 S/W Matlab의 활용 기술 등을 실습을 통해 익힌다. |
CE1153 | 지능시스템Intelligent system | 강의 2 및 실습 1시간 3학점 | 로봇에 지능을 부여하는 것은 로봇 공학 분야에서 끊임없이 요구되어 온 과제이며 이를 충족하기 위한 노력이 다양한 방법으로 진행되어 여러 가지 형태의 지능 알고리즘이 개발되었고 로봇을 비롯한 다양한 분야에서 지능 알고리즘을 응용한 시스템이 개발되고 있다. 본 과목에서는 인간의 지능을 모방하여 구현하는 방법들에 대해 공부하고 이의 응용을 실습한다. 전문가 시스템, 신경 회로망, 퍼지 이론, 유전 알고리즘 등을 중심으로 지능에 대한 전반적인 이론을 고찰하고 로봇, 제어 및 자동화 시스템, 영상처리 및 인식, 패턴인식, 정보검색 등의 응용 분야에서의 사례를 중심으로 실습 과제를 수행한다. |
CE1145 | 웹서버프로그래밍Web Server Programming | 실습 3시간 3학점 | Java의 서블릿(Servlet)이 발표된 후 많은 인터넷과 연관된 프로젝트가 서블릿 기술과 JSP를 이용하여 개발되고 있다. 본 강좌에서는 웹서버를 구축하기 위한 내용으로 구성되며 그 내용으로 서블릿과 JSP을 이용한 웹서버 구축에 대해 다룬다. 동적 웹서버의 기본 개념과 동작 원리에 대해 살펴보고, 현재 서블릿 엔진으로 가장 많이 사용되고 있는 Tomcat과 데이터베이스(DBMS)와의 연동 등에 대해서 실습을 통해 학습하여 웹 개발자로서 능력을 배양토록 한다. |
CE1129 | 스마트폰프로그래밍Smart-phone Programming | 실습 3시간 3학점 | 본 강좌는 Android나 iOS와 같은 스마트폰 및 스마트패드 운영 시스템에서 Java를 이용해 스마트폰 응용 프로그램(App)을 개발하는 강좌이다. 그 내용으로 액티비티와 리소스, 위젯과 레이아웃, 메뉴와 다이로그, 인텐트, 윈도우와 뷰, 애니메이션, 스레드, 그래픽 프로그래밍, 데이터관리와 DB, 멀티미디어 등이다. 각 구성요소들을 실습을 통해 학습하여 스마트폰 프로그램 개발자를 양성하는 것을 목표로 한다. |
CE1146 | 닷넷 프로그래밍.Net Programming | 실습 3시간 3학점 | 본 강좌는 기본적인 프로그래밍 언어를 습득한 수강생들을 대상으로 닷넷 프로그래밍의 기본 개념 및 특징과 C#을 이용한 실습을 통해 객체지향프로그래밍의 이해를 증진하는 것을 수업의 목표로 한다. 이를 달성하기 위해 기본적인 개념에 대해 살펴보고, 관련된 다양한 예제를 통해 닷넷 프로젝트 개발 능력을 배양한다. |
CE1151 | 게임 프로그래밍Game Programming | 실습 3시간 3학점 | 인터넷과 컴퓨터 그래픽스 기술이 발전함에따라 컴퓨터 게임은 더 이상 특정 계층의 오락물이 아니라 남녀노소가 즐겨하는 대중화된 문화로 자리잡게 되었다. 따라서 게임 산업은 이제 황금알을 낳는 거대한 시장을 형성함과 동시에 21세기 컨텐츠 분야에 선두자리를 매김할 정도로 관심이 크게 부각되고 있다. 이러한 흐름에 발맞춰 본 강좌에서는 게임 프로그래밍에 관하여 학습한다. 본 강의의 주요내용으로는 게임 제작의 기초원리와 이해를 다루면서 그래픽 엔진을 이용한 전반적인 개발 과정에 관하여 학습한다. |
CE1152 | 증강현실Augmented Reality | 실습 3시간 3학점 | 증강현실의 기법과 원리를 학습하고 언제 어디서나 원하는 정보를 쉽게 접근할 수 있는 모바일 디바이스(스마트폰, 패드 등)를 기반으로 내장 카메라로 보는 물체에 대한 가상의 정보를 실사에 자연스럽게 겹쳐진 영상으로 보여주는 모바일 증강현실(Mobile Augmented Reality) 응용을 제작해 봄으로써 증강현실 응용의 무한한 잠재성을 확인할 수 있도록 한다. |
CE1150 | 인증시스템Authentication System | 강의 3시간 3학점 | 다양한 암호화 기법, 전자키와 인증서, 암호화 프로토콜에 의한 서버정보보호, 부인방지, 전자결제 등 공개키 암호 알고리즘을 응용한 다양한 인증방법과 이를 이용한 인터넷상의 정보인증 등에 대하여 살펴보고 지식을 함양한다. |
CE1148 | 임베디드 운영체제Embedded Operating System | 강의 1 및 실습 2시간 3학점 | 임베디드시스템은 컴퓨터시스템과는 달리 소규모의 운영체제를 사용하여 실시간 프로세싱을 주 목적으로 한다. 임베디드 운영체제는 기본적으로 멀티태스킹을 위한 프로세서 스케쥴링 및 가상 메모리를 위한 메모리 관리를 주된 기능으로 하되 인터럽트, 시스템 에러등을 실시간 처리하기 위한 익셉션 처리도 중요한 기능이다. 특히, 임베디드 운영체제는 다양한 종류의 시스템에 적합하도록 모듈화된 커널과 주변의 하드웨어 장치를 위한 디바이스 드라이버 등을 포함한다. |
CE1999 | 졸업논문및시험Graduation Thesis and Examination | PASS or NON-PASS | 졸업을 위한 필수과목으로 4학년 마지막 학기에 신청하며 졸업작품으로 평가한다. 졸업작품으로 제출하기 위해서는 졸업 전전년도 2학기에 학과에 졸업작품계획서를 제출하여 이때부터 작품지도교수의 지도를 받아야 하며 졸업 전년도 가을에 시행하는 작품전시회에 작품을 발표해야 한다. 발표된 작품은 학과교수진으로 이루어진 심사위원의 평가를 통해 통과여부 및 학점이 부여된다. 세부적인 사항은 학과 작품전시회 시행세칙에 따른다. |
CE0043 | 컴퓨터공학실험 | 강의 3시간 3학점 | C 프로그래밍 기초 역량을 강화하는 것을 목표로 한다. 그룹별로 학습 조교가 배정되어 각 개인 및 그룹의 학습을 지도하고 목표 중심적인 과제 수행 능력을 함양한다. |
CE1160 | 아두이노프로그래밍 | 강의 3시간 3학점 | 아두이노는 사람과 실세계를 센서와 구동부를 통해 상호 인터랙션하는 피지컬컴퓨팅의 대표적인 공개 소스, 공개 구조 기반의 플랫폼이다. 본 수업에서는 아두이노를 사용하여 다양한 인터페이스 연습을 통해 컴퓨터 장치의 기본 요소와 그 동작을 이해하고 이를 활용하는 실용기술을 확보한다. |
CE1156 | 펌웨어분석설계 | 강의 3시간 3학점 | 본 교과는 펌웨어(firmware)의 분석 및 설계 과정에 관한 NCS 기반의 교육과정이다. 최신의 프로그래밍 개발 환경의 발전에 맞추어 C 기반의 개발환경에 더하여 오픈 소스 플랫폼인 Python 언어를 활용한다. |
CE1073 | Linux활용및실습 | 강의 3시간 3학점 | H/W 장치를 제어하는 시스템 함수를 개발하고 이를 활용하여 간단한 응용 프로그램을 만들어 응용하는 과정의 학습을 통해 펌웨어의 개발과정을 익히고 응용하는 능력을 배양한다. |
CE1159 | 빅데이터분산컴퓨팅 | 강의 3시간 3학점 | 빅데이터를 수집, 처리하는 시스템에 대한 전반적인 분야에 대해 학습한다. 이를 위해 Hadoop을 이용해 빅데이터를 수집하고 Spark 시스템 패러다임에서 빅데이터 처리를 위한 원리를 실습을 통해 학습하여 빅데이터 처리 과정의 이해를 목표로한다. |
CE1157 | 종합설계 | 1PASS or NON-PASS | 본 과정은 다양한 과목의 지식을 종합하고 이를 창의적으로 응용하여 자신의 S/W 혹은 H/W 작품 제작을 통해 현장업무에 적응할 수 있는 실무 능력을 향상시키는 것을 목표로 한다. 발표, 토론, 지도, 공동 작업, 견학, 실습 등의 다양한 수업기법이 활용되며 4학년 학생을 대상으로 진행된다. 본 교과는 4학년 1학기에 운영되며 2학기에는 종합설계2가 이어진다. 학점이 부여되지 않고 통과여부(Pass/Non-Pass)만 결정된다. |
CE1158 | 종합설계 | 2PASS or NON-PASS | 본 과정은 그동안 배운 이론 및 실무교과목을 바탕으로 발표, 토론, 공동 작업 등의 다양한 수업기법이 활용하여 작품의 기획, 설계, 제작, 테스트, 보고서 작성 등의 전 과정을 경험토록 하여 산업 현장의 수요에 적합한 창의적 설계 기술 능력을 함양하는 것을 목표로 하는 종합설계 교육과정이다. 본 과정은 졸업 예정 학기 학생들을 대상으로 한다. 학점이 부여되지 않고 통과여부(Pass/Non-Pass)만 결정된다. |
CE1055 | 컴퓨터그래픽스 응용 | 강의 3시간 3학점 | 컴퓨터 그래픽스라고 하면 컴퓨터로 만든 영상이나 이미지로 생각하는 것이 일반적인데, 프로그래밍에서의 컴퓨터 그래픽스는 컴퓨터 그래픽 이론과 프로그래밍을 이용하여 어떻게 그래픽을 표현하는가에 대한 수식과 알고리즘에 중점을 두고 있다. 본 강좌는 실시간 3D 그래픽스 API인 OpenGL을 이용하여 다양한 플랫폼에서 컴퓨터그래픽스 응용을 직접 제작해 봄으로써 그래픽스의 개념을 확장하고 실전 기술을 습득한다. |
CE1164 | 파이썬프로그래밍 | 강의 3시간 3학점 | 본 교과목에서는 파이썬(Python)을 이용한 기초 프로그래밍 기법을 학습하고 간단한 알고리즘을 구현하고 데이터분석을 할 수 있는 능력을 키우도록 한다. 본 교육의 목적은 컴퓨터 프로그래밍에 대해 막연한 두려움을 가지고 있는 학생들에 대해 컴퓨터 프로그래밍의 재미에 대해 알게 하고 혼자서 프로그래밍을 공부할 수 있는 능력을 배양한다. |
CE1161 | 컴퓨터네트워크 | 강의 3시간 3학점 | 기본적인 컴퓨터 네트워크 내부 동작 원리와 사용되는 다양한 프로토콜들을 소개한다. OSI의 7계층에 해당되는 물리(physical), 데이터링크(data link), 네트워크 계층(network) 트랜스포트(transport), 세션(session), 프리젠테이션(presentation), 응용(application) 계층을 공부하고 각각의 계층에서 사용하는 표준 인터넷 프로토콜을 이해한다. |
CE1162 | 네트워크보안 | 강의 3시간 3학점 | 네트워크 보안의 기본 개념과 관련공격 및 방어 등 보안 네트워크 이론, 응용 및 정책에 대해 학습한다. 네트워크상의 가능한 공격을 살펴보고, 방지 또는 검출할 수 있는 보안 기술 (침입탐지 시스템, 침입방지시스템, 방화벽 등)과 정보보안을 위한 관리 및 통제 등에 대해서도 살펴본다. |
CE1163 | 분산시스템 | 강의 3시간 3학점 | 분산처리를 위한 개념 및 구조를 익히고, 분산 시스템을 구현하기 위한 네트워크 기술, 미들 웨어 기술, 분산 서비스 기술 (예: 분산 파일 서비스, Grid, Cloud 등), 분산 운영체제 및 하드웨어의 특성 등을 공부함으로써 분산 시스템 및 응용 소프트웨어를 개발할 수 있는 능력을 배양한다. |
신규 | 인공지능 | 강의 및 실습 3시간 3학점 | 본 과목은 인간의 지능으로 할 수 있는 사고, 학습, 추론 및 의사결정 등을 컴퓨터가 하는데 필요한 신경망이론, 지식 표현 및 추론 엔진, 기계학습, 딥러닝 들에 관한 주요 알고리즘을 학습한다. 또한 이를 파이썬 및 관련 툴 등을 사용하여 자연어처리, 영상 인식, 게임, 전문가시스템 등 응용 프로그램을 실제 구현해 봄으로써 문제해결, 자기계발 및 실무 역량 강화에 도움이 될 수 있도록 한다. |
신규 | 머신러닝 | 강의 3시간 3학점 | 본 과목은 머신러닝을 위한 기초적인 이론, 알고리즘, 구현방법, 그리고 응용에 관하여 다룬다. 주요내용은 선형 모델, 트리, 신경망, 앙상블, 사례들에 대한 회귀와 분류를 위한 지도 학습, 생성 및 분류 확률 모델, 베이지언 학습, 밀도 평가 와 클러스터링, 베이지언네트워크, 타임 연속모델, 차원 감소 등 다양한 실세계 응용을 반영하는 프로그래밍 프로젝트들로 구성한다. |