garywelz/programming_framework
0
1<!DOCTYPE html>2<html lang="en">3<head>4 <meta charset="UTF-8" />5 <meta name="viewport" content="width=device-width, initial-scale=1" />6 <title>Computer Science Batch 01 - Algorithms & Data Structures - Programming Framework Analysis</title>7 <style>8 body { 9 font-family: 'Times New Roman', Times, serif, 'Arial Unicode MS'; 10 margin: 0; 11 background: #ffffff; 12 color: #000000; 13 line-height: 1.6; 14 font-size: 12pt; 15 }16 .container { 17 max-width: 1000px; 18 margin: 0 auto; 19 padding: 1.5rem; 20 }21 h1, h2, h3 { 22 color: #000000; 23 margin-top: 1.5rem; 24 margin-bottom: 0.75rem; 25 }26 h1 { 27 font-size: 18pt; 28 text-align: center; 29 }30 h2 { 31 font-size: 16pt; 32 border-bottom: 2px solid #000; 33 padding-bottom: 0.5rem; 34 }35 h3 { 36 font-size: 14pt; 37 }38 p { 39 margin-bottom: 1rem; 40 text-align: justify; 41 }42 .figure { 43 margin: 2rem 0; 44 text-align: center; 45 border: 1px solid #ccc; 46 padding: 1rem; 47 background: #f9f9f9; 48 }49 .figure-caption { 50 margin-top: 1rem; 51 font-style: italic; 52 text-align: left; 53 }54 .mermaid { 55 background: white; 56 padding: 1rem; 57 border-radius: 4px; 58 }59 .navigation {60 margin: 3rem 0;61 padding: 1rem;62 background: #f8f9fa;63 border-radius: 8px;64 }65 .nav-links {66 display: flex;67 flex-wrap: wrap;68 gap: 1rem;69 justify-content: center;70 }71 .nav-link {72 color: #007bff;73 text-decoration: none;74 padding: 0.5rem 1rem;75 border: 1px solid #007bff;76 border-radius: 4px;77 transition: all 0.3s ease;78 }79 .nav-link:hover {80 background: #007bff;81 color: white;82 }83 .footer {84 margin-top: 3rem;85 padding: 1rem;86 background: #f8f9fa;87 border-radius: 8px;88 text-align: center;89 }90 .contact-info {91 margin-top: 1rem;92 }93 .contact-info p {94 margin: 0.25rem 0;95 text-align: center;96 }97 </style>98 <script src="https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.min.js"></script>99 <script>100 mermaid.initialize({ 101 startOnLoad: true, 102 theme: 'default', 103 flowchart: { 104 useMaxWidth: false, 105 htmlLabels: true,106 curve: 'linear',107 nodeSpacing: 30,108 rankSpacing: 30,109 padding: 10110 },111 themeVariables: {112 fontFamily: 'Arial Unicode MS, Arial, sans-serif'113 }114 });115 </script>116</head>117<body>118 <div class="container">119 <h1>Computer Science Batch 01 - Algorithms & Data Structures - Programming Framework Analysis</h1>120 121 <p>This document presents computer science processes analyzed using the Programming Framework methodology. Each process is represented as a computational flowchart with standardized color coding: Red for triggers/inputs, Yellow for structures/objects, Green for processing/operations, Blue for intermediates/states, and Violet for products/outputs. Yellow nodes use black text for optimal readability, while all other colors use white text.</p>122 123 <h2>1. Sorting Algorithms Process</h2>124 <div class="figure">125 <div class="mermaid">126graph TD127 A1[Input Array] --> B1[Algorithm Selection]128 C1[Array Analysis] --> D1[Complexity Analysis]129 E1[Memory Constraints] --> F1[Optimization Strategy]130 131 B1 --> G1[Comparison Based Sorting]132 D1 --> H1[Time Complexity O n squared]133 F1 --> I1[Space Complexity Analysis]134 135 G1 --> J1[Bubble Sort Algorithm]136 H1 --> K1[Quick Sort Algorithm]137 I1 --> L1[Merge Sort Algorithm]138 139 J1 --> M1[Adjacent Element Comparison]140 K1 --> L1141 L1 --> N1[Divide and Conquer]142 143 M1 --> O1[Element Swapping]144 N1 --> P1[Pivot Selection]145 O1 --> Q1[Sorting Process]146 147 P1 --> R1[Partitioning Strategy]148 Q1 --> S1[Recursive Sorting]149 R1 --> T1[Sorting Algorithm Result]150 151 S1 --> U1[Algorithm Validation]152 T1 --> V1[Sorted Array Output]153 U1 --> W1[Sorting Algorithm Output]154 155 V1 --> X1[Sorting Algorithm Analysis]156 W1 --> Y1[Sorting Algorithm Final Result]157 X1 --> Z1[Sorting Algorithm Analysis Complete]158 159 style A1 fill:#ff6b6b,color:#fff160 style C1 fill:#ff6b6b,color:#fff161 style E1 fill:#ff6b6b,color:#fff162 163 style B1 fill:#ffd43b,color:#000164 style D1 fill:#ffd43b,color:#000165 style F1 fill:#ffd43b,color:#000166 style G1 fill:#ffd43b,color:#000167 style H1 fill:#ffd43b,color:#000168 style I1 fill:#ffd43b,color:#000169 style J1 fill:#ffd43b,color:#000170 style K1 fill:#ffd43b,color:#000171 style L1 fill:#ffd43b,color:#000172 style M1 fill:#ffd43b,color:#000173 style N1 fill:#ffd43b,color:#000174 style O1 fill:#ffd43b,color:#000175 style P1 fill:#ffd43b,color:#000176 style Q1 fill:#ffd43b,color:#000177 style R1 fill:#ffd43b,color:#000178 style S1 fill:#ffd43b,color:#000179 style T1 fill:#ffd43b,color:#000180 style U1 fill:#ffd43b,color:#000181 style V1 fill:#ffd43b,color:#000182 style W1 fill:#ffd43b,color:#000183 style X1 fill:#ffd43b,color:#000184 style Y1 fill:#ffd43b,color:#000185 style Z1 fill:#ffd43b,color:#000186 187 style M1 fill:#51cf66,color:#fff188 style N1 fill:#51cf66,color:#fff189 style O1 fill:#51cf66,color:#fff190 style P1 fill:#51cf66,color:#fff191 style Q1 fill:#51cf66,color:#fff192 style R1 fill:#51cf66,color:#fff193 style S1 fill:#51cf66,color:#fff194 style T1 fill:#51cf66,color:#fff195 style U1 fill:#51cf66,color:#fff196 style V1 fill:#51cf66,color:#fff197 style W1 fill:#51cf66,color:#fff198 style X1 fill:#51cf66,color:#fff199 style Y1 fill:#51cf66,color:#fff200 style Z1 fill:#51cf66,color:#fff201 202 style Z1 fill:#b197fc,color:#fff203 </div>204 205 <div style="margin-top: 1rem; display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center;">206 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">207 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#ff6b6b;"></span>Triggers & Inputs208 </div>209 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">210 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#ffd43b;"></span>Algorithm Methods211 </div>212 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">213 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#51cf66;"></span>Sorting Operations214 </div>215 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">216 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#74c0fc;"></span>Intermediates217 </div>218 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">219 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#b197fc;"></span>Products220 </div>221 </div>222 223 <div class="figure-caption">224 <strong>Figure 1.</strong> Sorting Algorithms Process. This computer science process visualization demonstrates comparison-based sorting algorithms. The flowchart shows input array and complexity analysis, algorithm methods and selection, sorting operations and comparisons, intermediate results, and final sorted array outputs.225 </div>226 </div>227 228 <h2>2. Graph Algorithms Process</h2>229 <div class="figure">230 <div class="mermaid">231graph TD232 A2[Graph Representation] --> B2[Graph Type Analysis]233 C2[Vertex Edge Analysis] --> D2[Traversal Strategy]234 E2[Path Finding] --> F2[Algorithm Selection]235 236 B2 --> G2[Directed Graph]237 D2 --> H2[Undirected Graph]238 F2 --> I2[Weighted Graph]239 240 G2 --> J2[Depth First Search]241 H2 --> K2[Breadth First Search]242 I2 --> L2[Dijkstra Algorithm]243 244 J2 --> M2[Stack Based Traversal]245 K2 --> L2246 L2 --> N2[Queue Based Traversal]247 248 M2 --> O2[Priority Queue]249 N2 --> P2[Shortest Path]250 O2 --> Q2[Graph Algorithm Process]251 252 P2 --> R2[Minimum Spanning Tree]253 Q2 --> S2[Topological Sorting]254 R2 --> T2[Graph Algorithm Result]255 256 S2 --> U2[Algorithm Validation]257 T2 --> V2[Graph Analysis Output]258 U2 --> W2[Graph Algorithm Output]259 260 V2 --> X2[Graph Algorithm Analysis]261 W2 --> Y2[Graph Algorithm Final Result]262 X2 --> Z2[Graph Algorithm Analysis Complete]263 264 style A2 fill:#ff6b6b,color:#fff265 style C2 fill:#ff6b6b,color:#fff266 style E2 fill:#ff6b6b,color:#fff267 268 style B2 fill:#ffd43b,color:#000269 style D2 fill:#ffd43b,color:#000270 style F2 fill:#ffd43b,color:#000271 style G2 fill:#ffd43b,color:#000272 style H2 fill:#ffd43b,color:#000273 style I2 fill:#ffd43b,color:#000274 style J2 fill:#ffd43b,color:#000275 style K2 fill:#ffd43b,color:#000276 style L2 fill:#ffd43b,color:#000277 style M2 fill:#ffd43b,color:#000278 style N2 fill:#ffd43b,color:#000279 style O2 fill:#ffd43b,color:#000280 style P2 fill:#ffd43b,color:#000281 style Q2 fill:#ffd43b,color:#000282 style R2 fill:#ffd43b,color:#000283 style S2 fill:#ffd43b,color:#000284 style T2 fill:#ffd43b,color:#000285 style U2 fill:#ffd43b,color:#000286 style V2 fill:#ffd43b,color:#000287 style W2 fill:#ffd43b,color:#000288 style X2 fill:#ffd43b,color:#000289 style Y2 fill:#ffd43b,color:#000290 style Z2 fill:#ffd43b,color:#000291 292 style M2 fill:#51cf66,color:#fff293 style N2 fill:#51cf66,color:#fff294 style O2 fill:#51cf66,color:#fff295 style P2 fill:#51cf66,color:#fff296 style Q2 fill:#51cf66,color:#fff297 style R2 fill:#51cf66,color:#fff298 style S2 fill:#51cf66,color:#fff299 style T2 fill:#51cf66,color:#fff300 style U2 fill:#51cf66,color:#fff301 style V2 fill:#51cf66,color:#fff302 style W2 fill:#51cf66,color:#fff303 style X2 fill:#51cf66,color:#fff304 style Y2 fill:#51cf66,color:#fff305 style Z2 fill:#51cf66,color:#fff306 307 style Z2 fill:#b197fc,color:#fff308 </div>309 310 <div style="margin-top: 1rem; display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center;">311 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">312 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#ff6b6b;"></span>Triggers & Inputs313 </div>314 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">315 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#ffd43b;"></span>Graph Methods316 </div>317 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">318 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#51cf66;"></span>Traversal Operations319 </div>320 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">321 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#74c0fc;"></span>Intermediates322 </div>323 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">324 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#b197fc;"></span>Products325 </div>326 </div>327 328 <div class="figure-caption">329 <strong>Figure 2.</strong> Graph Algorithms Process. This computer science process visualization demonstrates graph traversal and path finding algorithms. The flowchart shows graph representation and vertex analysis, graph methods and traversal strategies, traversal operations and path finding, intermediate results, and final graph algorithm outputs.330 </div>331 </div>332 333 <h2>3. Dynamic Programming Process</h2>334 <div class="figure">335 <div class="mermaid">336graph TD337 A3[Problem Analysis] --> B3[Optimal Substructure]338 C3[Overlapping Subproblems] --> D3[Recursive Formulation]339 E3[Memoization Strategy] --> F3[Tabulation Method]340 341 B3 --> G3[Subproblem Identification]342 D3 --> H3[Recursive Solution]343 F3 --> I3[Bottom Up Approach]344 345 G3 --> J3[State Definition]346 H3 --> K3[Top Down Approach]347 I3 --> L3[Table Construction]348 349 J3 --> M3[Transition Function]350 K3 --> L3351 L3 --> N3[Space Optimization]352 353 M3 --> O3[Base Case Definition]354 N3 --> P3[Time Complexity]355 O3 --> Q3[Dynamic Programming Process]356 357 P3 --> R3[Algorithm Validation]358 Q3 --> S3[Solution Construction]359 R3 --> T3[Dynamic Programming Result]360 361 S3 --> U3[Dynamic Programming Validation]362 T3 --> V3[Dynamic Programming Parameters]363 U3 --> W3[Dynamic Programming Output]364 365 V3 --> X3[Dynamic Programming Analysis]366 W3 --> Y3[Dynamic Programming Final Result]367 X3 --> Z3[Dynamic Programming Analysis Complete]368 369 style A3 fill:#ff6b6b,color:#fff370 style C3 fill:#ff6b6b,color:#fff371 style E3 fill:#ff6b6b,color:#fff372 373 style B3 fill:#ffd43b,color:#000374 style D3 fill:#ffd43b,color:#000375 style F3 fill:#ffd43b,color:#000376 style G3 fill:#ffd43b,color:#000377 style H3 fill:#ffd43b,color:#000378 style I3 fill:#ffd43b,color:#000379 style J3 fill:#ffd43b,color:#000380 style K3 fill:#ffd43b,color:#000381 style L3 fill:#ffd43b,color:#000382 style M3 fill:#ffd43b,color:#000383 style N3 fill:#ffd43b,color:#000384 style O3 fill:#ffd43b,color:#000385 style P3 fill:#ffd43b,color:#000386 style Q3 fill:#ffd43b,color:#000387 style R3 fill:#ffd43b,color:#000388 style S3 fill:#ffd43b,color:#000389 style T3 fill:#ffd43b,color:#000390 style U3 fill:#ffd43b,color:#000391 style V3 fill:#ffd43b,color:#000392 style W3 fill:#ffd43b,color:#000393 style X3 fill:#ffd43b,color:#000394 style Y3 fill:#ffd43b,color:#000395 style Z3 fill:#ffd43b,color:#000396 397 style M3 fill:#51cf66,color:#fff398 style N3 fill:#51cf66,color:#fff399 style O3 fill:#51cf66,color:#fff400 style P3 fill:#51cf66,color:#fff401 style Q3 fill:#51cf66,color:#fff402 style R3 fill:#51cf66,color:#fff403 style S3 fill:#51cf66,color:#fff404 style T3 fill:#51cf66,color:#fff405 style U3 fill:#51cf66,color:#fff406 style V3 fill:#51cf66,color:#fff407 style W3 fill:#51cf66,color:#fff408 style X3 fill:#51cf66,color:#fff409 style Y3 fill:#51cf66,color:#fff410 style Z3 fill:#51cf66,color:#fff411 412 style Z3 fill:#b197fc,color:#fff413 </div>414 415 <div style="margin-top: 1rem; display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center;">416 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">417 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#ff6b6b;"></span>Triggers & Inputs418 </div>419 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">420 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#ffd43b;"></span>Dynamic Programming Methods421 </div>422 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">423 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#51cf66;"></span>Optimization Operations424 </div>425 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">426 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#74c0fc;"></span>Intermediates427 </div>428 <div style="display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .5rem; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background:#fff;">429 <span style="width: 12px; height: 12px; border-radius: 2px; border:1px solid rgba(0,0,0,.15); background:#b197fc;"></span>Products430 </div>431 </div>432 433 <div class="figure-caption">434 <strong>Figure 3.</strong> Dynamic Programming Process. This computer science process visualization demonstrates optimal substructure and overlapping subproblems. The flowchart shows problem analysis and subproblem identification, dynamic programming methods and strategies, optimization operations and solution construction, intermediate results, and final dynamic programming outputs.435 </div>436 </div>437 438 <div class="navigation">439 <h3>Navigation</h3>440 <div class="nav-links">441 <a href="computer_science_index.html" class="nav-link">← Back to Computer Science Index</a>442 <a href="computer_science_batch_02.html" class="nav-link">Next: Software Engineering →</a>443 <a href="index.html" class="nav-link">Programming Framework Home</a>444 </div>445 </div>446 447 <div class="footer">448 <p><strong>Generated using the Programming Framework methodology</strong></p>449 <p>Each flowchart preserves maximum detail through optimized Mermaid configuration</p>450 <div class="contact-info">451 <p><strong>Gary Welz</strong></p>452 <p>Retired Faculty Member</p>453 <p>John Jay College, CUNY (Department of Mathematics and Computer Science)</p>454 <p>Borough of Manhattan Community College, CUNY</p>455 <p>CUNY Graduate Center (New Media Lab)</p>456 <p>Email: gwelz@jjay.cuny.edu</p>457 </div>458 </div>459 </div>460</body>461</html>462 