스마트앱개발

마이크로융합전공트랙

주관학부·주관학과 : 컴퓨터공학부 / 컴퓨터정보공학과

수강제한학과 : 컴퓨터정보공학과 / 컴퓨터소프트웨어공학과 / 정보통신공학과

교육목표

스마트 앱 개발 마이크로트랙은 문화 콘텐츠 산업 활성화를 위하여 스마트 기기에 적합한 문화 콘텐츠를 발굴하여 앱을 기획하고, 제작하고, 관리하는 전문 인력을 양성하는 것을 목표로 한다.

활동분야

2019년 전세계 앱 스토어 소비자 지출은 세계 경제 성장 속도 대비 5배 빠르게
증가할 것으로 예상되고 모바일 산업에 대한 소비자의 인지도가 꾸준히 증가하면서 각 업계는
모바일 전환에 박차를 가할 것으로 전망됨. 또한 앱 내에서 노출되는 인앱 광고 수익은
물론 우버·스타벅스·아마존 등과 같이 앱 스토어 밖의 인앱 거래에서 발생하는 지출 역시
증가 추세로 나타남

2017년 전세계 디지털 광고 수익에서 50%를 차지한 모바일은 2018년에는
1550억달러를 벌어들이며 62%를 차지할 것으로 예상되고 미국의 모바일 광고 수익은 이미
텔레비전 광고 수익을 넘어섬.

개인이 책을 읽거나, 음악을 듣거나, 영상을 시청하는 등 미디어 소비에
사용하는 시간은 매일 평균 7.5시간 이상으로 2019년에는 모바일을 통한 개인 스트리밍
영상이 텔레비전 시청과 인터넷 검색 등 미디어 소비에 사용되는 시간의 약 6분의 1을
차지할 것으로 예상됨. 기기별 영상 스트리밍 앱의 총 사용 시간은 2016년부터 2019년까지
110% 증가하고, 같은 기간 엔터테인먼트 앱에서 발생하는 전세계 소비자 지출은 영상
스트리밍 앱의 인앱 구독에 힘입어 520% 증가할 것으로 예상됨

2019년 모바일은 개인용컴퓨터(PC), 휴대용 게임기, 콘솔을 포함한 모든 게임
플랫폼에서 발생하는 소비자 지출의 60%를 차지할 것으로 예상되고 계속적인 성장을
할 것으로 예측됨

모바일을 기반으로 한 스마트앱 시장은 위와 같은 다양한 요소로 매년 꾸준히
성장하고 있고 앞으로도 계속적으로 그 성장세가 높어질 것으로 분석됨

이와 더불어 스마트앱을 개발하는 전문 인력에 대한 수요는 크게 증가할 것으로
예상되고 기계, 건축, 예술 분야와의 융합을 통한 활용성이 더욱더 커질 것으로 사료됨

운영학과 1학기 2학기
교과목 학점 시수 교과목 학점 시수
컴퓨터정보공학과 스마트앱프로젝트 3 3 스마트앱프로그래밍 3 3
컴퓨터소프트웨어공학과 객체지향프로그래밍응용 3 3 자바프로그래밍 3 3

총 12학점 13시간

교과목소개

교과목명 스마트앱프로젝트 학기 1학기
이수시간(실습) 3(2) 학점 3
교과목개요

스마트앱 프로젝트 과목은 선수 과목인 스마트앱 프로그래밍 과목에서 학습한
기초 안드로이드 앱 개발 기술을 기반으로 중급 이상의 안드로이드 앱 개발 기술을 학습하는
과목이다. 국내의 스마트폰 시장을 대부분 차지하고 있는 안드로이드 앱 개발 기술은
모바일 분야의 가장 핵심이되고 필수적인 프로그래밍 기술로 자리 잡았으며 현재 IT 분야의
많은 부분을 차지하고 있으며 인력 수요도 크게 증가하고 있다. 이를 위해 이 과목에서는
학습한 안드로이드 프로그래밍 초급과 중급 기술을 기반으로 고급 위젯 사용, 주소록,
사진첩 이용하기, 그래픽과 애니메이션, 네트워크, 블루투스와 센서 등의 과정으로
구성되어 있다.

매주 각 단원의 모듈식 수업을 진행하며 이론과 더불어 실습예제 및 실습과제를
통해 프로그래밍 기술을학습한다. 이 과정은 프로젝트 과목으로 최종적으로 자신이 기획하고
설계하고 구현한 앱을 구현하는 것을 목표로 한다.

