2018년 6월 20일 수요일

1주/3강: 펄사(Pulsars)

[커세라 강좌 소개]자료기반 천문학(Data-Driven Astronomy)
https://www.coursera.org/learn/data-driven-astronomy

----------------------------------------------
Week 1: Thinking about data
제1주차: 자료의 개념
- Principles of computational thinking
  전자계산학에 기초한 자료처리의 원리
- Discovering pulsars in radio images
  전파망원경 관측영상에서 펄서 찾기
----------------------------------------------
----------------------------------------------
2강: 강좌의 구성 / Lesson 2: Course Overview
----------------------------------------------
3강: 펄사(Pulsars)
Lesson 3: Pulsars (동영상 강좌)/ 한글자막 / 영문자막

[강좌대본]

[0:01] 1967년에 당시 캠브리지 박사과정 학생이던 조슬린 벨은 그녀의 전파 망원경 관측자료에서 뭔가 이상한 점을 발견했다. 하늘의 한켠에서 매우 미약한 신호음이 나오는 것이었다.

[0:13] 그 신호는 매 1.3초마다 아주 정확한 간격으로 반복되었다. 그 신호는 매우 한결 같아서 벨과 그녀의 지도교수 앤터니 휴위쉬는 그들이 발견한 신호에 LGM-1 이라고 별명을 붙였는데 작은 녹색인 이라는 뜻이다. 그들은 아마도 실제 외계 생명체의 신호는 아닐 것이라고 생각했다. 하지만 이렇게 놀랍도록 주기적인 신호가 우주로부터 나온다는 것을 어떻게 설명할 수 있을까?

[00:33] 사실 이론적인 설명은 이미 오래전부터 있어 왔는데 이 신호를 포착하기 약 30년 전에 그에 대한 예측이 있었다. 1930년대 천문학자 월터 바데와 프릿츠 쯔비키가 초신성의 폭발을 설명하기 위한 연구를 했었다.

[00:45] [SOUND] 급작스런 폭발은 어느 별이 죽었다는 징표다. 그 폭발로 인해 한동안 은하 전체보다 밝게 빛난다. 중성자라고 하는 아원자 입자가 1932년에 발견되자 바데와 쯔비키는 그들의 문제를 해결 할 수 있을 것이라고 생각 했다. 그들은 늙은 거대한 별이 핵 연료를 모두 소진하면 자체 중력으로 급격히 쪼그라 들거라고 생각 했다. 그 별의 중심부는 급격히 초 밀집된 중성자의 공으로 변화할 것이다. 그리고 별의 외곽 층은 빛과 에너지의 거대한 폭발로 인해 모두 날아가 버리는데 이것이 바로 초신성이다.

[01:20] 중성자로 밀집된 중심부는 그대로 남아 소위 중성자 별이라 불린다. 태양의 두배에서 세배의 질량이 압축되어 지구상의 큰 도시 만 해질 것라는 그렇듯한 이론이다. 하지만 1960년대 까지만 해도 가설에 불과 했는데 중성자 별은 너무나 어두웠기 때문에 망원경으로 발견 할 수 없었다. 중성자 별은 그저 가설일 뿐이었다.

[01:40] 하지만 1960년대에 이르러 별이 급격히 붕괴하면 두가지 흥미로운 현상이 나타난 다는 점을 알게 됐다. 별은 전형적으로 몇일에 한번씩 자전한다. 각 운동량 법칙에 따르면 별이 붕괴하면 자전 속도가 빨라진다. 결국 매우 밀도가 높은 중성자 별의 경우 자전 속도는 초당 수회에서 수십회, 심지어 수백회에 이를 것이라 예상됐다.

[02:03] 또한 이 별은 지구처럼 자기장을 가지고 있다. 이 별이 붕괴할 때 자기장도 함께 쪼그라 들었다. 결국 중성자별의 자기장도 믿을 수 없을 만큼 높은 밀도의 자기장을 가졌을 것이다. 중성자 별을 둘러싼 전기를 띈 입자들과 초고온의 플라즈마들이 별의 자기 극을 향해 쏟아진다. 결국 양 극에서 외부로 강력한 불빛처럼 분출된다.

