본문 바로가기 대메뉴 바로가기

과목 개요

Home 학사안내 과목 개요

페이스북 트위터 print

  • <교육 목표 >
    스크래치 프로그램을 활용하여 융합IT학과에 입학한 신입생이 소프트웨어를 쉽게 이해하고 학습할 수 있도록 구성하였다. 스크래치를 활용한 다양한 게임 프로젝트와 mBot 교육용 키트를 활용한 프로젝트를 진행하여, 학생들이 주도적으로 독창적인 알고리즘을 제안하고 주어진 문제를 해결하도록 학습한다.

    < 학습 성과 >
    주어진 문제의 해결을 위해 알고리즘을 제안할 수 있으며, 이를 소프트웨어로 작성하여 해결할 수 있다.

  • <교육 목표 >
    컴퓨터 프로그램 개발에 주로 활용되는 C 언어의 기초부터 고급까지의 다양한 문법과 기능을 학습한다.

    < 학습 성과 >
    정형화된 C언어의 프로그래밍 문법을 적용하여 다양한 컴퓨터 프로그램을 개발할 수 있다.

  • <교육 목표 >
    C 언어의 포인터, 배열, 조건 컴파일, 등과 같은 부분을 이용해 리스트, 큐, 트리 구조와 같은 고급 기능을 학습한다.

    < 학습 성과 >
    C 언어의 포인터와 같은 기능을 자유자재로 활용해 리스트, 큐와 같은 고급 기능을 구현할 수 있다.

  • <교육 목표 >
    스마트 기기에서 동작하는 작은 앱(App)에서부터 분산 환경 하에서 대량의 트랜잭션이 발생되는 엔터프라이즈 환경의 정보서비스 및 소프트웨어 등을 개발하는데 활용되는 Java 언어를 학습한다.

    < 학습 성과 >
    객체지향 프로그램의 개념을 이해하고, Java 언어의 구문을 적용하여 컴퓨터 프로그램을 개발할 수 있다.

  • <교육 목표 >
    모바일 어플리케이션 기획에 대한 전체 프로세스, 기법 및 모바일 어플리케이션의 주요 컨트롤에 대하여 학습하고, 시제품을 개발한다.

    < 학습 성과 >
    Oracle의 공개소프트웨어 기반 클라우드 개발 플랫폼을 활용하여 모바일 어플리케이션을 개발할 수 있다.

  • <교육 목표 >
    실생활에서 컴퓨터가 처리하는 다양한 정보들을 표현하기 위하여 사용자가 정의하는 복합적인 자료형을 만들고 활용하는 방법을 학습한다.

    < 학습 성과 >
    이 모듈에서는 기본형 자료구조로 순차 리스트, 연결 리스트를 배우고, 이들을 이용하는 자료구조인 스택, 큐, 트리, 그래프 자료구조 이론을 이해하고, Java 언어로 관련 프로그램을 개발 할 수 있다.

  • <교육 목표 >
    Java 프로그래밍 언어의 고급 객체지향 기술, 프로그램 개발 기법을 학습하여 고수준의 Java 프로그램을 분석하여 이해하고, 프로그램 구현 기술을 향상시킨다.

    < 학습 성과 >
    Collection을 활용하여 동적으로 자료를 처리할 수 있고, Thread, Network, GUI 및 데이터베이스 연결 등의 고급 프로그램을 개발할 수 있다.

  • <교육 목표 >
    IBM UNIX 전반의 이해와 실습을 통해 시스템 운영체계의 기본 운영능력을 습득하여 시스템엔지니어의 기본역량을 확보한다.

    < 학습 성과 >
    콘솔 기반의 다양한 유닉스 명령어를 활용할 수 있고, 유닉스에서 프로세스, 메모리, 디스크, 파일시스템 등을 관리할 수 있다.

  • <교육 목표 >
    Web을 통해 정보서비스를 제공할 수 있도록 Java 기반의 Web 기술과 스크립트 언어 기반의 Web 기술을 적용하여 Web서비스를 개발하는 방법을 학습한다.

    < 학습 성과 >
    N-tier의 웹서비스 개발환경을 구축할 수 있고, 다양한 웹 개발기법을 활용하여 웹서비스를 개발할 수 있다.

  • <교육 목표 >
    네트워크의 기능과 주소의 개념을 이해하고, 네트워크의 계층구조 및 OSI 참조 모델, LAN, MAN, WAN 등을 학습하며 네트워크의 하위 계층, 상위계층 및 다양한 통신 프로토콜을 학습한다. 그리고 웹, DNS, 전자메일과 같은 네트워크 서비스에 대하여 학습한다.

    < 학습 성과 >
    네트워크의 동작원리와 네트워크를 이용한 다양한 서비스를 설명할 수 있고, 네트워크 프로토콜을 이용하여 데이터를 전송하는 프로그램을 개발 할 수 있다.

  • <교육 목표 >
    스마트폰 등 모바일기기에서 사용되는 Android OS 구조를 학습하고, Android에서 동작하는 각종 모바일 어플리케이션을 개발하는 방법을 학습한다.

    < 학습 성과 >
    Application Program을 개발하여 스마트폰에서 동작시키는 실습을 통하여 앱을 개발할 수 있다.

  • <교육 목표 >
    마이크로컨트롤러는 다양한 센서와 액츄에이터 그리고 커넥티비티 소자들을 통합하여 제어하는 모바일시스템의 핵심 부품으로써, 이에 대해 이해가 선행된다면 IOT를 구현할 수 있는 충분한 역량을 갖출 수 있게 된다. 본 교과목을 통해 마이크로컨트롤러의 내부 구조를 이해하고 프로그래밍을 학습하여, 컨트롤러 내부 연산을 통해 주변장치 및 센서, 그리고 액츄에이터를 제어할 수 있게 된다.

    < 학습 성과 >
    마이크로컨트롤러 구조 및 원리를 이해하고, 이를 활용하여 다양한 주변장치를 제어하는 드라이버를 작성할 수 있다.

  • <교육 목표 >
    알고리즘이란 어떤 일을 처리하는 합리적이고 효율적인 절차로서, 컴퓨터를 효율적으로 활용하여 문제를 해결하기 위한 여러 알고리즘의 패턴과 활용방법을 학습한다.

    < 학습 성과 >
    이 모듈에서는 알고리즘을 만드는 논리적 사고체계, 생각을 논리적 절차로 표현하는 법을 기초로 하여, 분할 정복 알고리즘, 그리디 알고리즘, 동적 계획 알고리즘, NP-완전문제 및 근사 해 알고리즘을 구사할 수 있다..

  • <교육 목표 >
    고급 데이터 분석 및 인공지능의 원리 파악 및 구현을 위한 역량을 확보한다.

    < 학습 성과 >
    동적프로그래밍, 네트워크 플로우 및 최소 비용 유량 등을 계산하고 이를 프로그래밍 언어로 구현할 수 있다.

  • <교육 목표 >
    클라우드 기반의 모바일 어플리케이션을 개발하기 위한 선행지식 (예: Require.js, Hammer.js)과 모바일 플랫폼 개념을 이해하고, Oracle의 개발 환경과 플랫폼을 활용하는 방법을 학습한다.

    < 학습 성과 >
    Oracle의 소프트에어 개발 환경과 개발도구에 대한 활용 능력을 확보하고, 자바스크립트를 이용하여 모바일 어플리케이션을 개발하는 역량을 확보할 수 있다.

  • <교육 목표 >
    스크소프트웨어 개발에 적용되는 다양한 소프트웨어 개발 프로세스를 학습하고, 소프트웨어 품질을 높이기 위한 기법과 활동, 관리방법 등을 학습한다.

    < 학습 성과 >
    고급 소프트웨어/시스템 엔지니어가 되기 위해 반드시 갖추어야 하는 소프트웨어 라이프 사이클의 단계별 활동의 관리역량과 소프트웨어 개발 표준을 적용하여 소프트에어를 개발하고 관리하는 역량을 확보한다.

  • <교육 목표 >
    데이터베이스 개념, 데이토 모델, 관계형 데이터베이스 모델, 개체 관계 모델링, 데이터베이스 테이블의 정규화, SQL 소개, 데이터베이스 설계, 트랜잭션 관리와 동시성 제어, 분산 데이터베이스 관리, 등과 같은 데이터를 관리, 처리, 서비스에 관련된 최신 이론을 학습한다.

    < 학습 성과 >
    대량의 데이터를 관계를 고려하여 관리할 수 있고, 데이터로부터 정보를 추출할 수 있으며, 다양한 데이터 관리 도구를 활용할 수 있다.

  • <교육 목표 >
    CloudFoundry, Openstack 및 Docker 기반의 IBM PaaS (Platform as a Service)인 IBM Bluemix에 대하여 단계별로 핵심내용을 학습하는 PaaS 및 Devops 구축에 필요한 IBM Bluemix 활용 능력을 확보하도록 학습한다.

    < 학습 성과 >
    패키지 소프트웨어, 웹서비스 및 모바일 어플리케이션 등 모든 유형의 소프트웨어 개발에 활용되는 IBM의 Bluemix를 활용하여 다양한 소프트웨어를 개발할 수 있다.

  • <교육 목표 >
    avaSE 기반의 클라우드 Native 마이크로서비스 개발을 위한 선행지식 (예: 클라우드, 마이크로서비스, Java 언어, DevOps 등)과 Java를 활용한 마이크로 서비스 개발기법을 학습한다.

    < 학습 성과 >
    Oracle의 클라우드 개발환경에서 Java 프로그래밍 언어를 이용하여 클라우드 네이티브 어플리케이션과 마이크로 서비스를 개발할 수 있다.

  • <교육 목표 >
    컴퓨터 시스템을 효율적으로 운영 관리하기 위해 운영체제가 무엇이며, 운영체제가 어떻게 컴퓨터 하드웨어를 운용하고 제어하는 지를 학습한다.

    < 학습 성과 >
    운영체제의 구성요소, 메모리, 디스크, 파일, 프로세스 등의 자원관리 방법을 이해하여 컴퓨터 프로그램 개발할 수 있고, 컴퓨터의 자원을 효율적으로 관리할 수 있다.

  • <교육 목표 >
    다양하고 방대한 정형 또는 비정형 데이터를, 빅데이터 처리 도구를 활용하여 효율적으로 수집하고 사용목적에 맞도록 가공 및 처리하는 프로세스와 응용시스템을 구축하는 방법을 학습한다..

    < 학습 성과 >
    빅데이터 처리를 위한 open-tools인 Hadoop의 중요기능으로 분산파일 시스템(HDFS, Hadoop Distributed File system)과 맵리듀스(Map-Reduce)의 다양한 기능을 활용할 수 있다.

  • <교육 목표 >
    좋은 소프트웨어는 체계적인 소프트웨어 개발 프로세스와 방법론을 적용하여 목표 소프트웨어에 대한 다양한 이해관계자의 요구사항을 명확하게 분석하고, 설계하는 것이 무엇보다 중요하다. 이를 위해 산업계 표준으로 UML (Unified Modeling Language)이 사용되고 있다. 본 교과목에서는 이 UML을 이용하여 소프트웨어 및 정보시스템을 분석하고 설계하는 방법을 학습한다.

    < 학습 성과 >
    품질 높은 소프트웨어를 개발할 수 있도록 UML의 다양한 모델링 도구를 이용하여 요구사항을 분석하여 모델링하고, 목표 시스템을 설계할 수 있고, 다른 사람이 모델링한 결과를 이해하고 발전시킬 수 있다.

  • <교육 목표 >
    현재 대부분의 서버 사이드 쪽 작업은 대부분 Java 언어를 활용해 이루어지고 있다. 그러나, 서버가 작업을 처리할 수 있도록 입력을 받아들이고 서버가 동작할 수 있도록 자료를 수집하는 기능은 HTML 기반으로 이루어져 있으나, 동적인 작업을 위해서는 Javascript와 같은 언어를 이용한 프로그램이 필요하며, 본 모듈에서는 Javascript 활용 방법을 학습한다.

    < 학습 성과 >
    JAVASCRIPT를 이용해 서버 앞단의 작업과 서버 뒷단의 작업을 동적으로 처리할 수 있다.

  • <교육 목표 >
    이 모듈은 “빅데이터 처리”에 연계된 교과목으로 데이터 분석 기술을 통해 분석된 데이터의 의미와 가치를 시각적으로 표현하기 위한 대표적인 기술인 R의 활용 방법을 학습한다.

    < 학습 성과 >
    R의 여러 가지 기능을 활용하여 빅데이터를 분석하는 역량, 즉 빅데이터로부터 의미있는 정보를 실시간으로 도출하는 기술을 트렌드 파악, 마케팅, 의사결정 등에 활용할 수 있다.

  • <교육 목표 >
    빅데이터 기반의 인공지능과 기계 학습은 4차 산업혁명 시대의 주요 트렌드가 되었고, 이에 대한 역량 확보가 특정 분야와 상관없이 모든 영역에서 요구되고 있다. 오늘날 시대적 과제는 기존 레거시 데이터와 새롭게 대량으로 유입된 정형 혹은 비정형 데이터를 인공지능 혹은 지능형시스템 알고리즘의 데이터 분류/수집/처리와 분석을 통해 미래 결과를 예측하는 것이다. 본 모듈은 지능형시스템 알고리즘을 이론 및 예제를 통해 이해하고, 이를 바탕으로 빅데이터 기반의 지능형시스템 프로젝트를 진행하여 다양한 분야에 활용하는 역량을 확보한다.

    < 학습 성과 >
    각종 예측 및 진단 시스템을 구현을 위해 지능형시스템 알고리즘을 활용할 수 있다.

  • <교육 목표 >
    IBM의 IoT (Internet of Things) Foundation은 IoT 어플리케이션 개발 사이클 단축, 신속한 IoT 신제품 제작 등 확장 가능한 솔루션을 지원하는 IoT 플랫폼으로 쉽고 빠른 어플리케이션 구축을 지원하며 IBM의 IoT Foundation 모델을 이해하고 활용하여 IoT 서비스 구현 방법을 학습하며, IoT의 개념을 정립하고, IoT를 가능하게 하는 다양한 무선통신기술 (Wifi-P2P, Bluetooth, NFC 등) 프로토콜 기능, 동작원리, 동작구조 등을 학습한다.

    < 학습 성과 >
    사물인터넷의 최신동향과 시스템구성 및 역할을 이해하여 디바이스 플랫폼을 이해하고 설계하는역량을 확보한다.

  • <교육 목표 >
    IBM Bluemix를 활용하여 빅데이터 분석 어플리케이션 개발플랫폼을 구성 할 수 있고, 코드를 올려 개발이 가능하도록 학습하며, IBM Bluemix 기반에서 빅데이터 분석기법을 이해하여 활용능력을 확보하고, 빅데이터 분석을 위한 머신러닝의 개념부터 데이터처리 및 주요 알고리즘을 이해하여 오픈소스 분석도구인 R과 파이썬을 활용한 데이터 분석 역량을 확보한다.

    < 학습 성과 >
    Bluemix 응용프로그램에서 사용자가 필요로하는 구조화된 데이터를 분석할 수 있고, Bluemix 플랫폼을 활용하여 클라우드 응용프로그램을 구축, 관리할 수 있다.

  • <교육 목표 >
    Oracle의 클라우드 기반 개발 환경을 이용하여 Node.js 기반 클라우드 Native 마이크로서비스 개발을 위한 선행지식 (예: 클라우드, 마이크로서비스, JavaScript 언어, DevOps 등)과 Node.js를 활용한 마이크로 서비스 개발 방법을 학습한다.

    < 학습 성과 >
    Oracle의 DevOps 환경을 이해하고, 마이크로 서비스를 개발할 수 있으며, Agile 개발 환경을 이해하고 어플리케이션 개발에 적용할 수 있다.

  • <교육 목표 >
    IBM Bluemix 서비스에 있는 Watson API를 학습하고, 응용할 수 있도록 각 API들에 대한 소개 및 데모를 통해 활용 능력을 배양하고, Watson API를 사용하여 Cloud 어플리케이션을 개발할 수 있는 역량을 확보한다. 또한, Javascript, Bluemix 클라우드 어플리케이션의 내용을 기반으로 SaaS 형태인 다른 서비스를 사용하는 방법을 습득하고 다양한 개발에 적용할 수 있는 능력을 확보한다.

    < 학습 성과 >
    Watson API에 대한 기본적인 개념과 사용법을 이해하여 클라우드 어플리케이션을 개발할 수 있다.

  • <교육 목표 >
    다양한 소프트웨어 개발 플랫폼과 소프트웨어 개발방법론 및 프로세스 등을 이용하여 응용 프로그램 및 웹서비스를 개발하는 프로젝트를 수행한다. 필요에 따라 기업과 협력하여 프로젝트를 진행할 수 있다.

    < 학습 성과 >
    다양한 IT 기술을 접목하여 실제 프로젝트를 수행할 수 있는 실무역량을 확보한다.

  • <교육 목표 >
    다양한 소프트웨어 개발 플랫폼과 소프트웨어 개발방법론 및 프로세스 등을 이용하여 응용 프로그램 및 웹서비스를 개발하는 프로젝트를 수행한다. 필요에 따라 기업과 협력하여 프로젝트를 진행할 수 있다.

    < 학습 성과 >
    다양한 IT 기술을 접목하여 실제 프로젝트를 수행할 수 있는 실무역량을 확보한다.