교과목 특징

본 과목에서는 고급 위젯 기반 UI 개발, 그래픽과 애니메이션, 블루투스와 센서,
네트워크 등의 중급 이상의 안드로이드 앱 개발자 양성을 목표로 한다.

이 과목을 이수하기 위해서는 자바 프로그래밍 언어를 이용하기 때문에
반드시 선수과목으로 자바 프로그래밍 과목과 스마트앱 프로그래밍(안드로이드) 과목을
이수해야 한다.

개발도구로 자신이 사용하는 안드로이드 스마트폰이 필요하다.

교육 목표

본 과목에서는 고급 위젯 기반 UI개발,그래픽과 애니메이션,블루투스와 센서,네트워크 등의
고급 안드로이드 앱 개발자 양성을 목표로 한다. 본 과목을 통해 다음을 성취할 수 있다.

안드로이드 스튜디오 개발 환경을 통해 고급위젯 또는 커스텀 뷰 등을 이용해서 안드로이드
UI/UX를 구할 수 있다.

주소록, 사진첩, 그래픽,애니메이션, 블루투스, 센서 제어 등의 고급 안드로이드앱 을 개발
할 수 있다.

개발된 앱을 안드로이드 기기에 탑재하여 동작시킬 수 있다.

프로젝트 과목으로 최종적으로 자신이 기획하고 설계하고 구현한 앱을 구현하는 할 수 있다.

교육내용

이 과목에서는 학습한 안드로이드 프로그래밍 초급과 중급 기술을 기반으로 고급 위젯 사용,
주소록, 사진첩 이용하기, 그래픽과 애니메이션, 네트워크, 블루투스와 센서, 아두이노 제어
등의 과정으로 구성되어 있다. 매주 각 단원의 모듈식 수업을 진행하며 이론과 더불어 실습예제
및 실습과제를 통해 프로그래밍기술을 학습한다.

본 과목을 통해 다음을 성취할 수 있다.

안드로이드 스튜디오 개발 환경을 통해 고급 위젯 또는 커스텀뷰 등을 이용해서 사용자
인터페이스를개발할 수 있다.

주소록, 사진첩, 그래픽, 애니메이션, 블루투스, 센서 제어 등의 고급 안드로이드 앱을 개발할
수 있다.위의 기술들을 이용하여 자신이 기획, 설계, 개발할 수 있다.

교육정보

이 강좌는 자바 프로그래밍 관련 과목과 모바일 프로그래밍1 과목을 선수과목으로 이수한
학생들이 수강할 수 있다.

수업 진행이 매주 앱을 개발하는 기술을 실습하여 학습하고 그에 대한 실습과제를 수행하는
것으로 진행된다.

개발 환경(PC) - 윈도우 7이상 PC 또는 요세미티 이상 맥켄토시

개발 환경(S/W) - JDK, 안드로이드 스튜디오, ADT Bundle (안드로이드 SDK, 안드로이드
에뮬레이터), 웹브라우저 등

필요기기 : 안드로이드(젤리빈 이상) 기기, 블루투스 모듈, 아두이노 로봇카 키트

교과목명 객체지향프로그래밍응용 학기 1학기
이수시간(실습) 3(2) 학점 3
교과목개요

응용SW 개발자가 애플리케이션 SW개발을 위해 기본적으로 갖춰야 하는 응용SW 구현
능력을 숙달하기 위해 편성됨

NCS 능력단위의 수행준거를 기반으로 시스템 통합(SI) 구현 능력을 효과적인 방법으로
습득할 수 있도록 애플리케이션 구현 및 제품소프트웨어 패키징을 숙달함

교과목 특징

본 교과는 응용 SW 구현 능력을 숙달하기 위한 교과목으로 공통 모듈 구현하기와 개발자
단위 테스트하기 능력을 습득함

본 교과는 1:1 개인실습, 팀별 실습 중심의 교과목임

교육 목표

애플리케이션 설계를 기반으로, 프로그래밍 언어와 도구를 활용하여 서버
프로그램 구현 기술에 부합하는 서버 프로그램을 개발할 수 있다.

신규 개발, 변경, 개선된 제품소프트웨어의 소스 들로부터 모듈들을
빌드하고 고객의 편의성을 고려하여 패키징 할 수 있다.

사용자가 제품소프트웨어를 설치하는데 참조할 수 있도록 제품소프트웨어
설치 매뉴얼의 기본 구성을 수립하고 작성할 수 있다.

