This is a short list of links that might be of interest, regarding CAS algorithms.
mathworld - Math world is a rather extensive site with encyclopedic information on mathematical subjects.
A=B - This is a wonderful book on the Gosper-Zeilberger algorithm. Definitely worth a read, and a nice explanation of one of the success stories in the field of computer algebra.
Structure and interpretation of classical mechanics - From the writers of the well-known "Structure and interpretation of computer programs", this book (available for free online) delves into doing classical mechanics calculations using Scheme in this case (Scheme is a Lisp dialect, and as such related to Yacas). This is not strictly a book about computer algebra, but about one of the uses for computer algebra. This should be nice literature for Physics students wanting to try out calculations in this field. No need to roll your own Lisp dialect, just follow this book!
Wester benchmark - The Wester benchmark has been used to compare features between various CAS.
Known math - (review forthcoming)
This is a short list of links to other related math packages I could find on the net for which source code is also available. If you know of any other software please let me know.
Pari-GP - Pari-GP is somewhat similar to Yacas, but based on pure "C" code and it is geared to Number Theory while not being actually "symbolic". That is, all expressions are expanded completely. (1+x)^2 = 1+2*x+x^2 and is not stored in the unexpanded form. Also, no LISP or equivalent is included. More details are available on the web.
Maxima - Maxima is a Macsyma (early computer algebra system) clone, fully GPL'led. It can be found in the GNU repositories, and is written in Common Lisp. Maxima is being maintained by an active and friendly community.
Axiom - Axiom is a "new generation" CAS that uses strong typing to improve code quality. Next to Maxima this is one of the big systems, recently released under open source licenses. Like Maxima, Axiom also has an active and friendly developer community.
Euler - Euler is a package aimed at numeric calculations. It has been married with Euler.
R - R is a statistics package, but a connection with Yacas has been made through the project Ryacas. R seems to have a huge community of users and contributors, and is is well engineered and easy to use.
Ginac -
Ginac is a c++ library for doing computer algebra.
It allows symbolic manipulation from within a c++ program. It is currently
in active development, and looks very promising.
GiNaC is an iterated and recursive acronym for GiNaC is Not a
CAS, where CAS stands for Computer Algebra System. It is designed
to allow the creation of integrated systems that embed symbolic
manipulations together with more established areas of computer science
(like computation- intense numeric applications, graphical interfaces,
etc.) under one roof. It is distributed under the terms and conditions
of the GNU general public license (GPL).
HartMath -
HartMath is a computer algebra system written in
Java. All math functionality is written in Java itself.
HartMath is an experimental computer algebra system written in
Java 1.1.
Some of the main implemented features are Big rational number arithmetic, symbolic differentiation, linear
algebra functions, 2D plot functions, numeric computations, pattern
matching transformation rules, functional programming, pure functions,
runs on EPOC32 (i.e. Psion 5mx with Java virtual machine, ...)
Jacal -
JACAL is an interactive symbolic mathematics program.
JACAL can manipulate and simplify equations, scalars, vectors, and
matrices of single and multiple valued algebraic expressions containing
numbers, variables, radicals, and algebraic differential, and holonomic
functions.
It is written in Scheme, and has the GPL license.
MockMMA - MockMMA is a Mathematica-style parser and pattern matcher, written in Lisp, with some additional mathematical functionality. The link mentioned here directs you to Richard Fateman's page, which should contain a link to MockMMA.
LiDIA - (review forthcoming)
minilzo - A lovely little and fast compression library that Yacas uses internally, for storing scripts in an archive.
pcre - We probably wouldn't have support for regular expressions if it were not for pcre (Perl-compatible regular expressions).
Python - Yacas uses a memory manager optimized for allocating many small blocks of memory (like an interpreter typically does), which was borrowed from Python.
tabber - The tabs that are visible on the Yacas web site use tabber.
jslog - I use jslog for debugging Javascript, and can highly recommend it.
Octave - (review forthcoming)
yorick - (review forthcoming)
scilab - (review forthcoming)
rlab - (review forthcoming)
Object oriented numerics - (review forthcoming)
Gnu Scientific Library - (review forthcoming)
ffes - Written mathematical expression reader. (review forthcoming)
Operations-Research objects - (review forthcoming)