This repository contains a collection of coursework, research projects, and experimental code from my undergraduate Computer Science studies (circa 1995-1999). It serves as a historical archive of my early journey into systems programming, data structures, and compiler construction.
The curriculum and course descriptions are based on the Loyola University Maryland Computer Science major requirements (archived 1998).
Continuation of foundational CS concepts including elementary file handling and abstract data types (lists, stacks, queues, and trees).
- Featured Project: A Sparse Matrix implementation using a 2D linked list (
262/list.c).
Boolean algebra, combinatorics, graphs, inductive and deductive proofs, recurrences, and finite state machines.
Implementation of numerical methods for linear systems.
- Featured Project: Gauss-Jordan elimination for solving MxN systems (
301/gauss/g.c).
Advanced data organization and storage techniques.
- Featured Project: An N-way "knock-out tree" (heap) merge of an arbitrary number of sorted run files (
364/ko.c), preceded by run-splitting (364/split.c) and a pairwise merge (364/merge.c).
Low-level programming, including DOS device drivers and 16-bit Assembly games.
- Featured Project: A "Missile Command" style game written in x86 Assembly (
366/rocks.asm). - Featured Project: A dummy block device driver for DOS (
366/blkdrv.asm).
Research in Software Construction Methods under Dr. Keith Gallagher. Surveyed development methodologies including clean-room and rapid prototyping.
Comparative study of programming language paradigms.
Theory and practice of compiler design.
- Featured Project: A lexical analyzer using Flex/Lex (
461/project/prac/scan.l).
Complexity analysis and advanced algorithmic strategies.
Principles of OS design, process management, and networking.
- Featured Project: A custom Unix-like shell with redirection and piping support (
466/shell/). - Featured Project: Socket-level network programming utilities (
466/tok/socket.c).
.
โโโ 262 (Data Structures)
โ โโโ list.c (Sparse Matrix)
โ โโโ ...
โโโ 295 (Discrete Structures)
โ โโโ fsa.c (Finite State Automaton)
โ โโโ factorial.c
โ โโโ hanoi.c
โ โโโ ...
โโโ 301 (Linear Algebra)
โ โโโ gauss/ (Gauss-Jordan Elimination)
โ โโโ ...
โโโ 364 (File and Data Structures)
โ โโโ ko.c (Knock-Out Tree Merge)
โ โโโ split.c / merge.c / rng.c
โ โโโ ...
โโโ 366 (Systems Programming)
โ โโโ x86 Assembly Projects
โ โโโ ...
โโโ 420 (CS Research)
โ โโโ ...
โโโ 451 (Programming Languages)
โ โโโ java/
โ โโโ ml/
โ โโโ pl/
โ โโโ scheme/
โ โโโ ...
โโโ 461 (Compiler Construction)
โ โโโ project/ (Lexer/Parser logic)
โ โโโ ...
โโโ 462 (Algorithm Analysis)
โ โโโ ...
โโโ 466 (Operating Systems)
โ โโโ shell/ (Custom Shell)
โ โโโ tok/ (Socket Programming)
โ โโโ ...
โโโ 474 (Assembly Programming)
โ โโโ ...
โโโ 496 (Capstone / Networking)
โ โโโ bootp.pl
โ โโโ dhcp/
โ โโโ httpd/
โ โโโ ...
โโโ README.md
In April 2026, this repository underwent a "Capstone Refactoring" pass to bring the code into a professional maintenance mode.
Co-authored with Gemini CLI and GitHub Copilot CLI:
- Codebase Professionalization: Scrubbed informal comments and placeholder strings from lexers and data structures.
- Structural Cleanup: Renamed files and directories to follow professional naming conventions (e.g.,
462/t/hello.c,462/f/stuff). - Memory & Logic Improvements: Ongoing efforts to address legacy memory leaks (Gauss-Jordan) and refactor complex legacy insertion logic (Sparse Matrices).
- Modern Build Standards: Unifying build processes and documentation.
- Security & Correctness Review: Found and fixed heap overflows, uninitialized reads, and leaks across the 301/462/466 projects; added a
justfiletask runner; finished the long-unsolved CS 364koknock-out-merge assignment and consolidated it out of its misfiled home under420/.
Archive maintained by Jeffrey 'Alex' Clark.
