fnctId=sbjMng,fnctNo=32 기초전자개론 Introduction to Basic Electronic 전공교과목 이수 전에 전자와 관련된 기초 개념 및 물성을 이해함으로써 전공이론 및 실습을 보다 쉽게 학습할 수 있도록 한다. 이와 관련된 내용은 기본 물리, 화학적 법칙을 이해하고 습득하며 계산할 수 있도록 하고, 기초 전자공학에 사용되는 법칙들과 이론들 소자의 원리 및 기본 회로 계산법 등을 익힌다. 정보보안개론 Introduction to Information Security 서버, 네트워크 장비, 백업장치 등 정보시스템 특성에 따라 시스템을 분리하여 배치하고 보안사고 발생 시 신속한 조치를 취할 수 있는 내용을 학습하며 일상생활에서 수행해야 하는 다양한 보안 수칙에 대하여 학습한다. C프로그래밍 C Programming IDE 도구의 활용법에 대해 학습한다. C 언어 프로그래밍 작성을 위한 기본 명령어를 학습한다. 조건에 따라 C로 프로그래밍하는 방법론을 학습한다. 제시된 문제를 C언어로 해결하는 모듈 프로그램 구현 방법론을 학습한다. 파이썬프로그래밍 Python Programming IDE 도구의 활용법에 대해 학습한다. Python 언어 프로그래밍 작성을 위한 기본 명령어를 학습한다. 조건에 따라 Python으로 프로그래밍하는 방법론을 학습한다. 제시된 문제를 Python언어로 해결하는 모듈 프로그램 구현 방법론을 학습한다. IoT 개론Introduction to IoT IoT 컴퓨팅을 실현하기 위한 핵심 기술 분야인 디바이스 기술, 네트워크 기술, 센싱 기술, 상황인식 기술, 상호작용 기술, 보안 기술을 학습하며, 이를 통해 응용에 활용될 수 있는 IoT의 기본 지식을 습득하도록 한다. 자료구조 Data Structures 실제 자료를 컴퓨터 내부에서 표현하는 방법과 이와 관련된 알고리즘 작성법과 분석법, 스택과 큐, 연결리스트, 트리, 그래프 등 각종 자료구조를 표현할 수 있는 능력이다. JAVA 프로그래밍JAVA Programming 자바 언어의 기본적인 개념을 이해하고 일반적인 컴퓨터 기초 상식의 학습과 활용을 통해 기초적인 프로그래밍 능력을 함양한다 디지털논리회로 Electronic and Digital Circuit 하드웨어 기초 회로 설계란 특허 회피 기술을 적용한 하드웨어 블록별 기초 회로를 설계하고 하드웨어 전체 설계도를 작성하며 검증하는 능력을 학습한다. C/C++ 프로그래밍C/C++ Programming 객체지향 프로그래밍과 클래스의 기본 이론을 학습한다. 클래스 정의 및 기본 사용법,멘버함수 오버로드를 학습한다. 캡슐화와 생성자 활용법을 학습한다. 클래스의 상속과 오버라이드/다형성을 학습한다. 프렌드 함수 및 객체 생성자등 다양한 객체 지향 프로그래밍 기법을 학습한다. 웹 프로그래밍Web Programming IDE 도구 활용 능력에 대해 배운다. UI 작성 그래픽 도구에 대해 배운다. 화면 구성 능력에 대해 배운다. HTML 활용 능력과 CSS 활용 능력에 대해 배운다. 컴퓨터구조 Computer Architecture 컴퓨터시스템과를 전공하면서 필요한 컴퓨터의 기본 구성, 즉 자료표현, 마이크로 오퍼레이션, 명령어와 주소지정 방법, 산술처리장치 및 CPU, 입출력장치, 기억장치의 구조 및 동작원리를 이해하고 하드웨어 및 마이크로 프로그래밍에 의해 설계하는 방법을 익힌다. 데이터베이스 Database 관계형 데이터베이스에 대한 기본 개념을 이해하고, 관계형 데이터베이스시스템을 구축하기 위한 데이터베이스 설계 기법 및 활용하기 위한 데이터베이스 언어인 SQL의 사용할 수 있는 능력을 함양한다. 관계형 데이터베이스시스템의 내부 기능을 파악하여 그 활용도를 높일 수 있는 능력이다. 데이터통신 Data Communication 데이터통신의 기본이 되는 데이터 통신의 정의, 구성요소, 프로토콜, 표준기구 및 표준안을 설명하고 있다. OSI(개방형 시스템 간 상호접속), 아날로그 신호와 디지털 신호변환, 부호화, 에러제어, 흐름제어, 데이터링크 프로토콜, 유무선 LAN프로토콜 등에 대해서도 체계적으로 학습한다. Visual C++ 프로그래밍 Visual C++ Programming Visual C++ 언어 프로그래밍 작성을 위한 기본 명령어를 학습한다. 조건에 따라 Visual C++ 로 프로그래밍하는 방법론을 학습한다. 제시된 문제를 Visual C++언어로 해결하는 프로그램 구현 방법론을 학습한다. 배치 프로그램을 구현하고 테스트하는 방법을 학습한다. JAVA 프로그래밍 응용Advanced Java Programming 자바 프로그래밍 언어의 특성을 바탕으로 이를 활용하여 다양한 응용 소프트웨어를 개발할 수 있는 개발자를 양성한다. IoT 임베디드 오픈플랫폼IoT Embedded Open Platform NCS의 오픈 플랫폼 활용 학습 모듈로, 오픈 플랫폼 개발 환경 구축, 오픈 플랫폼 디바이스 제어, 오픈 플랫폼 애플리케이션 제어 등을 수행하는 능력을 함양한다. 모바일 프로그래밍Mobile Programming 안드로이드 운영체제에서 동작하는 앱 개발을 위한 개발 환경부터 화면 구성, 위젯, 터치 등 이벤트 처리, 자료 관리, 그래픽 처리, 네트워크 등을 실습 위주로 강의한다. 아울러 모바일 게임 중심의 응용 프로그램에 대해 사례 분석을 하고 간단한 게임 프로그램을 직접 구현해 본다. 시스템 보안System Security 보안위협 관리통제를 위해 구축된 보안위협 관리통제시스템을 사용하여 사전에 정의된 보안위협을 모니터링하고 , 구축된 보안위협 관리통제시스템에서 수집된 이벤트 로그를 분석하여 설정된 보안규칙에 따라 정탐과 오탐 여부를 탐지하고 취약점 분석 도구와 점검 체크리스트를 사용하여 정보자산의 시스템과 네트워크에 대한 보안 취약점을 점검하고 보안 위협을 탐지할 수 있다. IoT 임베디드 소프트웨어IoT Embedded Software NCS의 운영체제커널 분석으로 커널 소스 분석 환경 준비, 커널 소스 분석 등을 수행하는 능력을 함양하며, 디바이스 드라이버 구현 환경 구축으로 디바이스 드라이버 개발 환경 분석, 개발 환경 구성 등을 수행하는 능력을 함양하며, 디바이스 드라이버 구현으로 디바이스 드라이버 구현, 소스 코드 인스펙션 등을 수행하는 능력을 함양 등의 학습 모듈을 수업한다. 마이크로프로세서 Microprocessor 마이크로프로세서의 구조, 작동 절차. 주변회로 및 소프트웨어 개발 방법 등을 이해하여 내장형 제어기, 컴퓨터 등에 응용할 수 있다. 데이터베이스 설계 및 구현Design and Construction of Database 데이터베이스 요구사항 분석이란 데이터베이스를 설계하고 구현하기 위해 최종사용자의 요구사항을 수집, 분석하고 정의하며, 각 단계의 산출물에 대하여 검증하는 능력이다. 개념데이터 모델링이란 비즈니스 도메인에 대한 데이터 주제영역을 분류하고 핵심개체, 식별자, 핵심속성, 핵심관계를 도출하여 개념 E-R 다이어그램으로 표현하고 검증하는 능력이다. 논리 데이터베이스 설계란 개념 데이터모델을 상세화 하여 비즈니스의 논리적인 데이터집합, 관리항목 및 관계 등 데이터 구조 및 규칙을 논리 E-R 다이어그램을 통해서 명확하게 표현하는 능력이다. 물리 데이터베이스 설계란 논리 데이터베이스 구조(스키마), 처리 요구 조건, 데이터베이스, 하드웨어, 운영 체제 특성을 기반으로 물리 데이터베이스의 저장 형식을 분석, 설계, 접근 경로를 물리적으로 설계하는 능력이다. 데이터베이스 구현이란 설계된 데이터베이스 모델을 적용하기 위해 DBMS(Data Base Management System)를 설치하고 데이터베이스와 데이터베이스 오브젝트를 생성하는 능력이다. TCP/IPTCP/IP 대표적인 인터넷 프로토콜인 TCP/IP의 동작을 프로그래밍을 통해 직접 확인하고, C언어 기반의 네트워크 프로그래밍을 작성할 수 있도록 Unix/Linux 기반의 TCP/IP 소켓 프로그래밍 및 네트워크 프로그래밍 기술을 습득한다. 최종적으로는 다중접속 서버 구현기술을 프로세서기반, I/O 멀티플렉싱기반, 쓰레드 기반으로 구현해 본다. 서버구축관리 Server Construction Management 산업계에서 웹 개발 시 가장 많이 사용되고 있는 Java 기반의 JSP에 대한 응용 기술을 학습하며, 웹 서버 측면에서 이해해야 할 기술인 데이터베이스 연동과 응용 기술 인 모바일, OpenAPI 등을 통해 웹 소프트웨어 개발 능력을 배양한다. 모바일 프로그래밍 응용Mobile Programming Application 모바일 프로그래밍에 대한 기본 문법과 활용 능력을 기반으로 응용 프로젝트를 진행하며 외부 서비스들과의 연계를 통해 융합 서비스를 개발한다. 캡스톤디자인 Capstone Design 산업현장에서 발생할 수 있는 문제를 해결할 수 있는 아이디어 도출한다. 신규 IT기술에 대한 학습능력 배양 (팀/반 별 세미나)한다. 요구사항부터 설계, 구현, 테스트까지의 전체 공정을 경험한다. 현실적 제한요소를 고려한 작품 제작 능력을 배양한다. 산업체를 통한 기술적 요소/산업적 요소를 체험/체득 한다. 머신러닝 기초Basic of Machine Learning 머신 러닝 응용 역역에 맞는 머신 러닝 기법을 선택하며 파이썬을 이용해 데이터셋을 구축하고 응용을 개발할 수 있는 능력 배양을 목표로 한다. 자율드론 Autonomous Drone 최근 드론 통신을 이용한 다양한 응용과 서비스들이 출현하고 있다. 본 교과목에서는 다양한 센서를 탑재한 드론 시스템의 시뮬레이션 기법과 주요 기능을 드론 구성 실습을 통해 메시지 통신 프로토콜 및 모터 제어, GCS 연동 기술을 습득한다. 웹 보안Web Security 보안요구사항에 따라 사용된 서버의 제품 환경과 운영체제 기술을 이용하여 서버 보안을 설계하고설계된 서버 보안의 환경구성에 맞도록 운영체제와 서버 보안 구현 계획을 수립할 수 있도록 한다. 보안요구사항에 따라 사용된 데이터베이스(DB) 시스템의 기술을 이용하여 데이터베이스(DB) 보안을 설계할 수 있도록 하고 설계된 데이터베이스(DB) 보안에 대한 데이터베이스(DB) 시스템에 맞는 질의어와 저장프로시져(Stored Procedure)를 사용하여 구현 계획을 수립할 수 있도록 한다. 디지털공학 Digital Electronics 디지털 회로 설계란 디지털 회로 설계에 필요한 각종 툴의 사용법 및 HDL에 대한 지식을 바탕으로 반도체 칩의 전기적 특성에 맞게 디지털 회로를 설계하기 위한 HDL 코딩, 시뮬레이션, 게이트 레벨 합성, 시스템 레벨 회로 검증, 포스트 시뮬레이션을 수행하여 회로의 동작 및 특성을 확인하고 검증하여 이를 다시 회로 설계에 반영할 수 있는 능력이다. 소프트웨어 분석설계Software Analysis and Design 객체지향 기술(OOT, Object Oriented Technology)을 기반으로 소프트웨어 설계와 구현 기법을 학습한다. 객체지향 설계를 위해 산업계에서 광범위하게 사용되고 있는 UML(Unified Modeling Language)을 학습하며, 설계와 구현의 연계성을 이해하기 위해 객체지향 언어인 JAVA를 통해 구현 과정을 학습한다. SQL활용SQL SQL활용이란 관계형 데이터베이스에서 SQL을 사용하여 데이터를 정의하고, 조작하며, 제어하는 능력이다. SQL의 데이터 조작 언어(DML), 데이터 정의 언어(DDL), 데이터 제어 언어(DCL)와 오라클 데이터베이스의 PL/SQL에 대하여 학습한다. 운영체제 Operating System 컴퓨터를 안다는 것은 사용자와 컴퓨터 하드웨어 간의 인터페이스를 담당하는 운영체제를 이해하는 것이다 따라서 컴퓨터 운영체제에 대한 전반적인 내용을 숙지하고 운영체제의 역할이나 기능 및 작동 원리 등을 이해함으로 써 컴퓨터 시스템의 원리를 이해한다. 심화캡스톤디자인 Interdisciplinary Capstone Design IT기술을 활용하여 창의적 실무능력을 배양한다. 실무 개발 공정(프로세스)인 분석, 설계, 구현, 테스트 과정을 학습하며, 프로젝트 진행 중에 발생하는 이슈들을 해결할 수 있는 문제해결 능력을 배양한다. 데이터베이스관리 Database Management 데이터 품질관리란 정보시스템 구축 시 데이터베이스 사용자 기대수준의 품질을 확보하기 위해 정책을 수립하고, 데이터 품질을 진단하고 개선하는 능력이다. 데이터 전환이란 원천의 데이터베이스, 파일, 문서로부터 목적 데이터베이스 구축에 필요한 데이터를 추출하고 목적 시스템의 데이터 모델에 적합하게 변환, 정제하여 목적 데이터베이스에 적재한 후 그 결과를 검증하여 운영 가능한 데이터베이스를 구축하는 능력이다. 데이터베이스 성능확보란 성능 상의 문제점을 분석하고 성능개선 목표를 설정하며 성능개선 수행 방법의 정의, 성능개선 수행, 성능개선 결과를 정량적으로 평가하며, 각 단계별 산출물 및 수행 활동을 규정하는 능력이다. 데이터 표준화란 데이터베이스 설계와 구축 시에 필요한 데이터 정보 요소의 명칭, 정의, 형식, 규칙에 대한 정책을 수립하여 적용하는 능력이다. 디지털공학응용 Advanced Digital Electronics 마이크로마우스 및 라인트 레이서와 같은 일종의 로봇의 설계실습과제를 목표로 간단한 HW는 FPGA를 구성하고 알고리즘은 C 프로그램으로 설계하여 AVR 마이크로프로세서를 구동시켜 디지털 시스템의 구성과정를 완성할 수 있도록 강의한다. 머신러닝 응용Applications of Machine Learning 응용 역역에 맞는 머신 러닝 기법을 선택하며 딥러닝 기법 기반의 데이터셋을 구축하고 응용을 개발할 수 있는 능력 배양을 목표로 한다. 비주얼프로그래밍응용Advanced Visual Programming Visual Studio 개발 환경 내에서 C/C++ 프로그래밍 기술과 아울러 C# 프로그래밍 기술을 이용하여 타겟 보드에 장착된 센서 및 장치들을 제어할 수 있는 인터페이스 응용 프로그래밍 기법을 학습한다.