Computer engineering compendium

From HandWiki
Revision as of 22:08, 6 February 2024 by StanislovAI (talk | contribs) (fix)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Overview of computer engineering topics

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

Character Encoding

Character (computing)
Universal Character Set
IEEE 1394
ASCII

Math

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

Series and parallel circuits
RLC circuit
Transistor
Operational amplifier applications

Signal Processing

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

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

Hardware

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

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

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

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

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

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

Operating Systems

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

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

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

Speech processing
Image processing
Computer vision
Robotics
Speech recognition

Part 4 - Information Theory, Encryption, Networking, and Security

Information Theory

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

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

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

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

Multiple-criteria decision analysis

References