Links and Resources
Applications of Formal Structures
and Other Relevant Links (according to course topics)
£ = required;
u =
interactive exercise
Topic 1: Introduction
Topic 2: Logic
Topic 3: Sets, Sequences, and Strings,
Topic 4: Number Systems and Representation of Numbers
Topic 5: Relations, Functions, and Operators
Topic 6: Counting, Randomization, Permutations, Combinations
Topic 7: Relational Database Concepts
Topic 8: Algorithms and Recursion
Topic 9: Codes, Encryption, and Compression
Topic 10: Graphs, Trees, and Networks
Topic 11: State Transitions, Automata and Pattern Matching
Topic 12: Documentation of Computer Languages
Topic: 13: Specification, Verification and Validation
Topic 14: Summary
Introduction 

1.1 

Logic 

2.1 

2.2 
£ Logic Translation  Peter Suber, Philosophy
Department, 
2.3 
£ Logic Programming: SWIProlog – available in RMU
Moon Campus and Prolog documentation,
see link at GNU Prolog site: http://pauillac.inria.fr/~diaz/gnuprolog/
and check index Builtin predicates in Prolog,
see GNU Prolog page: http://pauillac.inria.fr/~diaz/gnuprolog/manual/manual023.html
See also free “for
personal use” or “for study” version of LPA Prolog Professional : http://www.lpa.co.uk/dow_fre.htm
based on earlier LPA Prolog versions  runs in DOS Window. Recommended by RMU 
2.4 
£ u Demonstration WinLogiLab, by Charles Hacker,
Electronics and Signal Processing Group, For more advanced practice (not required), select from modules
“BoolTut”, “WinCounter”. 
2.5 
£ u Tarski’s World (Jon Barwise, John Etchemendy and Dave
BarkerPlummer in collaboration with Albert Liu, Center for the Study of
Language and Information ( 
2.6 
Circuits, including
gates and u simulation  Osman Balci, William S. Gilley, Robin J. Adams, Emre
Tunar, N. Dwight Barnette, Department of Computer Science, Virginia Tech,
Blacksburg, VA: http://courses.cs.vt.edu/~csonline/MachineArchitecture/Lessons/Circuits/index.html

2.7 
Digital logic and
gates: u Introduction
to Logic Gates, Dan Calderwood,
Information Sciences, College of the Redwoods, Eureka, Crescent City, and
Fort Bragg, CA: http://isweb.redwoods.cc.ca.us/INSTRUCT/CalderwoodD/diglogic/index.htm Select input(s) for simulation of each logic operation and its
output(s). 
2.8 
Circuit simlification and Karnaugh maps, Michael Keppler, Technische Universität Ilmenau, u Karnaugh animation: http://wwwihs.theoinf.tuilmenau.de/~sane/projekte/karnaugh/embed_karnaugh.html
Circuit simplification, NAND, and the Scheffer
Stroke. See http://en.wikipedia.org/wiki/NAND 
2.9 
Proofs using logic and sets: u Proof Designer, Daniel J. Velleman,
Department of Mathematics and Computer Science, Amherst College, Amherst, MA;
at http://www.cs.amherst.edu/~djv/pd/pd.html See also: Daniel J. Velleman, How
to Prove It: A Structured Approach (Cambridge, 1995). 
2.10 
Truth tables: u Truth
Table Constructor, Brian S. Borowski, 
2.11 
Truth tables: u Hyperphysics  Truth Tables for Digital
Logic, C. R. (Rod) Nave, Department of Physics and Astronomy, Georgia
State University, Atlanta, Georgia, at
http://hyperphysics.phyastr.gsu.edu/hbase/electronic/truth.html

2.12 
Truth tables: u Truth Table Practice, Department of
Mathematics, 
2.13 
“Converting truth
tables into Boolean expressions,” All About Circuits at http://www.allaboutcircuits.com/vol_4/chpt_7/9.html
 excellent tutorial(s). 
2.14 
Microsoft Tools: 
2.15 
Microsoft or MathType
Tool: 
2.16 
Online Logic Notation 
Peter
Suber, Philosophy Department, Earlham College, Richmond, IN, “Notes
on Logic Notation on the Web”: http://www.earlham.edu/~peters/writing/logicsym.htm;
also Alan Wood, “Character Sets: Using Greek and special characters from Symbol font in
HTML”: http://www.alanwood.net/demos/symbol.html 
Sets, Strings, and Sequences 

3.1 
£
u
Venn Diagrams Exercise – Utah State University National Library of
Virtual Manipulatives for Interactive Mathematics, contacts Larry Cannon, Robert Heal,
Department of Mathematics and Statistics; James Dorwood, Department of
Elementary Education; and Larry Edwards, Math/Science Education Center, Utah
State University, Logan, Utah (National
Science Foundation Award Number 9819107): http://matti.usu.edu/nlvm/nav/frames_asid_153_g_4_t_1.html?open=instructions
; main link at http://matti.usu.edu/nlvm/nav/

3.2 
u Venn Diagrams
Exercise – Shodor Education Foundation, Inc.
http://www.shodor.org/interactivate/activities/vdiagram/ 
3.3 

3.4 
Application of set
operations – Adobe ® After Effects ® 5.5 u Mask Mode – used in RMU 
3.5 
£ Comparative and
historical treatment of diagrams with a focus on Euler, Venn, Pierce, and
Shin diagrams: http://plato.stanford.edu/entries/diagrams/
 Shin, SunJoo, Lemon, Oliver,
"Diagrams", The Stanford Encyclopedia of Philosophy (Winter 2003 Edition), Edward N. Zalta (ed.). 
3.6 
Categorical Logic and
Categorical Syllogisms  Garth
Kemerling, “Categorical Syllogisms”: http://www.philosophypages.com/lg/e08a.htm , “Categorical
Logic,” showing Venn Diagrams: http://www.sci.wsu.edu/math/Lessons/Logic/categoricalLogic.html
, u Bluestorm, the logic course: http://www.thelogiccourse.com/bluestorm/
, see Topic 8, “Categorical Logic.” 
3.7 
Prolog Set and List Operations. Use Prolog to practice set operations. u See Set Operations
Using Prolog Use Prolog to practice list operations. u See List Operations
Using Prolog. 
Tutorials and other online information on strings and sequences normally deal
with the topic within the context of a particular language: C, C++, C#,
Visual BASIC, Perl, Caché ObjectScript, M/MUMPS, etc.
Appropriate searching will lead to languagespecific treatments of strings
and sequences. 

3.9 
String matching; see Sushita Mitra and Tinku Acharya, Data Mining: Multimedia, Soft Computing,
and Bioinformatics (Wiley, 20043), Chapter 4. 
Number Systems and Representation of Numbers 

4.1 

4.2 
Number Systems Tutorial
– Osman Balci, William S. Gilley, Robin J. Adams, Emre Tunar, N. Dwight
Barnette, Department of Virginia Tech, 
4.3 
Number representation:
site dealing with IEEE 7541985 standard relating to floating point operation  
4.4 
Celebrating the 20th anniversary of the 
4.5 
£ u Demonstration WinLogiLab, by Charles Hacker,
Electronics and Signal Processing Group, 
4.6 
Interval Computations and Calculators (about the accuracy of
calculator/computerbased computations, rounding, number representation): Vladik Kreinovich, Computer Science, 
4.7 
u Scientific Notation exercises – Prof. George Wiger, California State University,
Dominguez Hills, CA, and Scott van Bramer, Widener College, Chester, PA;
Scientific notation: http://science.widener.edu/svb/tutorial/scinot.html; Exponents in scientific
notation: http://science.widener.edu/svb/tutorial/exponentscsn7.html 
4.8 
u Base 20 numbers
(Mesoamerican/Mayan), by Dawn
Jenkins, Michiel Berger, Cuyahoga
Astronomical Association: http://www.michielb.nl/maya/math.html 
4.9 
Arithmetic
error(s) in measures systems lead to Mars orbiter crash: http://www4.cnn.com/TECH/space/9911/10/orbiter.03/ 
4.10 
£ Binary Marble Adding Machine: http://woodgears.ca/marbleadd/ 
Relations, Functions, and Operators 

5.1 

5.2 
u Jatse Prototype Page by Eric BrownMuñoz: Modeling
Algebraic Functions at https://jatse.dev.java.net/ Please read the
instructions on this paper and test the prototype applet. Note AlgebraObjects
at https://jatse.dev.java.net/prototype.html . 
5.3 
Relations and Order Relations (Thomas A. Alspaugh,
Informatics, 
Counting, Randomization, Permutations, and Combinations 

6.1 
Edward Rosenbaum, page on shareware
programs for name permutation generation at http://erosenbaum.netfirms.com/ Consider the usefulness of name permutation generation in generating
test data. 
6.2 
John C. Pezzullo, a page on random number
generation for statistical purposes at http://members.aol.com/johnp71/javastat.html and link to page covering random number generation. See also http://www.statistics.com/content/javastat.html 
6.3 
Ion Saliu’s page on permutations,
combinations, and related topics at http://www.saliu.com/permutations.html This page has a focus on lottery and gambling issues. 
Relational Database Concepts 

7.1 
Databases – u Tabledesigner: http://www.tabledesigner.com/home.htm

7.2 
Databases – SQL: Jalal Kawash, Department of Computer Science, University of Calgary,
Calgary, Alberta, “Writing Complex
SQL Queries that Require Universal Quantifiers” at http://pages.cpsc.ucalgary.ca/~kawash/papers/wccce00.html 
Algorithms and Recursion 

8.1 
£ u Recursion examples and exercises using Prolog – regarding Prolog
recursion, see Prolog excerpts in §§
4.4.24.4.5 from
Winfried Karl Grassmann and JeanPaul
Temblay, Logic and Discrete
Mathematics: A Computer Science Perspective (Prentice Hall, 1996) in Topic
2: Logic, of your supplementary text: Valerie J. Harvey, Brian Harris, E.
Gregory Holdan, Mark M. Maxwell, David F. Wood, eds., Discrete Mathematics Applications for Information Systems
Professionals (Pearson, 2003). Use SWIProlog on RMU systems or download
at http://www.swiprolog.org/ or download
original “study” version of LPA
Prolog Professional at http://www.lpa.co.uk/dow_fre.htm 
8.2 
Turtle Graphics, Logo, and LSystems. u Logo programming using Microsoft Windows Logo
Version 6.5b. Download available at http://www.softronix.com/logo.html
. See An
Introduction to MSW Logo : a web based book on learning Logo by Jim
Fuller (jfuller@southwest.com.au).
Links to The Great Logo Adventure, by
Jim Muller, donated for the site, and examples or programs and games. See Arnie’s Java Logo (u AJLogo; creating “applets by programming in Logo”)
at http://ajlogo.com/ LSystems: Chris Lucas,
“Classifier, u “Turtle Graphics in C♯” by Syed Hasan Adil, at http://www.csharphelp.com/archives/archive268.html
Bill Kendrick’s u “Web Turtle” at http://www.sonic.net/~nbs/webturtle/
u “A Turtle graphics in Logo,” by Mutsunori Banbara, Kobe University, Japan, at http://kaminari.scitec.kobeu.ac.jp/java/logo/

8.3 
Algorithms  Osman
Balci, William S. Gilley, Robin J. Adams, Emre Tunar, N. Dwight Barnette,
Department of Virginia Tech, Blacksburg, VA: http://courses.cs.vt.edu/~csonline/Algorithms/Lessons/index.html 
8.4 
Fibonacci Numbers: Ron
Knotts, Department of Mathematics, Surrey University, Guildford, UK: http://www.mcs.surrey.ac.uk/Personal/R.Knott/Fibonacci/fib.html 
Codes, Encryption, and Compression 

9.1 
u Security – RSA demo
by Richard Holowczak, Computer Information Systems Program, Zicklin School of
Business, Baruch College, CUNY, New York, NY: http://cisnet.baruch.cuny.edu/holowczak/classes/9444/rsademo/ 
9.2 
Security  about public
key encryption: Stephen Levy, Crypto : how the code rebels beat the
government saving privacy in the digital age (Viking Penguin, 2002).
RMU Libraries 
9.3 
Ruby B. Lee, Zhijie
Shi, and Xiao Yang, “Efficient Permutation Instructions for Fast Software
Cryptography,” at http://palms.ee.princeton.edu/PALMSopen/lee01efficient.pdf

9.4 
Manchester coding 
see Adrian Mills, “Manchester encoding using RS232 for Microchip 
9.5 
Compression – see Sushita Mitra and Tinku Acharya, Data Mining: Multimedia, Soft Computing,
and Bioinformatics (Wiley, 20043), §1.10 on Data Compression and Chapter
3 on Multimedia Data Compression. 
Graphs, Trees, and Networks 

10.1 
u OSPF (Shortest
Path): Panagiotis, Papaionannou (at Πανεπιστημίου
Πατρών) (1997), Dijksta’s
and Floyd’s algorithms, at: http://students.ceid.upatras.gr/~papagel/project/kef5_7.htm
(Use step method.) 
10.2 
u Graph Coloring  Dr. Christopher P. Mawata, Department of
Mathematics, University of Tennessee at Chattanooga, Chattanooga, TN, Graph
Theory Lessons:  http://www.utc.edu/Faculty/ChristopherMawata/petersen/lesson8.htm Recommended Mawata topics http://oneweb.utc.edu/~ChristopherMawata/petersen/index.htm
: Isomorphism, £ Graph Coloring, Adjacency Matrices, Bipartite Graphs,
Euler/Hamilton Circuits and Directed Graphs, Spanning Trees, Weighted Graphs,
Shortest Paths, and Minimal Spanning Trees. u Chromatic Number of a Graph, The Four
Color Map Problem, Edge Chromatic Number of a Graph, and other games and tutorials, see Colorful Mathematics, For Applications of
Graph Coloring, see Michael Trick’s, “Network Resources for Coloring a
Graph,” at http://mat.gsia.cmu.edu/COLOR/color.html (1994). 
10.3 
u Graph Theory – 
10.4 
Matrix for correlation
 The Keynote® Internet Health Report
– compare adjacency matrix 
10.5 
u Network Model Digraphs – Industrial Engineering and Management
Sciences Department at Northwestern University – GIDEN, A Graphical
Environment for Network Optimization: http://giden.nwu.edu/ 
10.6 
£u Spanning Tree
Demo (Greedy Algorthms, Kruskal’s Algorithm): Graham Gough, Department of Computer Science,
University of Manchester, Manchester, UK, http://www.cs.man.ac.uk/~graham/cs2022/greedy/ u Minimum Spanning Tree Demo, Dena Ghiassi, York University: http://www.cse.yorku.ca/~aaw/Ghiassi/MST/MSTAlg.htm

10.7 

10.8 
£u Network Demo (Max Flow, Min Cut, Ford Fulkerson algorithm) Kenji Ikeda, Ph.D, Associate Professor, Dept. Information Science and Intelligent Systems, The University of Tokushima, http://wwwb2.is.tokushimau.ac.jp/~ikeda/suuri/maxflow/Maxflow.shtml 
10.9 
Acyclic
Hypergraphs: see Jeffrey D. Ullman, “Hypergraphs,” at http://wwwdb.stanford.edu/~ullman/cs345notes/slides013.pdf
from Stanford University. 
State Transitions, Automata and Pattern Matching 

11.1 
£u Finite State Machines 
demonstration
WinLogiLab, by Charles Hacker, Electronics and Signal Processing
Group, Griffith University, Gold Coast, Queensland, Australia: http http://132.234.129.50/WinLLab/WinLLab.html [Web Release Version
7, February 2007] for practice with finite state machines select module
“StateMach.” Covers both Moore and Mealy machines. See also section 12.3
below. 
11.2 
£u Regular Languages, Finite Automaton, Pushdown Automaton, Grammars –
JFLAP 6.0, by Susan Rodger, Computer Science, Duke
University, Durham, NC: http://www.jflap.org/
and Susan H. Rodger and Thomas W. Finle, JFLAP: An Interactive Formal Languages and
Automata Package (Jones & Bartlett, 2006) 
11.3 
Difference
between Moore and Mealy machines. See http://www.cs.umd.edu/class/spring2003/cmsc311/Notes/Seq/impl.html for “Implementing Moore
and Mealy machines,” Charles Lin, for Computer Organization course,
Department of Computer Science, University of Maryland, College Park, MD 
11.4 
Critical
Paths: PERT and Gantt Charts in Project Management. See R. Ryan Nelson, http://gates.comm.virginia.edu/rrn2n/teaching/gantt.htm
(2006)
Critical Path Method (CPM), see http://www.netmba.com/operations/project/cpm/ , Internet Center for
Management and Business Administration, Inc. 
Documentation of Computer Languages 

12.1 
u Grammars – JFLAP 6.0, by Susan Rodger, Computer
Science, Duke University, Durham, NC: http://www.jflap.org/ and Susan H. Rodger and Thomas W. Finle, 
12.2 
EBNF, by Richard E. Pattis, Computer
Science, CMU: http://www.cs.cmu.edu/~pattis/misc/ebnf.pdf 
12.3 
Charles Lin and Bunny Tjaden, course
tutorial, University of Maryland, College Park, MD  BNF Tutorial: http://www.cs.umd.edu/class/spring2002/cmsc214/Tutorial/ebnf.html 
Topic 13 
Specification, Verification, and Validation 
13.1 
This entry being revised. 
Summary 
Acknowledgements:
Thanks for assistance in identifying and assembling these (and other) resources
to: Peter B. Henderson, Department
of Computer Science and Software Engineering, Butler University, Indianapolis,
IN; Vicki L. Almstrum, Department of
Computer Sciences, University of Texas at Austin, Austin, TX; Charles
Hacker, Electronics and
Signal Processing Group, Griffith University, Gold Coast, Queensland,
Australia; Dave BarkerPlummer, Center
for the Study of Language and Information, Stanford University, Stanford, CA; Steve Wildstrom, Technology & You
Editor, BusinessWeek; Susanna Epp, Department
of Mathematical Sciences, DePaul University, Chicago, IL; Frank E. Ritter, Applied Cognitive Science Lab, School of
Information Sciences and Technology, Penn State University, University Park,
PA; Lauren
Lilly, Boise, ID; Judith L Gersting,
Computer Science Department, University of Hawaii at Hilo, Hilo, HI; Tran Tuan Anh, School of Computing,
National University of Singapore; various contributors to the ACM SIGCSE
MathThinking list; and students in
RMU C&IS