Courseware from Wagner Mathematics:
Contents:
-
Universal Algbra for computer Scientists
-
High School Algebra for the Interested Student
-
1994 Lectures on Category Theory for Computer
Scientists
Universal Algebra for Computer
Scientists (UA4CS)
We are working on an on-line, graduate level text on universal algebra
that emphasizes computer science examples and applications. A preliminary
version of Part I is available for your inspection and use.
Part I
of the text introduces the following basic algebraic concepts
-
signatures
-
algebras
-
homomorphisms
-
initial algebras
-
free algebras
and illustrates these concepts with numerous interactive applications
to computer science topics including
-
inductive definitions
- notational conversions for expressions (from prefix
to infix, postfix, Polish, and Cambridge notation)
-
substitution of terms within terms
-
context-free grammars
-
the syntax (both abstract and concrete) of a programming
language, LANG1
-
the semantics of LANG1 via a homomorphism
-
the compilation of LANG1 onto a simple stack
machine via a homomorphism
High School Algebra
We are working on an interactive high school algebra text directed toward
the interested student who may want to go further and deeper into the subject
matter of high school algebra and into mathematics in general.
Here "high school" is used in the American way -- the ninth through
twelth years of schooling. The polynomial calculator is provided
as part of the proposed courseware.
This is a preliminary draft..
The polynomial calculator is a calculator for calculating with
and graphing polynomials over the reals. Functions in the current
implementation include:
-
addition
-
subtraction
-
multiplication
-
division and remainder
-
evaluation at an argument
-
derivative
-
solving (via Newton's method)
-
graphing of up to four polynomials at one time
The calculator is written in Java 1.1 but contains some "deprecated" code
from Java 1.0.
1994 Lectures on
Category Theory for Computer Scientists 
This is a set of notes from a short course, titled ``Algebras, Categories and Programming Languages'', that I gave at the Univerity
of Bergen in 1994. The notes are in the form of two .ps files totally some
100 pages. These are the notes handed as handed out during the course: they have not been highly edited. Earlier versions of the same material were given at the University of Constantine, Constantine, Algeria, and elsewhere.
Part I The sections of the first part
are as follows:
- Introduction
- Why Algebras
- Introduction to Categories
- More Algebra
- Algebraic Specification of Data Types
- More About Categories -- Functors
- Parameterized Specifications
- More About Categories -- Natural Transformations
- Limits and Colimits
- Records, Variants, and Recursive Types
- Control Constructs via Products and Coproducts
- Adjoints
Part II The sections of the second part
are as follows:
- Substitution
- Cartesian Closed Categories
- Typed Lambda Calculus
- T-Algebras
- Monads
- Indexed Categories