Software Engineering, Computer Systems, Digital Systems & Computer Networks

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/90

flashcard set

Earn XP

Description and Tags

Comprehensive vocabulary flashcards covering Software Engineering, Computer Systems, Digital Systems, and Computer Networks review material for the FE Electrical and Computer CBT Exam.

91 Terms

1
New cards

Algorithm

A procedure or formula for solving a problem, based on conducting a sequence of specified actions.

2
New cards
<p>Flow Chart Symbols</p>

Flow Chart Symbols

Diagrammatic symbols used to illustrate an algorithm or process: a rectangle represents a process operation, an oval represents a start or stop point, a diamond represents a decision point, a parallelogram represents data input/output (I/O), a wavy-bottom rectangle represents a document, and a cylinder represents a database.

3
New cards

Structured Programming

A programming paradigm aimed at improving the clarity, quality, and development time of computer programs by making extensive use of the three fundamental control flow constructs: sequencing, selection (if/then/else), and repetition (while/for).

4
New cards

While Loop vs. Do-While Loop

A while loop evaluates its Boolean exit condition before executing an iteration (meaning the body may execute zero times), whereas a do-while loop evaluates its exit condition after an iteration, guaranteeing that the body executes at least once.

5
New cards

Big-O Notation

A mathematical metric used in software engineering to describe the scalability and efficiency of an algorithm by comparing execution time growth rates as the number of processed elements nn approaches infinity.

6
New cards
<p>Bubble Sort (Sink Sort)</p>

Bubble Sort (Sink Sort)

A sorting algorithm with O(n2)O(n^2) worst-case complexity that compares each pair of neighboring items and swaps them if they are in the wrong order, causing the largest unsorted elements to settle in order at the end of the array after each pass.

7
New cards
<p>Insertion Sort</p>

Insertion Sort

A sorting algorithm with O(n2)O(n^2) worst-case complexity that iterates by consuming one input element at a time and placing it into its correct position within an expanding, sorted output list.

8
New cards
<p>Merge Sort</p>

Merge Sort

A divide-and-conquer sorting algorithm with O(nlog⁡(n))O(n \log(n)) complexity that recursively splits an input array into two halves until single elements remain, and then merges the sorted halves together.

9
New cards
<p>Max-Heap</p>

Max-Heap

A full binary tree where each node has at most two children and every node has a value smaller than or equal to its parent, positioning the maximum value at the root.

10
New cards
<p>Quick Sort</p>

Quick Sort

A divide-and-conquer sorting algorithm that partitions an array around a pivot value (A≤pivot≤BA \le \text{pivot} \le B); it has a worst-case complexity of O(n2)O(n^2) but achieves an efficient average performance of O(nlog⁡(n))O(n \log(n)).

11
New cards

Binary Search

A search algorithm with O(log⁡(n))O(\log(n)) complexity that operates on an ordered (sorted) array by halving the search space at each step through middle-element bisection.

12
New cards
<p>Hash Table</p>

Hash Table

A data structure that uses a hashing function to map search keys to memory array indices (buckets) to store and locate data records in O(1)O(1) average time.

13
New cards
<p>Linked List</p>

Linked List

A dynamic data structure consisting of a sequence of elements where each element contains a pointer link to the next element, enabling O(1)O(1) insertions and deletions when the location is known, but requiring O(n)O(n) sequential traversal to find an element.

14
New cards
<p>Double Linked List</p>

Double Linked List

A dynamic sequential data structure where each node stores a data item along with two pointers: one linking to the previous node and another linking to the next node, allowing bidirectional navigation.

15
New cards
<p>Queue</p>

Queue

A First-In, First-Out (FIFO) data structure in which items are added (pushed) exclusively at the tail and removed (popped) exclusively from the head.

16
New cards
<p>Stack</p>

Stack

A Last-In, First-Out (LIFO) data collection where element insertion (push) and element deletion (pop) are restricted to the head (top) of the stack.

17
New cards

Map

A data structure that stores distinct keys paired with values where each unique key maps to a single value, typically offering constant-time access via key hashing.

18
New cards

Set

A data structure that stores elements in no particular order and guarantees that no values are duplicated.

19
New cards

Breadth-First Search (BFS)

A graph traversal strategy implemented using a queue data structure that visits all immediate neighbor nodes connected to a parent node before advancing to the next level of child nodes.

20
New cards

Depth-First Search (DFS)

A graph traversal technique that visits the first unvisited connected node along a path until no further connected nodes are available, and then backtracks to explore alternate branches.

21
New cards

Pre-order Traversal

A tree traversal procedure that first visits the root node, then recursively traverses the left subtree, and finally traverses the right subtree.

22
New cards

In-order Traversal

A binary tree traversal procedure that traverses the left subtree, visits the root node, and then traverses the right subtree.

23
New cards

Post-order Traversal

