# 《Astrohackers-TW: 第一屆興大附中天文黑客松(2017/02/19)》 ## 什麼是天文黑客松(hackathon)? 黑客松原指幾個人聚在一起以馬拉松的方式,在一段密集的時間內(一晚、一天、一週)協助合作完成程式開發的活動。但近年來,黑客松的活動內容不限於程式開發,更觸及各種領域,像是天文領域,參與者可透過黑客松的方式,共同開發天文研究/教學所需的軟硬體工具、合作編製天文教學所用的教材/具...等等。 關於黑客松的更多介紹,請見[黑客松台灣](https://hackathon.tw/)網站。 ## 流程 (2017/2/19早上10點開始,下午5點結束,報名http://goo.gl/SebFHB) 帶領者: 蘇羿豪 1. [開場](https://hackmd.io/p/SJbMb2rYe): 帶領者分享自身參與天文黑客松[Astro Hack Week](http://astrohackweek.org)的經驗,並以一個天文教學軟體的開發過程當作範例,來說明黑客松的進行方式 (約20分鐘) 2. 帶領者介紹協作工具 - [HackMD](https://hackmd.io/) 協作平台 (目的: 將小組的討論內容彙整到一個能共同編輯的線上文件中) (約10分鐘) 3. 參與者介紹自己準備要hack的專案、分組進行黑客松 (時間視參與人數而定,約1.5小時) 4. 午餐、繼續黑客松 (約1小時, 12:00~13:00) 5. Python 基本語法教學與VPython介紹 (約1小時) (講者: 彭宣儒) 6. 繼續黑客松 (約1小時) 7. 帶領者介紹協作工具 - 版本控制工具[git](https://git-scm.com/) 及[GitHub](https://github.com/) (約30分鐘) (目的: 將小組的黑客松成果上傳分享到網路上,並讓更多人未來可以擴充該專案) 8. 繼續黑客松 (約1.5小時) 9. 參與者報告一日黑客松成果 (約0.5~1小時) * 若專案涉及程式開發,建議以Python程式語言開發,帶領者會在黑客松期間指引對於使用Python有疑惑的人 ## 參與者預先準備事項 * 在Windows下建立可執行VPython及其他科學運算套件的Python環境: 1. 安裝[Anaconda Python 2.7 version](https://www.continuum.io/downloads) 2. 開啟Anaconda prompt 輸入以下兩行指令以安裝[VPython 6](http://vpython.org/): ```shell pip install vpython --upgrade conda install -c https://conda.binstar.org/mwcraig vpython ``` * 註冊[GitHub](https://github.com/)帳號,並在電腦中安裝[git](https://git-scm.com/) * 註冊[HackMD](https://hackmd.io/)帳號 * 要hack的專案的初步想法 * Python 基本語法 (可參考帶領者拙作[Python在天文研究上的應用-基礎(一)(二)](http://www.astro.ncu.edu.tw/~yhsu/yhsu/python-notes/),或者在[CodeCombat](http://www.playpcesor.com/2015/11/codecombat.html)平台上藉由玩遊戲的過程學Python) ## 專案提議、想解決的問題 * 「天文學Python」組 (2/19 第一次黑客松的重點) 以高中地科所教的天文知識(或大學的普通天文學)為題,來學習Python語法與應用,例如: * 如何應用Python畫出赫羅圖? 知識補充: * [恆星的生死簿-赫羅圖](https://www.asiaa.sinica.edu.tw/IAAQ/pdf/2016Q3.pdf) (資料來源: 中研院天文所天聞季報2016年秋季號) 類似專案: * [Construction of Hertzsprung-Russell diagrams in Python](http://balbuceosastropy.blogspot.tw/2014/03/construction-of-hertzsprung-russell.html) * [Python notebook for retrieving and transforming star catalog data and using it to generate a Hertzsprung-Russell diagram. ](https://github.com/RobertoIA/Hertzsprung-Russell) * 如何應用Python演示恆星視差法量測星體距離? 知識補充: * [量天尺](https://sites.google.com/a/asiaa.sinica.edu.tw/iaaq-on-web/2012Q4) (資料來源: 中研院天文所天聞季報2012年冬季號) * ... 註: 可以藉由[VPython](http://tcjd71.wixsite.com/vpython/vpython-org)來演示高中地科課中所學的天文概念 * 「網路爬蟲」組 (未來的黑客松再執行) * Python版本的「每日一天文圖」網路爬蟲: 之前有人已經用Node.js開發「每日一天文圖」網路爬蟲: [node-apod](https://ssarcandy.tw/node-apod/demo.html),試試看能否將它改成Python版本。 * ... * 「天文相關Python套件學習」組 (未來的黑客松再執行) * 學習如何使用[GWpy](https://gwpy.github.io/)套件分析重力波資料,並撰寫中文教學文件。 * 學習如何使用[TRIPPy](https://github.com/fraserw/trippy) (Trailed Image Photometry in Python)套件,並撰寫中文教學文件。 * ... * ...待參與者提案 --- ## 文件版權聲明 此文件由[Astrohackers in Taiwan](https://github.com/Astrohackers-TW)成員及黑客松參與者協作撰寫,採用[創用CC 姓名標示 4.0 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/deed.zh_TW)授權條款釋出。