[02:26] 이 두가지 이론을 합쳐 중성자 별이 마치 등대처럼 되는 것이다. 공간에서 빠르게 회전하는 에너지 분출 기둥이 우주 전역으로 반짝이게 된다. 벨과 휴위쉬가 그들의 전파 망원경으로 발견한 느닷없는 신호의 정체가 밝혀진 것이다. 그 신호는 작은 녹색 외계인이 지구와 통하기 위해 보내는 신호가 아니었다. 벨과 휴위시가 발견한 주기적인 펄스는 자전하는 중성자 별이 매 1.3초마다 지구를 훑었기 때문이었다. 그외 다른 천문학자들도 하늘을 관측하여 더 많은 중성자 별을 찾아냈다. 주기가 다소 느린 것도 있고 어떤 것은 아주 빨랐다. 이런 별들은 펄사(Pulsars)라고 한다.
-----------------------------------------------
[추가문헌]
1. "An Introduction to the Pulsars"(CSIRO),
     http://www.atnf.csiro.au/outreach/education/everyone/pulsars/index.html
2. "Pulsar Properties"(NARO),
     https://www.cv.nrao.edu/course/astr534/Pulsars.html
-----------------------------------------------
[퀴즈]
Pulsars: test your understanding
Quiz, 5 questions

1. Why are neutron stars expected to spin rapidly?
a) Neutron stars have high temperatures.
b) Neutron stars conserve angular momentum when they collapse.
c) Neutron stars have high densities.
d) Neutron stars gain energy from the supernova explosion that formed them.

2. Why can’t pulsars be spinning white dwarf stars?
a) A white dwarf spinning that fast would fly apart.
b) White dwarfs are not dense enough.
c) White dwarfs are not that common.
d) White dwarfs do not have magnetic fields.

3. Which of the following would you expect to be about the same density as a neutron star?
a) An atomic nucleus.
b) The Sun.
c) The Earth's core.
d) A white dwarf.

4. Approximately how many pulses per second would you expect from a ‘millisecond’ pulsar?
a) 0.001
b) 1000
c) 1000000
d) 1

5. Why does radio emission from pulsars come as pulses?
a) Electrons near the pulsar travel in spirals around magnetic feld lines.
b) The surface of the pulsar expands and contracts with a regular period.
c) The rotation axis is not aligned with the magnetic axis.
d) Radio waves from the pulsar are dispersed as they travel through the interstellar medium.

----------
1. (b), 2. (a), 3. (a), 4. (b), 5. (c)
----------

1주/2강: 강좌의 구성

[커세라 강좌 소개]자료기반 천문학(Data-Driven Astronomy)
https://www.coursera.org/learn/data-driven-astronomy

----------------------------------------------
Week 1: Thinking about data
제1주차: 자료의 개념
- Principles of computational thinking
  전자계산학에 기초한 자료처리의 원리
- Discovering pulsars in radio images
  전파망원경 관측영상에서 펄서 찾기
----------------------------------------------
----------------------------------------------
2강: 강좌의 구성
Lesson 2: Course Overview (동영상 강좌) 한글자막 / 영문자막

[강좌대본]

[0:00] 이 강좌는 지난 십여년 간 과학자들에게 전산과학과 정보기술을 가르쳤던 경험을 기반으로​ 준비 됐습니다. 여러분은 이 강좌가 이론보다 실무적 기술이 ​강조되었다는 점을 알게될 것입니다. 이 강좌는 교과서에 나오는 계산 문제를 ​푸는 방법을 배우려는 것이 아닙니다.

[0:19] 우리의 목표는 여러분들에게 기본원리에​ ​기초한 탄탄한 배경지식을 제공하는 것입니다. 오늘날 현직 천문학자들이​ ​실제로 직면한 문제를 살펴고 실제 천문관측자료를 다루기 버겁다는 것을 ​경험하게 될 것입니다

[0:32] 매주 학습에 해당하는 일련의 짧은 동영상 강좌들이 제공될 겁니다. 아울러 학습에 필요한 과학적 배경지식을 설명하는 짧은 동영상 또한 제공 됩니다.

[0:43] 이 강좌의 중요한 부분은 온-라인 프로그래밍 활동으로 온-라인 상에서 주어진 내용의 학습을 완료해야 합니다. 아울러 최신판의 파이썬과 과학관련 패키지를 여러분의 컴퓨터에 설치하길 권장합니다. 그리하여 이 강좌에서 배운코드를 자습으로 ​완성할 수 있습니다.

[1:01] 이 강좌에서 연습으로 다룰 모든 자료들은 과학자들이  그들의 연구에 사용하는 것과동일합니다. 예제 그 어느 것도 허투르거나 짜여진 것은 없습니다. 다만, 우리의 가상 시스템에서 빠르게 계산이 이뤄질 수 있도록 큰 자료들을 잘게 나누기는 할 겁니다.