A tree traversal procedure that recursively traverses the left subtree, traverses the right subtree, and visits the root node last.

24
New cards

Pointer

A reference variable whose literal value is the memory address of an object; retrieving the object located at that address is known as dereferencing.

25
New cards

Recursion

A software implementation technique where a function calls itself repeatedly on diminishing subsets of data until reaching a defined termination condition.

26
New cards

White-Box Testing

A software testing method where the internal source code is visible to and reviewed directly by the tester, typically conducted by the designer.

27
New cards

Black-Box Testing

A software validation method where functionality is evaluated from external inputs and outputs without knowledge or inspection of the underlying source code.

28
New cards
<p>Waterfall Model</p>

Waterfall Model

A sequential software development process flow consisting of Requirements, Design, Implementation, Verification, and Maintenance, where preceding steps cannot be repeated.

29
New cards
<p>V-Model</p>

V-Model

A software development lifecycle model pairing each project definition phase (concept of operations, requirements, detailed design) directly with a corresponding testing and integration phase (unit testing, system verification, operation and maintenance).

30
New cards

McCabe's Cyclomatic Complexity

A software metric quantifying the complexity of a program graph and determining the minimum number of tests needed to traverse all control paths, calculated by c=e−n+2c = e - n + 2 where ee is edges and nn is nodes.

31
New cards

Arithmetic Logic Unit (ALU)

A core component of the central processing unit (CPU) that executes all basic arithmetic calculations and Boolean logic operations.

32
New cards
<p>RISC vs. CISC</p>

RISC vs. CISC

Architectural classification where Reduced Instruction Set Computers (RISC) execute smaller, simpler instructions directly in hardware, whereas Complex Instruction Set Computers (CISC) use microcode conversion to decompose complex machine instructions into executable microinstructions.

33
New cards

Harvard Architecture

A computer architecture design featuring physically separate storage spaces and independent bus signal paths for instructions and data, enabling the CPU to read an instruction and perform a data memory access concurrently.

34
New cards

Von Neumann Architecture

A computer architecture where both program instructions and data share the same physical memory and bus path, preventing simultaneous instruction fetching and data read/write operations.

35
New cards
<p>Direct Addressing Mode</p>

Direct Addressing Mode

A processor memory addressing mode in which the instruction's address field directly specifies the memory address where the operand data is stored.

36
New cards
<p>Indirect Addressing Mode</p>

Indirect Addressing Mode

A memory addressing mode in which the instruction's address field points to a memory location that contains the effective pointer/address of the operand.

37
New cards
<p>Register Indirect Addressing Mode</p>

Register Indirect Addressing Mode

An addressing mode where the instruction designates a CPU register that contains the memory address of the operand.

38
New cards
<p>Displacement (Indexed) Addressing Mode</p>

Displacement (Indexed) Addressing Mode

An addressing scheme combining direct and register indirect modes where the effective operand address is computed by adding an offset displacement to a base address held in a register.

39
New cards
<p>Instruction Pipelining</p>

Instruction Pipelining

A microarchitectural technique where instruction execution is partitioned into sequential stages (such as IF, ID, EX, MEM, WB) running simultaneously on different instructions to boost overall instruction throughput.

40
New cards

Pipeline Hazard

An event that disrupts steady pipeline execution and wastes clock cycles (stalls), categorized into data hazards (an instruction depends on unready data) and control hazards (branching or interrupts requiring pipeline flushes).

41
New cards

Set-Associative Cache

A cache memory structure of size C=S×A×BC = S \times A \times B where memory lines map to a specific set determined by index bits (log⁡2(S)\log_2(S)), and within that set can occupy any of AA ways, verified using tag comparators.

42
New cards

Write-Through vs. Write-Back

Cache write-through updates both cache memory and main backing memory simultaneously upon every write, whereas write-back writes exclusively to cache memory and defers writing to main memory until the line is evicted.

43
New cards

Static RAM (SRAM) vs. Dynamic RAM (DRAM)

SRAM uses multi-transistor latch circuits to store bits statically without refreshing (making it fast and expensive for caches), whereas DRAM stores bits on capacitive charges requiring periodic refreshing thousands of times per second (making it cheap and dense for main memory).

44
New cards
<p>Hard Disk Platter Architecture</p>

Hard Disk Platter Architecture

Magnetic disk storage layout where rotating platters are subdivided into concentric circular tracks, each track is segmented into sectors of fixed size, and multiple sectors form clusters.

45
New cards

Radix (Base)

The total number of unique digit symbols, including zero, utilized in a positional numbering system (for instance, radix 10 for decimal, radix 2 for binary, radix 8 for octal, and radix 16 for hexadecimal).

46
New cards

Two's Complement

