Skip to content

Gravitational Wave Data Exploration: A Practical Training in Programming and Analysis

License

Notifications You must be signed in to change notification settings

LogicMoriaty/GWData-Bootcamp

 
 

Repository files navigation

引力波数据探索:编程与分析实战训练营

Gravitational Wave Data Exploration: A Practical Training in Programming and Analysis

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.

Training Objectives

  • 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.

Target Audience

  • 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.

Course Design Philosophy

  • 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.

Course Outline / Schedule

  • Part Zero: Motivational Introduction

    Description 123
  • 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
    
  • 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
    
  • 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
    
  • 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
    
  • 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
    

Getting Started

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.

Step 1: Set Up Your GitHub Account and Fork the Repository

  1. Create a GitHub Account: If you don't already have a GitHub account, go to GitHub and sign up.
  2. 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'.
  3. 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.

Step 2: Set Up Your Local Workspace

  1. Switch to the homework Branch:
    • Navigate to your cloned repository's directory:
      cd GWData-Bootcamp
    • Switch to the homework branch using:
      git switch homework
  2. 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.

Step 3: Submitting Your Homework

  1. Complete Your Assignments:
    • Add your completed assignments to your personal homework directory that you created in the previous step.
  2. Push Your Changes:
    • Stage and commit your changes. For example:
      git add .
      git commit -m "Add homework for Week 1"
    • Push your homework branch to your forked repository:
      git push origin homework
  3. 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 to homework.
    • Complete the PR form and submit.

Important Notes

  • 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.
  • Happy Coding! 🚀👩‍💻👨‍💻

Staff

This class is co-taught by He Wang and several esteemed colleagues, including guest lecturers and industry experts (Xinyao Tian), whose names will be announced as they join.

Questions

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!

Contributing

We welcome contributions to enhance course materials. Please fork the repository, make your changes, and submit a pull request.

Collaborating Institutions

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Contributions from the Gravitational Wave Open Science Center (gwosc.org).
  • Educational resources and datasets from renowned institutions and projects in the field.

About

Gravitational Wave Data Exploration: A Practical Training in Programming and Analysis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dockerfile 100.0%