I have an discrete maths exhibition, and i wanted to illustrate the influence of discrete maths in computer science.

so i need some softwares to illustrate. A few examples like set theory for computer networking. graph theory and big O for analysis of algoritms.

please can some of you suggest some software. thanks.
remember it must show influence of discrete maths

Dani AI

Generated

A compact addendum that builds on and : organize the exhibit into three short, hands-on stations so each visitor can see a single discrete-math idea in action — automata & formal languages, graphs & networks, and experiments that demonstrate algorithmic complexity and basic probability/combinatorics. Make each station interactive, reproducible (Jupyter or printed worksheets), and focused on one clear takeaway.

Automata & formal languages — use an interactive simulator so attendees can draw machines, step inputs, and watch acceptance, nondeterminism, and conversions (for example: NFA -> DFA). Prepare 2–3 prebuilt examples and a "fix the machine" challenge that exposes common mistakes. A widely used teaching tool for this purpose is JFLAP. (jflap.org)

Graphs & networks — combine a small programmatic demo with an interactive visualizer. Create tiny test graphs programmatically, compute things like shortest path, minimum spanning tree or critical-path scheduling, then load those graphs into a visual tool so visitors can toggle edges/weights and immediately see the effect. This ties directly to PERT/CPM-style scheduling and routing examples. Libraries for building and running graph algorithms and separate visual tools work well together. (networkx.org)

Empirical complexity and probability — use Jupyter notebooks so the audience can vary input size and parameters. Time functions using Python's timing utilities, repeat trials, take medians, and plot time vs n (and log-log) to reveal asymptotic behaviour; explain why small-n noise and constant factors matter. A tiny timing helper to use in a notebook:

import time

def median_time(f, gen_input, n, trials=7):
    times = []
    for _ in range(trials):
        data = gen_input(n)
        t0 = time.perf_counter()
        f(data)
        times.append(time.perf_counter() - t0)
    return sorted(times)[len(times)//2]

Interactive notebooks and the Python timing module make these demos reproducible and easy to present. (jupyter.org)

Practical tips: keep inputs small and visual, run each demo several times beforehand, and prepare brief explanation cards that state the discrete-math concept, the demo setup, and the takeaway.

Recommended Answers

All 2 Replies

I am not sure about this, but does PERT/CPM fall under discrete maths ?
If yes these are used in project scheduling and management and hence in the s/w made for such systems.

I have an discrete maths exhibition, and i wanted to illustrate the influence of discrete maths in computer science.

so i need some softwares to illustrate. A few examples like set theory for computer networking. graph theory and big O for analysis of algoritms.

please can some of you suggest some software. thanks.
remember it must show influence of discrete maths

As far as demonstrating big O - you're not going to be able to easily write programs which analyze running time of other programs. The easiest demonstration would be to look at some execution data for several runs through various finite data sets over some different algorithms that belong to different runtime classes. Perhaps a good example would be sorting using bubble, insertion, quicksort, heapsort and radix-sorts. Standard compsci - easily accessible and easily understood.

As to 'set theory' maybe you should look at the following::
1) simple ball/urn w/wo replacements
2) poker hand probabilities ... maybe even use 2 decks of cards :)
3) polyominoes

As far as graph theory algorithms go - you can do a lot in very little time if you have a CAS/Math program like maple, mathematica or sage handy.
If you want to sketch some graphs out by hand or by feeding it datasets from your application code then look at ::
tulip (http://www.tulip-software.org/)
graphviz ( http://www.graphviz.org/ )
uDraw ( http://www.informatik.uni-bremen.de/uDrawGraph/en/uDrawGraph/uDrawGraph.html )

C++ya,
xkey

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.