Programming Fundamentals Unit 1
Shared by a Flashcards.gg user · generated with AI · Report this set
Covers fundamental programming concepts, problem-solving steps, and basic software design principles for students and beginners.
Tap the card to flip it
Cards · 52
- What is a Program?
- A set of step-by-step instructions written in a computer language to solve a problem.
- Algorithmic vs. Heuristic?
- Algorithmic provides guaranteed step-by-step solutions, while heuristic uses practical rules of thumb or educated guesses.
- What are the 4 Steps of Problem Solving?
- 1. Understand the Problem (Definition), 2. Devise a Plan, 3. Carry Out the Plan, 4. Review and Reflect (Testing).
- What is Problem Definition?
- Clearly identifying and specifying the Input, Process, and Output required to solve a problem.
- What is the IPO Cycle?
- Input (gathering raw data), Process (manipulating and calculating data), and Output (presenting results).
- What is Input in programming?
- The raw data, values, or signals provided to a system by a user, sensor, or external file.
- What is Output in programming?
- The processed information or final result returned to the user, storage, or external device.
- Name 3 Characteristics of a Good Program.
- Correctness, Robustness (gracefully handles errors), and Maintainability (easy to read and modify).
- What is Program Design?
- The conceptual phase where algorithms and structural blueprints are planned prior to writing code.
- What are the 4 Stages of Program Development?
- Coding, Documenting, Testing, and Debugging.
- What is the difference between Testing and Debugging?
- Testing discovers the presence of errors, whereas debugging locates and fixes those errors.
- Top-Down vs. Bottom-Up Programming?
- Top-Down decomposes the main system into smaller subcomponents; Bottom-Up creates basic modules first to build upward.
- What is an Algorithm?
- A finite, unambiguous sequence of well-defined instructions for completing a specific computational task.
- What are the main characteristics of an Algorithm?
- Finiteness, definiteness, input, output, and effectiveness.
- What is Pseudocode?
- An informal, high-level description of an algorithm written in plain human language mixed with coding structures.
- What is a Flowchart?
- A graphical representation of the sequential steps, decisions, and flow of logic within an algorithm.
- What does an Oval represent in a flowchart?
- The terminal points: the start or end of the process.
- What does a Rectangle represent in a flowchart?
- A processing step, computational action, or operation.
- What does a Parallelogram represent in a flowchart?
- An input or output operation.
- What does a Diamond represent in a flowchart?
- A decision point branching into multiple paths based on a condition.
- What does a Small Circle represent in a flowchart?
- A connector linking separated flowchart segments on the same page.
- What are Flow Lines in a flowchart?
- Arrows indicating the exact sequence and directional flow of control between shapes.
- What are the three fundamental Control Structures?
- Sequence, Selection (decision), and Iteration (repetition/looping).
- What is a Sequential Control Structure?
- Execution of instructions in direct order, one strictly after another from top to bottom.
- What is a Selection Control Structure?
- A construct that chooses different execution paths based on evaluated boolean conditions.
- What is an Iteration Control Structure?
- A construct that repeats a block of instructions until a termination condition is satisfied.
- What is Modular Programming?
- Decomposing a large, complex program into distinct, independent, and manageable subroutines or modules.
- What is Code Modularity?
- The degree to which a program's components can be separated and recombined independently.
- What is Syntax in programming?
- The specific set of grammatical rules defining valid combinations of symbols in a language.
- What is Semantics in programming?
- The underlying meaning, behavior, and logical intent of syntactically valid code statements.
- What is a Syntax Error?
- A violation of language grammar rules that prevents the program from compiling or interpreting.
- What is a Runtime Error?
- An error that occurs while the program executes, causing it to crash (e.g., dividing by zero).
- What is a Logic Error?
- A flaw in program reasoning that allows execution without crashing but produces incorrect results.
- What is Dry Run Testing (Desk Checking)?
- Manually stepping through code logic with sample data on paper to verify correctness.
- What is a Trace Table?
- A column-based matrix used during desk checking to track variable values step by step.
- What is Boundary Value Analysis?
- Testing inputs at the extreme outer edges of acceptable input ranges.
- What is Internal Documentation?
- Comments and descriptive identifiers written directly into the source code for human readers.
- What is External Documentation?
- Separate written reference manuals, user guides, and architecture specifications.
- What is a Source Code?
- Human-readable computer instructions written in a high-level programming language.
- What is Object Code (Machine Code)?
- Low-level binary instructions (0s and 1s) directly executable by the computer CPU.
- What is a Compiler?
- A translator that converts an entire source code file into machine language before execution.
- What is an Interpreter?
- A program translator that analyzes and runs code line by line in real time.
- What is an Assembler?
- A utility that converts low-level assembly language mnemonics directly into machine code.
- High-Level vs. Low-Level Languages?
- High-level is abstract and human-friendly; low-level is hardware-oriented and machine-efficient.
- What is Software Portability?
- The capability of software to execute across different hardware platforms or operating systems without rewriting.
- What is Software Reliability?
- The probability that a program performs its required functions without failure over a period of time.
- What is Software Efficiency?
- The optimal utilization of system resources, including CPU time and system memory consumption.
- What is a Variable?
- A named storage location in memory capable of holding data that can change during execution.
- What is a Constant?
- A named memory value assigned at declaration that cannot be modified throughout program runtime.
- What is a Data Type?
- A classification determining the kind of value an expression can hold and operations permitted on it.
- What is Refactoring?
- Restructuring existing computer code to improve readability and internal structure without altering external behavior.
- What is Stepwise Refinement?
- The top-down process of developing an algorithm by gradually breaking general tasks into simpler sub-tasks.