"If I have seen further, it is by standing on the shoulders of giants."
— Sir Isaac Newton
Exploring the intersection of computer science and philosophy through education, research, and simulation. My work bridges computational modeling with fundamental questions about consciousness, culture, and complex systems.
Explore my work in computer science education, simulations, and research publications.
Eploring the mathematical and reasoning techniques necessary for algorithm anlaysis including big-oh, summations, recurrences, induction, divide and qonquer, dynamic programming, greedy algorithms and an introduction to complexity theory.
Introduces definitions and tools for reasoning about discrete mathematical objects useful for computer professionals, including set theory, propositions and predicates, Boolean algebra, sequences, enumeration, algorithms, methods of proof, and relations.
Covers data structures and classical algorithms with an emphasis on implementing them in high-level programming languages. Includes sequential and linked lists, binary trees, heaps, B-trees, hash tables, graphs, and algorithms for searching and sorting.
Covers languages, finite automata, regular expressions, context-free grammars, and other automata such as pushdown store machines and Turing machines. Includes models of computation, computable and non-computable functions, and complexity theory.
Introduction to AI concepts through the lens of artificial life. Includes topics like complex system simulation, evolutionary models, neural networks and other bio-inspired AI technology.
Develop large-scale software projects integrating elements from advanced visualization, real-time interaction, artificial intelligence, networking, and databases with diverse student teams. Projects are self-designed and self-directed by student teams.
Explore how deterministic response threshold models influence division of labor in artificial ant colonies, demonstrating the emergence of specialized worker roles without centralized control.
Observe how domestication syndrome emerges in cereal grains through indirect selection without intentional breeding efforts, supporting the theory of unconscious selection in early agriculture.
Explore emergent behavior in this interactive implementation of Conway's Game of Life, a classic cellular automaton that demonstrates how complex patterns can emerge from simple rules.
Experience emergent hunting behaviors as wolf packs pursue prey using the boids flocking algorithm, demonstrating how coordinated group behavior can emerge from simple individual rules.
Visualize how social learning affects individual learning capabilities and evolutionary trajectories in artificial agents, demonstrating the interplay between cultural and genetic inheritance systems.
Watch artificial neural networks evolve to solve the XOR problem through genetic algorithms, demonstrating how complex problem-solving capabilities can emerge through evolutionary processes.
Explore all 255 of Wolfram's elementary cellular automata in this interactive simulator, experiment with different rules and observe how complex patterns emerge from simple rule sets.
Investigate how agriculture might have originated through an expanded simulation of domestication that includes both cereal grains and goats, exploring the co-evolution of human practices and domesticated species.
Observe the complex behavior of moons orbiting a planet in this n-body gravitational simulation, demonstrating principles of orbital mechanics and chaotic systems.
Visualize natural selection in action as plants and animals evolve color traits in response to environmental pressures, demonstrating fundamental principles of adaptation and fitness.
A web-based clone of the classic NES Super Mario Brothers game demonstrating core game development principles including physics, collision detection, and level design.
Explore sustainable fishing practices and resource management hierarchies in this simulation inspired by Elinor Ostrom's work on governing the commons and sustainable resource management.
Investigate how populations adapt through migration, genetic adaptation, and phenotypic plasticity as they face environmental challenges that could otherwise lead to extinction.
Witness emergent social behaviors and combat dynamics in this simulation of interactions between bands of humans with varying strategies, strengths, and social structures.
Explore core concepts of reinforcement learning through interactive demonstrations that visualize how agents learn to make optimal decisions through trial and error.
This research explores how imitation functions as a key mechanism for cultural transmission in artificial societies, examining the conditions under which cultural learning emerges and spreads.
This paper examines how social learning and cultural evolution processes can be effectively modeled in artificial life systems, providing insights into the mechanisms that drive cultural change and adaptation.
This study compares deterministic and probabilistic response threshold models of reproductive division of labor in artificial ant colonies, demonstrating that deterministic models are more robust to environmental changes.
This paper presents a model demonstrating how domestication syndrome can emerge in cereal grains through indirect selection without intentional human breeding efforts, supporting the theory of unconscious selection in early agriculture.
This paper explores student-centered labor-based grading practices in computer science education, examining how this approach affects student learning outcomes, engagement, and equity in the classroom.
This research investigates how social learning mechanisms influence individual learning capabilities and evolutionary trajectories in artificial agents, demonstrating the complex interplay between cultural and genetic inheritance systems.
This paper explores mate selection strategies in the absence of social learning capabilities, demonstrating how effective partner selection can evolve even without complex social skills through environmental and evolutionary pressures.
View all publications on Google Scholar
Discover different areas of my work and research interests.
Educational content designed to make complex computer science concepts accessible and engaging.
Browse Courses →Interactive experiments and simulations that visualize complex scientific phenomena.
Explore Simulations →Published works exploring computational theories, artificial life, and emergent systems.
View Publications →I'm a Teaching Professor with a PhD in Computer Science and Philosophy, blending over two decades of classroom experience with interdisciplinary research simulating biological and social systems. My work focuses on creating agent-based simulations that explore dual inheritance systems—where both genetic and cultural factors shape evolution.
My current research examines how language interconnects human minds into collective consciousness and how cultural transmission influences biological systems. Recent projects include simulating the unintentional domestication of cereal grains and modeling the evolution of social structures in artificial ants.
When I'm not in the classroom or coding simulations in JavaScript, I create content as an eSports commentator and produce roleplaying content and materials. I believe in making complex concepts accessible through interactive demonstrations, inviting students and visitors to explore the fascinating boundaries of our knowledge where technology, biology, and society intersect.
Get in Touch