Describe what is meant by the term abstraction
Hiding or omitting unneccessary details when solving a problem
Identify 5 different data types
INTEGER
REAL
BOOLEAN
CHAR
STRING
Define a variable and a constant in programming.
A variable is a named storage location in memory whose value can change during program execution.
A constant is a named storage location whose value remains fixed throughout the program's execution.
What are the main stages of the software development lifecycle?
Analysis
Design
Coding
Testing
Maintenance
Identify three benefits of decomposition
Simplifies Complex Problems
Encourages Reusability
Supports Teamwork
Makes Debugging Easier
Define a composite data type and provide an example.
A composite data type is a data type that can store multiple values, potentially of different types, grouped together. An example is a record, which can hold various fields such as a student's name (string), age (integer), and grade (character).
Explain the difference between a procedure and a function.
A procedure is a subroutine that performs a specific task but does not return a value.
A function is a subroutine that performs a specific task and returns a value to the part of the program that called it.
Differentiate between black-box testing and white-box testing.
Black-box testing focuses on testing the software's functionality without knowledge of its internal code structure.
White-box testing involves testing the internal structures or workings of an application, requiring knowledge of the code.
Describe the purpose of a flowchart in algorithm design
A flowchart is a visual representation of the sequence of steps and decisions needed to perform a process. In algorithm design, flowcharts help in planning
Differentiate between a stack and a queue.
A stack is a linear data structure that follows the Last-In-First-Out (LIFO) principle, meaning the last element added is the first to be removed. In contrast, a queue follows the First-In-First-Out (FIFO) principle, where the first element added is the first to be removed.
Write pseudocode for a function that checks if a number is even.
FUNCTION IsEven(number)
IF number MOD 2 == 0 THEN
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
END FUNCTION
Explain the difference between syntax errors and logic errors.
Syntax errors occur when the code violates the grammatical rules of the programming language, such as missing semicolons or misspelled keywords.
Logic errors happen when the program runs without crashing but produces incorrect results due to flawed logic.
Explain what is meant by stepwise refinement in the context of algorithm design, and describe how it helps in developing programs.
Stepwise refinement is a method of developing an algorithm by breaking it down into a series of smaller, more detailed steps. The steps are numbered in order and the programmer will describe the constructs involved.
Add data item to first available free node
Change the pointer from the first node to point at the new node.
Add a pointer from the newly inserted free node to previously second item.
Make sure the pointer in the second item points to a null value.
Explain the concept of parameter passing and differentiate between pass-by-value and pass-by-reference.
Pass-by-value: A copy of the actual parameter's value is passed. Changes made inside the function do not affect the original variable.
Pass-by-reference: A reference to the actual parameter is passed. Changes made inside the function affect the original variable.
Explain the key features of Rapid Application Development (RAD) and discuss one advantage and one disadvantage of using this methodology.
Focuses on rapid prototyping
Involves continuous user involvement throughout the development process.
Breaks the project into small, manageable modules that are developed in parallel.
Uses reusable components and software tools to accelerate development.
+ Faster development and delivery
- Less suitable for large or complex system