I am moving my collection of lecture notes here. At present there is the following.

### Undergraduate and masters’ notes

- Introduction to Algebra
- Linear Algebra
- Algebraic Structures
- Number theory
- Combinatorics
- Probability
- Cryptography
- Complexity
- A crash course on group theory (Lisboa, November 2016)

### St Andrews Notes on Advanced Combinatorics

- Part 1: The art of counting
- Part 2: Structure, symmetry and polynomials
- Part 3: Finite geometry and strongly regular graphs

### Postgraduate notes

- Classical groups (QM lectures, 2000)
- Polynomial aspects of codes, matroids and permutation groups (lectures at UPC, 2002)
- Enumerative combinatorics (LTCC notes, 2011)
- (with Donald Preece) Primitive lambda-roots and GAP code for PLRs
- Projective and Polar Spaces (third edition)
- Finite geometry and coding theory (Potenza summer school notes 1999)
- Permutation groups and transformation semigroups, Vienna lecture notes 2017

### Historical documents

- On doing geometry in CAYLEY (handwritten manuscript from 1987)
- Solutions to exercises in Chapters 1-8 of
*Designs, Graphs, Codes and their Links*, by Cameron and van Lint - Borcherds’ proof of the moonshine conjecture, based on a talk by V. Nikulin
- Synchronization (LTCC intensive course, 2010)
- (with R. A. Bailey) Laplace eigenvalues and optimality (LTCC intensive course, 2012)
- From
*M*_{12}to*M*_{24}(based on 1970 lectures by Graham Higman) - Never apologise, always explain: scenes from mathematical life (G. C. Steward lectures, Gonville and Caius College Cambridge, May 2008)
- Asymmetric Latin squares, Steiner triple systems and edge-parallelisms (manuscript from c.1980)
- Notes towards a revision of
*Oligomorphic Permutation Groups*

### Other items

- NP, matchings and the TSP, abstract for Jack Edmonds’ London gigs in 2015

Notes on linear algebra are very nice. Even notations, especially the coordinate vector notation [v]_B.

Here are some ideas and suggestions for linear algebra teaching. May not be original but I have not seen then widely used.

1) Promote the following computational technique for matrix multiplication: move the second matrix upwards so that its bottom left corner coincides with the top right corner of the first matrix, each entry of the product is a dot product which is easy to see and compute.

2) Define determinant using multiplicativity as the basic axiom. First define it for elementary matrices and 0 for noninvertible ones. The multiplicativity axiom seems well motivated.

3) Promote actively the functional graph analogue for linear mappings.

4) One should consider writing superscripts denoting operations to the left from the object e.g. ^{T}A not A^{T}

5) use indefinite integration k[X]->k[X]/ as an example of quotient space usage.

Thanks for putting the notes online for free đź™‚