Computer engineering compendium
Jump to navigation
Jump to search
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 | edit source]Character Encoding
[edit | edit source]Math
[edit | edit source]- 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 | edit source]Signal Processing
[edit | edit source]- 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 | edit source]- 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 | edit source]Hardware
[edit | edit source]- 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 | edit source]- 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 | edit source]- 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 | edit source]- 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 | edit source]- 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 | edit source]- 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 | edit source]Operating Systems
[edit | edit source]- 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 | edit source]- 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 | edit source]- 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 | edit source]Part 4 - Information Theory, Encryption, Networking, and Security
[edit | edit source]Information Theory
[edit | edit source]- 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 | edit source]- 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 | edit source]- 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 | edit source]- 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 | edit source]References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).