A mathematical representation for signed binary numbers where a negative integer is formed by inverting all bits of its positive counterpart (one's complement) and adding 1.

47
New cards

DeMorgan's Laws

Foundational Boolean theorems that define equivalent inverted logic operations: A+B‾=A‾⋅B‾\overline{A + B} = \overline{A} \cdot \overline{B} and A⋅B‾=A‾+B‾\overline{A \cdot B} = \overline{A} + \overline{B}.

48
New cards

Minterm (mim_i)

A product (AND) term of nn Boolean variables in which each variable appears once in either uncomplemented or complemented form, producing an output of 1 for that specific input combination.

49
New cards

Maxterm (MiM_i)

A sum (OR) term of nn Boolean variables in which each variable appears once in either complemented or uncomplemented form, producing an output of 0 for that specific input combination.

50
New cards

Karnaugh Map (K-Map)

A graphical minimization grid where adjacent squares differ by exactly one variable via Gray code, enabling the grouping of rectangular powers-of-two 1s or 0s into minimal Boolean algebraic expressions.

51
New cards

Don't Care Condition (XX)

An unspecified input combination in a truth table or K-map whose resulting output value has no operational consequence, allowing it to be grouped freely as either a 0 or a 1 to maximize logic simplification.

52
New cards

D Latch

A level-sensitive digital storage circuit that samples input DD and reflects it at output QQ while enable (EnEn) is high, and holds the last state when EnEn drops to low.

53
New cards

JK Flip-Flop

An edge-triggered bistable multivibrator whose operation follows Q(t+1)=JQ‾+K‾QQ(t+1) = J\overline{Q} + \overline{K}Q; setting J=1,K=0J=1, K=0 sets the output, J=0,K=1J=0, K=1 resets it, and J=1,K=1J=1, K=1 toggles (complements) the output.

54
New cards

Ripple (Asynchronous) Counter

A cascaded counter circuit in which the clock pulse drives only the initial flip-flop, while each subsequent flip-flop is clocked by the transition of the output of the preceding stage.

55
New cards

Synchronous Counter

A counter circuit in which all constituent flip-flops are connected to a single common clock source and transition their state bits at the exact same instant.

56
New cards

Decade Counter

A digital counter designed to count through ten distinct decimal states (0 through 9, binary 0000 to 1001) before resetting to zero.

57
New cards
<p>Combinational Logic Circuit</p>

Combinational Logic Circuit

A digital circuit constructed from logic gates whose instantaneous output values depend entirely and solely on present input values, containing no memory or feedback paths.

58
New cards

Half Adder

A combinational circuit that adds two single-bit binary inputs xx and yy, yielding a Sum output (S=x⊕yS = x \oplus y) and a Carry output (C=xyC = xy).

59
New cards
<p>Full Adder</p>

Full Adder

A combinational arithmetic circuit that sums three binary bits (AA, BB, and Carry-in CinC_{\text{in}}) to produce a Sum (S=A⊕B⊕CinS = A \oplus B \oplus C_{\text{in}}) and a Carry-out (Cout=AB+BCin+ACinC_{\text{out}} = AB + BC_{\text{in}} + AC_{\text{in}}).

60
New cards

Decoder

A combinational logic device that converts an nn-bit encoded binary input into a maximum of 2n2^n individual output lines, asserting exactly one output line corresponding to the input code.

61
New cards

Priority Encoder

A combinational circuit that converts several input lines into an encoded binary output, giving operational precedence to the highest-order active input line when multiple inputs are asserted.

62
New cards

Multiplexer (MUX)

A combinational logic switch that accepts 2n2^n data inputs and uses nn select lines to direct data from one chosen input channel to a single output line.

63
New cards

Programmable Logic Device (PLD)

A general-purpose integrated circuit with uncommitted logic gates and programmable internal switches or fuses that can be configured by the user to implement arbitrary digital functions.

64
New cards

Static Hazard

A transient flaw in combinational circuits where an output momentarily pulses to an incorrect state (0 in a Static-1 hazard, or 1 in a Static-0 hazard) before settling, caused by unequal gate propagation delays when a single input transitions.

65
New cards

Dynamic Hazard

A hazard condition in multi-level combinational circuits where an output changes multiple times (e.g., 1→0→1→01 \rightarrow 0 \rightarrow 1 \rightarrow 0) before resting at its correct value in response to a single input transition.

66
New cards

Critical Race Condition

A timing defect in asynchronous sequential circuits where two or more state variables change simultaneously, and unequal transmission delays cause the final stable state to depend uncontrollably on which variable changes first.

67
New cards

Ring Counter

A circular shift register counter where the output of the final stage is connected directly back to the data input of the first stage, circulating an isolated single bit through nn distinct states.

68
New cards

Johnson Counter

A twisted-ring counter where the inverted output (Q‾\overline{Q}) of the last shift register stage is fed back into the input of the first stage, producing a circulating sequence of 2k2k states for a kk-bit register.

69
New cards

Circuit Switching

A telecommunications network method where a physical or virtual communication circuit is pre-established and dedicated between sender and receiver prior to transmission, providing guaranteed bandwidth but slow setup.

70
New cards

Packet Switching

A communication methodology where messages are segmented into individually addressed packets that traverse available network paths dynamically without pre-allocated circuits, maximizing transmission efficiency.

71
New cards

Network Switch

A Layer 2 (Data Link) local networking device that forwards data frames specifically to destination hosts based on hardware MAC addresses, supporting collision-free full-duplex traffic.

72
New cards

Network Router

A Layer 3 (Network) internetworking device that inspects logical destination IP addresses and routes data packets across disparate subnets and over the Internet.

73
New cards

Network Hub

A basic Layer 1 physical device that repeats and broadcasts incoming data packets blindly across all connected ports in half-duplex mode.

74
New cards
<p>Network Topologies</p>

Network Topologies

The structural layout configurations of devices in a network, including Point-to-Point, Bus, Star, Ring, Mesh, and Tree geometries.

75
New cards

Token Ring Topology

A deterministic local area network topology where a small electronic token frame circulates between stations; only the station holding the token is permitted to transmit data, eliminating packet collisions.

76
New cards

Full Mesh Topology

A highly resilient, self-healing network topology where every node is directly connected to every other node via dedicated links, requiring N(N−1)2\frac{N(N-1)}{2} physical links for NN nodes.

77
New cards

Dynamic Host Configuration Protocol (DHCP)

A network protocol that allows a router or server to automatically assign IP addresses, subnet masks, and configuration settings to client devices joining a local network.

78
New cards

Address Resolution Protocol (ARP)

A local area communication protocol used to discover and map an unknown physical MAC address corresponding to a known destination IP address.

79
New cards

Propagation Delay (dpropd_{\text{prop}}) vs. Transmission Delay (dtransd_{\text{trans}})

Propagation delay (dprop=dsd_{\text{prop}} = \frac{d}{s}) is the time required for a signal wave to travel a physical distance dd at propagation velocity ss, while transmission delay (dtrans=LRd_{\text{trans}} = \frac{L}{R}) is the time needed to push a packet of length LL bits onto a link of transmission rate RR.

80
New cards
<p>OSI vs. TCP/IP Models</p>

OSI vs. TCP/IP Models

Layered networking frameworks comparing the 7-layer OSI model (Physical, Data Link, Network, Transport, Session, Presentation, Application) to the 4-layer TCP/IP architectural suite (Network Access, Internet, Transport, Application).

81
New cards

Transmission Control Protocol (TCP)

A reliable, connection-oriented Transport Layer protocol that provides sequenced, error-checked, and flow-controlled data transmission using sliding windows and acknowledgments.

82
New cards

User Datagram Protocol (UDP)

A lightweight, connectionless Transport Layer protocol that transmits datagrams without establishing a virtual circuit, providing best-effort delivery without acknowledgments or flow control.

83
New cards

Internet Control Message Protocol (ICMP)

A network-layer diagnostic and reporting protocol utilized by operational utilities such as ping and traceroute using Time-to-Live (TTL) packet counters.

84
New cards

Automatic Repeat Request (ARQ)

A reliable data link protocol mechanism utilizing positive acknowledgments (ACK), negative acknowledgments (NAK), sequence numbers, and timeouts to guarantee delivery over imperfect communication channels.

85
New cards

Sliding Window Protocol

A transport data transmission protocol that permits the sender to dispatch multiple sequence-numbered frames (window size) before requiring acknowledgment, dynamically matching link throughput to network conditions.

86
New cards

Firewall

A network security appliance or software service that filters, inspects, and controls incoming and outgoing packet traffic based on an established set of security rules.

87
New cards

Port Scanning

The reconnaissance process of probing a range of TCP and UDP ports on a server or host to identify active listening services and discover accessible communication pathways.

88
New cards

Security Triad (CIA Triad)

The three foundational pillars of cybersecurity: Confidentiality (restricting access to authorized users), Integrity (ensuring data is accurate and untampered), and Availability (guaranteeing reliable, timely service access).

89
New cards

Penetration Testing Phases

The structured five-step lifecycle of an authorized cyberattack simulation: Reconnaissance, Scanning, Gaining Access, Maintaining Access (creating persistence/backdoors), and Covering Tracks.

90
New cards

Fundamentals of Engineering (FE) CBT Exam

A 6-hour, closed-book computer-based examination developed and administered by NCEES containing 110 questions that assesses comprehensive engineering knowledge across standardized specification categories.

91
New cards

NCEES Model Law and Model Rules

Standardized governance publications authored by the National Council of Examiners for Engineering and Surveying providing codes of ethics, professional conduct standards, and baseline legal definitions for engineering licensure.