Discrete Mathematics Applets Etc.

Susanna S. Epp
Department of Mathematical Sciences
DePaul University
Chicago, IL 60614

Note: These links were live when last checked. If one appears to be dead, it may be possible to find the item by using a keyword search to discover its new location. Please send comments, corrections, and suggestions for new items to susanna.s.epp@gmail.com.


Interactive Mathematics Activities: www.cut-the-knot.org/Curriculum/index.shtml
This website has links to over 450 interactive mathematics activities arranged by mathematical topic. The activities listed under combinatorics, algebra, logic, fractals, combinatorial games, probability, social science, and puzzles & games are almost entirely discrete mathematical, and many of those listed under arithmetic, miscellaneous demonstrations, fallacies, math magic, and mathematical droodles also involve discrete mathematics.

The Mathematics Millennium Project: http://mmp.maths.org/
The Mathematics Millennium Project is based at the University of Cambridge, UK. Its website contains links to
the NRICH website, containing thousands of free resources designed to develop problem solving skills and subject knowledge, and to the Plus website, which is an online magazine with general interest articles about mathematics, including a careers library.

David Eck Labs: http://math.hws.edu/TMCM/java/index.html
David Eck writes: "On this page you'll find a set of lab worksheets and Java applets that are meant to help people learn about computer science. They were written for use with my introductory computer science textbook [The Most Complex Machine: A Survey of Computers and Computing], but they can also be used independently of that text. The labs and applets are free for personal use.
In addition, the applets can be freely used for non-commercial purposes, including courses that do not use my textbook. I ask that teachers use the labs as an official part of a course only if they adopt my textbook for that course (but I will consider giving permission for other uses)."

Doug Ensley Interactive Flash Exercises: http://webspace.ship.edu/deensley/discretemath/flash/
This website contains 75 exercises, which were written to accompany Introduction to Discrete Mathematics: Mathematical Reasoning with Puzzles, Patterns and Games, by Doug Ensley and Winston Crawley. Topics include puzzles, patterns, and mathematical thinking (including sentential and predicate logic); number puzzles and sequences; a primer of mathematical writing (proof and disproof); sets and Bool
ean algebra; functions and relations; combinatorics; probability; and graphs and trees.

State University of California Reference Notes: www.math.csusb.edu/notes/
This website contains links to notes on the following topics: set theory, symbolic logic, methods of proof, basic set theory proofs, functions, relations, binary operations, and groups. A number of the notes pages contain applets.

The Shodor Education Foundation Mathematical Activities: www.shodor.org/interactivate/lessons/index.html
This website contains interactive activities on Number and Operation, Geometry and Measurement, Function and Algebra, and Probability and Data Analysis.

Derive Labs: www.brookscole.com/cgi-wadsworth/course_products_wp.pl?fid=M20b&product_isbn_issn=0534359450&discipline_number=1
These labs were developed by Nancy Hagelgans at Ursinus College to accompany parts of Discrete Mathematics with Applications.

