American Computer Science League Contests

You may want to look at previous problems from old ACSL contests while you are learning the topics below. I find it helpful to test my understanding by trying an old problem while I'm learning something new!

Graph Theory

Graph Theory Tutorial Video

Haven't really found a good one... will probably need to make one...

How to Convert Between Adjacency Matrix and Graph

Graph Theory Terminology

ACSL Overview

You might find it helpful to read the overview of graph theory from the ACSL.

Digital Electronics

Digital Electronics Tutorial Video

Digital Electronics Boolean Algebra

Digital Electronics Key Things to Remember

Type Graphic Algebraic Equation Truth Table
BUFFER

BUFFER symbol

$ A $
INPUT OUTPUT
A A
0 0
1 1
NOT

NOT symbol

$ \overline {A} $
INPUT OUTPUT
A NOT A
0 1
1 0
AND

AND symbol

$ A*B $ or $ AB $
INPUT OUTPUT
A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1
OR

OR symbol

$ A+B $
INPUT OUTPUT
A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1
NAND

NAND symbol

$ \overline {A*B} $ or $ \overline{AB} $
INPUT OUTPUT
A B A NAND B
0 0 1
0 1 1
1 0 1
1 1 0
NOR NOR symbol $ \overline {A+B} $
INPUT OUTPUT
A B A NOR B
0 0 1
0 1 0
1 0 0
1 1 0
XOR XOR symbol $ A\oplus B $
INPUT OUTPUT
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
XNOR XNOR symbol $ \overline {A\oplus B} $
INPUT OUTPUT
A B A XNOR B
0 0 1
0 1 0
1 0 0
1 1 1

Table above is adapted from Wikipedia.

ACSL Overview

You might find it helpful to read the overview of digital electronics from the ACSL.

Assembly Language

ACSL Overview

You might find it helpful to read the overview of assembly language from the ACSL.