[1:15] 어떤 경우든 사용한 자료의 원본을 볼 수 있는 ​링크를 제공할 것이므로 원본 자료를 찾아 학습자 나름대로 연구할 기회를​ ​가져볼 수 있을 겁니다.

[1:23] 또한 과학적 논문의 링크도 제시할 것이므로 좀더 깊이 알고 싶다면 해당 자료나 기법을 찾아 보세요.

[1:31] 우리는 모든 질문에 대해 직접적이든 게시판을 통하든 응대할 것이나, 가급적 게시판을 활용해 주세요. 게시판에는 이미 학습을 마친 다양한 수준의 학습자들이 활동 하고 있으니까요. 그리고 게시판에서 동료 학습자들끼리 도움을 주고 조교들로부터 추가적인 지원을 얻을 수 있을 겁니다.

[1:46] 이 강좌를 재미있게 수강하시길 바라며 여기에서 다루는 주제들이 여러분들이 원하던 ​방향에 부합되길 바랍니다. 자, 이제 자료기반 천문학의 과학수업에 빠져 보기로 합시다.

--------------------------------

[실습]

1. 파이썬(Python) 설치
- 온-라인 상에서 학습 서버에 로그인
- 학습자의 자신의 컴퓨터에서 파이썬을 실행 시키고자 한다면 '아나콘다 파이썬' 추천.
- 파이썬 학습 교재: A Byte of Python [한글판]

2. Hello, World! 출력하기

# Filename: program.py
# this is comment
print("Hello, World!")

3. 간단한 함수의 작성과 사용법

# Filename: program.py
# Write your greet function definition below:
def greet(message):
  szRet = 'Hello,'+' '+message+'!'
  return szRet

# Put your test code in here, since it will be run by clicking Run or Terminal.
if __name__ == '__main__':
  print(greet('World'))
  print(greet('Grok'))
  print(greet('123'))

1주/1강: 폭주하는 관측 자료

[커세라 강좌 소개]자료기반 천문학(Data-Driven Astronomy)
https://www.coursera.org/learn/data-driven-astronomy

----------------------------------------------
Week 1: Thinking about data
제1주차: 자료의 개념
- Principles of computational thinking
  전자계산학에 기초한 자료처리의 원리
- Discovering pulsars in radio images
  전파망원경 관측영상에서 펄서 찾기
----------------------------------------------
1강: 폭주하는 관측 자료
Lesson 1: Thinking about data (동영상 강좌) / 한글자막 / 영문자막

[강좌대본]

[0:00] 안녕하세요. 자료기반 천문학 무크 강좌에 오신 것을 환영합니다. 저는 시드니 대학에 근무하는 타라 머피 입니다. 전파 천문학을 연구하고 전산 물리학을 가르치고 있지요.

[0:15] 이 강좌의 구성에 대해 다음 동영상 강좌에서 소개해 드리기로 하고, 이번 편부터 강좌에 직접 들어가 보죠.

[0:22] 태초에 인간이 하늘을 쳐다보기 시작한 이래 우주란 무엇이며 우리의 존재에 대해 커다란 질문을 품었죠. 우리는 어떤 존재일까요? 계절의 변화가 생기는 요인은 무엇일까? 지구는 어떻게 만들어 졌을까?

[0:32] 천문학이 과학의 영역에 들면서 우리는 수많은 질문을 던지기 시작했고 매우 정밀한 관측을 해왔습니다.

[0:38] 오늘날 우리는 우주에 대해 더 많은 것을 알게 되었으나 여전히 답할 수 없는 것들이 많습니다. 일예로, 최초의 별과 은하는 어떻게 만들어 졌을까? 암흑 물질의 정체는 무엇일까? 그리고 다른 행성에도 생명체가 있을까?

[0:54] 현대 천문학자들은 세계적으로 가장 발전된 과학측정 도구들을 사용해 이런 여러 질문에 답하고자 애쓰고 있죠. 하지만 이런 장비들에서 얻는 자료의 양이 너무나 엄청나서 하룻밤에 수 백만 기가(페타)바이트의 자료가 쌓입니다.

[1:04] 게다가 우리가 관측 가능한 영역의 우주를 재구성하는 모의 실험도 그에 못지 않게 복잡합니다. 그 과정에서 해석하기 어려운 엄청난 양의 자료들이 생산되죠.