사용자가 제품소프트웨어를 사용하는데 참조할 수 있도록 제품소프트웨어
사용자 매뉴얼의 기본 구성을 수립하고 작성할 수 있다.

사용자가 제품소프트웨어를 설치하고 사용하는데 필요한 제품소프트웨어의
설치파일 및 매뉴얼을 배포용 미디어로 제작할 수 있다.

형상관리 지침을 활용하여 제품소프트웨어의 신규 개발, 변경, 개선과
관련된 버전을 등록할 수 있다.

교육내용

자바 개발 환경에서 제공하는 다양한 패키지, 클래스들의 이해와 응용된
프로그래밍 작성 능력을 학습한다.

입출력스트림, 자바의 GUI 개념과 UI실습, 이벤트처리 기법, 각종
컴포넌트, 스레드와 멀티태스킹을 학습한다.

네트워크프로그래밍, 데이터베이스 연동 프로그래밍(JDBC 드라이버)등에
대한 이론과 예제를 학습한다.

포트폴리오를 제작해보고 검토해본다.

교육정보

자바 관련 참고도서

인터넷을 통한 관련 자료 및 시청각 자료

교과목명 스마트앱프로그래밍 학기 2학기
이수시간(실습) 3(2) 학점 3
교과목개요

스마트 앱 프로그래밍 과목은 모바일 운영체제인 안드로이드 기반의 스마트폰 앱을
개발하는 기술을 학습하는 과목이다.

이 과목에서는 안드로이드 프로그래밍 초급과 중급 기술을 학습하는 과정으로 안드로이드
개발 도구 설치부터 기본UI, 이벤트, 그래픽, 뷰,액티비티 학습을 기반으로 간단한 앱 개발을
실습 및 기기설치, 디버깅 및 테스트 하는 과정으로 구성된다.

이 과정을 모두 이수한 학습자들은 시계, 계산기, 이미지뷰어, 음악 및 비디오
플레이어, 위치 기반지도 앱, DB기반 물품관리 앱 등을 개발할 수 있다.

교과목 특징

본 과목은 스마트 앱 개발 직무를 위한 핵심 과목이며 본 과목에서는
자바 프로그래밍 언어를 사용하기 때문에 반드시 선수과목으로 자바 프로그래밍 관련 과목을
이수해야 한다.

매주 각 단원의 목표에 따라 모듈식 수업을 진행하며 NCS 능력단위
요소와 수행준거에 따라 이론과 더불어 실습예제 및 실습과제를 통해 앱 프로그래밍기술을
학습한다.

교육 목표

최근의 인터넷기술 관련 사업은 모바일 인터넷기술을 중심으로 급속히
발전하고 있으며 앞으로도 우리 생활과 밀착된 다양한 응용분야로 확산되어 발전해 나갈 것이다.
인터넷정보과에서는 유선 인터넷 기술뿐 만 아니라 이와 같이 급변하는 인터넷 사업에서
요구하는 최신 웹 프로그래밍 기술과 스마트폰 프로그래밍포함한 모바일 응용시스템
실무 개발능력을 갖춘 유무선 인터넷 전문 인력을 양성하는 것을 그 목표로 한다.
이를 위해 웹과 모바일 프로그래밍 기술을 습득하는 인터넷 프로그래밍 분야, 유무선
상의 게임과 프로그램 등의 디지털콘텐츠를 개발하는 인터넷 콘텐츠 분야, 유무선 인터넷 시스템
분석/기획 및 비즈니스 모델개발 설계 과정을 교육하는 인터넷 비즈니스 응용 분야, 그리고
유무선 환경의 시스템 관리 및 정보보안기술을 교육하는 인터넷 시스템 관리 분야 등의
전문화된 세부트랙 교육을 구분하여 실행하고 미니프로젝트 실습 및 현장 실습을 통해 특성화된
전문기술을 익힐 수 있도록 이론과 실무가 접목된 융합형 교육을 지향한다.

교육내용

스마트폰 프로그래밍 과목은 최근에 가장 각광받는 모바일 운영체제인
안드로이드 기반의 앱을 개발하는기술을 학습하는 과목이다. 특히 국내의 스마트폰 시장을
대부분 차지하고 있는 안드로이드 프로그래밍 기술은 모바일 분야의 가장
핵심이 되고 필수적인 프로그래밍 기술로 자리 잡았으며 그 많큼 수요가 크게늘고 있다.

