## Syllabus

Part of the purpose of this blog is to collect enough information on Computational Combinatorics to develop a graduate course on the subject. This page outlines the syllabus of such a course, and how the posts fit within that syllabus.

### Preliminaries

- Ranking and Unranking of Combinations and Permutations
- Symmetry and Automorphisms
- Canonical Labelings with
`nauty`

- Computing Orbits with
`nauty`

- Best Practices for Scientific Computing

### Existing Software Tools

- Using the Sage Graph Library
- Using
`gtools`

- Using GLPK, CPLEX, and other LP Solvers.
- Using TreeSearch for Parallel Computation

### Backtrack Search

- A Visual Guide to Combinatorial Search
- Finding Subobjects
- Finding colorings
- Best Practices for Backtrack Search

### Canonical Deletion

- Introduction to Canonical Deletion
- Small Graphs are Reconstructible
- Generating Cubic Graphs
- Generating Fullerenes
- Generating 2-connected Graphs using Ears
- Generating -Extremal Graphs

### Orbit Methods

- Introduction to Orbital Branching
- Uniquely -Saturated Graphs, Experiment #1
- There is no Projective Plane of Order 10.

### Planar Graphs

- Generating planar graphs
- Hypohamiltonian planar graphs

### Linear and Integer Programming

- Integer Programming as Blackbox
- Linear Programming as Subroutine
- The Nullstellensatz/Linear Algebra Method

### Flag Algebras

- Introduction to Flag Algebras
- Hypergraphs Do Jump
- On the Ramsey Multiplicity of Triangles with Three Colors

### Famous Computer Proofs

- The Four-Color Theorem
- Hales’ Proof of the Kepler Conjecture

### The Wilf-Zeilberger Method

- Introduction to the Wilf-Zeilberger Method