Skip to content

About

Hands-on Julia portfolio for semiconductor equipment data analytics, predictive maintenance, risk assessment, and reusable analysis workflows.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Julia Learning for Semiconductor Data Analytics

This repository documents my Julia programming learning journey, focused on semiconductor equipment analytics, data analysis, visualization, risk assessment, and future machine learning projects.

Career Target

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

Learning Goals

  • 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

Progress

  • 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

Latest Achievement

Day25 - Equipment Analysis Integration

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 / false return 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

Current Portfolio Direction

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.

Repository Structure

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

Project Overview

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

Selected Dashboard Outputs

Day13 Equipment Status

Equipment Status

Day17 Equipment Health Score

Equipment Health Score

Day18 Equipment Ranking

Equipment Ranking

Day19 Predictive Maintenance Dashboard

Predictive Maintenance Dashboard

Day21 Risk Level Summary

Risk Level Summary

Day22 Maintenance Action Summary

Maintenance Action Summary

Day20 Risk Assessment Logic

Risk score formula:

risk_score = 100 - health_score

Risk 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 Critical Equipment Logic

Day23 introduced threshold-based equipment filtering using multiple sensor conditions.

Example rule:

if checkData.temperature > temperature_limit &&
   checkData.pressure > pressure_limit

Matching 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 Reusable Function Design

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
end

This separates reusable equipment decision logic from dataset iteration.

Day25 Equipment Analysis Integration

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
end

The 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")
end

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

Skills Demonstrated

  • 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() and combine()
  • 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

Technologies Used

  • Julia
  • CSV.jl
  • DataFrames.jl
  • Statistics
  • Plots.jl

How to Run

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"

Roadmap

Completed

  1. Julia fundamentals
  2. CSV and DataFrames
  3. Statistics and visualization
  4. Equipment health classification
  5. Equipment dashboard visualization
  6. Equipment trend analysis
  7. Equipment anomaly detection
  8. Multi-sensor equipment monitoring
  9. Equipment health score system
  10. Equipment ranking dashboard
  11. Predictive maintenance dashboard
  12. Equipment risk assessment system
  13. Equipment risk dashboard visualization
  14. Equipment maintenance dashboard
  15. Critical Equipment search
  16. Reusable equipment analysis functions
  17. Integrated equipment analysis workflow

Current Phase

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

Next Major Phase

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

Future Projects

  • 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

Long-Term Direction

Julia
  ↓
Julia Equipment Data Analysis
  ↓
Julia Phase 1 Final Project
  ↓
Python
  ↓
Data Analysis
  ↓
SQL + Git + Linux Basics
  ↓
Machine Learning
  ↓
Computer Vision
  ↓
Semiconductor Algorithm Projects

Author

Wei Wang

Learning project for semiconductor equipment data analytics.

About

Hands-on Julia portfolio for semiconductor equipment data analytics, predictive maintenance, risk assessment, and reusable analysis workflows.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages