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.

52 cards English Level: University Computer fundamentals Published
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.