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 Processes - 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: 1rem 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 .color-legend {60 display: flex;61 flex-wrap: wrap;62 gap: 1rem;63 margin-top: 1rem;64 justify-content: center;65 }66 .color-legend span {67 display: inline-flex;68 align-items: center;69 gap: 0.5rem;70 padding: 0.25rem 0.5rem;71 border-radius: 999px;72 border: 1px solid rgba(0,0,0,.08);73 background: #fff;74 font-size: 0.9rem;75 }76 .color-box {77 width: 12px;78 height: 12px;79 border-radius: 2px;80 border: 1px solid rgba(0,0,0,.15);81 }82 </style>83 <script src="https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.min.js"></script>84 <script>85 mermaid.initialize({ 86 startOnLoad: true, 87 theme: 'default', 88 flowchart: { 89 useMaxWidth: false, 90 htmlLabels: true,91 curve: 'linear',92 nodeSpacing: 50,93 rankSpacing: 50,94 padding: 2095 },96 themeVariables: {97 fontFamily: 'Arial Unicode MS, Arial, sans-serif'98 }99 });100 </script>101</head>102<body>103 <div class="container">104 <h1>Computer Science Processes - Programming Framework Analysis</h1>105 106 <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>107 108 <h2>1. QuickSort Algorithm Process</h2>109 <div class="figure">110 <div class="mermaid">111graph TD112 A[Input Array] --> B[Choose Pivot]113 B --> C[Partition Array]114 C --> D[Recursive Sort Left]115 C --> E[Recursive Sort Right]116 D --> F[Merge Results]117 E --> F118 F --> G[Sorted Array]119 120 style A fill:#ff6b6b,color:#fff121 style B fill:#ffd43b,color:#000122 style C fill:#51cf66,color:#fff123 style D fill:#74c0fc,color:#fff124 style E fill:#74c0fc,color:#fff125 style F fill:#51cf66,color:#fff126 style G fill:#b197fc,color:#fff127 128 </div>129 <div class="color-legend">130 <span><span class="color-box" style="background:#ff6b6b;"></span>Inputs & Data</span>131 <span><span class="color-box" style="background:#ffd43b;"></span>Data Structures & Arrays</span>132 <span><span class="color-box" style="background:#51cf66;"></span>Operations & Algorithms</span>133 <span><span class="color-box" style="background:#74c0fc;"></span>States & Variables</span>134 <span><span class="color-box" style="background:#b197fc;"></span>Output & Results</span>135 </div>136 <div class="figure-caption">137 <strong>Figure 1.</strong> QuickSort Algorithm Process. This computer science process visualization demonstrates the computational logic of the QuickSort algorithm. The flowchart shows input data and parameters, data structures and arrays, algorithmic operations and comparisons, intermediate states and recursive calls, and final sorted output.138 </div>139 </div>140 141 <h2>2. Binary Search Tree Process</h2>142 <div class="figure">143 <div class="mermaid">144graph TD145 A[Search Key] --> B[Compare with Root]146 B --> C[Key less than Root Question]147 C -->|Yes| D[Search Left Subtree]148 C -->|No| E[Search Right Subtree]149 D --> F[Recursive Search]150 E --> G[Recursive Search]151 F --> H[Key Found Question]152 G --> I[Key Found Question]153 H -->|Yes| J[Return Node]154 H -->|No| K[Return Null]155 I -->|Yes| L[Return Node]156 I -->|No| M[Return Null]157 J --> N[Search Successful]158 L --> N159 K --> O[Search Unsuccessful]160 M --> O161 162 style A fill:#ff6b6b,color:#fff163 style B fill:#ffd43b,color:#000164 style C fill:#51cf66,color:#fff165 style D fill:#74c0fc,color:#fff166 style E fill:#74c0fc,color:#fff167 style F fill:#51cf66,color:#fff168 style G fill:#51cf66,color:#fff169 style H fill:#51cf66,color:#fff170 style I fill:#51cf66,color:#fff171 style J fill:#74c0fc,color:#fff172 style K fill:#74c0fc,color:#fff173 style L fill:#74c0fc,color:#fff174 style M fill:#74c0fc,color:#fff175 style N fill:#b197fc,color:#fff176 style O fill:#b197fc,color:#fff177 </div>178 <div class="color-legend">179 <span><span class="color-box" style="background:#ff6b6b;"></span>Inputs & Data</span>180 <span><span class="color-box" style="background:#ffd43b;"></span>Data Structures & Arrays</span>181 <span><span class="color-box" style="background:#51cf66;"></span>Operations & Algorithms</span>182 <span><span class="color-box" style="background:#74c0fc;"></span>States & Variables</span>183 <span><span class="color-box" style="background:#b197fc;"></span>Output & Results</span>184 </div>185 <div class="figure-caption">186 <strong>Figure 2.</strong> Binary Search Tree Process. This computer science process visualization demonstrates the computational logic of binary search tree operations. The flowchart shows search key validation, tree structure analysis, binary search strategy, recursive traversal, and search result determination.187 </div>188 </div>189 190 <h2>3. Dynamic Programming Process</h2>191 <div class="figure">192 <div class="mermaid">193graph TD194 %% Problem Definition195 A[Problem Statement] --> B[Problem Analysis]196 C[Input Parameters] --> D[Parameter Validation]197 E[Constraints] --> F[Constraint Analysis]198 199 %% Dynamic Programming Setup200 B --> G[Subproblem Identification]201 D --> H[State Space Definition]202 F --> I[Memory Requirements]203 204 %% Algorithm Design205 G --> J[Recursive Relation]206 H --> K[DP Table Structure]207 I --> L[Memory Allocation]208 209 %% Implementation210 J --> M[Base Case Definition]211 K --> N[Table Initialization]212 L --> O[Array Creation]213 214 %% Computation215 M --> P[Fill Base Cases]216 N --> Q[Iterative Computation]217 O --> R[State Transitions]218 219 %% Solution Construction220 P --> S[DP Table Population]221 Q --> T[Optimal Value Calculation]222 R --> U[Path Reconstruction]223 224 %% Final Result225 S --> V[Optimal Solution]226 T --> W[Performance Analysis]227 U --> X[Solution Verification]228 229 %% Styling - Computer Science Color Scheme230 %% Red: Inputs & Triggers231 style A fill:#ff6b6b,color:#fff232 style C fill:#ff6b6b,color:#fff233 style E fill:#ff6b6b,color:#fff234 235 %% Yellow: Structures & Objects236 style B fill:#ffd43b,color:#000237 style D fill:#ffd43b,color:#000238 style F fill:#ffd43b,color:#000239 style G fill:#ffd43b,color:#000240 style H fill:#ffd43b,color:#000241 style I fill:#ffd43b,color:#000242 style J fill:#ffd43b,color:#000243 style K fill:#ffd43b,color:#000244 style L fill:#ffd43b,color:#000245 style M fill:#ffd43b,color:#000246 style N fill:#ffd43b,color:#000247 style O fill:#ffd43b,color:#000248 249 %% Green: Processing & Operations250 style P fill:#51cf66,color:#fff251 style Q fill:#51cf66,color:#fff252 style R fill:#51cf66,color:#fff253 style S fill:#51cf66,color:#fff254 style T fill:#51cf66,color:#fff255 style U fill:#51cf66,color:#fff256 257 %% Blue: Intermediates & States258 style V fill:#74c0fc,color:#fff259 style W fill:#74c0fc,color:#fff260 style X fill:#74c0fc,color:#fff261 </div>262 <div class="color-legend">263 <span><span class="color-box" style="background:#ff6b6b;"></span>Inputs & Data</span>264 <span><span class="color-box" style="background:#ffd43b;"></span>Data Structures & Arrays</span>265 <span><span class="color-box" style="background:#51cf66;"></span>Operations & Algorithms</span>266 <span><span class="color-box" style="background:#74c0fc;"></span>States & Variables</span>267 <span><span class="color-box" style="background:#b197fc;"></span>Output & Results</span>268 </div>269 <div class="figure-caption">270 <strong>Figure 3.</strong> Dynamic Programming Process. This computer science process visualization demonstrates the computational logic of dynamic programming algorithms. The flowchart shows problem analysis, subproblem identification, recursive relation formulation, table-based computation, and optimal solution construction.271 </div>272 </div>273 274 <h2>4. Graph Traversal Process</h2>275 <div class="figure">276 <div class="mermaid">277graph TD278 %% Graph Representation279 A[Graph Structure] --> B[Graph Analysis]280 C[Starting Vertex] --> D[Vertex Validation]281 E[Traversal Type] --> F[Algorithm Selection]282 283 %% Data Structure Setup284 B --> G[Adjacency List/Matrix]285 D --> H[Vertex Initialization]286 F --> I[Queue/Stack Selection]287 288 %% Traversal Initialization289 G --> J[Graph Representation]290 H --> K[Visited Array]291 I --> L[Data Structure Creation]292 293 %% Traversal Process294 J --> M[Neighbor Discovery]295 K --> N[Visit Tracking]296 L --> O[Element Management]297 298 %% Algorithm Execution299 M --> P[Neighbor Processing]300 N --> Q[Visit Marking]301 O --> R[Element Removal]302 303 %% Completion304 P --> S[Traversal Complete]305 Q --> T[All Vertices Visited]306 R --> U[Data Structure Empty]307 308 %% Final Result309 S --> V[Traversal Order]310 T --> W[Connected Components]311 U --> X[Algorithm Termination]312 313 %% Styling - Computer Science Color Scheme314 %% Red: Inputs & Triggers315 style A fill:#ff6b6b,color:#fff316 style C fill:#ff6b6b,color:#fff317 style E fill:#ff6b6b,color:#fff318 319 %% Yellow: Structures & Objects320 style B fill:#ffd43b,color:#000321 style D fill:#ffd43b,color:#000322 style F fill:#ffd43b,color:#000323 style G fill:#ffd43b,color:#000324 style H fill:#ffd43b,color:#000325 style I fill:#ffd43b,color:#000326 style J fill:#ffd43b,color:#000327 style K fill:#ffd43b,color:#000328 style L fill:#ffd43b,color:#000329 330 %% Green: Processing & Operations331 style M fill:#51cf66,color:#fff332 style N fill:#51cf66,color:#fff333 style O fill:#51cf66,color:#fff334 style P fill:#51cf66,color:#fff335 style Q fill:#51cf66,color:#fff336 style R fill:#51cf66,color:#fff337 style S fill:#51cf66,color:#fff338 style T fill:#51cf66,color:#fff339 style U fill:#51cf66,color:#fff340 341 %% Blue: Intermediates & States342 style V fill:#74c0fc,color:#fff343 style W fill:#74c0fc,color:#fff344 style X fill:#74c0fc,color:#fff345 </div>346 <div class="color-legend">347 <span><span class="color-box" style="background:#ff6b6b;"></span>Inputs & Data</span>348 <span><span class="color-box" style="background:#ffd43b;"></span>Data Structures & Arrays</span>349 <span><span class="color-box" style="background:#51cf66;"></span>Operations & Algorithms</span>350 <span><span class="color-box" style="background:#74c0fc;"></span>States & Variables</span>351 <span><span class="color-box" style="background:#b197fc;"></span>Output & Results</span>352 </div>353 <div class="figure-caption">354 <strong>Figure 4.</strong> Graph Traversal Process. This computer science process visualization demonstrates the computational logic of graph traversal algorithms. The flowchart shows graph representation, vertex initialization, neighbor discovery, visit tracking, and traversal completion.355 </div>356 </div>357 358 <h2>5. Memory Management Process</h2>359 <div class="figure">360 <div class="mermaid">361graph TD362 %% Memory Request363 A[Memory Request] --> B[Request Analysis]364 C[Size Requirements] --> D[Size Validation]365 E[Memory Type] --> F[Type Selection]366 367 %% Memory Allocation368 B --> G[Free List Search]369 D --> H[Block Size Check]370 F --> I[Allocation Strategy]371 372 %% Block Management373 G --> J[Free Block Identification]374 H --> K[Block Splitting]375 I --> L[Allocation Method]376 377 %% Memory Assignment378 J --> M[Block Assignment]379 K --> N[Remaining Block]380 L --> O[Memory Marking]381 382 %% Deallocation383 M --> P[Memory Usage]384 N --> Q[Free Block Update]385 O --> R[Allocation Complete]386 387 %% Cleanup388 P --> S[Memory Release]389 Q --> T[Free List Update]390 R --> U[Fragmentation Check]391 392 %% Final State393 S --> V[Memory Freed]394 T --> W[Free List Maintained]395 U --> X[Memory Management Complete]396 397 %% Styling - Computer Science Color Scheme398 %% Red: Inputs & Triggers399 style A fill:#ff6b6b,color:#fff400 style C fill:#ff6b6b,color:#fff401 style E fill:#ff6b6b,color:#fff402 403 %% Yellow: Structures & Objects404 style B fill:#ffd43b,color:#000405 style D fill:#ffd43b,color:#000406 style F fill:#ffd43b,color:#000407 style G fill:#ffd43b,color:#000408 style H fill:#ffd43b,color:#000409 style I fill:#ffd43b,color:#000410 style J fill:#ffd43b,color:#000411 style K fill:#ffd43b,color:#000412 style L fill:#ffd43b,color:#000413 style M fill:#ffd43b,color:#000414 style N fill:#ffd43b,color:#000415 style O fill:#ffd43b,color:#000416 417 %% Green: Processing & Operations418 style P fill:#51cf66,color:#fff419 style Q fill:#51cf66,color:#fff420 style R fill:#51cf66,color:#fff421 style S fill:#51cf66,color:#fff422 style T fill:#51cf66,color:#fff423 style U fill:#51cf66,color:#fff424 425 %% Blue: Intermediates & States426 style V fill:#74c0fc,color:#fff427 style W fill:#74c0fc,color:#fff428 style X fill:#74c0fc,color:#fff429 </div>430 <div class="color-legend">431 <span><span class="color-box" style="background:#ff6b6b;"></span>Inputs & Data</span>432 <span><span class="color-box" style="background:#ffd43b;"></span>Data Structures & Arrays</span>433 <span><span class="color-box" style="background:#51cf66;"></span>Operations & Algorithms</span>434 <span><span class="color-box" style="background:#74c0fc;"></span>States & Variables</span>435 <span><span class="color-box" style="background:#b197fc;"></span>Output & Results</span>436 </div>437 <div class="figure-caption">438 <strong>Figure 5.</strong> Memory Management Process. This computer science process visualization demonstrates the computational logic of memory management systems. The flowchart shows memory request analysis, free block search, allocation strategy, block management, and memory cleanup operations.439 </div>440 </div>441 442 <div style="margin-top: 3rem; padding: 2rem; background: #f8f9fa; border-radius: 8px; border-left: 4px solid #007bff;">443 <h3 style="margin-top: 0; color: #007bff;">Contact Information</h3>444 <p style="margin-bottom: 0.5rem;"><strong>Gary Welz</strong></p>445 <p style="margin-bottom: 0.5rem;">Retired Faculty Member</p>446 <p style="margin-bottom: 0.5rem;">John Jay College, CUNY (Department of Mathematics and Computer Science)</p>447 <p style="margin-bottom: 0.5rem;">Borough of Manhattan Community College, CUNY</p>448 <p style="margin-bottom: 0.5rem;">CUNY Graduate Center (New Media Lab)</p>449 <p style="margin-bottom: 0;"><strong>Email:</strong> gwelz@jjay.cuny.edu</p>450 </div>451 </div>452</body>453</html> 454 455 