[1:13] 천문학은 진정 자료들로 넘쳐나는 시대를 맞고 있습니다. 이는 과거에 해왔던 전통적은 접근 방법으로는 더이상 해석이 불가능 하다는 것을 의미하죠. 방대하고 복잡한 자료들로 인해 쉬워보이던 문제들도 풀기 어렵게 만듭니다. 그리하여 우리가 관측하고 모의실험하여 얻은 자료를 분석하고 다루고 재구성할 때 컴퓨터를 사용한 방법이 필요함을 느끼게 되었습니다.

[1:33] 대부분의 측정장비들은 수퍼 컴퓨터 시설에 물려 있고 전문 소프트웨어 기술자들이 취급하며 자료창고 전문가들에 의해 관리됩니다. 따라서 여러분들이 수백만 기가바이트 분량의 자료와 수 평방 키로미터에 널려있는 배열형 안테나를 직접 다루는 경우는 없습니다. 하지만 수집된 데이터가 방대하다는 것 만으로도 큰 난관이 아닐 수 없죠.

[1:49] 모든 과학자들 마다 여전히 우리가 중간 규모라고 할만한 양의 자료를 다뤄야 합니다. 그 일단의 자료들도 분량이 방대하여 수작업으로 저리하기는 불가능 하죠. 그 자료들 간의 복잡도 또한 매우 높기 때문에 문제를 풀기 위해서는 우리가 이제것 생각했던 방법을 바꿔야 할 것입니다. 그렇다면 도데체 어떤 방법이 있다는 것까요?

[2:06] 제대로 처리하지 못하여 방대해진 자료로 인해 쉬운 문제들도 매우 매우 어렵게 만듭니다. 이런 경우를 여러분과 함께 생각해 보기로 합시다.

[2:14] 저는 매해 학부 학생들의 연구과제를 지도 하고 있습니다. 그중 몇년전 한 학생이 잡음이 깔린 여러 관측 영상에서 미약한 펄서 신호를 찾아내려 한 적이 있었습니다. 이에 대한 자세한 사항은 다음 강좌에서 살펴볼 것입니다.

[2:27] 저는 이 학생에게 여러장의 관측영상을 겹쳐 쌓아 평균을 구하는 방법을 조언해 주었습니다. 말 그대로 모든 관측 영상을 더하여 신호대 잡음의 비율을 높이는 방법이죠. 그 학생은 이를 수행할 아주 깔끔한 파이썬 스크립트를 작성 했습니다. 그리고 다음 회의 때 그것을 선보이기로 했죠.

[2:42] 그 학생이 얻은 결과를 그의 동료들과 논의하는 중에 누군가 평균(mean)을 취하는 것보다 중간값(median)을 취하는 방법이 통계적으로 더 안정적이라는 사실을 제안 했었죠.

[2:48] 아마도 여러분도 고등학교 때 이에 대해 배웠을 겁니다. 기억나지 않는 다면 그이유에 대해 나중에 공부할 수 있는 자료를 제공 하겠습니다.

[2:54] 결국 그 학생은 평균값 대신 중간값으로 계산하도록 그의 코드를 변경 하였고 소규모 자료에 적용해 보고 아주 만족한 결과를 얻었습니다.

[3:03] 그후 우리 시스템 관리자로부터 전자우편을 받았는데 내가 지도하는 학생 하나가 우리 컴퓨터 망 전체를 점유헤서 정체시키고 있다고 했죠. 그래서 무슨 일이 진행중인지 문의하는 내용 이었습니다.

[3:13] 결국 시스템 관리자는 그학생이 띄워놓은 작업을 중지 시키고 다른 사람들이 컴퓨터 사용을 계속 할 수 있게 했죠. 그나저나 무슨일이 있었던 걸까요? 그저 단순한 작업을 할 뿐이었는데 이렇게 큰 문제로 비화 될 수 있었을까? 이번 강좌의 첫번째 내용이 바로 이 질문에 대한 답을 하려는 것입니다.

[3:28] 이 강좌에서 천문학에 관련된 질문에 답변하기 위한 자료를 어떻게 다루는지, 과학적 규범에 맞게 적용할 수 있는 어떤 기법이 있는지 보여줄 것입니다. 따라서 이 강좌는 컴퓨터를 활용한 접근에 대해 좀더 배우고자하는 천문가, 현대 천문학에 대해 좀더 깊이 배우고 싶은 프로그래머, 자료해석이나 코딩 능력을 향상 시키고자 하는 학생에게 유용할 겁니다.

[3:50] 학습의 목표는 여러분의 관심 영역에서 좀더 효율적이며 효과적인 기술을 갖도록 돕고자하는 것이며 천문학은 그저 흥미로운 예제로서 활용되었습니다.

