Everything on the site.

Big-O notationAlgorithms · Count the steps in real loops, then compare n, n log n, n² and 2ⁿ on a live chart.RecursionAlgorithms · Watch frames push and pop on the call stack for factorial and Fibonacci.BFS vs DFSAlgorithms · A queue against a stack: draw a graph and see which order each search visits it in.Sorting algorithmsAlgorithms · Seven sorts on the same input, with comparison, swap and write counts side by side.Binary searchAlgorithms · Halve the range, probe the middle, repeat: with lo, mid and hi drawn on the array.Sets, relations and functionsDiscrete maths · Shade any set expression on a Venn diagram and test a relation for its properties.Proof by inductionDiscrete maths · Four worked proofs revealed one step at a time, and a broken one to diagnose.CombinatoricsDiscrete maths · An exact nPr and nCr calculator, and a Pascal’s triangle that shows its own addition rule.Boolean algebraDiscrete maths · The laws, De Morgan, and normal forms, with a truth-table generator built in.Finite-state machinesTheory · Build a DFA in a table, see it drawn, and run strings through it one symbol at a time.Domain theoryTheory · Why recursion needs least fixed points, and how CPOs, Scott continuity and powerdomains supply them.Truth table generatorTools · Expression in, truth table out: with DNF, CNF, a minimal form and LaTeX.Graph traversal visualiserTools · Draw a graph, then animate BFS, DFS and Dijkstra with the frontier shown.Recursion tree visualiserTools · Paste a recursive function or a recurrence and see its call tree and call count.Gradient descentML maths · Drag the starting point, set the learning rate, and watch it converge or blow up.Vectors and embeddingsML maths · Bend the plane with a 2×2 matrix and measure how close toy word vectors are.Softmax and cross-entropyML maths · Edit the logits and watch the probabilities, the loss and the gradient update live.AttentionML maths · Q, K and V for three tokens, a live score heatmap, and the weighted sum of values.Formatting a CS paper in LaTeXLaTeX · Page limits, \documentclass, front matter, theorem environments and the bibliography.Camera-ready checklistLaTeX · Fonts embedded, PDF/A, copyright form, source bundle, and why final versions get rejected.LaTeX templatesLaTeX · Where the official classes live, plus a minimal article template you can copy.AlgorithmsSection · Step-through visualisations of sorting, searching, recursion, graph traversal and Big-O growth, each with pseudocode that highlights the line being run.Discrete mathsSection · Sets, relations and functions, proof by induction, counting, and Boolean algebra, explained with worked examples and small interactive checkers.TheorySection · Finite-state machines, automata and the mathematical semantics of programming languages, explained from first principles.ML mathsSection · Gradient descent, vectors and embeddings, softmax and cross-entropy, and attention, each with a formula, a worked numeric example and a live version.ToolsSection · A truth-table generator with CNF, DNF and LaTeX output, a graph-traversal visualiser for BFS, DFS and Dijkstra, and a recursion-tree visualiser.LaTeXSection · How to format a CS conference or workshop paper in LaTeX, a camera-ready checklist, and a minimal template you can adapt.
Guide

Camera-ready checklist for a CS paper

Your paper has been accepted. The camera-ready version is the one that will be printed, archived and cited for decades, and proceedings editors return files that break the technical rules. This checklist covers what to check before you upload, and how to fix the usual problems.

Interactive: Camera-ready checklist with progress saved in your browserUpdated

Submission formatting is about fairness between papers. Camera-ready formatting is about production: the publisher combines hundreds of PDFs into one volume, embeds metadata, assigns DOIs and archives the result. Each item below exists because some paper once broke that pipeline.

The checklist

Work through it with the final PDF open. Each item is explained in more detail further down the page.

Camera-ready checklist

0 / 15 done
The PDF
Content and metadata
Forms and files

Your ticks are saved only in this browser.

Fonts: embedded, and not Type 3

A PDF can either contain the fonts it uses or only name them and hope the reader’s computer has them. Archival PDFs must embed every font, including the symbol fonts used in maths. Check with the pdffonts command (part of Poppler and Xpdf):

