Computer engineering compendium
Appearance
This is a list of the individual topics in Electronics, Mathematics, and Integrated Circuits that together make up the Computer Engineering field. The organization is by topic to create an effective Study Guide for this field. The contents match the full body of topics and detail information expected of a person identifying themselves as a Computer Engineering expert as laid out by the National Council of Examiners for Engineering and Surveying.[1] It is a comprehensive list and superset of the computer engineering topics generally dealt with at any one time.
Part 1 - Basics
[edit]Character Encoding
[edit]Math
[edit]- Bitwise operation
- Signed number representations
- IEEE floating point
- Operators in C and C++
- De Morgan's laws
- Booth's multiplication algorithm
- Binary multiplier
- Wallace tree
- Dadda multiplier
- Multiply–accumulate operation
- Big O notation
- Euler's identity
Basic Electronics
[edit]Signal Processing
[edit]- Signal processing
- Digital filter
- Fast Fourier transform
- Cooley–Tukey FFT algorithm
- Modified discrete cosine transform
- Digital signal processing
- Analog-to-digital converter
Error Detection/Correction
[edit]- Parity bit
- Error detection and correction
- Cyclic redundancy check
- Hamming code
- Hamming(7,4)
- Convolutional code
- Forward error correction
- Noisy-channel coding theorem
- Modulation
- Signal-to-noise ratio
- Linear code
- Noise (electronics)
Part 2 - Hardware
[edit]Hardware
[edit]- Logic family
- Multi-level cell
- Flip-flop (electronics)
- Race condition
- Binary decision diagram
- Circuit minimization for Boolean functions
- Karnaugh map
- Quine–McCluskey algorithm
- Integrated circuit design
Programmable Logic
[edit]- Standard cell
- Programmable logic device
- Field-programmable gate array
- Complex programmable logic device
- Application-specific integrated circuit
- Logic optimization
- Register-transfer level
- Floorplan (microelectronics)
- Hardware description language
- VHDL
- Verilog
- Electronic design automation
- Espresso heuristic logic minimizer
- Routing (electronic design automation)
- Static timing analysis
- Placement (EDA)
- Power optimization (EDA)
- Timing closure
- Design flow (EDA)
- Design closure
- Rent's rule
Assembly/Test
[edit]- Design rule checking
- SystemVerilog
- In-circuit test
- Joint Test Action Group
- Boundary scan
- Boundary scan description language
- Test bench
- Ball grid array
- Head in pillow (metallurgy)
- Pad cratering
- Land grid array
Processors
[edit]- Computer architecture
- Harvard architecture
- Processor design
- Central processing unit
- Microcode
- Arithmetic logic unit
- CPU cache
- Instruction set
- Orthogonal instruction set
- Classic RISC pipeline
- Reduced instruction set computing
- Instruction-level parallelism
- Instruction pipeline
- Hazard (computer architecture)
- Bubble (computing)
- Superscalar
- Parallel computing
- Dynamic priority scheduling
- Amdahl's law
- Benchmark (computing)
- Moore's law
- Computer performance
- Supercomputer
- SIMD
- Multi-core processor
- Explicitly parallel instruction computing
- Simultaneous multithreading
Redundancy & Reliability
[edit]- Dependability
- Active redundancy
- Dual modular redundancy
- Triple modular redundancy
- High-availability Seamless Redundancy
- N-version programming
- RAID
- Fault tolerance
- Fault-tolerant computer system
- Watchdog timer
- Redundant array of independent memory
Memory
[edit]- Computer data storage
- Memory controller
- Memory management unit
- Static random-access memory
- Dynamic random-access memory
- Synchronous dynamic random-access memory
- DDR2 SDRAM
- Flash memory
- Memory scrubbing
- Data striping
- Hard disk drive performance characteristics
- Disk sector
Part 3 - OS, Software, Testing, AI
[edit]Operating Systems
[edit]- Operating system
- Multiprocessing
- Concurrent computing
- Computer cluster
- Distributed computing
- Trusted computing base
- Embedded system
- In-circuit emulator
- Real-time operating system
- Comparison of real-time operating systems
- Rate-monotonic scheduling
- Earliest deadline first scheduling
- Least slack time scheduling
- Deadline-monotonic scheduling
- Round-robin scheduling
- O(1) scheduler
- Thread (computing)
- Concurrency control
- Synchronization (computer science)
- Mutual exclusion
- Device driver
Software Development
[edit]- Software development process
- Software requirements specification
- Spiral model
- Agile software development
- Behavior-driven development
- Cowboy coding
- Lean software development
- Extreme programming
- Structured systems analysis and design method
- List of software development philosophies
- Programming language generations
- Comparison of programming languages
- Printf format string
- Programming paradigm
- Object-oriented design
- Software documentation
- Software design document
- Object-oriented programming
- Concurrent Versions System
- Software maintenance
- Revision control
- Software configuration management
- Software release life cycle
- MIL-STD-498
- Software assurance
- Systems development life cycle
- Software quality
- Software quality management
- Relational database
- ACID
- List of data structures
- Semipredicate problem
- Application Interface Specification
- Homoiconicity
- Domain-specific modeling
- Unified Modeling Language
Test/Integration
[edit]- Software testing
- Test-driven development
- Acceptance test-driven development
- Integration testing
- Software walkthrough
- Code review
- Software inspection
- Software verification
- Functional testing
- Software testing
- White-box testing
- Black-box testing
- Gray box testing
- Verification and validation (software)
- Correctness (computer science)
AI & Robotics
[edit]Part 4 - Information Theory, Encryption, Networking, and Security
[edit]Information Theory
[edit]- Information theory
- Channel capacity
- Shannon–Hartley theorem
- Nyquist–Shannon sampling theorem
- Shannon's source coding theorem
- Zero-order hold
- Data compression
- Modulation order
- Phase-shift keying
Encryption
[edit]- Hash function
- List of hash functions
- String searching algorithm
- Avalanche effect
- Rabin–Karp algorithm
- Burst error-correcting code
- Cryptography
- Cryptographic hash function
- Public-key cryptography
- Viterbi algorithm
Networking
[edit]- Computer network
- List of network buses
- Wide area network
- Local area network
- Network science
- Non-return-to-zero
- Manchester code
- Ethernet
- Internet
- OSI model
- Transmission Control Protocol
- Point-to-Point Protocol
- Exposed node problem
- Circuit switching
- Fiber-optic communication
- Capacity management
- Bandwidth management
- Bandwidth (computing)
- Throughput
- Networking hardware
- Wireless network
- IEEE 802.11
- Complementary code keying
- Session Initiation Protocol
- Message authentication code
- Port Control Protocol
- Network monitoring
- Simple Network Management Protocol
- Measuring network throughput
- Reliability (computer networking)
- Channel access method
- Time division multiple access
Security
[edit]- Computer security
- Separation of protection and security
- Information security
- Information security management system
- Internet security
- Hacker (computer security)
- DMZ (computing)
- Firewall (computing)
- Stateful firewall
- Intrusion detection system
- Denial-of-service attack
- IP address spoofing
Part 5 - Misc
[edit]References
[edit]- ^ "NCEES PE Electrical and Computer Exam Specifications(note: requires updating every 6 months)" (PDF). National Council of Examiners for Engineering and Surveying.