[3:58] 전 과정을 통해 여러분은 일련의 연계된 자료들을 어떻게 관리할 것인지 배우게 될 것이며 그 결과 과학적 업무를 좀더 효과적으로 수행할 수 있게 될 것입니다. 기계학습을 활용해 당신이 가진 자료로부터 특징을 자동적으로 찾아내는 방법을 배우게 됩니다. 그리고 좀더 현명한 방법으로 알고리즘을 생각해 내는지 배울 것입니다.

[4:11] 학습과정에서 자료구조에 대해 이야기 할 것이며 실제적인 예제를 부과 함으로써 최고의 코딩 연습을 해볼 겁니다. 뿐만 아니라 천문학의 주요한 주제거리 전반을 다루게 될텐데 행성, 펄사 블랙혹 등이 포함되죠. 관심이 간다면 우리와 함께 천문학은 빅 데이터의 시대에 어떻게 대처해 나가는지 탐구해 보기로 합시다.




2018년 6월 14일 목요일

[커세라 강좌 소개]자료기반 천문학(Data-Driven Astronomy)

[커세라 강좌 소개]자료기반 천문학(Data-Driven Astronomy)
https://www.coursera.org/learn/data-driven-astronomy

온라인 대중 강좌(MOOC)를 진행하는 커세라(Coursera)의 천문학 관련 강좌입니다. 천체 관측자료를 IT 기술을 동원하여 분석하는 기법을 소개합니다. 즐겨듣는 팟캐스트 '과학과 사람들'에서 최근에 '어른의 코딩' 편이 방송 되었습니다. '코딩은 우리 주변에' 있고 할 줄 알면 유용할 거라며 공학 뿐만 아니라 '생물', '화학' 분야의 연구에도 활용된다며 여러 예를 들어 주셨는데 막상 천문학의 예가 빠졌더군요. 사실 현대 천문학의 발전 동력은 IT 기술이었는데 말이죠. 모든 천문 관측 자료(지상망원경, 우주망원경, 광학망원경 전파망원경을 모두 망라해서)는 전부 디지털 형태로 저장되고 배포됩니다. 이 자료들을 분석도 컴퓨터 소프트웨어를 사용하죠. 대개 영상처리와 통계 관련 프로그램이 활용됩니다. 이 강좌는 파이썬(Python) 코딩으로 대규모 천체관측 자료를 처리하는 기법을 공부합니다.

관련 강좌:
1. AstroTech: Science and Technology behind Astronomical Discovery
   https://www.coursera.org/learn/astronomy-technology
2. Analyzing the Universe
   https://www.coursera.org/learn/analyze
------------------------

Data-Driven Astronomy (자료기반 천문학)
https://www.coursera.org/learn/data-driven-astronomy

About this course:
이 강좌는,

Science is undergoing a data explosion, and astronomy is leading the way.
과학 분야에서 축적되는 자료의 양적 증가는 폭발적이다. 그중에 천문학분야가 그 선두에 있다.
Modern telescopes produce terabytes of data per observation, and the simulations required to model our observable Universe push supercomputers to their limits.
현대 천체망원경에서 생산되는 자료의 크기는 한회분 관측 대마다 거의 테라바이트(1,000기가 바이트)에 달하며 우리가 관측 가능한 우주 모델을 시뮬레이션 해보는데 만 해도 슈퍼 컴퓨터의 한계 성능을 요구한다.
To analyse this data scientists need to be able to think computationally to solve problems.
이렇게 방대한 자료를 분석하기 위해 과학자들은 문제 해결을 위한 컴퓨터 활용의 필요를 가지게 됐다.
In this course you will investigate the challenges of working with large data-sets:
이 강좌에서 방대한 일련의 자료들을 다루는어려움을 해결하는데 어떤 방법이 있는지 배울 것이다.

how to implement algorithms that work;
알고리즘들이 컴퓨터에서 실행되도록 구현하는 방법;
how to use databases to manage your data;
관측자료를 활용하고 그로부터 얻은 자료를 관리하는 방법;
and how to learn from your data with machine learning tools.
수집한 자료에서 기계학습 도구(자동분석-통계처리, 근사 곡선 그리기 등- 소프트웨어)로 유용한 결과를 도출해 내는 방법;

The focus is on practical skills - all the activities will be done in Python 3, a modern programming language used throughout astronomy.
매주 학습의 끝에 주어지는 모든 연습 문제는 천문학 전반에 두루 사용되고 있는 파이썬 3을 활용한 코딩에 촛점이 맞춰있다.

