Under construction...
Welcome to the GitHub repository for the Gravitational Wave Data Exploration Bootcamp Series! This course is meticulously designed to provide a solid foundation in programming, operational knowledge, and data-driven modeling skills centered around gravitational wave data analysis and research.
- Equip participants with robust programming and operational skills, and foundational training in data-driven modeling, focusing on gravitational wave data analysis and related research areas.
- Note: The course is conducted entirely in Mandarin Chinese to cater to a wide range of Chinese-speaking students and researchers.
- Discuss the common research methodologies combining gravitational wave data processing with AI technologies, with hands-on examples and projects for practical understanding and mastery.
- Analyze cutting-edge deep learning models and apply them to real-world gravitational wave data analysis problems through specific case studies.
- Undergraduate and graduate students interested in data analysis and algorithm development, especially those focusing on gravitational wave data processing and related research.
- The course also welcomes undergraduates with a basic programming background, looking to enhance their data analysis skills or with an interest in gravitational wave data processing.
- Future professionals aspiring to work in space-based gravitational wave detection projects and related research fields.
- Drawing from past teaching experiences and identified knowledge gaps in student research projects, the course introduces relevant concepts and common methods to ensure comprehensive understanding and application in research.
- The course is scheduled weekly or bi-weekly, each session lasting about 3 hours, combining online and offline methods (腾讯会议) to ensure interactivity and practicality.
- The curriculum is expected to be offered once per semester or annually, with continual updates and enrichment based on student feedback and research demands.
-
Part Zero: Motivational Introduction
Description
- 办课初衷与学员构成 - 讲师介绍 - 与本课程相关的知识架构 - 引力波数据分析 - 课程大纲 - 本课程是什么,不是什么 - 本课程的学习方法与教学团队 - 本课程的考核规则和项目作业 - 通向自我实现之路 - 如何自学 - 如何提问 - 提问环节
- Date:2023/11/08 | Video recording | Slide: PDF or online
-
Part One: Programming Development Environment and Workflow
Description
- Linux Commands and Shell Scripting - Git Version Control (GitHub / GitLab) - SSH Remote Server Access (Shell / VSCode) - Containerization with Docker - Hands-On: Setting up Python / Jupyter Development Environment - Hands-On: Compiling LALsuite / LISAcode Source Code
- Date:2023/11/12 | Video recording | Slide: PDF or online
- Homework
- Docker Container Setup
- Remote Development for Python/Jupyter with GPU Support and LALsuite/LISAcode Compilation
- Date:2023/11/19 | Video recording | Slide: PDF or online
- Homework
- Introduction to Git and GitHub Workflow
- Setting Up and Submitting Homework via GitHub
-
Tech Talk: It's all about data (Guest Lecture by Xinyao Tian)
Description
- 数据的起源 (The origin of data) - 何谓数据? (What is data?) - 现代数据技术的发展脉络 (The development momentum behind data) - 当前主流数据技术 (Modern data technologies) - 关系型数据库 (RDBMS) - 非关系型数据库 (Not-only SQL (NoSQL) Database) - 大数据 (Big Data) - 数据仓库 (Data Warehouse) - 流式计算 (Stream Processing) - 数据湖 (Data Lake) - 数据湖仓 (Data Lakehouse) - 思考:从数据的角度认识世界 (Thinking: Realizing the world from a data perspective) - 推荐阅读 (Recommend readings) - Q & A
- Date:2023/11/19 | Video recording | Slide: markdown
-
Part Two: Python-Based Data Analysis Fundamentals
Description
- Introduction to Python Programming - Algorithms with Numpy / Pandas / Scipy - Hands-On: Exploratory Data Analysis of GW Event Catalog / Glitch Data - Hands-On: Matched Filtering for GW150914 Data - Data Visualization in Python: Theory and Practice - Hands-On: Reproducing Figures from GWTC Papers
- Date:2023/11/29 | Video recording | Slide: PDF or online
- Date:2023/12/01 | Video recording | Slide: PDF or online
- Date:2023/12/03 | Video recording | Slide: PDF or online
- Homework
- Python, Numpy, Pandas Basic Homework
- Leetcode Extension Tasks
- Date:2023/12/08 | Video recording | Slide: PDF or online
- Date:2023/12/10 | Video recording
- Homework
- Data visualization and analysis using Python libraries, matplotlib and seaborn.
- Homework
- Recreate Figure 7 from the GWTC-3 paper using numpy, pandas, matplotlib, and seaborn.
- Date:2023/12/15 | Video recording | ipynb | html
-
Sci Talk: Bayesian inference for gravitational-wave science (Guest Lecture by Junjie Zhao)
Description
- Brief introduction to gravitational wave (引力波简要介绍) - Part I: Bayesian inference (贝叶斯推断) - Definition of “probability” ("概率"的定义) - Rethink the interpretations (重思概率诠释) - Frequentist statistics (频率学派) - Bayesian statistics (贝叶斯学派) - Bayes' theorem (贝叶斯定理) - Application to the detection of gravitational wave (在引力波探测上应用) - Bayesian inference framework (贝叶斯推断框架) - Parameter estimation for gravitational-wave data (引力波数据分析中参数估计) - Model selection for gravitational-wave data (引力波数据分析中模型选择) - Q & A - Part II: Bayesian computation (贝叶斯计算方法) - Markov Chain Monte Carlo (MCMC; 马尔可夫链-蒙特卡罗方法) - hands-on tiny mcmc example - Nested sampling (嵌套采样) - hands-on tiny nested-sampling example - Part III: All in gravitational-wave data (一切尽在引力波数据中) - Use Bilby & Parallel Bilby in the GW data analysis - nShow the complete pipeline for the data analysis - The AMAZING Thomas Bayes (为美好的世界献上"贝叶斯定理") - Q & A
- Date:2023/12/16 | Video recording | Slide: PDF
- Date:2023/12/17 | Video recording | Slide: PDF
-
Part Three: Basics of Machine Learning
Description
- Overview of Artificial Intelligence - Definitions, Objectives, and Types of Machine Learning - Machine Learning Project Development and Preparation - Hands-On: Clustering Analysis of LIGO's Glitch Data
- Date:2023/12/22 | Video recording | Slide: PDF or online
- Homework
- Implement a classification model for credit scoring using the sklearn library in Python.
- Date:2023/12/24 | Video recording | Slide: PDF or online
- Homework
- Model Evaluation and Hyperparameter Tuning for a Credit Scoring Dataset.
-
Part Four: Introduction to Deep Learning
Description
- Overview of Deep Learning Technologies - Fundamentals of Artificial Neural Networks (ANN) - Convolutional Neural Networks (CNN) - Hands-On: Identifying Gravitational Waves from Binary Black Hole Systems using CNN - Frontiers of Gravitational Wave Data Analysis and AI
Welcome to the course project! To get started with your programming assignments, you'll need to set up your workspace. Here's a step-by-step guide to help you through the process.
- Create a GitHub Account: If you don't already have a GitHub account, go to GitHub and sign up.
- Fork the Course Repository:
- Navigate to the course's GitHub repository: GWData-Bootcamp.
- Click on the
Fork
button at the top right of the page. - In the fork settings, make sure to uncheck the option 'copy
main
branch only'.
- Clone the Forked Repository:
- Open your terminal or Git Bash.
- Clone the forked repository to your local machine using the following command:
git clone [email protected]:<YourGitHubUsername>/GWData-Bootcamp.git
- Replace
<YourGitHubUsername>
with your actual GitHub username.
- Switch to the
homework
Branch:- Navigate to your cloned repository's directory:
cd GWData-Bootcamp
- Switch to the
homework
branch using:git switch homework
- Navigate to your cloned repository's directory:
- Create Your Personal Homework Directory:
- Inside the
GWData-Bootcamp
directory, create a new directory path for your homework submissions:mkdir -p 2023/homework/<YourName>
- Replace
<YourName>
with your name or a unique identifier.
- Replace
- Inside the
- Complete Your Assignments:
- Add your completed assignments to your personal homework directory that you created in the previous step.
- The assignments should be named as
python_submit.txt
,numpy_submit.txt
, orpandas_submit.txt
depending on the type of the assignment.
- Push Your Changes:
- Stage and commit your changes. For example:
git add . git commit -m "Add homework for <SpecificHomework>"
- Push your
homework
branch to your forked repository:git push origin homework
- Stage and commit your changes. For example:
- Create a Pull Request:
- Go to your forked repository on GitHub.
- Switch to the
homework
branch. - Click on New Pull Request.
- Ensure the base repository is set to the original
GWData-Bootcamp
repository and the base branch is set tohomework
. - Complete the PR form and submit.
- The GitHub Actions workflow will automatically check your submission (Homework) and compare it with the solution. If your submission passes the check, a merge request will be initiated. Please note that only the repository owners have the authority to merge the request.
- Do Not Modify Other Students' Work: It's crucial that you do not make any changes to other students' homework directories and contents.
- Regular Updates: Keep your fork synchronized with the main repository to get the latest updates and assignments.
- Automated Checks: The GitHub Actions workflow will automatically check your submission when you create a pull request. Make sure your submission passes the check before you submit it.
- Happy Coding! 🚀👩💻👨
This class is co-taught by He Wang and several esteemed colleagues, including guest lecturers (Junjie Zhao) and industry experts (Xinyao Tian), whose names will be announced as they join.
For any inquiries regarding the course, please email us at 📧 [email protected].
We look forward to your participation and contribution to this exciting field of study!
We welcome contributions to enhance course materials. Please fork the repository, make your changes, and submit a pull request.
-
University of Chinese Academy of Sciences (UCAS)
-
International Centre for Theoretical Physics Asia-Pacific (ICTP-AP)
-
Taiji Laboratory for Gravitational Wave Universe
This project is licensed under the MIT License - see the LICENSE file for details.
- Contributions from the Gravitational Wave Open Science Center (gwosc.org).
- Educational resources and datasets from renowned institutions and projects in the field.