2017 가을학기

데이터 저널리즘

담당교수

  • 이준환 (joonhwan@snu.ac.kr) | office: 64-405
  • TA: 이규호 (artandplay@snu.ac.kr)

수업 시간 및 강의실

  • 수요일 2:00 – 4:50
  • 강의실: 83-601

Course Resources

수업개요

데이터 저널리즘은 디지털 사회에서의 정보의 생산과 확산 과정에서 점차 중요해지는 데이터의 역할을 다루는 학문 분야이다. 본 과목에서는 데이터 저널리즘의 이해와 더불어 이를 수행할 수 있는 컴퓨팅 기술을 학습하는 것을 목적으로 한다. 이를 위해 1) 데이터 저널리즘의 개념과 사례를 조사, 학습하고 2) 파이썬 프로그래밍 언어를 통한 데이터 분석 기법을 학습하고 이를 데이터 저널리즘에 활용하는 방법을 다룬다.

또한 본 수업에서는 팀별 프로젝트를 통해 실전적인 데이터 저널리즘에 대한 이해와 해당 분야에 대한 포괄적 경험을 구축하고자 한다.

강의내용

  1. 파이썬을 이용한 기초 프로그래밍
  2. Python 기반의 라이브러리를 이용한 데이터 처리 프로그래밍
  3. 웹 기반 기술(web technology)
  4. 소셜 데이터 마이닝(social data mining)을 통한 데이터 분석

교재 (참고서적)

Course Schedule

< 강의계획서 >

Module 1: Data Science for Journalist

Week 1: What is Data Journalism?

  • 데이터 저널리즘의 개념 및 사례 소개

Tools for Data Journalism (Python, R 등)

  • 왜 Python 인가?
  • Python의 설치
  • Jupyter Notebook, numpy, pandas 등의 설치
  • Editor의 선택

Week 2: Python Crash Course 1

Lab Codes | Exercise

  • 기초 Python 문법 학습
  • Github 사용법

Week 3: Python Crash Course 2

Lab Codes | Exercise

  • 기초 Python 문법 학습

Week 4: Data Processing

Lab Codes | Solution Codes

  • Data cleaning process

Reading: 데이터 저널리즘 Chapter 1. 서론

Week 5: Data Analysis Using numpy and pandas 1

Lab Codes | Solution Codes

  • numpy와 pandas를 활용한 데이터의 분석 1

Reading: 데이터 저널리즘 Chapter 2. 역사

Week 6: Data Analysis Using numpy and pandas 2

Lab Codes | Solution Codes | Assignment 3 Template

  • numpy와 pandas를 활용한 데이터의 분석 2

Reading: 데이터 저널리즘 Chapter 3. 데이터 저널리즘이 왜 중요한가?

Week 7: Text Analysis Using NLTK and KoNLPy

Lab Codes | Solution Codes | Assignment 4 Template

  • NLTK를 활용한 텍스트의 처리
  • KoNLPy를 활용한 한글 텍스트의 처리
  • 데이터 시각화 방법론과 도구의 소개

Reading: 데이터 저널리즘 Chapter 4. 주목할 만한 사례들

사례발표 1

Week 8: Web Technology Basics

Extra Slide | Extra Lab Codes

  • Internet Basics
  • HTML & CSS
  • HTML 5

Reading: 데이터 저널리즘 Chapter 5. 전문직으로 가는 길

사례발표 2

Week 9: Web Data Mining 1

Lab Codes | Solution Codes

  • Crawling data from Website

Reading: 데이터 저널리즘 Chapter 6. 도구들

사례발표 3

Week 10: Web Data Mining 2

Lab Codes | Twitter Streaming Code | Crawling Using Selenium Code | Assignment 5 Template

  • Crawling data from Twitter
  • Crawling data from social media

Reading: 데이터 저널리즘 Chapter 7. 열린 정부

사례발표 4

Week 11: Robot Journalism

Robot Journalism Lab Codes | Assignment 6 (Slide)

  • 로봇저널리즘의 이해와 실습

Reading: 데이터 저널리즘 Chapter 8. 미래를 향하여

Week 12: Web Data Mining 2

Lab Codes

Module 2: Final Project

Week 13: Project Idea Presentation

Week 14: Team Meeting

Week 15: Final Presentation

과제 및 평가

  • Assignment 1: 2 CodeCademy Python 과정 수강 (5+5 points)
  • Assignment 2: 파이썬 코딩 연습 (10 points)
  • Assignment 3: 데이터 클리닝 (10 points)
  • Assignment 4: 텍스트 처리 (10 points)
  • Assignment 5: 웹상의 데이터를 수집, 분석 (30 points)
  • Assignment 6: 로봇 저널리즘 – 날씨 기사 생성 (30 points)
  • Team Assignment: 사례발표 (10 points each)
  • Team Assignment: 챕터 리뷰 (10 points each)
  • Team Project: Final Project (The Upshot 스타일의 보고서) (50 points)
  • Peer Review: 30 points
  • if (absent >= 5): fail