Regardless of whether you’re already a scientist, studying to become one, or just interested in how modern astronomy works ‘under the bonnet’, this course will help you explore astronomy: from planets, to pulsars to black holes.
이 강좌의 수강자가 이미 과학자이든, 학생이든 또는 앞으로 천문학을 꿈꾸는 이든 아니면 그져 현대 천문학의 업적에 흥미를 가진 '구경꾼'이건 상관 없이 현대 천문학을 둘러보는데 도움을 줄 것이다. 그 관측 대상은 행성에서 펄서 그리고 블랙홀을 아우른다.

Each week will also have an interview with a data-driven astronomy expert.
각 주마다 자료기반 천문학 전문가의 인터뷰를 실도록 하겠다.

Note that some knowledge of Python is assumed, including variables, control structures, data structures, functions, and working with files.
이 강좌의 수강자는 변수, 제어문, 자료구조, 함수 그리고 파일 다루기를 포함한 어느 정도 파이썬에 대한 사전지식을 갖췄다고 가정한다,

Course outline:
강좌개요:



-----------------------------------------------------------------
Week 1: Thinking about data
제1주차: 자료의 개념

- Principles of computational thinking
  전자계산학에 기초한 자료처리의 원리
- Discovering pulsars in radio images
  전파망원경 관측영상에서 펄서 찾기

1강: 폭주하는 관측 자료 /Thinking about data
2강: 강좌의 구성 /Course Overview
3강: 펄사/Pulsars
4강: 관측영상 겹쳐쌓기 / Diving In: Image Stacking
5강: 난관에 봉착하다 / The Challenge: What went wrong?
6강: 개선책을 찾다 / The Solution: Improving your method
1주/요약Module Summary
1주/천문학자와 인터뷰 / Interview with Aris Karastergiou

-----------------------------------------------------------------
Week 2: Big data makes things slow
제2주차: 자료가 방대해지면 뭘하든 느려진다.

- How to work out the time complexity of algorithms
  복잡한 계산을 빠르게 수행하는 방법
- Exploring the black holes at the centers of massive galaxies
  거대 은하의 중심부 블랙 홀 찾기

1강: 방대한 자료는 일을 더디게 만든다 / Big Data makes things slow
2강: 초거대 블랙홀과 활동성 은하 핵(AGN) / Supermassive Black Hole
3강: 교차정합(cross-matching) 알고리즘에 대하여 / What is cross-matching?
4강: 실행 시간 복잡도 평가 / Evaluating Time Complexity
5강: 더욱 빠른 알고리즘 / A (much) faster algorithm
2주/요약: 대량의 관측자료분석, 누군가 같은 고민을 했을 것이다. / Mudule Summary
2주/부록: 천문학자 브랜든 브루어와의 인터뷰( 한글자막)/Interview with Brandon Brewer

-----------------------------------------------------------------
Week 3: Querying data using SQL
제3주차: 스퀠(SQL)을 이용한 자료 조회

- How to use databases to analyse your data
  획득한 자료를 분석하기 위해 데이터베이스 활용하는 법
- Investigating exoplanets in other solar systems
  다른 태양계의 외계행성 탐사

1강: 조직적인 자료관리(데이터베이스 활용 입문) / Organizing your data
2강: 외계 행성을 찾아서 / Other world, Distant sun: Search for exoplanet
3강: SQL로 천문관측 데이터베이스 자료 검색 / Querying Database with SQL
4강: SQL 약간 고급 사용법 / More Advanced SQL
5강: SQL의 표 합치기(거주가능 외계행성) / Joining Table in SQL
6강: 3주차 강의 요약 / Module Summary
3주/부록: 천문학자 존 젠킨스와 인터뷰 / Interview with Jon Jenkins

-----------------------------------------------------------------
Week 4: Managing your data
제4주차: 획득 자료 관리

- How to set up databases to manage your data
  수집한 자료의 관리를 위한 데이터 베이스 구축하기
- Exploring the life cycle of stars in our Galaxy
  우리 은하내의 별의 일생 탐구

1강: 대용량 자료관리(입문) / Managing your Big Data
2강: 별의 탄생과 죽음의 과정 / The Lifecycle of Stars
3강: 데이터베이스 만들기 / Setting up your own database
4강: 성단 탐구 / Exploring a Star Cluster
4주/요약 / Module Summary
4주/부록: 천문학자 에밀리 페트로프와 인터뷰 / Bonus: Interview with Emily Petroff

