본문 영역으로 바로가기
데이터엔지니어링 이미지

데이터엔지니어링




강좌 소개

수업내용/목표

◎ 수업 개요
- 빅데이터 시대에 데이터 엔지니어링의 중요성은 나날이 커지고 있습니다.
- 본 강좌의 목적은 실세계 데이터 처리 파이프라인 설계 구축에 대해 알아보고, Java CollectionFramework를 활용하여 실습해 봄으로써 익숙해 지는 것입니다.

◎ 수업 목표
- 적절한 데이터 구조를 선택해야 하는 필요성을 이해한다.
- 데이터 엔지니어링을 위한 파이프라인 구성을 반복을 통해 숙달한다.
- Java Collection Framework와 호환 가능한 자신만의 데이터 구조를 만들 수 있다.
- 비교적 최근 기술인 Lambda Expression과 Parallel Stream 학습을 통해 생산성을 높이고프로그램의 효율성을 향상시킬 수 있다.

홍보/예시 영상

강좌 운영 계획

강의계획서

주차

주차명

차시명

학습활동

1

데이터엔지니어링 소개

1차시데이터 엔지니어링 소개

퀴즈
(1
문항)

2차시데이터 처리 과정

3차시실습 환경 준비

4차시. 실 세계 데이터셋 추출 및 모델링 (1) - 개념정리

5차시. 실 세계 데이터셋 추출 및 모델링 (2) - 실습

2

실 세계 데이터셋에 대한 데이터 분석

1차시실 세계 데이터셋 분석

퀴즈
(2
문항)

2차시간단한 실 세계 데이터분석과 데이터구조 사용의 필요성 이해

3차시적절한 데이터 구조 사용의 필요성 - 리스트

4차시.적절한 데이터 구조 사용의 필요성 - 해시

5차시.적절한 데이터 구조 사용의 필요성 - 트리

3

리스트기반 데이터엔지니어링 (1)
(ArrayList CRUD)

1차시. Java Collection FrameworkArrayList 소개

퀴즈
(3
문항)

2차시. ArrayList CRUD 연산 (1) - ArrayList의 생성 및 연산자실습 (isEmpty(),size(),add())

3차시. ArrayList CRUD 연산 (2) - 연산자 실습 (contains(), get(), IndexOf, lastIndexOf(), set() , remove())

4차시.ArrayList CRUD 연산 (3) - Traversal 연산자 실습 (iterator(), listIterator())

5차시.ArrayList CRUD 연산 (4) - 연산자 실습 (clear(), toArray(), sort(), subList())

4

리스트 기반 데이터 엔지니어링 (2)
(MyArrayList
구현 및 활용)

1차시. ArrayList를 통한 실 세계 데이터 분석

퀴즈
(5
문항)

토론

과제(1)

2차시. List 인터페이스와 호환 가능한 배열 기반 자료 구조 설계 (1) - MyArrayList구현 (isEmpty(), size(), add())

3차시. List 인터페이스와 호환 가능한 배열 기반 자료 구조 설계 (2) - MyArrayList 구현 (contains(), get(), indexOf(), lastIndexOf(), set(), remove())

4차시.List 인터페이스와 호환 가능한 배열 기반 자료 구조 설계 (3) - MyArrayList 구현 (iterator(), listIterator())

5차시.List 인터페이스와 호환 가능한 배열 기반 자료구조 설계 및 활용

5

리스트 기반 데이터 엔지니어링 (3)
(LinkedList CRUD)

1차시. LinkedList 소개

퀴즈
(5
문항)

2차시. LinkedList CRUD 연산 (1) - LinkedList의 생성 및 연산자 실습 (isEmpty(), add()

3차시. LinkedList CRUD 연산 (2) - 연산자 실습 (contains(), get(), indexOf(), lastIndexOf(), set(), remove())

4차시.LinkedList CRUD 연산 (3) - 연산자 실습 (iterator(), listIterator(), clear(), toArray(), sort(), subList())

5차시.LinkedList CRUD 연산 (4) - Queue로서의 LinkedList 연산자 실습 (add(), offer(),element(),peek(), remove(), poll())

6

리스트 기반 데이터 엔지니어링 (4)
(MyLinkedList
구현)

1차시. LinkedList를 통한 실 세계 데이터 분석 (1) - 삽입(Enqueue)

퀴즈
(2
문항)

 

과제(2)

2차시. LinkedList를 통한 실 세계 데이터 분석 (2) - 순회(Index기반)

3차시. LinkedList를 통한 실 세계 데이터 분석 (3) - 추출(Dequeue)

4차시.List 인터페이스의 참조 기반 자료 구조 설계 (1) - List 인터페이스와 호환 가능한 MyLinkedList 설계 (size(), isEmpty())

5차시.List 인터페이스의 참조 기반 자료 구조 설계 (2) - List 인터페이스와 호환 가능한 MyLinkedList 설계 (add(), toString(), for-each loop))

7

리스트 기반 데이터 엔지니어링 (5)
(MyLinkedList
활용)

1차시. List 인터페이스의 참조 기반 자료 구조 설계 (3) - List 인터페이스와 호환 가능한 MyLinkedList 설계 (contains(), get(), indexOf(), lastIndexOf(), add())

퀴즈
(2
문항)

 

과제(3)

2차시. List 인터페이스의 참조 기반 자료 구조 설계 (4) - List 인터페이스와 호환 가능한 MyLinkedList 설계 (set(), remove(), iterator(), listIterator())

3차시. List 인터페이스의 참조 기반 자료 구조 설계 (5) - List 인터페이스와 호환 가능한 MyLinkedList 설계 (toArray(), sort())

4차시.List, Queue 인터페이스의 참조 기반 자료구조 설계 및 활용

