세부내용 |
과목명 |
모듈 |
세부과정 |
응용SW엔지니어링 |
화면 구현(Javascript, jQuery, Bootstrap) |
• Data Type, Variable, Operator(연산자), 제어문
• function(함수), 시스템 지원 전역 함수의 사용, 가변인수
• 객체 지향 프로그래밍
• Event의 처리(INPUT, BUTTON, SUBMIT)
• Ajax(Asynchronous JavaScript and XML), XMLHttpRequest 객체
• JSON(JavaScript Object Notation) 출력의 Ajax 처리
• Javascript framework jQuery 설치
• selector를 이용한 DOM Element(태그)의 검색
• jQuery Ajax 요청의 처리, GET, POST 방식과 한글 처리
• Bootstrap 활용 |
화면 설계 |
• HTML 파일의 제작 실습(H, BR, IMG, A, UL, OL, LI)
• 스크립틀릿(Scriptlet) 실습
• JSP 코드상에서의 태그의 사용, HTML 기반 JSP 결과 출력
• 표현식(Expression), P, DIV, SPAN, DL, DT, DD, pre, xmp 태그
• Page 지시자(Directive), class import, request 내부 객체 실습
• response 내부 객체, out 내부 객체, application 내부 객체의 사용
• GET, POST Form Data 전송 방식, TEXT, TEXTAREA, PASSWORD, CSS
• placeholder, autofocus, <SELECT> ~ <OPTION>, RADIO 태그
• CHECKBOX 태그
• CSS(Cascading Style Sheet)의 사용, SPAN, DIV 기본 사용법, A 태그 |
정보시스템 이행
|
• Ubuntu download 및 VMware Player 15.5.1 설정
• Ubuntu 18.04.4 LTS VMWare 설정
• TAR 명령어, JAVA, Tomcat 설치
• MariaDB 10.3.21 다운로드 및 설정
• 업로드할 프로젝트 설정
• 웹 서비스의 운영상의 분류,
• Linux 기반 웹 호스팅 서비스의 신청, DBMS의 설정
• FTP(File Transfer Protocol) 설정
• DBMS접속 및 테이블 생성, MariaDB Client HeidiSQL 설정
• FTP(File Transfer Protocol) 설정
• SSH 접속, 톰캣 서버 재시작
• 조건 그래프, 3차원 산점도 그래프 제작 실습
• ggplot2 package를 이용한 시각화 |
서버 프로그램 구현(JSP, Spring, Spring Boot 2) |
• TOMCAT 8 Install
• JSP 스크립트 기본 문법, JSP 스크립틀릿 코드의 생성 및 실행
• Page 지시자(Directive), class import, request 내부 객체 실습
• response 내부 객체, out 내부 객체, application 내부 객체의 사용
• GET, POST Form Data 전송 방식
• CSS(Cascading Style Sheet)의 사용
• JSP 기반 공지사항의 제작 및 응용
• JSP 기반 회원 관련 제작
• JSP 기반 로그인/로그아웃, Cookie, Session의 활용
• STS(Spring Tool Suite) 설치(권장)
• Data Management(SQL Development) 설정
• servlet원리, servlet을 이용한 폼 데이터의 처리, Servlet 실습
• Spring기반 MVC의 원리, STS Spring MVC의 개발 구조 분석
• Maven 의존성 추가, Local 저장소의 설정, settings.xml
• EL(표현 언어, Expression Language)의 사용
• JSTL(JSP Standard TAG Library)의 사용
• DI(Dependency Injection)의 구현
• MyBATIS 설치 및 사용
• Spring 기반 공지사항의 제작 및 응용
• Spring 기반 자료실의 제작 및 응용
• Spring 기반 회원(관리자) 관련 기능의 제작 및 응용
• Spring boot 2 기반 공지사항의 제작 및 응용
• Spring boot 2 기반 자료실의 제작 및 응용
• Spring boot 2 기반 회원(관리자) 관련 기능의 제작 및 응용
• Filter, Interceptor의 활용
• AOP(Aspect Oriented Programming)의 구현
• Transaction 구현
• AOP + MyBATIS + Oracle기반 선언적 Trancation |
애플리케이션 테스트 수행(JUNIT) |
• 요구사항을 기반으로 테스트 계획을 수립
• JAVA 테스트, 메소드 실행 추적을 위한 Eclipse 사용
• JSP, Beans(DAO, Process) 테스트
• Spring 4.3.20 + DataSource 테스트, spring-jdbc 모듈 추가 JUNIT 테스트
• Spring + MyBATIS + Oracle 테스트
• @RunWith, @ContextConfiguration, @Before, @Test, @After 테스트 실습 |
프로그래밍 언어활용(JAVA/Python) |
• Software 개론, 자바 언어의 이해, JDK1.8.0 설정
• Eclipse JAVA Application 개발 환경 설정
• 컴파일, 자바 프로그램의 구조
• 데이터 형(data type), 연산자(Operator)
• 제어문의 실습
• OOP 특성, Class, Method, 생성자, Package, 예외처리
• Call By Reference, 메소드로 객체의 전달
• 추상 메소드, 추상 클래스(Abstract Class), 인터페이스(Interface)
• File IO 프로그램 개발
• Network 프로그램의 개발
• JDBC 프로그램의 개발
• 파이썬 설치와 환경 설정,Anaconda (Python 3) 설치
• Conda를 이용한 Python 3 기반 가상환경 생성
• 내장 데이터 타입, 숫자, 시퀀스, 매핑, set 타입
• 연산자, 제어문의 실습, 함수의 제작 실습
• 모듈과 패키지, datetime 모듈, 상속, import
• 객체지향 프로그래밍, 클래스 제작
• Class 선언, 클래스 멤버, 메소드, 인스턴스 멤버, 메소드의 실습, 생성자, 소멸자, 모듈 분리
• try ~ except를 사용한 예외 처리 |
요구사항 확인/
애플리케이션 요구사항 분석 |
• 요구사항의 파악, 요구 사항 정의(Defining Requirement)
• Usecase Diagram 작성 실습
• Usecase 제작에 따른 컨텐츠 구성도 등록 |
통합 구현 |
• Github 회원 가입 설정, 저장소(Repository) 생성 및 삭제
• EGit 설정, 팀장이 Github에 공유할 프로젝트 생성
• test 프로젝트 최초로 등록하기(프로젝트 최초 공유)
• 팀장이 Github에 공유할 새로운 프로젝트 생성, 팀 프로젝트 등록하기
• 팀원이 Github에서 프로젝트 소스를 최초로 Eclipse(STS)P로 가져오기
• 개발 소스 통합 |
인터페이스 설계/인터페이스 구현 |
• Interface 구현과 추상화
• Interface 기반 빈의 생성 및 할당
• Spring Controller Interface 구현
• Spring Process, DAO Interface 구현
• MyBATIS Interface 구현 |
애플리케이션 설계 |
• 요구사항을 참고하여 비기능 요구사항 분석
• Application, DBMS, Framework등 시스템 간 연계 설계
• JSON, HTML등 시스템간 송수신 데이터 형식 설계
• Rest를 이용한 타시스템간 연동 설계 |
빅데이터 분석 |
머신러닝 기반 데이터 분석 |
• Jupyter Notebook 커널 연동, 개발 환경 구성
• 머신러닝 개론
• 선형 회귀(Linear Regression), 성적 예측 모델 구현
• 평균 제곱근 오차(RMSE: Root Mean Square Error)
• 정규 분포 난수의 생성, 균등 분포 난수의 생성
• 경사 하강법(gradient decent)
• 다중 선형 회귀(Multiple Linear Regression) 모델
• 로지스틱 회귀(Logistic Regression) 모델의 구현,
• 하이퍼파라미터 최적화
• 기울기 소실 문제와 활성화 함수, 손실 함수
• 수치 예측 모델의 개발
• 분류(Classification) 모델 개발
• 통계 및 기하기반 머신러닝 알고리즘 |
DB엔지니어링 |
데이터베이스 요구사항 분석 |
• 실제 업무에 사용되는 문서에서 데이터베이스 요구사항 도출하기
• 사용자 인터뷰를 통해 수집된 요구사항을 업무 주제별로 분리
• 데이터 관리의 정확성을 위해 요구사항을 적절한 크기 또는 범위의 내용으로 분해 또는 통합 |
SQL응용 |
• Oracle XE 11g 개발자 버전 설치, 최소 설치 사양
• SQL Developer 설치
• Sql developer sql 파일 생성, RDBMS 테이블 결합 JOIN ERD 제작
• self join ERD 제작
• DDL(Data Definition Language) 명령어 실습
• Single-Row Function(단일행 함수) 실습
• GROUP BY, HAVING, Group Functions(그룹화 함수), SubQuery
• Transaction, Sequence, Index 관리
• VIEW 제작
• 데이터 사전(Data Dictionary), 제약 조건의 조회, 추가, 삭제
• PL/SQL의 이해, PL/SQL의 종류, PL/SQL의 구조, Script
• Stored Procedure Create & Execution - IN/OUT 매개변수
• Stored Procedure INSERT, SELECT, UPDATE, DELETE의 이용
• Stored Function, Trigger |
빅데이터 플랫폼 구축 |
빅데이터 플랫폼 요구사항 분석 |
• 빅데이터 플랫폼의 기능 및 비기능 요구사항에 대한 자료 수집 계획 수립
• 요구사항의 중요도 및 비즈니스 측면의 영향성을 분석하여 요구사항별 우선순위 지정
• 빅데이터 플랫폼 구축의 기능 및 비기능 요구사항과 제약사항을
정리하고 명세서 작성 |
빅데이터 플랫폼 아키텍처 설계 |
• 빅데이터 플랫폼 요구사항 명세서에 따라 빅데이터 플랫폼 구축에
필요한 하드웨어 및 소프트웨어 기능 자료를 검토하고 하드웨어와
소프트웨어 규격서를 작성
• 인프라구조 설계를 위하여 하드웨어와 소프트웨어 통합연동에서
고려해야 하는 사항을 검토
• 빅데이터 플랫폼 요구사항에 따른 규격서를 바탕으로 하드웨어
구조, 소프트웨어 구조를 설계 |
텐서플로 활용한 머신러닝 |
텐서플로 활용한 머신러닝 |
• Tensorflow 2 설치
• Jupyter Notebook 커널 연동, 개발 환경 구성
• 퍼셉트론(perceptron), 오차 역전파(Back Propagation)
• 기울기 소실 문제와 활성화 함수, 손실 함수
• 수치 예측 모델의 개발
• 이항 분류(Binary Classification) 모델 개발
• 와인의 종류 예측하기(이항 분류(binary classification)), 모델 업데이트 및 저장
• 다중 분류(Multi Classification) 모델 개발
• 아이리스(붓꽃) 품종 예측, 원-핫 인코딩(one-hot-encoding)
• GPU 기반, CUDA, cuDNN, Conda를 이용한 Python 3 가상환경 설정
• 컨볼루션 신경망 레이어 CNN 모델 개발
• 미국 국립 표준 기술원(NIST)의 MNIST 이용 모델 제작
• CIFAR-10, OpenCV를 이용한 이미지 인식 모델 개발
• VGG 학습모델 재사용
• 순환 신경망 레이어 RNN 모델 개발
• DQN을 이용한 강화 학습
• 강화 학습에 기반한 게임 인공 지능 구현
• Django Web Application library의 생성 및 설정
• Django application 세부 환경 설정
• DJango와 딥러닝 모델의 연동을 통한 지능형 웹 개발
• 다양한 분야의 주제에 대한 예측 모델 제작 |
Web 크롤링 |
Web 크롤링 |
• Regular Expression(정규 표현식) 기본 문법 실습
• 문자열 Crawling, Scraping, Web에서의 데이터 수집
• BeautifulSoup, Selenium, chromedriver.exe 설정, robots.txt
• Web 접속 크롤링, 한글 처리, 기본 트리 운행, SSL 처리
• 태그 id로 찾기, class가 같은 태그들 검색
• find(), find_all(), select(), findAll() 함수 실습
• 비정형 텍스트의 수집
• 이미지의 수집
• 파일 형태의 데이터 수집
• 데이터 시각화 library Matplotlib(맷플롯립)
• 대용량 데이터 연산 package(library) Numpy
• 데이터셋 생성 및 분석 package(library) Pandas |
머신러닝 기초 알고리즘 |
머신러닝 기초 알고리즘 |
-시그마(Sigma), 파이(Pi) 구현
-벡터와 행렬
-행렬의 연산, 전치 행렬
-기하벡터, 지수와 대수
-최소 제곱법 구현 실습
-1차함수 그래프 구현
-2차함수 그래프 구현
-회귀 실습, 다항식 회귀 실습
-확률 경사 하강법 구현
-내적분석
-퍼셉트론 구현
-로지스틱 회귀 실습
-시그모이드 함수 구현
-최급하강법
-우도 함수
-미분, 편미분
-합성 함수, 합성 함수의 미분
-모델 평가
-교차 검증
-평균 제곱 오차 구현
-분류 문제 검증 구현
-회귀의 정칙화 모듈 구현
-분류의 정칙화 모듈 구현
-과잉적 합과 오적합 판별 |
프로젝트 |
프로젝트 |
• 프로젝트 주제, 주제 결정, 프로젝트 주요 기술 결정
• 프로젝트 주제 개인 역활의 결정, 개발 요소 파악하기
• 개발 요소 등록
• Amateras UML 객체 분석 설계 툴 설치
• 데이터베이스 설계 ERD 툴 설치
• 요구사항의 파악, 요구 사항 정의(Defining Requirement)
• Usecase Diagram 작성 실습
• 팀 통합 프로젝트 및 개인별 개발 프로젝트의 생성
• Github 연동하기
• DBMS 설계, DBMS 정규화(Normalization)
• AmaterasERD 파일 생성, 모델링(논리적/물리적) 실습
• 테이블 3개이상의 JOIN
• Import, TABLE 구조 생성, SQL 생성
• Local 저장소의 설정
• Maven 설정, Spring 환경 설정
• 화면 Layout, Action TAG를 이용한 Mneu 페이지의 제작
• JSP Template 설정
• 화면구현(User Interface Design, Prototype, Storyboard)
• Prototype 제작 실습
• VO(DTO), XML, DAO, Controller 기초 코드 작업
• 컨텐츠별 CRUD 구현
• Frontend 제작
• 파이썬을 통한 웹 데이터 수집 및 DBMS에 저장
• 데이터 분석 및 시각화 제작
• 텐서플로 케라스 연동 각종 예측 시스템 개발
• 수집 및 분석된 데이터 Spring, Django 프레임워크로 웹 서비스 구축
• 기능/비기능 테스트
• 프로젝트 통합 및 변경 사항 수정
• 프로젝트 운영 테스트 및 수정
• 프로젝트 문서화 작업 및 발표 | |