fnctId=pdfView,fnctNo=192
본 자료는 PDF파일로 제공되며, 따라서 Acrobat Reader 프로그램이 컴퓨터에 설치되어 있어야 파일을 열어보실 수 있습니다.
Acrobat Reader 프로그램이 설치되어 있지 않으면 설치파일을 다운받아 설치하신 후 파일을 열어보시기 바랍니다.
전공 교육과정 교과목 해설
- 이산수학 컴퓨터 관련 과목을 이수하기 전에 필요한 지식인 이산 개념에 기초를 둔 학문으로 수학적 논리, 집합과 함수, 행렬, 관계, 트리, 그래프, 부울대수, 조합, 알고리즘, 형식언어, 오토마타 등을 다룬다.
- C언어프로그래밍 기초적인 컴퓨터 프로그래밍 방법을 C언어를 이용하여 배운다. C언어는 프로그램 개발 분야에서 가장 많이 사용되는 컴퓨터 프로그램 언어이다. 이 과목을 수강 후에 학생들은 C언어를 이용하여 간단한 프로그램을 자신이 직접 개발할 수 있다. 다루는 주된 내용은 C언어 개요, 자료형, 제어문, 함수, 기억 클래스, 구조체와 공용체, 포인터, 입출력 함수와 파일, 선행처리기, 고급 프로그래밍 기술들을 중점적으로 다룬다.
- 파이썬프로그래밍 파이썬 프로그램을 이용하여 IT분야 프로그램을 개발할 수 있는 능력을 배양하는 교과목이다.
- 논리회로 및 실습 디지털 시스템의 동작 원리인 이진논리에 대해 배우고, 이를 구현한 각종 논리회로(게이트, 레지스터, 기억소자 등)의 동작과 기능을 배운다. 또한 조합논리회로, 순차논리회로의 개념을 배우고 이를 기초로 디지털 시스템의 설계능력을 배양한다.
- 자료구조론 자료 구조 및 취급 방법에 대한 알고리즘들을 배운다. 스트링, 리스트, 스택, 큐, 트리, 그래프, garbage collection 및 동적 기억장치 할당 방법들을 배운다.
- JAVA프로그래밍 객체지향의 개념과 객체지향개발 방법론을 학습한 후, 객체지향기반의 대표적 프로그래밍 언어인 자바의 문법 및 문법 구문의 사용을 프로그래밍하여 익힌다. 이론과 실습을 병행하여 습득한 자바 문법을 실제 활용할 수 있는 능력과 방법을 익히도록 교육한다. 주요학습 내용은 객체지향 기본개념, 조건 및 반복 제어 구문, 자바언어의 기본구조, 인터페이스, 컬렉션을 포함한 자바의 패키지, 예외처리 및 쓰레드를 다룬다.
- C++프로그래밍 객체 지향 프로그램 언어인 C++를 이용하여 객체지향 프로그래밍, 객체 지향소프트웨어 설계, 수정과 테스트 등을 공부하고 여러 간단한 문제들을 프로그래밍 함으로써 고급 언어를 이용한 문제 해결법을 학습한다.
- 기초회로실험 회로이론의 기초적인 내용을 실험을 통하여 학습하며, 멀티미터, 전원장치, 오실로스코프, 파형발생기 등 각종 계측기의 사용 방법을 습득한다. 이 과정에서 저항, 커패시터, 인덕터 등 수동 소자들의 특성을 실험적으로 검증하고, 각종 계측기를 사용하여 전기회로를 분석하는 실험 기법을 배운다.
- 회로이론 수동소자특성, 각종 파형 및 그의 미적분, KCL, KVL 등의 회로법칙, 평형방정식 및 과도응답, 회로의 시간응답을 배우고 전기 및 전자공학 계열의 회로이론에 대한 기초를 다지는 것을 목적으로 한다. 정현파 교류회로, 교류전력과 에너지를 알아보고, 회로의 일반적 해석과 회로에 관한 주요 정리들을 다루며, 복소 주파수와 회로망 함수를 공부한다. 또한 RLC회로의 주파수 응답해석에 필요한 Laplace Transform을 소개하고, 이를 사용하여 실제회로의 응답특성(크기 및 주파수)을 강의한다. 이러한 회로이론은 전기, 전자, 정보통신 분야에 새로운 응용을 개발하고 이해하는데 도움을 주도록 한다.
- IoT융합개론 최근 IoT 전분야에 걸친 융합사례들을 대상으로 IoT융합에 대한 개론적인 접근을 하는 교과로 IoT사례를 중심으로 개론적인 학습을 한다.
- 창의기초프로젝트 하드웨어 또는 소프트웨어의 기초적인 실습 및 도구 사용법을 익히고 특정한 응용분야에 이러한 기술을 어떻게 적용할 것인가를 프로젝트의 수행을 통해 숙달한다. 전공의 깊은 지식과 구현능력이 미비한 상태이므로 응용분야가 단순하거나 시스템의 한 단면을 구현하는 것을 목표로 한다. 프로젝트를 위한 요구사항도 기능성이나 사용성 등 기초적인 품질을 달성하는 것을 목표로 한다.
- 파이썬응용 파이선 언어를 활용하여 다양한 프로젝트를 수행하여 실제 상황에서 활용할 수 있는 응용 프로그램을 개발한다.
- 데이터통신 컴퓨터 및 각종 정보통신 단말기간의 데이터 전송 기술과 관련 통신망 기술을 익힌다. 특히 전송매체, 데이터 부호화, 링크 제어 기법 및 다중화 등의 전송 기술과, 회선 및 패킷 교환망, 근거리 통신망, 이동 통신망, 종합 정보 통신망 등의 구조 및 관련 프로토콜에 대해 학습한다. 또한 CCNA 국제공인자격증 준비를 위한 이론/실습을 강의한다.
- 컴퓨터구조론 컴퓨터시스템의 기본적인 구조와 동작 원리를 배운다. 또한 중앙처리장치(CPU)와 입출력 장치의 기능을 이해하고, 병렬 및 분산컴퓨터의 기본적인 구조와 동작 원리를 배운다.
- 전자회로 및 실습 기본적인 능동 소자를 사용한 회로의 분석과 성질을 강의하고 이를 실제 회로 상에서 실험한다. 트랜지스터의 주파수 특성, 다단 증폭기, 궤환 증폭기 등을 다룬다.
- 알고리즘 알고리즘 설계 및 분석 기법, 리스트, 스택, 큐, 트리, 그래프 등의 자료구조의 활용, 정렬과 탐색 및 그래프 알고리즘을 학습한다. 컴퓨터 응용 분야에서 자주 발생하는 실제적인 문제들을 해결하기 위한 알고리즘들의 해석에 역점을 둔다. 이를 위하여 sorting, graphs, string matching, dynamic programing과 computational complexity 등을 다룬다.
- 인공지능 Problem Reducing 방법, 상태 공간표현, Heuristics와 같은 문제 해결 기법을 포함하여 지식의 표현 및 사용, 탐색기법, 기계학습, 자연어 처리, 전문가시스템, 퍼지이론, 신경망 등에 대해 교수함과 동시에 관련된 주요 알고리즘을 컴퓨터 프로그래밍화해 봄으로써 심화 학습을 유도하고자 한다.
- 전자회로 기본 전자회로의 이론을 학습하며, 다이오드, 트랜지스터, OP Amp 등의 능동 소자에 대하여 배우고, 이를 사용한 회로의 구성과 각종 궤환 회로의 성질과 분석법 등을 학습한다.
- MFC프로그래밍 윈도우즈 시스템 프로그래밍을 수강한 학생들을 대상으로 MFC를 활용하여 프로그래밍을 하는 방법을 배운다. MFC는 C++ 언어를 학습한 사람이 윈도우 프로그램을 쉽게 개발할 수 있도록 만들어 놓은 클래스 라이브러리이다. 본 교과에서는 윈도우즈 어플리케이션 구조를 이해하고, 시스템 설계 및 구현 능력을 배양하며, MFC를 활용한 응용 어플리케이션의 개발을 실습함으로써 윈도우즈 소프트웨어 시스템에 대한 설계 및 구현의 능력을 배양한다.
- 창의응용프로젝트 일부 전공과목을 이수하고, 시스템 분석 및 설계에 대한 공학적 방법론을 숙지한 상태에서 하드웨어 또는 소프트웨어 전공의 이해 및 제작도구 활용능력을 현실 세계의 응용 프로젝트를 구현하면서 숙달한다. 설계 및 구현의 범위도 특정한 응용을 완성도 있는 수준까지 다루도록 하며, 분석 및 설계, 구현, 시험 등 모든 엔지니어링 과정을 학습한다. 시스템을 통해 다루는 요구사항도 기능성 외에 성능, 사용성 등 핵심적인 품질도 동시에 고려한다.
- 센서공학 다양한 센서들의 동작 원리를 이해하고, 이를 아두이노를 이용하여 동작시킨다. 몇 가지 센서들을 조합하여 프로젝트화 함으로써 하드웨어 응용 설계능력을 기른다. 역학센서, 온도센서, 광센서, 자기센서, 화학센서 등 각종 물리량과 화학량을 전기량으로 변환시키는 센서(트랜스듀서)의 특성, 발생된 신호의 처리와 변환, 전송, 응용방식 등을 이해하고, 아두이노 보드와 각종 센서모듈을 이용하여 센서를 동작시키는 실습을 수행한다.
- 자동제어 자동제어시스템에 대한 기본적인 해석기법을 학습함으로써 이보다 고급이론을 학습할 수 있는 기초를 확립하고 실제 산업현장에 응용할 수 있는 여러 기법을 습득한다.
- IoT응용제어 컴퓨터 하드웨어와 소프트웨어, 네트워크, 기술을 기반으로 각종 제어 기술을 융합하여 IoT 분야의 시스템을 구축, 운영할 수 있는 기술을 학습한다.
- 디지털영상처리 영상 시스템의 모델링, 샘플링, 양자화, 영상 개선과 복구, 2차원 데이터의 필터링과 변환이론 등의 영상 처리 기법을 학습하고 이를 사용하여 이미지 변환(Image Trans-forms), 이미지 개선(Image Enhancement), 이미지 복원(Image Restoration), 그리고 에지 분할(Edge Segmentation) 등에 관한 영상처리 기술들을 실제 영상들을 사용하여 실습함으로서 디지털 영상처리 기술들을 학습한다.
- 임베디드시스템 임베디드 프로세서는 자체에 DMA/인터랩트 제어기와 통신장치, 프로그램 가능한 메모리 제어기, RTC, 타이머 및 주변 제어장치를 내장하여 소형 컴퓨터 시스템의 설계에 적합한 프로세서이다. 본 과목에서는 이와 같은 제어장치와 함께, BIOS, 디바이스 드라이버와 같은 펌웨어(firmware) 프로그래밍, 실시간 OS와 시스템함수설계와 같은 주제에 대하여 학습하고, 임베디드 시스템을 개괄적으로 이해하도록 하며, 임베디드 시스템응용을 설계하고 구현한다.
- 빅데이터 대부분의 빅데이터 분석 기술의 바탕이 되는 텍스트 마이닝, 오피니언 마이닝, 소셜네트워크 분석, 군집 분석 등 데이터 마이닝과 기계 학습, 자연 언어 처리의 원리에 대해 소개한다. 대규모의 정형/비정형 데이터를 처리하는 데 있어 기본적인 분석 인프라인 하둡의 설치 및 활용을 학습하고 데이터의 유연하고 빠른 처리를 위한 NoSQL 기술을 학습한다. 또한 분석된 데이터의 의미와 가치를 시각적으로 표현하기 위한 R프로그래밍언어를 학습한다.
- 캡스톤디자인 전 학기 과정을 통해 습득한 이론과 실습능력을 활용하여 최종적인 소프트웨어 개발과 관련한 산출물을 작성하는 방법을 훈련하는 과목이다. 이 과목은 프로젝트의 수행에 대한 체험적인 교육을 지향하는 한편, 선수과목으로 이수한 교과목들이 실제 공학도로서 산업현장에서 활용할 수 있는 가를 검증하는 데 교육의 목표를 두고 있다. 또한 팀 프로젝트를 통해 협동심 및 리더십의 확립과 아울러, 프로젝트의 진행과정을 문서화하거나 발표하는 능력을 배양하도록 한다.
- 현장실습 현장실습은 능력발전 또는 능력개발을 위해 실무적인 직무를 수행하는 과정에서 지도 및 훈련, 경험을 쌓고 배우게 되는 교육훈련의 방법이다. 본 과목을 통해 학생들은 학교에서 습득한 이론 및 실습을 현장에서 활용해 봄으로써 숙지한 지식을 현장에서 활용이 가능하도록 더욱 발전시키며, 또한 장차 취업 후의 직업 환경을 미리 체험함으로써 중점적으로 갖추어야 할 기술적인 지식이나 기타의 소양을 준비할 수 있게 된다.
- OpenCV프로그래밍 본 교과에서 학습할 OpenCV 라이브러리는 Windows, Linux, Mac OS, Android 등의 운영체제에서 모두 동작하며 무료이면서 소스가 공개된 영상처리 및 컴퓨터 비전 관련 범용 라이브러리이다. OpenCV 라이브러리는 다양한 영상처리 및 컴퓨터 비전 알고리즘이 500여개의 함수로 구현되어 있는 바, 본 교과는 컴퓨터 비전의 기본 이론을 학습하면서 OpenCV의 자료구조, 영상 및 행렬 접근, 움직임 검출 및 추적, 코너 및 대응점 검출, 스테레오 정합, 3D 깊이 계산, 3D 재구성 및 카메라 캘리브레이션 (camera calibration), 얼굴 검출 등을 학습하고 관련된 응용 프로그램을 OpenCV를 사용하여 실무 중심으로 개발하고 실습할 수 있도록 구성된다.
- 마이크로프로세서 및 실습 마이크로프로세서의 개요와 디지털시스템에 대하여 학습하고, 마이크로프로세서의 기본적인 구조와 동작 원리를 배운다. 또한 메모리와 입출력 포트의 동작원리를 이해하고, 마이크로프로세서 소프트웨어의 기초 및 인터페이스를 이해하기 위하여 다양한 형태의 I/O 하드웨어를 구성하여 동작시킨다.
- 드론제어 및 실습 드론의 동작원리를 이해하고, 제어부로 사용되는 아두이노의 하드웨어와 소프트웨어, 센서부, RC부, 모터 구동부를 학습한다. 이를 통해 드론 제어를 위한 프로그래밍, 드론 센서 제어, 드론을 설계하는 역량을 기른다.
- 딥러닝 프로그래밍 딥러닝 및 기계 학습의 기본 이론과 TensorFlow 및 Keras 라이브러리 활용에 대한 기반 지식을 이해한다. 텐서플로우 라이브러리(TensorFlow Library)는 Google에서 개발 공개한 딥러닝(deep learning)과 기계 학습(machine learning)용 범용 공개 라이브러리이고, 딥러닝(Deep Learning)은 분류 학습에 국한된 전통적인 인공 신경망의 노드 폭과 계층 깊이를 확장해 특징 학습과 분류 학습을 통합하고 이에 따른 일련의 제약 요인을 극복함으로써 도약적 성과를 낳고 있는 최근의 기계 학습(인공 신경망) 응용 기술이다. 이를 위해 본 교과목은 딥러닝의 기본 이론에 대한 이해를 기반으로, Python 환경에서 Keras와 TensorFlow 기반의 선형 회귀(Linear Regression), CNN(Convolutional Neural Networks), RNN(Recurrent Neural Networks), LSTM(Long Short Term Memory), GAN(Generative Adversarial Networks), 강화 학습(Reinforcement Learning), DQN(Deep Q-learning Networks) 등과 관련된 실용적이고 확장가능한 예제를 중심으로 프로그래밍 실습을 병행하며, 이를 토대로 기말 프로젝트를 수행함으로써 Keras와 TensorFlow 기반의 딥러닝 응용 프로그램 개발 능력을 취득한다.