5차시.LinkedList를 통한 실 세계 데이터 분석

8주차 중간고사 (10문제)

9

해시 기반 데이터 엔지니어링 (1)
(HashSet CRUD)

1차시. HashSet 소개

퀴즈
(4
문항)

2차시. HashSet CRUD 연산

3차시. Hashset을 활용한 실 세계 데이터 분석 (1) - 실 세계 데이터를 통한 HashSet의 필요성

4차시.HashSet을 활용한 실 세계 데이터 분석 (2) - 실 세계 데이터를 통한 HashMap의 필요성

10

해시 기반 데이터 엔지니어링

(2)
(HashMap CRUD)

1차시. HashMap 소개

퀴즈
(3
문항)

과제(4)

2차시. HashMap CRUD 연산

3차시. HashMap을 활용한 실 세계 데이터 분석

11

해시 기반 데이터 엔지니어링

(3)
(MyHashSet
구현 및 활용)

1차시. Set 인터페이스의 해시기반 자료구조 설계

퀴즈
(3
문항)

과제(5)

2차시. Set 인터페이스의 해시기반 자료구조 활용 (1) - MyHashSet을 통한 실 세계 데이터 분석

3차시. Set 인터페이스의 해시기반 자료구조 활용 (2) - MyHashSet을 통한 실 세계 데이터 분석과 Tree의 필요성

12

트리 기반 데이터 엔지니어링

(1)
(TreeSet CRUD)

1차시. TreeSet 소개

퀴즈
(3
문항)

2차시. TreeSet CRUD 연산

3차시. TreeSet을 활용한 실 세계 데이터 분석

13

Lambda ExpressionStream

1차시. Lambda ExpressionParallel Stream의 필요성

퀴즈
(4
문항)

2차시. Lambda Expression 학습

3차시. Lambda Expression 활용

4차시.Java Collection Framework –Stream 소개

14

Stream을 통한 데이터 엔지니어링

1차시. Stream Functional Interface 활용

퀴즈
(4
문항)

2차시. Stream method 소개

3차시. CollectorsStream 병렬처리

4차시. Stream을 이용한 실 세계 데이터 분석

15주차 기말고사 (10문제)

강좌운영팀 소개

교수자

변재욱 professor
변재욱 교수
◎ 학력사항
- KAIST, Republic of Korea, Ph.D.
- KAIST, Republic of Korea, Master
- Inha University, Republic of Korea, Bachelor

◎ 경력사항
- Sejong University, Republic of Korea, Assistant Professor,
2020.3 ~
- Auto-ID Labs, KAIST, Associate Director
- Halla University, Republic of Korea, Assistant Professor

◎ 주요 연구실적
- http://home.sejong.ac.kr/researchlist.do?wslID=jwbyun

강좌지원팀

안재현 TA
안재현 TA
- jaehyen2@naver.com

강좌 수강 정보

이수/평가정보

이수/평가정보
과제명 퀴즈 과제 중간고사 기말고사
반영비율 25% 25% 25% 25%

※ 총 60% 이상 점수 획득 시, 이수증을 발급받을 수 있습니다.

- 퀴즈 : 매주차 1~5문항 (풀이기회 각 2회)
- 과제 : 4, 6, 7, 10, 11주차 (총 5회)
- 중간고사 : 8주차 10문항 (풀이기회 1번, 선다형/XO/수치 입력형)
- 기말고사 : 15주차 10문항 (풀이기회 1번, 선다형/XO/수치 입력형)

강좌 수준 및 선수요건

전공기초

교재 및 참고문헌

없음

자주 묻는 질문

세종대학교 재학생이 학점인정을 위해 본 강좌를수강할 경우 K-MOOC 강좌 이수 외에 추가적으로 수행하여야 하는 활동은 무엇인가요?

교내에서 실시되는 '오프라인 특강' 및 '오프라인 시험'에 반드시 참여해야 학점을 인정받을 수 있습니다. (평가점수반영) 오프라인 행사의 일시 및 장소는 학기 중, 본 플랫폼 공지사항을 통하여 안내할 예정입니다.

 

 

관련 강좌

현재 강좌와 관련있는 강좌를 찾을 수 없습니다.
  1. 분야

    공학
    (컴퓨터ㆍ통신)
  2. 강좌 내용의 어려운 수준을 의미합니다. 교양, 전공기초, 전공심화 순으로 난이도가 증가합니다.

    난이도

    전공기초
  3. 강좌를 개발하고 운영하는 기관입니다. 컨소시엄으로 운영 시, 대표기관의 명칭이 나타납니다

    운영기관

    세종대학교
  4. 운영 기관의 전화번호 입니다.

    전화번호

    -
  5. 강좌의 구성 주차 수를 의미합니다. (강좌를 충실히 학습하기 위해 필요한 주당 학습시간을 의미합니다.)

    주차
    (주간 학습 권장 시간)

    15주
    (주당 01시간 30분)
  6. 본 강좌 이수자에게 인정되는 학습시간으로 해당 강좌의 동영상, 과제, 시험, 퀴즈, 토론 등의 시간을 포함합니다. (강의 내용과 관련된 동영상 재생 시간의 총 합계입니다.)

    학습인정시간
    (총 동영상시간)

    25시간 00분
    (16시간 15분)
  7. 수강신청이 가능한 기간으로 해당 기간 내에만 수강신청이 가능합니다.

    수강 신청 기간

    2021.08.30 ~ 2021.12.12
  8. 강좌가 운영되고 교수지원이 이루어지는 기간입니다. 이수증은 강좌운영기간이 종료된 이후에 발급받을 수 있습니다.

    강좌 운영 기간

    2021.08.30 ~ 2021.12.12
  9. 강의 언어

    한국어
  10. 자막 언어

    한국어