-----------------------------------------------------------------
Week 5: Learning from data: regression
제5주차: 자료에서 정보 얻어내기(회귀/경향성 분석)

- Using machine learning tools to investigate your data
  수집한 자료를 조사하기 위해 기계학습 도구(분석 소프트웨어)를 활용하기
- Calculating the red-shifts of distant galaxies
  먼 은하의 적색편이 계산하기

1강: 자료 가지고 학습하기 / Learning from Data
2강: 우주의 규모, 거리측정 / The Cosmological Distance Scale
3강: 기계 학습의 기초 / What is machine learning
4강: 결정 트리 분류기 / Decision Tree Classifier
5강: 회귀 결정 트리로 적색편이 측정 / Estimating Redshifts using Regression
5주/요약 / Module Summary
5주/부록 천문학자 아쉬쉬 마하발과 인터뷰 / Interview with Ashish Mahabal

-----------------------------------------------------------------
Week 6: Learning from data: classification
제6주차: 자료에서 정보 얻어내기(자료분류)

- Using machine learning tools to classify your data
  수집한 자료를 분류하기 위해 기계학습 도구(분석 소프트웨어)를 활용하기
- Investigating different types of galaxies
  서로다른 종류의 은하 찾기

1강: 관측 자료 분류(Classification) / Learning from Data: Classification
2강: 은하의 형태 종류 / Types of Galaxies
3강: 형태에 따른 은하 분류 / Morphological Classification of Galaxies
4강: 결정 트리 분류기의 한계 / Limitation of Decision Tree Classifier
5강: 개선된 앙상블 분류기 / Improving your result with Ensemble Classifier
6주/ 요약 / Module Summary
6주/부록 천문학자 카렌 마스터스와 인터뷰 / Interview with Karen Masters

-----------------------------------------------------------------

"Data-Driven Astronomy" 수강 완료 인증서

2018년 6월 7일 목요일

프로그래밍과 코딩

프로그래밍과 코딩

즐겨듣는 팟캐스트 '과학과 사람들'에서 최근에 '어른의 코딩' 편이 방송 되었습니다. 요즘 초등학생들도 '코딩'을 배워야 한다니 학부모 되시는 분들은 참 고달푸게 되었다는 생각이 들더군요. '영포자(영어포기자)' 와 '수포자(수학포기자)'가 된 것도 서러운데 이젠 '코포자(코딩포기자)' 범주에 끼게 되었으니까요.

어떻게든 하다하다 않되서 결국 '포기자'라며 자조합니다만 솔직히 애들만 아니면 그거 뭔지 몰라도 바르게 사는데 큰 지장 없는 것 아닙니까? 그렇더라도 누구나 아는 듯이 얘기하고 있으니 '프로그래밍과 코딩'의 차이가 뭔지 알아나 보죠.

'프로그래밍'을 할줄 몰라도 크게 불편하지 않았습니다. 그게 뭐하는 것인지 정도는 아니까요. 그런데 '코딩'이라는 말을 합니다. 그것을 모르면 시대에 뒤쳐진 사람 취급 당할 것 만 같습니다. 용기를 내자는 의미로 한마디 하자면 '프로그래밍'이나 '코딩'이나 같은 말입니다. 소위 IT 업자들의 제품 팔아먹을 협박용 단어라고 단언 하고 싶군요.

그래도 '말'이 다르니 뭔가 다른점이 있을 것 같아 한번 찾아봤습니다.

'프로그램과 코딩의 차이'

일단, 다행 스럽게도 나만 모르는게 아닌가 봅니다. 수많은 설명글들이 검색됩니다. 몇몇 글들을 읽어보니 뭔소리인지 모를말 만 써있군요. 이상한 그림과 더 생경한 '영어'도 등장 하구요. 원래 영어 였으니 영문으로 검색해 봅니다.

'Programming vs Coding'

이 말의 원조인 영어권에서도 매 한가지 입니다. 전 지구적인 'IT 농간'임이 분면 합니다. 그중 그래도 간략하게 써놓은 짧은 글이 명쾌 하길래 링크를 달아 놓습니다.

'Coding vs. Programming — Battle of the Terms!'

영어 울렁증이! 그까짓 코딩이 뭐라고 '영포자'를 두번 죽입니까. 번역기를 돌려보니 대충 내용이 비슷하더군요. (IT 만세! 4차산업 만세!) '프로그래밍'과 '코딩'의 차이는 한마디로 '바보'와 '멍청이'의 의미차이라고 할까요.

