Coding and information theory:
- Concept of information
- Efficient prefix codes (Huffmann, Shannon-Fano, etc.)
- Redundant codes for error detection and correction
Computational arithmetic:
- Radix-B and B-complement numbers and their calculation methods
- Fixed point numbers and floating point numbers (IEEE 754)
Propositional logic:
- Syntax and Semantics
- Normal forms
- Binary decision diagrams
Combinatorial circuits (switching networks):
- Simple circuits for radix B and B-complement numbers
- Efficient circuits for radix B and B-complement numbers (e.g. Carry-Lookahead addition, Wallace multiplication, Goldschmidt division, etc.)
- Logic minimization: Quine/McCluskey method, Karnaugh/Veitch diagrams, symbolic logic minimization, etc.
Sequential circuits
- Transducers and acceptors
- Mealy vs. Moore machines
- Determinate and minimize finite automata
- State coding and sequential circuit synthesis with FlipFlops
- Formal verification of sequential circuits
Processor architecture
- Instruction set architecture
- Von-Neumann, Harvard architecture, RISC/CISC architectures
- Operating and control units
- Example: MIPS or ARM instruction set
- Assembler programming