Untitled Document
Learning Discrete Mathematics and Computer Science
via Primary Historical Sources
All Projects
Search Projects based on Courses
Sixteen projects developed before 2008 are posted at https://web.nmsu.edu/~davidp/hist_projects/
Projects developed since 2008 are listed below.
Most of these projects have been published in
Convergence.
With each project there is a list of suggested courses where the project may be used and a list of topics covered in the project.
- Project 1: Sums of numerical powers in discrete mathematics: Archimedes sums squares in the sand 2010-10-07 Blog
Courses: Discrete Mathematics (lower division), Calculus
Topic: Summations, closed formulas, Riemann sums, areas, inequalities, telescoping sums, mathematical induction (optional), systems of linear equations (optional), recursive computation (optional)
- Project 2: Figurate numbers and sums of numerical powers: Fermat, Pascal, Bernoullii 2010-10-08 Blog
Courses: Combinatorics, Discrete mathematics (upper division)
Topic: sums of powers, figurate numbers, binomial coefficients, combination numbers, Pascal's triangle, Bernoulli numbers, recursive definitions and computation, summations and inequalities, counting and geometry, mathematical induction, interplay between discrete sums and calculus.
- Project 3: Deduction through the Ages: A History of Truth 2013-03-08 Blog
Courses: An introductory discrete mathematics course, A course in discrete mathematics for beginning computer science majors
Topic: Elementary propositional logic, truth tables, the truth table of an implication
- Project 4a: Origins of Boolean Algebra in the Logic of Classes: George Boole, John Venn and C. S. Peirce 2011-05-25 Blog
Courses: Discrete Mathematics (introductory)
Topic: elementary set operations (union, intersection, relative difference, symmetric difference) and their (algebraic) properties, Venn diagrams, relation of set operations to standard language use, relation of elementary set operations to boolean algebra, inverse operations (optional), issues related to mathematical notation (optional), changing standards of rigor and proof (optional)
- Project 4b: Boolean Algebra as an Abstract Structure: Edward V. Huntington and Axiomatization 2011-05-25 Blog
Courses: Discrete Mathematics (introductory or intermediate), Model Theory, Abstract Algebra
Topic: axioms for boolean algebra, boolean algebra properties (with proofs), two-valued model of boolean algebra, axiomatization, consistency, independence
- Project 4c: Applications of Boolean Algebra: Claude Shannon and Circuit Design 2011-05-25 Blog
Courses: Discrete Mathematics (introductory) for mathematics or computer science majors
Topic: boolean algebra axioms and properties, application of boolean algebra to design and simplification of circuits, simplification of boolean expressions, disjunctive normal form, two-valued model of boolean algebra
- Project 5: Euclid's Algorithm for the Greatest Common Divisor 2012-04-25 Blog
Courses: Discrete Mathematics (lower division), Introduction to Computer Science
Topic: Basic division properties of natural numbers, divisors and common divisors, greatest common divisor, basic reasoning, arguments and proofs, formal proof by induction (optional), basic algorithm design and formal description (pseudocode), reasoning about correctness of algorithms.
- Project 6: Algorithms, Recursion and Induction: Euclid and Fibonacci Blog
Courses: Discrete mathematics (sophomore level), Algorithms (junior/senior level)
Topic: Recursion and basic algorithm design using recursive thinking, comparing recursion with iteration, greatest common divisor, Fibonacci numbers, formal proof by induction, analysis of runtime and space complexity of algorithms including recursive algorithms, recurrence relations, dynamic programming.
- Project 7: Striving for efficiency in Algorithms: Sorting 2014-05-25 Blog
Courses: Data Structures and Algorithms
Topic: Sorting, quicksort, insertion sort, efficiency of algorithms, stack data structure.
- Project 8: Discovery of Huffman Codes 2014-05-22 Blog
Courses: Data Structures and Algorithms
Topic: Huffman encoding, greedy algorithm, prefix-free code, optimal code, unit of information, amount of information, binary tree
- Project 9: Networks and Spanning Trees 2013-06-18 Blog
Courses: Graph Theory, Combinatorics, Analysis of Algorithms
Topic: Graphs, Trees, Enumeration of labeled trees, minimal spanning trees, Cayley's formula and Prufer's symbols for labeled trees, Boruvka's algorithm for finding a minimial spanning tree.
- Project 10: Project on Program Correctness 2011-08-31 Blog
Courses: Algorithms, Data Structures, Programming Languages
Topic: Correctness, Partial Correctness, Algorithms
- Project 11: Abstract awakenings in algebra: Early group theory in the works of Lagrange, Cauchy, and Cayley 2011-05-25 Blog
Courses: Abstract Algebra
Topic: roots of unity, permutations, definition and elementary properties of a group, symmetric groups, cyclic groups, Cayley tables, Lagrange's Theorem, group isomorphisms, classification of groups of small order, cosets
- Project 12: Regular Languages and Finite Automata 2010-09-16 Blog
Courses: Automata and Formal Languages, Theory of Computation
Topic: Regular Languages, finite automata, regular expressions, regular events, Kleene's theorem, Kleene's star operation
- Project 13: Henkin's Method and the Completeness Theorem 2010-11-26 Blog
Courses: Mathematical Logic (advanced)
Topic: syntax of first-order logic, axioms and rules of inference, formal concept of proof, deduction theorem, satisfiability and validity, soundness, Henkin's method, completeness, Loewenheim-Skolem theorem, first-order logic with equality
- Project 14: Peano Arithmetic 2010-12-12 Blog
Courses: Mathematical Logic (advanced)
Topic: Peano postulates, consistency and independence of Peano postulates, recursive definition of addition and multiplication, properties of addition and multiplication, first-order arithmetic
- Project 15: Goedel's Incompleteness Theorems 2011-01-05 Blog
Courses: Mathematical Logic (advanced)
Topic: Self-referential statements and paradoxes, first-order languages and first-order theories, models, Peano arithmetic (PA), diagonalization lemma, incompleteness of PA (Goedel's first incompletenss theorem), unprovability of consistency (Goedel's second incompleteness theorem).
- Project 16: Undecidability of First-Order Logic Blog
Courses: Mathematical Logic (advanced)
Topic: Different formulations of the decision problem, models, isomorphic models, intended model, one-way infinite line, two-way infinite line, upper half-plane, Turing machines, halting problem, undecidability of first-order satisfiability
- Project 17: An Introduction to Elementary Set Theory 2011-09-20
Courses: Discrete/Finite Mathematics (sophomore/junior level)
Topic: Set, subset, set equality, union, intersection, set complement, empty set, powerset, Cartesian product, Russell's paradox, functions, images and inverse images, composition, one-to-one and onto functions, one-to-one correspondences and set equivalence, cardinal numbers, finite and infinite sets, countable and uncountable sets
- Project 18: Introduction to Symbolic Logic 2011-09-03 Blog
Courses: An introductory course in discrete mathematics, A course in discrete mathematics for beginning computer science majors
Topic: Propositional logic, logical connectives, logical equivalence, truth tables, tautologies, inference rules, predicate logic, individual variables and predicates, universal and existential quantifiers, logical equivalence of quantified statements, inference rules in predicate logic.
Note:
If you would like to use any of the projects please
let us know
and we will e-mail you a .tex file of the project which you can modify
to better suit your class needs.