This repository documents my Julia programming learning journey, focused on semiconductor equipment analytics, data analysis, visualization, risk assessment, and future machine learning projects.
Target roles:
- Algorithm Developer
- Data / AI Engineer for semiconductor manufacturing
- Computer Vision / Machine Learning Engineer
Target companies:
- Applied Materials (AMAT)
- ASML
- TSMC AI / ML related positions
- Build programming logic and data structure fundamentals
- Analyze CSV and tabular manufacturing data
- Practice statistical analysis and data visualization
- Simulate semiconductor equipment monitoring workflows
- Build rule-based equipment health, risk, and maintenance decision systems
- Develop reusable data-analysis functions
- Integrate DataFrames, functions, statistics, and decision logic into complete analysis workflows
- Prepare for Python, machine learning, computer vision, and semiconductor algorithm projects
- Day01 Variables
- Day02 Arrays
- Day03 Functions
- Day04 Conditions
- Day05 Loops
- Day06 Dictionaries
- Day07 Structs
- Day08 CSV Files
- Day09 DataFrames
- Day10 Statistics
- Day11 Visualization
- Day12 Equipment Data Analysis
- Day13 Equipment Dashboard Visualization
- Day14 Equipment Trend Analysis
- Day15 Equipment Anomaly Detection
- Day16 Multi-Sensor Equipment Monitoring
- Day17 Equipment Health Score System
- Day18 Equipment Ranking Dashboard
- Day19 Predictive Maintenance Dashboard
- Day20 Equipment Risk Assessment System
- Day21 Equipment Risk Dashboard Visualization
- Day22 Equipment Maintenance Dashboard
- Day23 Critical Equipment Search
- Day24 Reusable Equipment Analysis Function
- Day25 Equipment Analysis Integration
- Julia Phase 1 Final Project
- Python / Data Analysis Phase
- Machine Learning Phase
Day25 integrates several previously learned Julia concepts into a complete semiconductor equipment analysis workflow.
Instead of practicing DataFrames, functions, loops, conditions, arrays, and statistics separately, Day25 connects them into one analysis pipeline.
Key results:
- Configurable equipment thresholds
- Reusable Critical Equipment detection function
- Multiple function inputs
- Boolean
true/falsereturn values - Function return values used directly inside
if - DataFrame row values passed into reusable analysis logic
- Critical Equipment collection using
push!() - Critical Equipment counting using
length() - Average temperature calculation using
mean() - System status determination
- Integrated equipment analysis summary
- Basic debugging practice
Core workflow:
Equipment Data
↓
DataFrame
↓
Threshold Variables
↓
Reusable Function
↓
eachrow()
↓
Function Inputs
↓
return true / false
↓
if
↓
Collect Critical Equipment
↓
Statistics
↓
System Status
↓
Summary Report
The current project series simulates a simplified semiconductor equipment analytics workflow:
Sensor Data
↓
Equipment Status
↓
Trend Analysis
↓
Anomaly Detection
↓
Multi-Sensor Monitoring
↓
Health Score
↓
Equipment Ranking
↓
Predictive Maintenance
↓
Risk Assessment
↓
Maintenance Action
↓
Critical Equipment Search
↓
Reusable Analysis Logic
↓
Integrated Equipment Analysis
↓
Statistics + Summary Report
This direction is relevant to semiconductor equipment monitoring, fault detection, maintenance prioritization, predictive maintenance, and equipment data-analysis workflows.
| Path | Purpose |
|---|---|
fundamentals/ |
Day01-Day07 Julia syntax and data structure practice |
data_analysis/ |
Day08-Day11 CSV, DataFrames, statistics, and visualization practice |
Projects/Day12_Equipment_Health_Dashboard/ |
Equipment health classification project |
Projects/Day13_Equipment_Dashboard_Visualization/ |
Dashboard-style equipment visualization project |
Projects/Day14_Equipment_Trend_Analysis/ |
Time-series equipment trend analysis project |
Projects/Day15_Equipment_Anomaly_Detection_v1/ |
Baseline-based anomaly detection project |
Projects/Day16_Multi_Sensor_Equipment_Monitoring/ |
Multi-sensor equipment status monitoring project |
Projects/Day17_Equipment_Health_Score_System/ |
Multi-sensor equipment health score project |
Projects/Day18_Equipment_Ranking_Dashboard/ |
Equipment ranking dashboard project |
Projects/Day19_Predictive_Maintenance_Dashboard/ |
Predictive maintenance dashboard project |
Projects/Day20_Equipment_Risk_Assessment_System/ |
Equipment risk assessment and maintenance action project |
Projects/Day21_Equipment_Risk_Dashboard_Visualization/ |
Equipment risk dashboard visualization project |
Projects/Day22_Equipment_Maintenance_Dashboard/ |
Equipment maintenance action dashboard project |
Projects/Day23_Critical_Equipment_Search/ |
Threshold-based Critical Equipment search |
Projects/Day24_Reusable_Equipment_Function/ |
Reusable function-based equipment analysis |
Projects/Day25_Equipment_Analysis_Integration/ |
Integrated DataFrame, function, statistics, and summary analysis |
Projects/Project01_Equipment_Health_Dashboard/ |
Consolidated early dashboard project archive |
Projects/archive/Memory_Recovery/ |
Archived recovery notes and scratch practice |
Career Goal.md |
Career roadmap toward semiconductor algorithm roles |
Project.toml / Manifest.toml |
Julia project dependencies |
| Day | Project | Main Skill | Output |
|---|---|---|---|
| Day12 | Equipment Health Dashboard | Rule-based equipment status classification | DataFrame status report |
| Day13 | Equipment Dashboard Visualization | Dashboard chart generation | Five dashboard PNG charts |
| Day14 | Equipment Trend Analysis | Time-series trend monitoring | temperature_trend.png |
| Day15 | Equipment Anomaly Detection | Baseline-based anomaly detection | equipment_anomaly.png |
| Day16 | Multi-Sensor Equipment Monitoring | Temperature, pressure, and flow-rate classification | equipment_status_summary.png |
| Day17 | Equipment Health Score System | Multi-sensor KPI scoring | equipment_health_score.png |
| Day18 | Equipment Ranking Dashboard | Rank equipment by health score | equipment_ranking.png |
| Day19 | Predictive Maintenance Dashboard | Maintenance priority visualization | predictive_maintenance_dashboard.png |
| Day20 | Equipment Risk Assessment System | Risk scoring and maintenance action logic | Highest-risk equipment report |
| Day21 | Equipment Risk Dashboard Visualization | Risk distribution and risk ranking charts | Three risk dashboard PNG charts |
| Day22 | Equipment Maintenance Dashboard | Maintenance action summary and priority ranking | Maintenance_Action_Summary.png |
| Day23 | Critical Equipment Search | Threshold-based multi-condition equipment detection | Critical Equipment list and system status |
| Day24 | Reusable Equipment Analysis Function | Function design and reusable decision logic | Function-based Critical Equipment analysis |
| Day25 | Equipment Analysis Integration | Integrating DataFrame, functions, arrays, statistics, and decisions | Equipment analysis summary report |
Risk score formula:
risk_score = 100 - health_scoreRisk level rules:
| Risk Score | Risk Level |
|---|---|
| >= 80 | Very High |
| >= 60 | High |
| >= 40 | Medium |
| < 40 | Low |
Maintenance actions:
| Risk Level | Action |
|---|---|
| Very High | Maintenance Immediately |
| High | Maintenance Within 7 Days |
| Medium | Operation Monitoring |
| Low | Normal Operation |
Day23 introduced threshold-based equipment filtering using multiple sensor conditions.
Example rule:
if checkData.temperature > temperature_limit &&
checkData.pressure > pressure_limitMatching equipment IDs are collected into an array:
push!(critical_tools, checkData.tool_id)The result can then be used to determine the overall system status.
Day24 moves the Critical Equipment decision logic into a reusable function.
function is_critical(
temperature,
pressure,
temperature_limit,
pressure_limit
)
if temperature > temperature_limit &&
pressure > pressure_limit
return true
else
return false
end
endThis separates reusable equipment decision logic from dataset iteration.
Day25 connects the reusable function with DataFrame processing, result collection, statistics, and system-level reporting.
The DataFrame loop passes equipment measurements into the reusable function:
critical_tools = String[]
for check_Critical in eachrow(machine_data)
if is_critical(
check_Critical.temperature,
check_Critical.pressure,
temperature_limit,
pressure_limit
)
push!(critical_tools, check_Critical.tool_id)
end
endThe important connection is:
DataFrame Row
↓
Function Inputs
↓
is_critical()
↓
return true / false
↓
if
↓
Collect Result
Statistics are then calculated:
average_temperature = mean(machine_data.temperature)The final system status is determined from the Critical Equipment count:
if length(critical_tools) > 0
println("System Status: Warning")
else
println("System Status: Normal")
endExample final result:
Average Temperature: 86.8
Critical Equipment: ["A03", "A05"]
Critical Equipment Count: 2
System Status: Warning
Day25 represents an important transition from practicing individual Julia concepts toward integrating them into a complete equipment analysis workflow.
- Julia programming fundamentals
- Arrays, dictionaries, structs, loops, and conditions
- CSV data loading
- DataFrame-based data processing
- Statistical analysis
- Data visualization with Plots.jl
- Custom function design
- Function parameters and Boolean return values
- Configurable threshold-based analysis
- Row-level equipment data processing
- Passing DataFrame values into reusable functions
- Using Boolean function returns directly in conditional logic
- Result collection with
push!() - Statistical analysis with
mean() - Statistical aggregation with
groupby()andcombine() - Chart export with
savefig() - Health score and risk score design
- Equipment ranking and maintenance prioritization
- Critical Equipment detection
- System status reporting
- Basic debugging
- Basic code refactoring
- Reusable equipment analysis logic
- Integrated equipment analysis workflow design
- Semiconductor equipment analytics thinking
- Julia
- CSV.jl
- DataFrames.jl
- Statistics
- Plots.jl
Install dependencies:
julia --project=. -e 'using Pkg; Pkg.instantiate()'Run Day12 equipment health analysis:
julia --project=. "Projects/Day12_Equipment_Health_Dashboard/Day12_Equipment_Data_Analysis_Project_V1.jl"Run Day13 dashboard visualization:
julia --project=. "Projects/Day13_Equipment_Dashboard_Visualization/Day13_Equipment_Dashboard_Visualization.jl"Run Day14 trend analysis:
julia --project=. "Projects/Day14_Equipment_Trend_Analysis/Day14_Equipment_Trend_Analysis.jl"Run Day15 anomaly detection:
julia --project=. "Projects/Day15_Equipment_Anomaly_Detection_v1/Day15_Equipment_Anomaly_Detection_v1.jl"Run Day16 multi-sensor monitoring:
julia --project=. "Projects/Day16_Multi_Sensor_Equipment_Monitoring/Day16_Multi_Sensor_Equipment_Monitoring.jl"Run Day17 health score system:
julia --project=. "Projects/Day17_Equipment_Health_Score_System/Day17_Equipment_Health_Score_System.jl"Run Day18 equipment ranking dashboard:
julia --project=. "Projects/Day18_Equipment_Ranking_Dashboard/Day18_Equipment_Ranking_Dashboard.jl"Run Day19 predictive maintenance dashboard:
julia --project=. "Projects/Day19_Predictive_Maintenance_Dashboard/Day19_Predictive_Maintenance_Dashboard.jl"Run Day20 risk assessment system:
julia --project=. "Projects/Day20_Equipment_Risk_Assessment_System/Day20_Equipment_Risk_Assessment_System.jl"Run Day21 risk dashboard visualization:
julia --project=. "Projects/Day21_Equipment_Risk_Dashboard_Visualization/Day21_Equipment_Risk_Dashboard_Visualization.jl"Run Day22 maintenance dashboard:
julia --project=. "Projects/Day22_Equipment_Maintenance_Dashboard/Day22_Equipment_Maintenance_Dashboard.jl"Run Day23 Critical Equipment Search:
julia --project=. "Projects/Day23_Critical_Equipment_Search/Day23_Critical_Equipment_Search.jl"Run Day24 Reusable Equipment Analysis Function:
julia --project=. "Projects/Day24_Reusable_Equipment_Function/Day24_Reusable_Equipment_Function.jl"Run Day25 Equipment Analysis Integration:
julia --project=. "Projects/Day25_Equipment_Analysis_Integration/Day25_Equipment_Analysis_Integration.jl"- Julia fundamentals
- CSV and DataFrames
- Statistics and visualization
- Equipment health classification
- Equipment dashboard visualization
- Equipment trend analysis
- Equipment anomaly detection
- Multi-sensor equipment monitoring
- Equipment health score system
- Equipment ranking dashboard
- Predictive maintenance dashboard
- Equipment risk assessment system
- Equipment risk dashboard visualization
- Equipment maintenance dashboard
- Critical Equipment search
- Reusable equipment analysis functions
- Integrated equipment analysis workflow
Continue strengthening Julia equipment data-analysis skills through practical integration exercises.
The current focus is:
Reusable Functions
↓
CSV / DataFrame Workflow
↓
Statistics
↓
Equipment Analysis
↓
Independent Integration
↓
Julia Phase 1 Final Project
After completing and passing the Julia Phase 1 Final Project:
Python Fundamentals
↓
Python Data Analysis
↓
NumPy / pandas / Matplotlib
↓
SQL + Git + Linux Basics
integrated naturally into practical projects
↓
Machine Learning Foundations
-
Wafer Yield Analysis
- Lot-level and wafer-level yield data
- Correlation analysis
- Yield loss investigation
-
Semiconductor Machine Learning
- Equipment anomaly detection
- Equipment health prediction
- Predictive maintenance
- Failure / yield prediction
-
Computer Vision Defect Detection
- Python and OpenCV
- Defect image preprocessing
- Basic classification or detection workflows
Julia
↓
Julia Equipment Data Analysis
↓
Julia Phase 1 Final Project
↓
Python
↓
Data Analysis
↓
SQL + Git + Linux Basics
↓
Machine Learning
↓
Computer Vision
↓
Semiconductor Algorithm Projects
Wei Wang
Learning project for semiconductor equipment data analytics.





