Research Software Engineering with Python: Building Software That Makes Research Possible
暫譯: 使用 Python 的研究軟體工程:構建促進研究的軟體
Irving, Damien, Hertweck, Kate, Johnston, Luke
相關主題
商品描述
Writing and running software is now as much a part of science as telescopes and test tubes, but most researchers are never taught how to do either well. As a result, it takes them longer to accomplish simple tasks than it should, and it is harder for them to share their work with others than it needs to be.
This book introduces the concepts, tools, and skills that researchers need to get more done in less time and with less pain. Based on the practical experiences of its authors, who collectively have spent several decades teaching software skills to scientists, it covers everything graduate-level researchers need to automate their workflows, collaborate with colleagues, ensure that their results are trustworthy, and publish what they have built so that others can build on it. The book assumes only a basic knowledge of Python as a starting point, and shows readers how it, the Unix shell, Git, Make, and related tools can give them more time to focus on the research they actually want to do.
Research Software Engineering with Python can be used as the main text in a one-semester course or for self-guided study. A running example shows how to organize a small research project step by step; over a hundred exercises give readers a chance to practice these skills themselves, while a glossary defining over two hundred terms will help readers find their way through the terminology. All of the material can be re-used under a Creative Commons license, and all royalties from sales of the book will be donated to The Carpentries, an organization that teaches foundational coding and data science skills to researchers worldwide.
商品描述(中文翻譯)
撰寫和運行軟體現在已經成為科學的一部分,就像望遠鏡和試管一樣,但大多數研究人員從未學會如何做好這兩件事。因此,他們完成簡單任務所需的時間比應有的更長,並且與他人分享他們的工作也比應該的更困難。
本書介紹了研究人員需要的概念、工具和技能,以便在更短的時間內以更少的痛苦完成更多的工作。基於作者的實踐經驗,他們共同花了幾十年時間教授科學家軟體技能,本書涵蓋了研究生級別的研究人員所需的一切,以自動化他們的工作流程、與同事協作、確保他們的結果可靠,並發佈他們所構建的內容,以便他人可以在此基礎上進行開發。本書假設讀者對 Python 只有基本的了解,並展示了如何利用 Python、Unix shell、Git、Make 及相關工具,讓他們有更多時間專注於他們真正想做的研究。
《使用 Python 的研究軟體工程》可以作為一學期課程的主要教材或自學使用。書中提供了一個運行範例,逐步展示如何組織一個小型研究項目;超過一百個練習題讓讀者有機會自己練習這些技能,而一個定義了兩百多個術語的詞彙表將幫助讀者理解術語的使用。所有材料均可在創用 CC 授權下重複使用,並且本書銷售所得的所有版稅將捐贈給 The Carpentries,這是一個向全球研究人員教授基礎編程和數據科學技能的組織。
作者簡介
Dr. Damien B. Irving is post-doctoral researcher in climate science at the University of New South Wales living in Hobart, Tasmania. With a strong interest in data science education and open/reproducible research, Damien is involved in The Carpentries community as an instructor, lesson author and Regional Coordinator for Australia, is an Associate Editor with the Journal of Open Research Software, and is currently the Global Coordinator for the Research Bazaar, a worldwide festival promoting the digital literacy emerging at the center of modern research.
Dr. Kate L. Hertweck is a scientist and educator who endeavors to uphold core values like diversity/equity/inclusion, accessibility of information, and learning over knowing. They currently lead training and community efforts to support biomedical researchers at Fred Hutchinson Cancer Research Center in Seattle, Washington. Kate is an instructor and trainer for the Carpentries and has also participated in that group's lesson development/maintenance and community governance.
Dr. Luke Johnston is a diabetes epidemiologist working at the Steno Diabetes Center Aarhus in Denmark. He is passionate about educating
researchers on modern computing tools and skills, having taught many Carpentry workshops as well as creating and instructing several intensive courses teaching computing skills and analytic reproducibility to diabetes researchers. When he isn't teaching or doing research, he is building software tools to automate common research workflows and tasks.
Dr. Joel Ostblom is a post-doctoral teaching fellow in the Master's of Data Science program at the University of British Columbia in Vancouver, B.C.
He has co-created or led the development of several courses and workshops at the University of Toronto and the University of British Columbia. Joel cares deeply about spreading data literacy and excitement over programmatic data analysis, which is reflected in his contributions to open source projects and data science learning resources.
Dr. Charlotte Wickham is a data scientist and educator, who teaches in the Statistics Department at Oregon State University, as well as operating her own consulting and training business. She loves to help people build their data super powers in the R programming language. She currently lives in Corvallis, Oregon, but originally hails from New Zealand.
Dr. Greg Wilson is a programmer and educator based in Toronto, Ontario. He was the co-founder and first Executive Director of Software Carpentry,
and currently leads the instructor training program at RStudio PBC. A member of the Python Software Foundation, Greg has written or edited over a dozen books and received ACM SIGSOFT's Influential Educator Award in 2020.
作者簡介(中文翻譯)
達米恩·B·歐文博士是新南威爾士大學的氣候科學博士後研究員,居住在塔斯馬尼亞的霍巴特。達米恩對數據科學教育和開放/可重複研究有著濃厚的興趣,參與了The Carpentries社群,擔任講師、課程作者及澳大利亞地區協調員,並且是《開放研究軟體期刊》的副編輯,目前擔任Research Bazaar的全球協調員,這是一個推廣數位素養的全球性節日,該素養正處於現代研究的中心。
凱特·L·赫特維克博士是一位科學家和教育者,致力於維護多樣性/公平/包容性、資訊可及性以及學習重於知識等核心價值觀。他們目前在華盛頓州西雅圖的弗雷德·哈欽森癌症研究中心領導培訓和社群工作,以支持生物醫學研究人員。凱特是The Carpentries的講師和培訓師,並參與該團體的課程開發/維護及社群治理。
盧克·約翰斯頓博士是一位在丹麥斯特諾糖尿病中心工作的糖尿病流行病學家。他熱衷於教育研究人員現代計算工具和技能,曾教授多個Carpentry工作坊,並創建和指導幾個密集課程,教授糖尿病研究人員計算技能和分析可重複性。當他不在教學或研究時,他會構建軟體工具以自動化常見的研究工作流程和任務。
喬爾·奧斯特布隆博士是英屬哥倫比亞大學數據科學碩士課程的博士後教學研究員。他曾在多倫多大學和英屬哥倫比亞大學共同創建或主導多個課程和工作坊的開發。喬爾非常關心推廣數據素養和對程式化數據分析的熱情,這在他對開源項目和數據科學學習資源的貢獻中得到了體現。
夏洛特·維克漢博士是一位數據科學家和教育者,在俄勒岡州立大學的統計系任教,同時經營自己的諮詢和培訓業務。她喜歡幫助人們在R程式語言中建立數據超能力。她目前居住在俄勒岡州的科瓦利斯,但最初來自新西蘭。
格雷格·威爾遜博士是一位居住在安大略省多倫多的程式設計師和教育者。他是Software Carpentry的共同創辦人和首任執行董事,目前在RStudio PBC領導講師培訓計劃。作為Python Software Foundation的成員,格雷格已撰寫或編輯超過十本書籍,並於2020年獲得ACM SIGSOFT的影響力教育者獎。