이를 위해 이 과목에서는 안드로이드 프로그래밍 초급과 중급 기술을
학습하는 과정으로 안드로이드 개발도구 설치부터 기본 UI, 이벤트, 그래픽, 뷰, 액티비티
학습을 기반으로 간단한 앱 개발을 실습 및 기기 설치하는 과정으로 구성되어 있다. 매주
각 단원의 모듈식 수업을 진행하며 이론과 더불어 실습예제 및 실습과제를 통해
프로그래밍 기술을 학습한다.

이 과정을 모두 이수한 학습자들은 시계, 계산기, 이미지뷰어, 위치기반
맵 등의 간단한 안드로이드 앱을개발할 수 있다.

추가적으로 안드로이드 기반의 앱을 개발하기 위해서는 자바 프로그래밍
언어를 이용하기 때문에 반드시선수과목으로 자바 프로그래밍 관련 과목을 이수해야 한다.

교육정보

안드로이드 기반의 앱을 개발하기 위해서는 자바 프로그래밍 언어를 이용하기
때문에 반드시 선수과목으로 자바 프로그래밍 관련 과목을 이수해야 한다.

안드로이드 프로그래밍을 위해서 안드로이드 기반의 스마트폰이 필요하다.

교과목명 자바프로그래밍 학기 2학기
이수시간(실습) 3(2) 학점 3
교과목개요

응용SW 개발자가 응용 SW개발을 위해 기본적으로 갖춰야 하는 응용SW 구현 능력을
숙달하기 위해 편성됨

NCS 능력단위의 수행준거를 기반으로 애플리케이션 구현 능력을 효과적인 방법으로
습득할 수 있도록공통 모듈 구현하기와 개발자 단위 테스트하기를 숙달함

교과목 특징

본 교과는 응용 SW 구현 능력을 숙달하기 위한 교과목으로 공통 모듈 구현하기와
개발자 단위 테스트하기 능력을 습득함

본 교과는 1:1 개인실습, 팀별 실습 중심의 교과목임

교육 목표

대학 교육목표와 학과 교육목표를 달성하기 위하여 본 교과목은 시제품 제작을 위해 필요한
전기/전자 기기를 제작할 수 있는 능력을 학습하는 것을 목표로 하며 이를 위해
"제어프로그램 작성하기"능력을 함양할 수 있도록 한다.

"제어프로그램 작성하기" 외 기본적인 전자회로 작성능력, 회로꾸미기 능력도 배양하여
창의적인 작품을 만들고 이를 이용해 벤처 창업을 할 수 있도록 한다.

그룹 프로젝트로 시제품을 제작하고 이를 통해 협업능력을 함양할 수 있도록 한다.

교육내용

공통 모듈의 상세 설계를 기반으로 프로그래밍 언어와 도구를 활용하여 업무 프로세스
및 서비스의 구현에 필요한 공통 모듈을 작성할 수 있다.

개발된 공통 모듈의 내부 기능과 제공하는 인터페이스에 대해 테스트할 수 있는
테스트 케이스를 작성하고 단위 테스트를 수행하기 위한 테스트 조건을 명세화 할 수 있다.

구현한 응용소프트웨어 단위가 설계 내용을 반영하는지 여부를 판단하기 위한
단위테스트의 표준, 절차,기법 등을 정의할 수 있다.

기능요구사항을 분석하여 단위테스트 계획을 수립하고, 단위 테스트 계획대로
단위 모듈/컴포넌트 별로 테스트를 수행할 수 있다.

단위 모듈/컴포넌트가 설계 내용을 만족하는지 여부를 계획한 단위 테스트 케이스에
따라 검증할 수 있다.

단위 테스트 결과 발견된 결함과 이슈를 식별하고, 단위 테스트 결과 분석을 통하여
테스트의 충분성 여부를 검증할 수 있다.

단위 테스트 결과 발견된 결함에 대한 개선의 시스템 반영 여부를 검증하고, 필요할
경우 시정조치를 실시할 수 있다.

교육정보

객체지향 프로그래밍 언어인 JAVA의 기본 개념을 정리하고 개발환경을 사용해서
응용소프트웨어 코딩을 위한 이론과 실습능력을 학습한다.

JAVA언어의 기초 문법 및 프로그래밍 디자인기법을 익히며, 객체 지향(Object-Orient)
개념을 정리하고, 객체의 상속성, 다형성, 캡슐화 등을 학습하고 객체지향 프로그래밍
예제를 실습한다.