Learning Discrete Mathematics and Computer Science
via Primary Historical Sources
Available projects
Sixteen projects developed before 2008 are posted at
http://www.math.nmsu.edu/hist_projects/
Projects developed since 2008 are listed below. 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
- Courses: Discrete mathematics (lower division), Calculus
- Topics: 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
- Courses: Combinatorics, Discrete mathematics (upper division)
- Topics: 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
Revised: 9/15/2009
- Courses: An introductory discrete mathematics course, a course in
discrete mathematics for beginning computer science majors.
- Topics: Propositional logic, truth tables, the truth table of an
"if-then" statement, elementary logical equivalences in
propositional logic.
- Project 4a:
Origins of Boolean Algebra in the Logic of Classes:
George Boole, John Venn and C. S. Peirce
- Courses: Discrete Mathematics (introductory)
- Topics: 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
- Courses: Discrete Mathematics (introductory or intermediate), Model Theory,
Abstract Algebra
- Topics: 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
- Courses: Discrete Mathematics (introductory) for mathematics or computer
science majors
- Topics: 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
(10/25/2009)
- Courses: Discrete Mathematics (lower division), Introduction to
Computer Science
- Topics: 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 7:
Striving for efficiency in Algorithms: Sorting
- Courses: Data Structures and Algorithms
- Topics: Sorting, quicksort, insertion sort,
efficiency of algorithms, stack data structure.
- Project 8:
Discovery of Huffman Codes
- Courses: Data Structures and Algorithms
- Topics: Huffman encoding, greedy algorithm, prefix-free code,
optimal code, unit of information, amount of information, binary tree
- Project 11:
Abstract awakenings in algebra:
Early group theory in the works of Lagrange, Cauchy, and Cayley
(10/9/2009)
- Courses: tba
- Topics: tba
- Project 12:
Regular Languages and Finite Automata
- Courses: Automata and Formal Languages, Theory of Computation
- Topics: Regular Languages, finite automata, regular expressions,
regular events, Kleene's theorem, Kleene's star operation
- Project 13:
Henkin's Method and the Completeness Theorem
- Courses: Mathematical Logic (advanced)
- Topics: 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
- Courses: Mathematical Logic (advanced)
- Topics: Peano postulates, consistency and independence of Peano postulates,
recursive definition of addition and multiplication, properties of addition
and multiplication, first-order arithmetic
- Project 16:
Undecidability of First-Order Logic
- Courses: Mathematical Logic (advanced)
- Topics: 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 Sets and Infinity via Richard Dedekind
(5/11/2009)
- Courses: Discrete/Finite Mathematics (sophomore/junior level)
- Topics: Sets, Union, Intersection, Functions (composition,
inverse, injective, and forward image), Set Equivalence, Infinity
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.