Hey

Hey! How can I help you today?

Make ppt on classification and generations of computer

Reading File
Reading File
Running Command

ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or not found"

Running Command

mkdir -p /home/daytona/workspace/computer-ppt

Writing File

~/computer-ppt/create_ppt.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Classification and Generations of Computers";

// ─── Color Palette ───────────────────────────────────────────────────────────
const DARK_BG   = "0D1B2A";   // deep navy
const MID_BG    = "1B2A3B";   // medium navy
const ACCENT1   = "00C9FF";   // electric cyan
const ACCENT2   = "0080FF";   // bright blue
const WHITE     = "FFFFFF";
const LIGHT_GRAY= "D0E4F4";
const GOLD      = "FFD166";

// ─── Helper: gradient-like header bar ────────────────────────────────────────
function addHeader(slide, title) {
  slide.addShape(pres.ShapeType.rect, {
    x: 0, y: 0, w: 10, h: 1.1,
    fill: { type: "solid", color: MID_BG }
  });
  slide.addShape(pres.ShapeType.rect, {
    x: 0, y: 1.05, w: 10, h: 0.05,
    fill: { type: "solid", color: ACCENT1 }
  });
  slide.addText(title, {
    x: 0.4, y: 0.15, w: 9.2, h: 0.8,
    fontSize: 26, bold: true, color: WHITE,
    fontFace: "Calibri", align: "left", margin: 0
  });
}

// ─── Helper: section badge ────────────────────────────────────────────────────
function addBadge(slide, label, x, y, w) {
  slide.addShape(pres.ShapeType.roundRect, {
    x, y, w, h: 0.38,
    fill: { type: "solid", color: ACCENT2 },
    rectRadius: 0.08, line: { color: ACCENT1, width: 0.5 }
  });
  slide.addText(label, {
    x, y, w, h: 0.38,
    fontSize: 12, bold: true, color: WHITE,
    fontFace: "Calibri", align: "center", valign: "middle", margin: 0
  });
}

// ─── Helper: bullet list ──────────────────────────────────────────────────────
function bulletItems(items, color = LIGHT_GRAY, size = 14) {
  return items.map((t, i) => ({
    text: t,
    options: {
      bullet: { type: "bullet", characterCode: "25B6" },
      color,
      fontSize: size,
      breakLine: i < items.length - 1
    }
  }));
}

// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 1 – Title Slide
// ═══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  // full-bleed dark bg
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { type: "solid", color: DARK_BG } });

  // Decorative circuit-line accents
  s.addShape(pres.ShapeType.rect, { x: 0, y: 1.6, w: 10, h: 0.04, fill: { type: "solid", color: ACCENT2 }, line: { color: ACCENT2 } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 4.0, w: 10, h: 0.04, fill: { type: "solid", color: ACCENT2 }, line: { color: ACCENT2 } });

  // Glowing vertical bar
  s.addShape(pres.ShapeType.rect, { x: 0.5, y: 1.7, w: 0.12, h: 2.25, fill: { type: "solid", color: ACCENT1 }, line: { color: ACCENT1 } });

  // Main title
  s.addText("Classification &", {
    x: 0.85, y: 1.75, w: 8.8, h: 0.85,
    fontSize: 44, bold: true, color: WHITE, fontFace: "Calibri", align: "left", margin: 0
  });
  s.addText("Generations of Computers", {
    x: 0.85, y: 2.55, w: 8.8, h: 0.85,
    fontSize: 38, bold: true, color: ACCENT1, fontFace: "Calibri", align: "left", margin: 0
  });
  // Subtitle
  s.addText("A Complete Overview  |  Computer Fundamentals", {
    x: 0.85, y: 3.45, w: 8.8, h: 0.45,
    fontSize: 16, color: LIGHT_GRAY, fontFace: "Calibri", align: "left", italic: true, margin: 0
  });
  // Bottom label
  s.addText("Technology Β· History Β· Evolution", {
    x: 0, y: 5.1, w: 10, h: 0.4,
    fontSize: 12, color: ACCENT2, fontFace: "Calibri", align: "center", margin: 0
  });
}

// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 2 – Agenda
// ═══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { type: "solid", color: DARK_BG } });
  addHeader(s, "πŸ“‹  Agenda");

  const topics = [
    ["01", "What is a Computer?"],
    ["02", "Classification by Size & Purpose"],
    ["03", "Classification by Data Handling"],
    ["04", "Classification by Functionality"],
    ["05", "1st Generation (1940s–1950s)"],
    ["06", "2nd Generation (1950s–1960s)"],
    ["07", "3rd Generation (1960s–1970s)"],
    ["08", "4th Generation (1970s–Present)"],
    ["09", "5th Generation (AI Era)"],
    ["10", "Comparison Summary"],
  ];

  const colW = 4.5;
  topics.forEach(([num, label], i) => {
    const col = i < 5 ? 0 : 1;
    const row = i % 5;
    const x = 0.4 + col * 5.1;
    const y = 1.3 + row * 0.78;

    s.addShape(pres.ShapeType.roundRect, {
      x, y, w: colW, h: 0.58,
      fill: { type: "solid", color: MID_BG },
      rectRadius: 0.07,
      line: { color: ACCENT2, width: 0.5 }
    });
    s.addText(num, {
      x: x + 0.08, y, w: 0.52, h: 0.58,
      fontSize: 14, bold: true, color: ACCENT1, fontFace: "Calibri",
      align: "center", valign: "middle", margin: 0
    });
    s.addText(label, {
      x: x + 0.64, y, w: colW - 0.68, h: 0.58,
      fontSize: 13, color: WHITE, fontFace: "Calibri",
      align: "left", valign: "middle", margin: 0
    });
  });
}

// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 3 – What is a Computer?
// ═══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { type: "solid", color: DARK_BG } });
  addHeader(s, "πŸ’»  What is a Computer?");

  // Definition box
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.4, y: 1.25, w: 9.2, h: 1.2,
    fill: { type: "solid", color: MID_BG },
    rectRadius: 0.1, line: { color: ACCENT1, width: 1 }
  });
  s.addText(
    "A computer is an electronic device that accepts input, processes data according to a set of instructions (program), stores the results, and produces output.",
    {
      x: 0.55, y: 1.3, w: 9.0, h: 1.1,
      fontSize: 15, color: LIGHT_GRAY, fontFace: "Calibri",
      align: "center", valign: "middle", italic: true
    }
  );

  // Four component boxes
  const components = [
    { label: "INPUT",    icon: "⌨️",  desc: "Keyboard, Mouse,\nScanner, Sensors" },
    { label: "PROCESS",  icon: "βš™οΈ",  desc: "CPU, ALU, Control\nUnit" },
    { label: "STORAGE",  icon: "πŸ’Ύ",  desc: "RAM, HDD, SSD,\nCache" },
    { label: "OUTPUT",   icon: "πŸ–₯️",  desc: "Monitor, Printer,\nSpeakers" },
  ];
  components.forEach(({ label, icon, desc }, i) => {
    const x = 0.4 + i * 2.32;
    s.addShape(pres.ShapeType.roundRect, {
      x, y: 2.75, w: 2.15, h: 2.5,
      fill: { type: "solid", color: MID_BG },
      rectRadius: 0.1, line: { color: ACCENT2, width: 0.8 }
    });
    s.addText(icon, { x, y: 2.85, w: 2.15, h: 0.6, fontSize: 28, align: "center", valign: "middle", margin: 0 });
    s.addText(label, {
      x, y: 3.48, w: 2.15, h: 0.42,
      fontSize: 13, bold: true, color: ACCENT1, fontFace: "Calibri",
      align: "center", valign: "middle", margin: 0
    });
    s.addText(desc, {
      x, y: 3.9, w: 2.15, h: 1.2,
      fontSize: 12, color: LIGHT_GRAY, fontFace: "Calibri",
      align: "center", valign: "top"
    });
  });

  // Arrow connectors (simple shapes)
  for (let i = 0; i < 3; i++) {
    s.addShape(pres.ShapeType.rect, {
      x: 2.5 + i * 2.32, y: 3.95, w: 0.18, h: 0.18,
      fill: { type: "solid", color: ACCENT1 }, line: { color: ACCENT1 }
    });
  }
}

// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 4 – Classification by Size & Purpose
// ═══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { type: "solid", color: DARK_BG } });
  addHeader(s, "πŸ“  Classification by Size & Purpose");

  const types = [
    { name: "Supercomputer", icon: "🏒", color: "CC0033", desc: "Fastest computers; used for weather forecasting, nuclear simulations, scientific research. e.g. Frontier, Summit" },
    { name: "Mainframe",     icon: "πŸ–₯️", color: "005599", desc: "Large, powerful; used by banks, airlines, governments for bulk data processing. e.g. IBM Z-series" },
    { name: "Minicomputer",  icon: "πŸ“¦", color: "007744", desc: "Mid-range; used in universities, labs, small businesses. e.g. DEC PDP-11" },
    { name: "Microcomputer", icon: "πŸ’»", color: "884400", desc: "Personal computers for everyday use β€” desktops, laptops, tablets. Most common type today." },
    { name: "Embedded",      icon: "πŸ“Ÿ", color: "550077", desc: "Dedicated computers inside devices β€” cars, appliances, medical instruments, IoT devices." },
  ];

  types.forEach(({ name, icon, color, desc }, i) => {
    const y = 1.25 + i * 0.84;
    s.addShape(pres.ShapeType.roundRect, {
      x: 0.3, y, w: 9.4, h: 0.74,
      fill: { type: "solid", color: MID_BG },
      rectRadius: 0.08, line: { color: `FF${color.slice(2)}`, width: 0 }
    });
    s.addShape(pres.ShapeType.rect, {
      x: 0.3, y, w: 0.18, h: 0.74,
      fill: { type: "solid", color: `FF${color.slice(2)}` }, line: { color: `FF${color.slice(2)}` }
    });
    s.addText(`${icon}  ${name}`, {
      x: 0.58, y, w: 2.4, h: 0.74,
      fontSize: 13, bold: true, color: ACCENT1, fontFace: "Calibri",
      align: "left", valign: "middle", margin: 0
    });
    s.addText(desc, {
      x: 3.1, y, w: 6.5, h: 0.74,
      fontSize: 12, color: LIGHT_GRAY, fontFace: "Calibri",
      align: "left", valign: "middle"
    });
  });
}

// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 5 – Classification by Data Handling & Functionality
// ═══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { type: "solid", color: DARK_BG } });
  addHeader(s, "πŸ”’  Classification by Data Handling & Functionality");

  // Left column – by data handling
  addBadge(s, "BY DATA HANDLING", 0.35, 1.2, 4.3);
  const dataTypes = [
    { name: "Analog", desc: "Processes continuous data (voltage, temperature). e.g. speedometers, thermometers" },
    { name: "Digital", desc: "Processes discrete binary data (0s & 1s). e.g. PCs, smartphones" },
    { name: "Hybrid", desc: "Combination of analog & digital. e.g. hospital ICU machines" },
  ];
  dataTypes.forEach(({ name, desc }, i) => {
    const y = 1.72 + i * 1.18;
    s.addShape(pres.ShapeType.roundRect, {
      x: 0.35, y, w: 4.3, h: 1.05,
      fill: { type: "solid", color: MID_BG },
      rectRadius: 0.08, line: { color: ACCENT1, width: 0.6 }
    });
    s.addText(name, {
      x: 0.5, y: y + 0.06, w: 4.0, h: 0.38,
      fontSize: 14, bold: true, color: GOLD, fontFace: "Calibri", align: "left", margin: 0
    });
    s.addText(desc, {
      x: 0.5, y: y + 0.44, w: 4.0, h: 0.55,
      fontSize: 12, color: LIGHT_GRAY, fontFace: "Calibri", align: "left"
    });
  });

  // Right column – by functionality
  addBadge(s, "BY FUNCTIONALITY", 5.35, 1.2, 4.3);
  const funcTypes = [
    { name: "General Purpose", desc: "Designed for a wide variety of tasks. e.g. desktop PCs, laptops" },
    { name: "Special Purpose", desc: "Designed for one specific task. e.g. ATMs, gaming consoles, GPS" },
    { name: "Dedicated", desc: "Fixed-function, usually embedded. e.g. washing machine controller, car ECU" },
  ];
  funcTypes.forEach(({ name, desc }, i) => {
    const y = 1.72 + i * 1.18;
    s.addShape(pres.ShapeType.roundRect, {
      x: 5.35, y, w: 4.3, h: 1.05,
      fill: { type: "solid", color: MID_BG },
      rectRadius: 0.08, line: { color: ACCENT2, width: 0.6 }
    });
    s.addText(name, {
      x: 5.5, y: y + 0.06, w: 4.0, h: 0.38,
      fontSize: 14, bold: true, color: GOLD, fontFace: "Calibri", align: "left", margin: 0
    });
    s.addText(desc, {
      x: 5.5, y: y + 0.44, w: 4.0, h: 0.55,
      fontSize: 12, color: LIGHT_GRAY, fontFace: "Calibri", align: "left"
    });
  });

  // Divider
  s.addShape(pres.ShapeType.rect, {
    x: 4.87, y: 1.2, w: 0.04, h: 4.2,
    fill: { type: "solid", color: ACCENT1 }, line: { color: ACCENT1 }
  });
}

// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 6 – 1st Generation
// ═══════════════════════════════════════════════════════════════════════════════
function genSlide(num, years, tech, size, speed, memory, lang, examples, color, emoji) {
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { type: "solid", color: DARK_BG } });
  addHeader(s, `${emoji}  Generation ${num}  |  ${years}`);

  // Big generation number watermark
  s.addText(num, {
    x: 7.0, y: 1.0, w: 2.8, h: 3.5,
    fontSize: 160, bold: true, color: MID_BG,
    fontFace: "Calibri", align: "right", valign: "middle", margin: 0
  });

  // Technology badge
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.4, y: 1.25, w: 6.0, h: 0.5,
    fill: { type: "solid", color: color },
    rectRadius: 0.08
  });
  s.addText(`Technology: ${tech}`, {
    x: 0.5, y: 1.25, w: 5.8, h: 0.5,
    fontSize: 14, bold: true, color: WHITE, fontFace: "Calibri",
    align: "left", valign: "middle", margin: 0
  });

  // Details grid
  const details = [
    ["⚑ Speed", speed],
    ["🧠 Memory", memory],
    ["πŸ’¬ Language", lang],
  ];
  details.forEach(([label, val], i) => {
    const y = 1.95 + i * 0.78;
    s.addShape(pres.ShapeType.roundRect, {
      x: 0.4, y, w: 6.0, h: 0.65,
      fill: { type: "solid", color: MID_BG },
      rectRadius: 0.07, line: { color: color, width: 0.6 }
    });
    s.addText(label, {
      x: 0.55, y, w: 1.8, h: 0.65,
      fontSize: 13, bold: true, color: ACCENT1, fontFace: "Calibri",
      align: "left", valign: "middle", margin: 0
    });
    s.addText(val, {
      x: 2.4, y, w: 3.85, h: 0.65,
      fontSize: 13, color: LIGHT_GRAY, fontFace: "Calibri",
      align: "left", valign: "middle"
    });
  });

  // Examples box
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.4, y: 4.3, w: 6.0, h: 1.0,
    fill: { type: "solid", color: MID_BG },
    rectRadius: 0.08, line: { color: GOLD, width: 0.7 }
  });
  s.addText("Examples:", {
    x: 0.55, y: 4.35, w: 1.4, h: 0.38,
    fontSize: 13, bold: true, color: GOLD, fontFace: "Calibri", align: "left", margin: 0
  });
  s.addText(examples, {
    x: 0.55, y: 4.7, w: 5.7, h: 0.55,
    fontSize: 12, color: LIGHT_GRAY, fontFace: "Calibri", align: "left"
  });

  return s;
}

genSlide(
  "1st", "1940s – 1950s",
  "Vacuum Tubes",
  "Very large rooms, weighed tons",
  "Milliseconds",
  "Magnetic drums, punched cards",
  "Machine language (binary)",
  "ENIAC, UNIVAC, IBM 701",
  "770000", "πŸ”΄"
);

// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 7 – 2nd Generation
// ═══════════════════════════════════════════════════════════════════════════════
genSlide(
  "2nd", "1950s – 1960s",
  "Transistors",
  "Smaller than 1st gen; still room-sized",
  "Microseconds",
  "Magnetic core memory",
  "Assembly language, early FORTRAN/COBOL",
  "IBM 7094, CDC 1604, UNIVAC 1107",
  "004499", "πŸ”΅"
);

// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 8 – 3rd Generation
// ═══════════════════════════════════════════════════════════════════════════════
genSlide(
  "3rd", "1960s – 1970s",
  "Integrated Circuits (ICs)",
  "Cabinet-sized, desktop appeared",
  "Nanoseconds",
  "Semiconductor memory (RAM)",
  "High-level languages: BASIC, Pascal, C",
  "IBM System/360, PDP-8, Honeywell 6000",
  "006633", "🟒"
);

// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 9 – 4th Generation
// ═══════════════════════════════════════════════════════════════════════════════
genSlide(
  "4th", "1970s – Present",
  "Microprocessors (VLSI / ULSI)",
  "Personal computers, laptops, tablets",
  "Picoseconds (billions of ops/sec)",
  "RAM, ROM, SSDs, HDDs",
  "C, C++, Java, Python, GUI-based OS",
  "Intel 4004, Apple II, IBM PC, modern laptops",
  "CC6600", "🟠"
);

// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 10 – 5th Generation
// ═══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { type: "solid", color: DARK_BG } });
  addHeader(s, "πŸ€–  5th Generation  |  Present & Beyond");

  // Central concept cards
  const cards = [
    { icon: "🧠", title: "Artificial Intelligence", desc: "Machine learning, deep learning, neural networks powering decisions & predictions" },
    { icon: "πŸ—£οΈ", title: "Natural Language Processing", desc: "Computers understand and respond in human language (ChatGPT, Siri, Alexa)" },
    { icon: "βš›οΈ", title: "Quantum Computing", desc: "Harnesses quantum mechanics for exponentially faster computation" },
    { icon: "πŸ‘οΈ", title: "Computer Vision", desc: "Image recognition, self-driving cars, medical imaging analysis" },
    { icon: "🌐", title: "Parallel Processing", desc: "Multi-core CPUs, GPUs computing billions of tasks simultaneously" },
    { icon: "πŸ’Š", title: "Expert Systems", desc: "AI-based decision-making for medical diagnosis, legal advice, finance" },
  ];
  cards.forEach(({ icon, title, desc }, i) => {
    const col = i % 3;
    const row = Math.floor(i / 3);
    const x = 0.3 + col * 3.25;
    const y = 1.3 + row * 2.05;
    s.addShape(pres.ShapeType.roundRect, {
      x, y, w: 3.1, h: 1.85,
      fill: { type: "solid", color: MID_BG },
      rectRadius: 0.1, line: { color: ACCENT1, width: 0.7 }
    });
    s.addText(icon, { x, y: y + 0.1, w: 3.1, h: 0.55, fontSize: 26, align: "center", margin: 0 });
    s.addText(title, {
      x, y: y + 0.62, w: 3.1, h: 0.44,
      fontSize: 12, bold: true, color: ACCENT1, fontFace: "Calibri",
      align: "center", margin: 0
    });
    s.addText(desc, {
      x: x + 0.1, y: y + 1.04, w: 2.9, h: 0.72,
      fontSize: 10.5, color: LIGHT_GRAY, fontFace: "Calibri",
      align: "center"
    });
  });
}

// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 11 – Comparison Table
// ═══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { type: "solid", color: DARK_BG } });
  addHeader(s, "πŸ“Š  Generations at a Glance");

  const rows = [
    ["Generation", "Period",       "Technology",      "Speed",         "Language",      "Key Feature"],
    ["1st",        "1940s–50s",    "Vacuum Tubes",    "Milliseconds",  "Machine Lang.", "First computers"],
    ["2nd",        "1950s–60s",    "Transistors",     "Microseconds",  "Assembly",      "Smaller, reliable"],
    ["3rd",        "1960s–70s",    "ICs",             "Nanoseconds",   "High-level",    "Multi-programming"],
    ["4th",        "1970s–Now",    "Microprocessors", "Picoseconds",   "C, Java, etc.", "Personal computers"],
    ["5th",        "Now–Future",   "AI / Quantum",    "Ultra-fast",    "AI languages",  "Intelligent systems"],
  ];

  const colWidths = [1.1, 1.25, 1.8, 1.55, 1.7, 2.0];
  const colX = [0.2, 1.35, 2.65, 4.5, 6.1, 7.85];
  const rowH = 0.64;
  const startY = 1.25;

  const rowColors = [ACCENT2, "1A2E42", "1A2E42", "1A2E42", "1A2E42", "1A2E42"];
  const textColors = [WHITE, LIGHT_GRAY, LIGHT_GRAY, LIGHT_GRAY, LIGHT_GRAY, LIGHT_GRAY];

  rows.forEach((row, ri) => {
    const y = startY + ri * rowH;
    const bg = rowColors[ri] || (ri % 2 === 0 ? "1A2E42" : MID_BG);
    s.addShape(pres.ShapeType.rect, {
      x: 0.2, y, w: 9.6, h: rowH,
      fill: { type: "solid", color: bg },
      line: { color: ACCENT2, width: 0.3 }
    });
    row.forEach((cell, ci) => {
      s.addText(cell, {
        x: colX[ci] + 0.05, y, w: colWidths[ci] - 0.08, h: rowH,
        fontSize: ri === 0 ? 12 : 11,
        bold: ri === 0,
        color: ri === 0 ? WHITE : textColors[ri],
        fontFace: "Calibri",
        align: "center", valign: "middle"
      });
    });
    // Gen number coloring
    if (ri > 0) {
      const genColors = ["FF4444", "4488FF", "44CC66", "FF8800", "CC44FF"];
      s.addShape(pres.ShapeType.rect, {
        x: 0.2, y, w: 0.1, h: rowH,
        fill: { type: "solid", color: genColors[ri - 1] },
        line: { color: genColors[ri - 1] }
      });
    }
  });
}

