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: SWI-Prolog – available in RMU
Moon Campus and Prolog documentation,
see link at GNU Prolog site: http://pauillac.inria.fr/~diaz/gnu-prolog/
and check index Built-in predicates in Prolog,
see GNU Prolog page: http://pauillac.inria.fr/~diaz/gnu-prolog/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
Barker-Plummer 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://www-ihs.theoinf.tu-ilmenau.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.phy-astr.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, Sun-Joo, 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 language-specific 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 754-1985 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/computer-based 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 Brown-Muñ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.2-4.4.5 from
Winfried Karl Grassmann and Jean-Paul
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 SWI-Prolog on RMU systems or download
at http://www.swi-prolog.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 L-Systems. 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/ L-Systems: 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.kobe-u.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/Christopher-Mawata/petersen/lesson8.htm Recommended Mawata topics http://oneweb.utc.edu/~Christopher-Mawata/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://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/maxflow/Maxflow.shtml |
10.9 |
Acyclic
Hypergraphs: see Jeffrey D. Ullman, “Hypergraphs,” at http://www-db.stanford.edu/~ullman/cs345notes/slides01-3.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 Barker-Plummer, 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
Math-Thinking list; and students in
RMU C&IS