'프로그래밍'은 프로그램 하는 겁니다. 컴퓨터에게 시킬 일의 내용을 순서에 맞게 적어주는 행위죠. 어떤 행사의 '순서'를 프로그램이라고 하죠. 행사의 세부 내용을 시간과 함께 나열해 놓은겁니다. 사람이 읽어볼 내용이므로 사람의 언어를 씁니다. 기계가 알아보게 하려면 '컴퓨터 언어'를 써야겠지요. 여러종류의 '컴퓨터 언어'라는 것이 있으니 그런갑다 합니다. 일반인들은 이 언어를 안다해도 어디 써먹을 때도 없습니다.

IBM이나 인텔 그리고 수많은 컴퓨터 업계 회사들이 '컴퓨터 언어'를 기계가 알아먹도록 번역해 주는 제품을 팝니다. 그런데 이 '번역기'라는 제품은 아주 소수의 종사자들에게나 소용이 닿는 겁니다. 컴퓨터 언어 번역기(BASIC)를 가정용 컴퓨터에 담아 엄청 팔아먹었죠. 결국엔 컴퓨터 언어보다는 가정용 게임기로 끝을 보긴 했습니다. 8~90년대 넘쳐났던 컴퓨터 학원에서 이런 쓸데없는 '컴퓨터 언어'를 가르쳤다니, 지금 되집어 보면 역시 컴퓨터 업계에 당했다는 기분 밖에 안듭니다. 그렇게 우리 부모님들이 주머니를 털어먹은 덕에 오늘날의 IT 전성시대가 오긴 했습니다. 그나저나 많던 컴퓨터 학원은 어디로 갔을까? 이와 함께 '프로그래밍' 이라는 단어도 구시대의 유물이 되었죠.

게임기로 그리고 동영상 재생기로 재미를 볼 때까지 본 컴퓨터 업계는 새로운 돌파구를 찾기로 합니다. 이제 막 태어난 세대들에게 '프로그밍'을 가르치기로 합니다. 한세대 걸러 부모들의 주머니를 털기로 한거죠. 이미 한번 당했던 기억이 살아있는 '프로그래밍' 이라는 단어로는 먹히지 않을게 뻔 합니다. 그리고 '프로그래밍'의 영업 실패 원인을 분석해 보니 '문자'를 쓰라고 해서 어렵기도 하고 지루하기도 했기에 사람들의 시선을 지속적으로 붙잡지 못했던 겁니다. 새롭게 전략을 짰죠. '프로그램'을 문자 이외에 '그림'으로도 짤 수 있게 합니다. 그리고 말도 살짝 바꿉니다. '코딩' 이라고. '그림'은 직관성도 좋아서 문자를 제대로 익히지 못한 어린아이들에게도 '영업' 할 수 있게 되었습니다. '프로그래밍'을 포기했던 부모세대에게도 신기하기만 합니다. 그림으로 플로우 차트를 그렸더니 소프트웨어가 만들어 진다니 이 어찌 감격이 아니겠습니까! 이제 아이들이 컴퓨터 앞에 앉아 게임만 한다며 타박하던 부모들의 눈을 컴퓨터 신동으로 바라보게 만들어 놓은 단어가 바로 '코딩' 입니다. '프로그래밍'이 되었던 '코딩'이 되었던 목적은 불분명 한 채 '신기함'으로 포장 되어 있습니다. 물론, '코딩'을 배운 아이가 자라면서 더 많은 기회를 잡을 확율이 높죠. 영어나 수학은 않그럽답니까 만은...

요약하자면, '프로그래밍'은 '작문(글)', '코딩'은 '저작(글+그림)'의 차이라고 보면 될 겁니다. 어쨌든 소프트웨어를 만들 수 있는 능력을 가진 사람이 늘어날 수록 다양한 소프트웨어가 만들어질 것이며 그덕에 소프트웨어 사용자인 일반인들의 생활이 편리해 질 수 있을지도 모릅니다. '코딩'을 배우면서 무슨 내용을 채울 건데? 라는 질문을 해봐야 합니다. 글을 쓸 줄안다고 '작가'일 필요도 없고 '독자'와 '작가'는 분명 다르니까요. 주머니를 털렸든 몸을 갈아넣었든 '프로그래밍'세대가 지금의 IT 산업을 일군 바탕이 되었다고 합니다. '프로그래밍' 세대는 적어도 '영어' '수학'을 어찌 해보려고 시도는 했는데 짐이 하나더 늘어난 '코딩'세대가 만들어낼 미래는 어찌될지 기대보다는 걱정이 됩니다.