// ═══════════════════════════════════════════════════════════════════════════════
// SLIDE 12 – Thank You
// ═══════════════════════════════════════════════════════════════════════════════
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { type: "solid", color: DARK_BG } });

  // Top bar
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.08, fill: { type: "solid", color: ACCENT1 }, line: { color: ACCENT1 } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 5.545, w: 10, h: 0.08, fill: { type: "solid", color: ACCENT1 }, line: { color: ACCENT1 } });

  s.addText("πŸ–₯️", { x: 0, y: 0.8, w: 10, h: 1.2, fontSize: 72, align: "center" });

  s.addText("Thank You!", {
    x: 0, y: 2.0, w: 10, h: 1.0,
    fontSize: 48, bold: true, color: WHITE, fontFace: "Calibri", align: "center", margin: 0
  });
  s.addText("Classification & Generations of Computers", {
    x: 0, y: 3.0, w: 10, h: 0.5,
    fontSize: 18, color: ACCENT1, fontFace: "Calibri", align: "center", italic: true
  });
  s.addText("From Vacuum Tubes to Artificial Intelligence", {
    x: 0, y: 3.55, w: 10, h: 0.4,
    fontSize: 14, color: LIGHT_GRAY, fontFace: "Calibri", align: "center"
  });

  const keyPoints = ["Supercomputers  β€’  Mainframes  β€’  Microcomputers  β€’  Embedded", "Analog  β€’  Digital  β€’  Hybrid  β€’  General / Special Purpose", "5 Generations  β€’  Vacuum Tubes β†’ AI & Quantum"];
  keyPoints.forEach((text, i) => {
    s.addText(text, {
      x: 1, y: 4.1 + i * 0.38, w: 8, h: 0.35,
      fontSize: 11, color: LIGHT_GRAY, fontFace: "Calibri", align: "center"
    });
  });
}

// ─── Write file ───────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/computer-ppt/Classification_and_Generations_of_Computers.pptx" })
  .then(() => console.log("PPT created successfully!"))
  .catch(err => console.error("Error:", err));
Running Command

cd /home/daytona/workspace/computer-ppt && node create_ppt.js

Your presentation is ready! πŸŽ‰

Classification and Generations of Computers

Presentation Β· PPTX


What's inside β€” 12 slides:

SlideContent
1Title Slide β€” bold navy/cyan design
2Agenda β€” all 10 topics listed
3What is a Computer? β€” definition + Input/Process/Storage/Output components
4Classification by Size & Purpose β€” Supercomputer, Mainframe, Minicomputer, Microcomputer, Embedded
5Classification by Data Handling & Functionality β€” Analog/Digital/Hybrid + General/Special/Dedicated
61st Generation (1940s–50s) β€” Vacuum Tubes, ENIAC, UNIVAC
72nd Generation (1950s–60s) β€” Transistors, IBM 7094
83rd Generation (1960s–70s) β€” Integrated Circuits, IBM System/360
94th Generation (1970s–Present) β€” Microprocessors, Personal Computers
105th Generation β€” AI, NLP, Quantum Computing, Computer Vision
11Comparison Table β€” all 5 generations side by side
12Thank You slide
The design uses a dark navy theme with cyan/blue accents, color-coded generation slides, and structured info cards throughout.
This is a shared conversation. Sign in to Orris to start your own chat.