$ pdffonts paper.pdf
name                     type      encoding   emb sub uni
------------------------ --------- ---------- --- --- ---
ABCDEF+LMRoman10-Regular Type 1    Custom     yes yes no
GHIJKL+CMMI10            Type 1    Builtin    yes yes no
  • A “no” in the emb column usually comes from an included figure: a PDF exported from a plotting program, for example, that references Helvetica or Arial without embedding it. Re-export the figure with fonts embedded, or convert its text to outlines.
  • Type 3 fonts are bitmap fonts, which look blurry on screen and are rejected by many publishers. In LaTeX they appear when the T1 font encoding is used without scalable fonts installed. Load \usepackage[T1]{fontenc} together with \usepackage{lmodern} (see Latin Modern), or install the cm-super fonts.
  • Modern pdfLaTeX, XeLaTeX and LuaLaTeX embed their own fonts by default, so the problem is almost always a figure.

As a last resort, Ghostscript can re-embed fonts in a finished PDF: gs -dPDFSETTINGS=/prepress -dEmbedAllFonts=true -sDEVICE=pdfwrite -o fixed.pdf paper.pdf. Check the result carefully, because it rewrites the whole file.

PDF/A

PDF/A is the ISO standard for long-term archiving of PDF documents. It requires all fonts embedded, device-independent colour, document metadata in XMP form, and no features that depend on outside resources, such as encryption, JavaScript or external content. Not every venue requires it, but if yours does:

  • With pdfLaTeX, the pdfx package produces PDF/A from LaTeX. You supply the metadata (title, authors, keywords) in a small .xmpdata file.
  • Included figures must comply too; transparent or unusual colour spaces are the usual problem.
  • Validate the result with a dedicated validator such as veraPDF rather than trusting the export, because “saved as PDF/A” and “passes validation” are not the same thing.

The copyright or licence form

Publishing needs permission from the authors, given through a form, usually signed by the corresponding author on everyone’s behalf. It comes in two broad kinds.

  • A copyright transfer gives the copyright to the publisher, who then licenses certain uses back to you, such as posting a preprint or reusing figures.
  • A licence to publish, or an open-access licence such as CC BY, leaves copyright with the authors and grants the publisher the rights it needs. Many open-access proceedings series in computer science work this way.

Read which one you are signing, check what it says about preprint servers and your own website, and upload it separately: the form never goes inside the paper. If your employer or funder has an open-access policy, check it before you sign.

The source bundle

Some series compile the final version themselves, to apply consistent headers, page numbers and metadata. Then you upload sources, not only a PDF.

  • Put everything in one flat folder: the main .tex file, files it \inputs, figures, any non-standard .sty or .cls files, and the generated .bbl file.
  • Include the .bbl, because the editors may not run BibTeX and the .bib alone is not enough.
  • Remove absolute paths, local packages that only exist on your machine, and \usepackage lines for packages you no longer use.
  • Test it: copy the folder somewhere new and compile it from scratch, for example with latexmk. If it doesn’t compile for you, it won’t compile for them.

Why final versions get sent back

ProblemFix
Fonts not embedded, or Type 3 fontsRe-export figures with embedded fonts; use T1 with Latin Modern
Over the page limitCut text; move proofs to an appendix if allowed; never change the layout
Margins or font size changedRemove geometry, \vspace hacks, \small body text
Text or tables in the marginFix overfull boxes; break long URLs and formulas; resize wide tables
Wrong or outdated classDownload the class linked from this year’s instructions
Missing or unsigned formUpload the signed form separately, by the deadline
“??” in the textRebuild until references resolve; check every \label
Blurry figuresUse vector formats, or at least 300 dpi
Colour-only distinctionsAdd line styles or markers for greyscale printing
Metadata doesn’t match the PDFMake the title and author list identical in both
Keep the preprint in sync If you post the paper on arXiv, update it to the camera-ready content, and add the publication’s DOI once it exists, so readers find the version of record. Each arXiv abstract page shows the version history and any DOI linked to it.

Related