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 online, 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

contextfree 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
 TAlgebras
 Monads
 Indexed Categories