Martindate's 'The Reference Desk': www.martindalecenter.com
This is a huge reference website. The following are some of the subsections that contain java applets for discrete mathematics:  (www.martindalecenter.com/Calculators2_6_AD.html#COMP-DISCRETE), encryption/cryptography (www.martindalecenter.com/Calculators2_6_EH.html#COMP-ENC), Fibonacci numbers (www.martindalecenter.com/Calculators2_6_EH.html#COMP-FIBON), graph theory (www.martindalecenter.com/Calculators2_6_EH.html#COMP-GR-TH), logic), and number theory (www.martindalecenter.com/Calculators2_6_NZ.html#COMP-NT).

The Math Page: http://www.themathpage.com/index.html
This website, by Lawrence Spector, Borough of Manhattan Community College, The City University of New York, contains complete interactive courses in arithmetic, plane geometry, algebra, topics in trigonometry, topics in precalculus, an approach to calculus, and the evolution of the real numbers.

Earliest Known Uses of Symbols and Terms: These two websites are the work of Jeff Miller, Gulf High School, New Port Richey, Florida. They do not contain applets, but they do contain the earliest uses Miller has discovered of a very large number of mathematical symbols and mathematical terms.


Online Encyclopedia of Integer Sequences: This is another important webpage that does not contain applets. ”Since the mid-1960's Neil Sloane has been collecting integer sequences from every possible source. His goal is to have all interesting number sequences in the table. At the present time the table contains over 100000 sequences…. The main table is a collection of number sequences arranged in lexicographic order. The entry for each sequence gives: the beginning of the sequence; its name or description; any references or links; any formulae; cross-references to other sequences; the name of the person who submitted it, etc.”





A Guide to Writing Mathematics by Dr. Kevin Lee, Purdue University Calumet: This is an attractively written article with good advice. 

A Guide to Writing in Mathematics Classes by Dr. Annalisa Crannell, Franklin & Marshall College: This guide has been widely used in classes throughout the country. Among other things, it contains a checklist for students to use as they write answers to problems. 

How To Write a Solution by Richard Rusczyk & Mathew Crawford: This article (actually written for advanced high school students preparing for mathematical competitions) gives examples of bad and good ways to write solutions to challenging mathematical problems. Reading through the two versions gives a vivid sense for why the good solution is better than the bad one. The authors have tried to make the presentation amusing as well as helpful. (Table of Contents: Have a Plan; Readers Are Not Interpreters; U s e S p a c e; sdrawkcaB knihT, Write Forwards; Name Your Characters; A Picture Is Worth a Thousand Words; Solution Readers, not Mindreaders; Follow the Lemmas; Clear Casework; Proofreed; Bookends) 

A Short Guide to Writing Mathematics (a guide for undergraduates) by Stephen B Maurer, Professor of Mathematics, Swarthmore College: This link describes a book about mathematical writing that can be downloaded from Professor Maurer. It also contains links to a few freely available sections of the book: Advice on Note Taking, Common Work Errors in Writing Mathematics, and a complete table of contents for the book.



ASL Committee on Logic Education: http://www.ucalgary.ca/aslcle/logic-courseware
If you scroll down the page, you will see a list of sites for freshman logic courseware and another list of sites with some resources and/or courses using computers in logic or with logic.

Multiple-choice quiz on basic concepts for logic: http://scherk.pbworks.com/w/page/14864234/Quiz%3A%20Logic
Most of these questions were written by Terence Tao. This applet may not work when advertisement-blockers are enabled (because the applet needs to read from other web pages). Additional quizzes on other mathematical topics are at http://scherk.pbworks.com/w/page/14864181/FrontPage.

Complete, Interactive, Free, Online Textbooks for Introductory Symbolic Logic:

§  Logic Café: http://thelogiccafe.net/PLI/
The Logic Café was developed by John F. Halpin, Oakland University.  Its chapters and tutorials include Basic Concepts, Sentence Logic, Truth Tables, SL Symbolizations, SL Derivations, Predicate Logic,  PL Semantics and Symbolizations,  PL Derivations, Predicate Logic with Identity.  The Logic Café contains tutorials, reference material, and many exercises with immediate feedback about the correctness of students’ answers.

  • blogic:  www.nyu.edu/classes/velleman/blogic/Logic
    blogic was developed by J. David Velleman, New York University. Its chapters and tutorials include Boolean connectives in online search-strings, logic circuits, propositional logic with truth-tables, modal logic and counterfactuals with possible-worlds, diagrams, the logic of frequencies and probabilities, and the language of quantification.
    blogic contains tutorials, reference material, and many exercises with immediate feedback about the correctness of students’ answers.

Truth Tables

·         Truth Table Constructor: www.brian-borowski.com/Truth/
At this site, by Brian Borowski, one can Input a logical expression see the associated truth table. The applet can be set so that it shows the truth values of the complete expression and of all sub-expressions.

·         Truth Table Practice: www.math.csusb.edu/notes/quizzes/tablequiz/tablepractice.html
This applet, from
California State University, San Bernardino, presents a user with a blank truth table for parts of a logical expression in P and Q, asks the user to fill in truth values for the various columns, and indicates whether or not the user’s answer is correct. The user may then click a button to obtain a new problem.

Tarski's World Applets: The use of Tarski's World for teaching logic was developed by Jon Barwise and John Etchemendy. (See www-csli.stanford.edu/hp/CVandNR.pdf and www-csli.stanford.edu/hp/#LOFOL.) Web addresses for Java applets implementing two-dimensional versions of Tarski's World are given below.


Logic Circuits

  • xLogicCircuits:
    This applet
    , part of David Eck’s collection (see above), “lets you build simulated logic circuits from AND, OR, and NOT gates and see how they behave. This is not a serious circuit design tool. It's an educational tool for learning the basics about logic circuits.”
  • circuitbuilder:
    This webpage, from the Johns Hopkins University Virtual Laboratory website, includes a description of the operation of digital logic circuits and a link to an applet that allows a user to construct circuits and see the associated input-output tables.


Knights and Knaves Logic Puzzles: http://www.hku.hk/cgi-bin/philodep/knight/puzzle
These were developed by Zachary Ernst, a professor of philosophy at the University of Missouri-Columnbia.


Prolog: http://www.calvin.edu/~rpruim/courses/m156/F99/prolog/
These materials, developed by Randall Pruim, Calvin College, “were used in conjunction with the predicate logic part of a discrete math course.” They include “a prolog interpreter that can be run over the WWW, an example from Monty Python, examples, exercises, ...”

Logic Proof Developer/Checkers

  • Logic Daemon: http://logic.tamu.edu/
    "The Daemon Proof Checker checks [logic] proofs and can provide hints for students attempting to construct proofs in a natural deduction system for sentential (propositional) and first-order predicate (quantifier) logic. The Quizmaster provides a variety of exercises, from questions about basic concepts such as validity, to wff construction and translation, to proofs, truth tables, and countermodels." The system and exercises are based on Logic Primer (MIT Press, 2000) and were developed by Colin Allen and Chris Menzel.
  • Oliverwww.csis.pace.edu/~scharff/SOFTWARE/OLIVER/oliver.html
    Oliver stands for OnLine Inference and VERification System for Propositional Logic proofs. Oliver provides a web-based interface for learning propositional logic proofs, and accepts any valid direct proof. Oliver provides instant feedback to whether each step is correct or not and encourages experimentation. Users may login into the system with any login name and password. (It seems necessary, however, to log in separately for each problem.) Andy Wildenberg (Cornell College) and Christelle Scharff (Pace University) wrote this article about the system: http://fie.engrng.pitt.edu/fie2002/papers/1613.pdf.



Multiple-choice quiz on basic concepts for sets: http://scherk.pbworks.com/w/page/14864241/Quiz%3A%20Sets
Most of these questions were written by Terence Tao. This applet may not work when advertisement-blockers are enabled (because the applet needs to read from other web pages). Additional quizzes on other mathematical topics are at http://scherk.pbworks.com/w/page/14864181/FrontPage.

Venn Diagrams

·         Venn Diagram Definition: http://www.shodor.org/interactivate/activities/vdiagram/indexflash.html
This applet, from the Shodor Educational Foundation, asks a user to place an item in the correct region of a Venn diagram. For instance, if the three regions represent even integers, palindromic integers, and perfect squares, respectively, the number 121 should be placed in the intersection of the regions representing palindromic integers and perfect squares but not in the intersection of all three regions. Feedback is provided about the correctness of the user’s answer.

·         Venn Diagram Regions: http://www.math.csusb.edu/notes/quizzes/venn1/venn1.html
This applet, from Dan Rinne, California State University, San Bernardino, displays Venn diagram for sets A, B, and C and contains exercises testing a user’s ability to identify various regions in the diagram, such as A
Ç (Bc È C).

·         Survey of Venn Diagrams: http://www.combinatorics.org/Surveys/ds5/VennEJC.html
This webpage does not contain applets, but it provides excellent information, pictures, and information about Venn diagrams involving four or more sets.



Proof Designer: www.cs.amherst.edu/~djv/pd/pd.html
This applet was written by Dan Velleman of Amherst College "to write outlines of proofs in elementary set theory, under the guidance of the user." Proof Designer's approach to proof-writing is similar to the approach used in Velleman's book How to Prove it.

DC Proof: http://www.dcproof.com
This software “enables students to write formal proofs using pull-down menus of the simplified rules of logic and set theory. A built-in, self-study tutorial takes the student from proof of the commutativity of the AND-operator to resolutions of Bertrand Russell's Barber Paradox and the paradox of the universal set.”

Flash Applications: http://webspace.ship.edu/deensley/discretemath/flash/
Several of the Flash applications on Doug Ensley’s website (see above) give assistance for development of proofs and counterexamples.

Find the Flaw: www.math.toronto.edu/mathnet/falseProofs/
This page, from the University of Toronto Mathematics Network, contains examples of false proofs whose flaw can be discovered through interactive activity.

Proof That the Square Root of 2 Is Irrational: http://nrich.maths.org/public/viewer.php?obj_id=1404

This applet challenges the user to unscramble a proof of the irrationality of the square root of 2 that is based on the fact that every integer greater than 1 has a unique factorization as a product of primes. It is part of the Mathematics Millennium Project (see above).



Prime Numbers

  • Sieve of Eratosthenes: www.faust.fr.bw.schule.de/mhb/eratclass.htm: This is a demonstration applet from Dr. Hans-Bernhard Meyer, Faust-Gymnasium, Germany. A table of the integers from 1 to 400 is shown. The user clicks on successive prime numbers in sequence to see all the multiples of the prime successively crossed out.

  • The Prime Pages: www.utm.edu/research/primes/
    This website, from Chris Caldwell, the University of Tennessee at Martin, contains a great deal of information about prime numbers, many links, and some applets.

  • Notes and Literature on Prime Numbers: www.math.utah.edu/~alfeld/math/prime.html
    This website, created by Peter Alfeld of the University of Utah, contains a variety of information about prime numbers and links to several applets. One, The Prime Machine, allows the user to obtain data to explore simultaneously the prime number theorem, the distribution of prime twins, and the Goldbach conjecture.

  • Euclidean Algorithm: http://aleph0.clarku.edu/~djoyce/java/elements/bookVII/propVII2.html
    This webpage, from David Joyce’s website on the history of mathematics at Clark University, contains the original Euclidean algorithm: Euclid’s Proposition 2 from Book VII of the Elements. It includes a Java applet that represents numbers by line segments and allows the user to experiment with segments of different lengths.


Extended Euclidean Algorithm: http://www.math.sc.edu/~sumner/numbertheory/euclidean/euclidean.html
This applet, by David Sumner at the University of South Carolina, calculates the greatest common divisor of two positive integers, derives it as a linear combination of the two numbers, and displays the intermediate steps.


Linear Diophantine Equation: http://www.alpertron.com.ar/QUAD.
This applet finds the general solution for a Diophantine equation of the form ax2 + bxy + cy2 + dx + ey + f = 0, where a-f are integers and any can be chosen to be zero. It was written by Dario Alpern, an electrical engineer in Buenos Aires, Argentina.


Visible Euclidean Algorithm and Fast Modular Exponentiation : http://www.math.umn.edu/~garrett/crypto/a01/Euclid.html and www.math.umn.edu/~garrett/crypto/a01/FastPow.html
These applets, by Paul Garrett at the University of Minnesota, find the greatest common divisor of two numbers using the Euclidean algorithm (displaying the intermediate steps) and compute be mod n for large values of b, e, and n. (Other of Garrett's applets can be viewed at www.math.umn.edu/~garrett/px/index.shtml.)

Chinese Remainder Theorem

·         www.math.mtu.edu/mathlab/COURSES/holt/dnt/chinese1.html
This website, from Michigan Tech University, gives a statement of the Chinese remainder theorem with a crucial condit
ion missing. It includes an applet that takes a1, a2, m1, and m2 as input, and finds all values of x (mod m1m2) that satisfy the pair of congruences x Description: ===a1 (mod m1) and x Description: ===a2 (mod m2). Students explore the applet to figure out the missing condition in the theorem statement.

·         http://www.math.mtu.edu/mathlab/COURSES/holt/dnt/chinese3.html
This website, from Michigan Technical University, allows a user to input as many as four simultaneous congruences of the form
xDescription: ===a (mod m) and obtain a solution.

Caesar Cipher: http://www.shodor.org/interactivate/activities/caesar/index.html
In this applet letters of the alphabet are coded as: A
® 0, B ® 1, . . . , Z ® 25, “and then the numbers are changed via an affine (linear) transformation to new, coded numbers. The coding function has the form: Y = A * X + B, where X is the uncoded number, A and B are constants (known to allies, but unknown to enemies) and Y is the calculated, coded number. The arithmetic is done mod 26 to ensure that we get numbers back that can be translated back to letters before sending the coded message.” The applet allows a user to enter text and specify the values of A and B. It then displays the converted text. The applet contains a link to Caesar Cipher II, in which the user enters a text, which is converted automatically using a Caesar cipher. The user is then asked to determine A and B. Finally, there is a link to Caesar Cipher III, in which only a converted text is given and the user is challenged to decode it.

RSA Cryptography: http://cisnet.baruch.cuny.edu/holowczak/classes/9444/rsademo/
This Java applet demonstrates the basics of RSA Public Key cryptography. It was written by Richard Holowczak a faculty member in the CIS Department at Baruch College, CUNY.

The Crypto Tutorial: http://www.ti89.com/cryptotut/home.htm
This website contains a complete tutorial that combines interactive web pages and instructional text and is aimed at “anybody interested in learning cryptography.” The tutorial was developed by Nils Hahnfeld with the assistance of Dr. Michael Hortmann and Salvatore Angiletta, both from the University of Bremen, Germany. It covers topics from the Caesar cipher through multiplication, linear, polyalphabetic, and RSA ciphers.



Tromino Puzzle Information and Applet: www.amherst.edu/~nstarr/puzzle.html
Norton Starr of Amherst College developed this applet to make it convenient for people to experiment with the problem of covering a deficient  8 x 8 checkerboard with L-trominoes (L-shaped dominoes). Another applet on the website, developed by Chris Eliot, enables exploration for covering deficient m x n checkerboards for a variety of values of m and n.

Tower of Hanoi and Related Items

  • Do-It-Yourself Version: www.mazeworks.com/hanoi/
    Bob Kirkland and David Herzog created an applet that allows the user to move disks one by one from pole to pole in a Tower of Hanoi puzzle.
  • Tower of Hanoi and the Reve's Puzzle: www.hcc.hawaii.edu/~sam/
    Sam Rhoads at Honolulu Community College has applets that demonstrate the Tower of Hanoi Puzzle and the Reve's Puzzle (a version of the tower of Hanoi that uses four poles). The user can specify the number of disks, the movement of the disks is shown (rather rapidly), and the number of moves is displayed.



Probability Calculator: http://statistics.berkeley.edu/~stark/Java/Html/Venn3.htm
This applet, from the Statistics department at the University of California Berkeley, allows a user to move Venn diagram representations for sets A, B, and C inside a universe S, and it calculates the probabilities of sets, such as A
È B and (A Ç B)c, given various probabilities for A, B, and C .

The Monty Hall Problem: www.stat.sc.edu/~west/javahtml/LetsMakeaDeal.html
This applet, by R. Webster West, Dept. of Statistics, Univ. of South Carolina, lets the user play multiple times, keeping track of the number of times the user won by switching and the number of times the user won by not switching. To get a good sense for the probabilities, one must play the game quite a few times.

Pascal's Triangle: http://ptri1.tripod.com
This page contains many illustrations and interactive activities for Pascal's triangle.

Catalan Numbers: http://mathforum.org/advanced/robertd/catalan.html
This page, by Robert M. Dickau, is not an applet, but it contains a set of very nice pictures illustrating the many ways Catalan numbers occur in various situations. Other mathematical figures by the same author are at http://mathforum.org/advanced/robertd/index.html.



Missionaries and Cannibals: www.plastelina.net/games/game2.html and http://www.aiai.ed.ac.uk/~gwickler/missionaries.html
The first website contains an applet for trying to solve the missionaries and cannibals puzzle. The second website, from Gerhard Wickler’s website at the University of Edinburgh, contains a graph that shows the solution.

The Wolf, the Goat, and the Cabbage: http://perso.wanadoo.fr/jeux.lulu/html/anglais/loupChe/loupChe1.htm
This is an applet for trying to help a farmer get a wolf, a goat, and a cabbage from one side of a river to the other. It is from the French website “Lulu’s games.”  The Leaping sheep puzzle applet  from this website is also good (http://perso.wanadoo.fr/jeux.lulu/html/anglais/lomouton/mouton.htm#).  Both puzzles may be solved by drawing a graph and finding a path from the initial state to the desired final state.

Transitive Closure: www.cs.nmsu.edu/~ipivkina/TransClosure/index.html
This applet is from Inna Pivkina, New Mexico State University. It calculates the transitive closure of a relation represented as an adjacency matrix.

Graph Theory Animations: http://delab.csd.auth.gr/c_graph/anim.htm
This website, from the Data Engineering Laboratory of Aristotle University in Greece, contains animations for Dijkstra's algorithm, Kruskal’s algorithm, Prim’s algorithm, Floyd’s algorithm, breadth-first search, depth-first search, and topological sort. A few of the links are not operational, but most work fine.

Backtracking: www.faust.fr.bw.schule.de/mhb/backtrack/backtren.htm
This applet, from Dr. Hans-Bernhard Meyer, Faust-Gymnasium, Germany, shows users a puzzle for which the solution requires backtracking. They may either try to solve the puzzle on their own or click on “automatically” to see a visual representation of the solution.



Sorting Algorithms:

·         xSortLab: math.hws.edu/TMCM/java/xSortLab/index.html
This applet, part of David Eck’s collection (see above), illustrates the actions of BubbleSort, SelectionSort, InsertionSort, MergeSort, and QuickSort. By choosing “Visual Sort,” the user can step through the execution of the algorithms for an input of 16 elements. By choosing “Timed Sort,” the user can compare the run times of these algorithms for various input sizes.

·         Sam Rhoads:  www.hcc.hawaii.edu/~sam/
This applet counts the number of comparisons and the number of assignment statements used to execute various sorting algorithms for inputs of various sizes up to n = 100. It also displays the individual steps of the algorithms, allowing the user to choose the display at three different speeds (all of which are fairly rapid).

Java Applets for Data Structures and Algorithms: www.cosc.canterbury.ac.nz/people/mukundan/dsal/appldsal.html
This website, by R. Mukundan,  University of Canterbury, Christchurch, New Zealand, contains a variety of applets. Recursion: Tower of Hanoi, N-Queens Problem. Sorting Algorithms: Bubble Sort, Insertion Sort, Selection Sort, Merge Sort, Quick Sort. Searching Algorithms: Linear Search, Binary Search. Lists, Stacks and Queues: The Stack, The Queue, The Cyclic Queue, The Linked List, The Stack as a Linked List, The Queue as a Linked List, Trees and Graphs: Binary Tree Traversal, Binary Search Tree, Graph Traversal.



Finite-State Automata:   http://www.cs.montana.edu/~dynalab/fsa/fsa.html
This Java applet allows a user to view what happens when strings are input to various automata. The applet also makes it possible to modify existing automata and create new ones. It is part of the DynaLab project at Montana State University.


Turing Machine Simulator: http://ironphoenix.org/tril/tm/

This Java applet simulates the action of a Turing Machine. It was developed by Suzanne Britton, a Canadian programmer-analyst, and includes brief descriptions about Turing machines and instructions for using the applet.



Webpage last revised: 13 September 2013
Susanna S. Epp