A comprehensive educational journey from fundamental digital electronics to modern GPU and AI accelerator architectures.
This is a static React-based educational website designed to document learning in computer architecture, digital electronics, and modern computing hardware. The site provides a structured curriculum with support for:
- Detailed explanations and theory
- Code examples (Verilog, SystemVerilog)
- Diagrams and visualizations
- Common pitfalls and best practices
- Research paper references
src/
├── components/
│ ├── Layout/ # Header, Footer, Layout components
│ ├── Navigation/ # Course navigation sidebar
│ ├── Article/ # Article view component
│ ├── CodeSnippet/ # Syntax-highlighted code display
│ ├── Diagram/ # Diagram viewer component
│ ├── SearchBar/ # Search functionality
│ ├── Breadcrumb/ # Breadcrumb navigation
│ └── TOC/ # Table of contents
├── pages/
│ ├── Home/ # Landing page
│ ├── Fundamentals/ # Courses overview page
│ ├── DigitalLogic/ # Topic detail pages
│ ├── Research/ # Research papers section
│ └── About/ # About page
├── data/
│ ├── navigation/ # Course structure and navigation
│ └── articles/ # Article data and types
├── styles/ # Global styles
├── utils/ # Utility functions
└── hooks/ # Custom React hooks
The course covers 12 major topics:
- Fundamentals & Building Blocks - Transistors, logic gates, circuits
- Digital Logic Design - Boolean algebra, FSMs, ALU design
- Hardware Description Languages - Verilog, SystemVerilog, testbenches
- Basic Computer Architecture - ISA, RISC/CISC, processors
- Pipelining & Performance - Hazards, branch prediction, superscalar
- Memory Hierarchy - Cache, virtual memory, coherence
- Parallel Architectures - ILP, SIMD, multicore
- GPU Architecture - CUDA, streaming multiprocessors, tensor cores
- Modern GPU Architectures - NVIDIA, AMD, Intel
- AI Accelerators - TPUs, systolic arrays, custom ASICs
- Advanced Topics - Power, thermal, security, verification
- Research Papers - Classic and modern research
npm installnpm startRuns the app in development mode at http://localhost:3000
npm run buildBuilds the app for production to the build folder.
- Create article data in
src/data/articles/:
// Example: transistors.ts
import { Article } from "./articleTypes";
export const transistorsArticle: Article = {
id: "transistors-intro",
topicSlug: "fundamentals",
subtopicSlug: "transistors",
title: "Introduction to Transistors",
description: "Understanding BJT and MOSFET transistors...",
lastUpdated: "2024-01-01",
readTime: 15,
tags: ["transistors", "fundamentals", "bjt", "mosfet"],
sections: [
{
id: "overview",
title: "Overview",
content: "<p>Your content here...</p>",
},
// More sections...
],
codeSnippets: [
{
language: "verilog",
code: "module example();",
title: "Simple Example",
},
],
diagrams: [
{
src: "/images/transistor-diagram.png",
alt: "Transistor Structure",
caption: "Basic transistor structure",
},
],
commonPitfalls: [
{
title: "Pitfall Title",
description: "Description...",
},
],
bestPractices: [
{
title: "Practice Title",
description: "Description...",
},
],
researchPapers: [
{
title: "Paper Title",
authors: ["Author 1", "Author 2"],
year: 2020,
venue: "Conference",
url: "https://...",
},
],
};- Register the article in
src/data/articles/articlesIndex.ts:
import { transistorsArticle } from "./transistors";
export const allArticles: Article[] = [
transistorsArticle,
// Add more articles...
];- Add diagrams to the
public/images/directory
- Write clear, concise explanations
- Include working code examples
- Add diagrams for visual concepts
- Document common mistakes
- Reference relevant research papers
- Keep content well-structured with sections
- Uses CSS modules for component-specific styles
- Global styles in
src/index.css - Color palette based on purple gradient theme
- Responsive design for mobile, tablet, and desktop
- React - UI framework
- React Router - Client-side routing
- React Syntax Highlighter - Code syntax highlighting
- TypeScript - Type safety
Edit src/data/navigation/courseStructure.ts to add/modify topics and subtopics.
Update color values in component CSS files. Main colors:
- Primary:
#667eea - Secondary:
#764ba2 - Background:
#f7fafc
- Create component in
src/pages/ - Add route in
src/App.tsx - Update navigation in
src/components/Layout/Header.tsx
This project is for educational purposes.
This is a personal learning project, but suggestions and corrections are welcome!