This repository contains course projects and assignments completed during the Physics of Data master's program. The projects span multiple domains including statistics, computational physics, machine learning, deep learning, data management, and hardware design.
R programming exercises focusing on statistical data analysis for physics applications. Includes 7 lab sessions and a final project using tidyverse and statistical methods.
Technologies: R, tidyverse, Jupyter
Topics: Statistical analysis, data visualization, R programming
Comprehensive Python course covering computational physics fundamentals, numerical methods, and scientific computing.
Technologies: Python, NumPy, Pandas, Numba, Matplotlib
Topics: Algorithms, Monte Carlo simulations, OSEMN framework, performance optimization
Digital hardware design projects with FPGA implementation, focusing on digital signal processing and VHDL programming.
Technologies: VHDL, Python, SciPy
Topics: FIR filters, UART, state machines, FPGA design, DSP
Software implementation of RAID-4 redundancy system exploring data management, fault tolerance, and recovery algorithms.
Technologies: Python, NumPy
Topics: RAID systems, redundancy, XOR operations, data recovery
Real-time streaming data processing for cosmic ray detection using Kafka and live dashboard visualization.
Technologies: Python, Apache Kafka, Matplotlib
Topics: Stream processing, real-time analytics, data pipelines, particle physics
Laboratory assignments covering fundamental machine learning algorithms, model training, and evaluation techniques.
Technologies: Python, scikit-learn, NumPy
Topics: Supervised learning, feature engineering, model evaluation
Molecular dynamics trajectory analysis using MDTraj with focus on computational chemistry and statistical mechanics.
Technologies: Python, MDTraj, SciPy, Matplotlib
Topics: MD analysis, density calculations, scientific visualization
Deep learning course assignments implementing various neural network architectures using PyTorch.
Technologies: Python, PyTorch, Conda
Topics: Neural networks, deep learning, optimization, PyTorch
Reinforcement learning homework covering multi-armed bandits, dynamic programming, and policy optimization.
Technologies: Python, NumPy, Matplotlib
Topics: MAB, epsilon-greedy, dynamic programming, nonstationary environments
Each project directory contains:
- Source code and implementations
- Jupyter notebooks with analysis and results
- Individual README with detailed project information
- Supporting data files and figures
- Languages: Python, R, VHDL
- ML/DL Frameworks: PyTorch, scikit-learn
- Scientific Computing: NumPy, SciPy, Pandas, MDTraj
- Visualization: Matplotlib, Seaborn
- Data Processing: Apache Kafka
- Hardware: FPGA, VHDL synthesis tools
- Environment: Jupyter, Conda
These projects were completed as part of the Physics of Data master's program, demonstrating proficiency in:
- Statistical and computational physics
- Machine learning and deep learning
- Data engineering and stream processing
- Hardware design and digital signal processing
- Scientific computing and analysis