FTCE Computer Science flashcards
FTCE Computer Science · Build recall with a focused review session.
32 cards. Read the term and the definition here. The deck at the top of this page is optional.
- Two's complement negation
- To negate an n-bit value, invert every bit and add one. This representation gives a signed range from negative two to the power n minus one up to positive two to the power n minus one minus one.
- Hexadecimal byte rendering
- Each hexadecimal digit maps to exactly four binary bits, so any single byte is written as precisely two hex digits. Decimal 255 becomes FF, and decimal 16 becomes 10.
- Stack versus queue
- A stack removes the most recently added item first, supporting push and pop. A queue removes the oldest item first, supporting enqueue and dequeue, and drives breadth-first search.
- Hash table average complexity
- With a good hash function and low load factor, lookup, insertion, and deletion average constant time. Under heavy collisions all keys may chain into one bucket, degrading to linear time.
- Compiler versus interpreter
- A compiler translates the entire source program into machine code before any execution, reporting all syntax errors together. An interpreter translates and runs one statement at a time.
- Quicksort worst case
- Quicksort partitions around a pivot, averaging n log n comparisons. When the pivot is consistently the smallest or largest element, as with sorted input, it degrades to quadratic time.
- Method overloading versus overriding
- Overloading declares several methods with the same name but different parameter lists, resolved at compile time. Overriding redefines an inherited method with an identical signature, resolved at runtime.
- De Morgan's laws
- The negation of a conjunction equals the disjunction of the negations, and the negation of a disjunction equals the conjunction of the negations. These laws simplify Boolean expressions and gate circuits.
- Algorithm defining properties
- A valid algorithm must terminate after finitely many steps, consist of definite unambiguous instructions, accept input and produce output, and have every step effectively executable.
- Binary search precondition
- Binary search repeatedly halves a sorted array, comparing the target to the middle element, and runs in logarithmic time. It requires sorted data and efficient random access by index.
- Big-O simplification rule
- Big-O notation keeps only the fastest-growing term and discards constant factors. So three n squared plus five n plus seven simplifies to O of n squared.
- Recursion base case
- Every recursive method needs a base case that returns without calling itself, plus a recursive case whose argument moves toward that base. Without a base case, calls exhaust the stack.
- Flowchart decision symbol
- A diamond represents a decision, with one arrow leaving for true and another for false. Rectangles show processes, parallelograms show input or output, and ovals mark start and end.
- Off-by-one loop error
- An off-by-one error executes a loop one time too many or too few, often from using less-than versus less-than-or-equal. Tracing variable values per iteration exposes it.
- Boundary test values
- Boundary testing checks the edges of valid input, such as the first and last array index, zero, and the maximum allowed value, because errors cluster at those limits.
- Pass by value
- When arguments are passed by value, the method receives a copy, so reassigning the parameter never changes the caller's variable. Passing an object reference copies the reference, not the object.
- Java string equality
- The double-equals operator on Java strings compares object references, not characters. The equals method compares character content, so it is the correct test for equal text.
- Try catch finally
- A try block holds code that may throw, catch blocks handle matching exception types, and the finally block always executes, typically releasing files or connections.
- SDLC maintenance phase
- After deployment, maintenance fixes defects, adapts software to changed requirements, and optimizes performance. It usually consumes the largest portion of total lifetime cost.
- Local variable scope
- A local variable is declared inside a method or block and exists only while that block executes. Parameters behave as locals, while static variables persist for the program's lifetime.
- Version control merge conflict
- A conflict occurs when two branches change the same lines of a file. The tool marks both versions, and a developer must edit the file to resolve them before committing.
- Agile versus waterfall
- Agile delivers working increments in short repeated iterations with continuous customer feedback. Waterfall completes requirements, design, implementation, testing, and deployment in strict sequence.
- Fetch decode execute cycle
- The processor fetches an instruction from the address in the program counter, decodes its operation, executes it, and stores any result, then advances to the next instruction.
- Volatile versus nonvolatile memory
- Volatile memory such as RAM loses its contents when power is removed and holds running programs. Nonvolatile memory such as ROM and disk storage retains data without power.
- Memory hierarchy ordering
- From fastest and smallest to slowest and largest: registers, cache levels, main memory, then solid-state or magnetic storage. Higher levels cost more per byte but reduce access latency.
- Operating system core duties
- An operating system schedules processes, allocates memory, manages files and devices through drivers, and enforces user accounts and access permissions for running applications.
- Signed byte range
- An eight-bit signed integer using two's complement spans negative 128 through positive 127. Computing a sum outside that range causes overflow, which wraps or raises an error.
- ASCII versus Unicode
- ASCII encodes 128 characters in seven bits, covering English letters, digits, and basic symbols. Unicode assigns code points to every writing system, and UTF-8 stores them in one to four bytes.
- OSI transport layer
- Layer four of the OSI model carries end-to-end segments between applications. TCP provides reliable ordered delivery with acknowledgments, while UDP sends datagrams without guarantees.
- DNS and DHCP roles
- DNS translates human-readable domain names into IP addresses. DHCP automatically assigns IP addresses, subnet masks, and default gateways to devices joining a network.
- Private IPv4 address ranges
- Non-routable private ranges are 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16. A /24 subnet uses mask 255.255.255.0 and provides 254 usable host addresses.
- Star versus mesh topology
- In a star topology every device connects to a central switch, so one cable failure isolates one node but the switch is a single point of failure. Mesh adds redundant paths at higher cost.