fnctId=pdfView,fnctNo=191
본 자료는 PDF파일로 제공되며, 따라서 Acrobat Reader 프로그램이 컴퓨터에 설치되어 있어야 파일을 열어보실 수 있습니다.
Acrobat Reader 프로그램이 설치되어 있지 않으면 설치파일을 다운받아 설치하신 후 파일을 열어보시기 바랍니다.
전공 교육과정 교과목 해설
- 이산수학 컴퓨터 관련 과목을 이수하기 전에 필요한 지식인 이산 개념에 기초를 둔 학문으로 수학적 논리, 집합과 함수, 행렬, 관계, 트리, 그래프, 부울대수, 조합, 알고리즘, 형식언어, 오토마타 등을 다룬다.
- C언어프로그래밍 기초적인 컴퓨터 프로그래밍 방법을 C언어를 이용하여 배운다. C언어는 프로그램 개발 분야에서 가장 많이 사용되는 컴퓨터 프로그램 언어이다. 이 과목을 수강 후에 학생들은 C언어를 이용하여 간단한 프로그램을 자신이 직접 개발할 수 있다. 다루는 주된 내용은 C언어 개요, 자료형, 제어문, 함수, 기억 클래스, 구조체와 공용체, 포인터, 입출력 함수와 파일, 선행처리기, 고급 프로그래밍 기술들을 중점적으로 다룬다.
- 파이썬프로그래밍 파이썬 프로그램을 이용하여 IT분야 프로그램을 개발할 수 있는 능력을 배양하는 교과목이다.
- 자료구조론 자료 구조 및 취급 방법에 대한 알고리즘들을 배운다. 스트링, 리스트, 스택, 큐, 트리, 그래프, garbage collection 및 동적 기억장치 할당 방법들을 배운다.
- 유닉스시스템 운영체제론을 기반으로 하여, UNIX의 배경과 특성을 학습하고, UNIX의 기본 명령어, 에디터에 대해서 설명하며, UNIX의 핵인 Shell에 대해서 학습하고 실습한다.
- 컴퓨터구조론 컴퓨터시스템의 기본적인 구조와 동작 원리를 배운다. 또한 중앙처리장치(CPU)와 입출력 장치의 기능을 이해하고, 병렬 및 분산컴퓨터의 기본적인 구조 동작 원리를 배운다.
- JAVA프로그래밍 객체지향의 개념과 객체지향개발 방법론을 학습한 후, 객체지향기반의 대표적 프로그래밍 언어인 자바의 문법 및 문법 구문의 사용을 프로그래밍하여 익힌다. 이론과 실습을 병행하여 습득한 자바 문법을 실제 활용할 수 있는 능력과 방법을 익히도록 교육한다. 주요학습 내용은 객체지향 기본개념, 조건 및 반복 제어 구문, 자바언어의 기본구조, 인터페이스, 컬렉션을 포함한 자바의 패키지, 예외처리 및 쓰레드를 다룬다.
- IoT융합개론 최근 IoT 전분야에 걸친 융합사례들을 대상으로 IoT융합에 대한 개론적인 접근을 하는 교과로 IoT사례를 중심으로 개론적인 학습을 한다.
- 창의기초프로젝트 하드웨어 또는 소프트웨어의 기초적인 실습 및 도구 사용법을 익히고 특정한 응용분야에 이러한 기술을 어떻게 적용할 것인가를 프로젝트의 수행을 통해 숙달한다. 전공의 깊은 지식과 구현능력이 미비한 상태이므로 응용분야가 단순하거나 시스템의 한 단면을 구현하는 것을 목표로 한다. 프로젝트를 위한 요구사항도 기능성이나 사용성 등 기초적인 품질을 달성하는 것을 목표로 한다.
- C언어응용프로그래밍 C언어프로그래밍은 함수 중심적인 프로그래밍 방법을 문법중심으로 학습을 한다면, C언어응용프로그래밍에서는 이러한 문법을 간단한 문제에 적용할 수 있는 방법을 실습 중심으로 학습하게 된다. 다양한 예제를 실습으로 다룸으로써, 프로그래밍 문법의 숙달뿐만 아니라 프로그램의 구조에 대한 이해, 그리고 프로그래밍 문제에 대한 전형적인 패턴을 전반적으로 암기하게 하여 유사한 문제나 업무가 주어졌을 때 쉽게 프로그래밍 할 수 있도록 한다.
- 웹프로그래밍 자바스크리트를 이용하여 웹어플리케이션을 개발하는 방법을 학습한다. 웹 어플리케이션의 프론트엔드 파트 전문가가 되기 위한 첫걸음으로 웹 서비스의 이해하고, HTML5, CSS, Javascript 기반의 웹프로그래밍 기초 습득하며 jQuery 라이브러리 활용 및 클라이언트-서버 통신 프로그래밍을 통한 프론트엔드 실습한다.
- 데이터통신 컴퓨터 및 각종 정보통신 단말기간의 데이터 전송 기술과 관련 통신망 기술을 익힌다. 특히 전송매체, 데이터 부호화, 링크 제어 기법 및 다중화 등의 전송 기술과, 회선 및 패킷 교환망, 근거리 통신망, 이동 통신망, 종합 정보 통신망 등의 구조 및 관련 프로토콜에 대해 학습한다. 또한 CCNA 국제공인자격증 준비를 위한 이론/실습을 강의한다.
- 소프트웨어공학 소프트웨어 개발방법과 소프트웨어 개발방법에 대하여 교육한다. 주요 개발방법에는 구조적 방법과 객체지향 방법을 중심으로 분석 및 설계과정에 대하여 교육하며, 사례를 통한 실습학습으로 방법론을 경험적으로 학습하도록 하여, 차후 소프트웨어 시스템 개발이나 다양한 프로젝트 교과목을 소화할 수 있도록 한다. 관리방법은 프로젝트의 계획수립 즉, 시스템 정의 및 일정 및 예산, 자원계획 등에 대하여 학습하며, 소프트웨어 품질관리 및 형상관리, 유지보수방법에 대하여 학습한다.
- 운영체제론 운영체제의 개념, 목적, 그리고 발전과정을 소개하고, 처리기 경영, 주 기억 장치 경영, 주변장치 경영에 관하여 설명하고, UNIX의 내부를 파헤쳐 봄으로써 운영체제에 대한 실제적인 실감을 갖도록 한다.
- 유닉스프로그래밍 UNIX환경에서 C언어를 사용하여 UNIX 파일, 프로세스 및 입출력 장치에 대한 제어를 학습하고 실습한다.
- 알고리즘 알고리즘 설계 및 분석 기법, 리스트, 스택, 큐, 트리, 그래프 등의 자료구조의 활용, 정렬과 탐색 및 그래프 알고리즘을 학습한다. 컴퓨터 응용 분야에서 자주 발생하는 실제적인 문제들을 해결하기 위한 알고리즘들의 해석에 역점을 둔다. 이를 위하여 sorting, graphs, string matching, dynamic programing과 computational complexity 등을 다룬다.
- 인공지능 Problem Reducing 방법, 상태 공간표현, Heuristics와 같은 문제 해결 기법을 포함하여 지식의 표현 및 사용, 탐색기법, 기계학습, 자연어 처리, 전문가시스템, 퍼지이론, 신경망 등에 대해 교수함과 동시에 관련된 주요 알고리즘을 컴퓨터 프로그래밍화해 봄으로써 심화 학습을 유도하고자 한다.
- 데이터베이스이론 및 실습 데이터베이스의 기본 개념과 일반 이론에 대하여 학습하며, 데이터베이스 모델을 설계한다. 데이터베이스 언어인 SQL을 사용하여 데이터베이스를 설계하고 데이터베이스 시스템을 구축한다. 데이터베이스의 기본 설계 이론과 구현 방법 등에 대한 이해력과 응용력을 배양한다.
- MFC프로그래밍 윈도우즈 시스템 프로그래밍을 수강한 학생들을 대상으로 MFC를 활용하여 프로그래밍을 하는 방법을 배운다. MFC는 C++ 언어를 학습한 사람이 윈도우 프로그램을 쉽게 개발할 수 있도록 만들어 놓은 클래스 라이브러리이다. 본 교과에서는 윈도우즈 어플리케이션 구조를 이해하고, 시스템 설계 및 구현 능력을 배양하며, MFC를 활용한 응용 어플리케이션의 개발을 실습함으로써 윈도우즈 소프트웨어 시스템에 대한 설계 및 구현의 능력을 배양한다.
- XML이론 및 실습 최근 다양한 분야에서 XML 기반의 시스템 개발이 이루어지고 있다. 본 과목에서는 XML의 기본 이론에서 응용 개발에 필요한 XML 기술의 개론을 학습한다. 이를 위해 XML 시스템 개발을 위해 필요한 XML 개념, XML 이름 공간, DTD, XML 스키마 및 XML 응용 개발을 위해 필수적인 XML 문서 생성 및 파싱을 위한 C, C++, Java 등에서 공통적으로 사용되는 API를 사용한 프로그래밍의 이론 및 실습을 다룬다.
- 창의응용프로젝트 일부 전공과목을 이수하고, 시스템 분석 및 설계에 대한 공학적 방법론을 숙지한 상태에서 하드웨어 또는 소프트웨어 전공의 이해 및 제작도구 활용능력을 현실 세계의 응용 프로젝트를 구현하면서 숙달한다. 설계 및 구현의 범위도 특정한 응용을 완성도 있는 수준까지 다루도록 하며, 분석 및 설계, 구현, 시험 등 모든 엔지니어링 과정을 학습한다. 시스템을 통해 다루는 요구사항도 기능성 외에 성능, 사용성 등 핵심적인 품질도 동시에 고려한다.
- UI/UX디자인 사람이 취급하는 컴퓨터관련 작업을 하는데 있어서 사용자 인터페이스 기술과 사용자 경험 기술은 필수적이다. 본 교과에서는 소프트웨어 응용에서 사용자 인터페이스를 구성하는데 필요한 디자인 요소나 개념을 소개하고, 스마트폰이나 웹 디자인에서의 UI/UX 설계방법론을 교육하며, 실제 응용사례에 대한 UI/UX 디자인해 봄으로써 체험적인 학습이 가능하도록 한다.
- JSP와서블릿 많은 비즈니스 응용들이 인터넷 환경에서 개발되고 있다. 인터넷 응용을 개발하는 데 필요한 기본적인 도구는 Java를 기반으로 하는 JSP나 서블릿 활용기술들이 있다. 본 과목은 인터넷 환경을 가능하게 하는 웹서비스 플랫폼 기술과 다양한 응용 서비스를 제공하기 위해 필요한 JSP 및 자바 서블릿의 프로그래밍 기술, 그리고 데이터베이스를 활용하기 위한 SQL 작성 등에 관하여 학습한다. 아울러 각각의 도구들을 특정한 응용과 연계한 종합적인 실습주제를 함께 다룬다.
- 임베디드시스템 임베디드 프로세서는 자체에 DMA/인터랩트 제어기와 통신장치, 프로그램 가능한 메모리 제어기, RTC, 타이머 및 주변 제어장치를 내장하여 소형 컴퓨터 시스템의 설계에 적합한 프로세서이다. 본 과목에서는 이와 같은 제어장치와 함께, BIOS, 디바이스 드라이버와 같은 펌웨어(firmware) 프로그래밍, 실시간 OS와 시스템함수설계와 같은 주제에 대하여 학습하고, 임베디드 시스템을 개괄적으로 이해하도록 하며, 임베디드 시스템응용을 설계하고 구현한다.
- 빅데이터 대부분의 빅데이터 분석 기술의 바탕이 되는 텍스트 마이닝, 오피니언 마이닝, 소셜네트워크 분석, 군집 분석 등 데이터 마이닝과 기계 학습, 자연 언어 처리의 원리에 대해 소개한다. 대규모의 정형/비정형 데이터를 처리하는 데 있어 기본적인 분석 인프라인 하둡의 설치 및 활용을 학습하고 데이터의 유연하고 빠른 처리를 위한 NoSQL 기술을 학습한다. 또한 분석된 데이터의 의미와 가치를 시각적으로 표현하기 위한 R프로그래밍언어를 학습한다.
- 캡스톤디자인 전 학기 과정을 통해 습득한 이론과 실습능력을 활용하여 최종적인 소프트웨어 개발과 관련한 산출물을 작성하는 방법을 훈련하는 과목이다. 이 과목은 프로젝트의 수행에 대한 체험적인 교육을 지향하는 한편, 선수과목으로 이수한 교과목들이 실제 공학도로서 산업현장에서 활용할 수 있는 가를 검증하는 데 교육의 목표를 두고 있다. 또한 팀 프로젝트를 통해 협동심 및 리더십의 확립과 아울러, 프로젝트의 진행과정을 문서화하거나 발표하는 능력을 배양하도록 한다.
- 스마트폰프로그래밍 최근에 많이 활용이 되고 있는 스마트폰의 응용을 개발하기 위한 안드로이드의 개념 및 구조, 프로그래밍 방법에 대하여 학습한다. 스마트 폰의 응용인 앱 개발동향과 안드로이드 마켓, 스마트폰의 발전추세에 대한 살펴본 후, 안드로이드 프로그래밍의 문법과 다양한 개발도구를 실습중심으로 습득하며, 간단한 앱 개발 프로젝트의 설계 및 구현을 통해 안드로이드 프로그래밍 능력을 숙달한다. 선수과목으로 자바 프로그래밍을 이수하여야만 한다.
- 객체지향모델링 객체지향 모델링 개념을 이해하고, UML과 같은 모델링 도구를 이용하여 다양한 상황에 대한 다이어그램을 작성할 수 있도록 한다. 특히 시스템의 분석 및 설계 과정에서의 명세서 작성 뿐 아니라, CASE 도구의 활용능력을 통해 분석, 설계와 JAVA, C++ 코드로의 자동 생성과정을 배운다.
- 현장실습 현장실습은 능력발전 또는 능력개발을 위해 실무적인 직무를 수행하는 과정에서 지도 및 훈련, 경험을 쌓고 배우게 되는 교육훈련의 방법이다. 본 과목을 통해 학생들은 학교에서 습득한 이론 및 실습을 현장에서 활용해 봄으로써 숙지한 지식을 현장에서 활용이 가능하도록 더욱 발전시키며, 또한 장차 취업 후의 직업 환경을 미리 체험함으로써 중점적으로 갖추어야 할 기술적인 지식이나 기타의 소양을 준비할 수 있게 된다.
- JAVA 응용 프로그래밍 기초적인 자바 언어의 문법을 공부한 사람이 다음 단계로 학습할 수 있는 내용과 방법을 지도한다. 특히 기존의 프로그램을 배우는 학습자들의 프로그래밍 한계를 극복하기 위한 구성과 방법으로 지도한다. 클래스, 연관, 상속, UI, 쓰레드, 통신, 객체 테이블과 같은 핵심적인 자바도구를 보다 자연스럽게 다룰 수 있도록 한다. 또한, 이러한 도구들이 몇 가지 연관된 예제를 통해서 습득이 되도록 한다.