Software Development and Programming Fundamentals, Exams of Computer Science

Software Development and Programming Fundamentals Questions and Answers

Typology: Exams

2025/2026

Uploaded on 05/29/2026

mugo-muthee
mugo-muthee 🇺🇸

73 documents

1 / 30

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Development and Programming
Fundamentals Questions and Answers Well Reviewed
By Brian.M.Mugo 10th edition 2026
Agile software development
An approach to software development that emphasizes a flexible and
ready response to meet a shifting target.
Benchmarking
Running a program on many data sets to be sure its performance falls
within required limits; timing the same algorithm on two different
machines.
Code library
A collection of thoroughly tested object code for various useful tasks.
Coding
The process of translating the detailed designs into computer code.
Divide-and-conquer
A program design strategy in which tasks are broken down into
subtasks, which are broken down into sub-subtasks, and so on, until
each piece is small enough to code comfortably. These pieces work
together to accomplish the total job.
Empirical testing
Designing a special set of test cases and running the program using
these test data.
Executable module
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Partial preview of the text

Download Software Development and Programming Fundamentals and more Exams Computer Science in PDF only on Docsity!

Software Development and Programming

Fundamentals Questions and Answers Well Reviewed

By Brian.M.Mugo 10

th

edition 2026

Agile software development An approach to software development that emphasizes a flexible and ready response to meet a shifting target. Benchmarking Running a program on many data sets to be sure its performance falls within required limits; timing the same algorithm on two different machines. Code library A collection of thoroughly tested object code for various useful tasks. Coding The process of translating the detailed designs into computer code. Divide-and-conquer A program design strategy in which tasks are broken down into subtasks, which are broken down into sub-subtasks, and so on, until each piece is small enough to code comfortably. These pieces work together to accomplish the total job. Empirical testing Designing a special set of test cases and running the program using these test data. Executable module

The resulting object code after a linker inserts requested code from code libraries. External documentation Any materials assembled to clarify the program's design and implementation. Feasibility study A step in the software development life cycle that evaluates a proposed project and compares the costs and benefits of various solutions. Integrated development environment (IDE) A collection of programs that support software development, such as debuggers, editors, toolkits, and libraries, that lets programmers perform several tasks within the shell of a single application. Integration testing After unit testing, integration testing is done to see that the modules communicate the necessary data between and among themselves and that all modules work together smoothly. Internal documentation Documentation that is part of the program code itself. Logic error An error in the algorithm used to solve a problem. Object code Machine language instructions. Pair programming

Runtime error An error that occurs when the program is run using certain sets of data that result in some illegal operation, such as dividing by zero. Semantics The meaning of correctly written programming statements. Source code High-level language instructions. Syntax error An error that occurs because a program statement fails to follow the correct rules of syntax. Technical documentation Documentation that enables programmers who later have to modify the program to understand the code. Third-generation language Another name for high-level programming language as opposed to machine language (first generation) or assembly language (second generation). Top-down decomposition A program design strategy in which tasks are broken down into subtasks, which are broken down into sub-subtasks, and so on, until each piece is small enough to code comfortably. These pieces work together to accomplish the total job. Syntax

The rules for exactly how programming statements must be written; the grammatical structure of a programming language Application (Java) A complete standalone program that resides and runs on a self- contained computer. External library A well-written, efficient, and thoroughly tested code module that is separately compiled and then drawn on by any program that wishes to use its capabilities. Functional programming languages Views every task in terms of functions. In this context, function means something like a mathematical function—a recipe for taking an argument (or possibly several arguments) and doing something with them to compute a single value. Knowledge base Facts and rules about a certain domain of interest. Open source Software whose source code is freely available and may be used, distributed, or modified by anyone. Recursive Something that is defined in terms of "smaller versions" of itself. Computational model A model constructed using algorithmic procedures implemented as computer programs. Computational steering

Parts of a model that display random behavior. Uniform random number Every value in the range from a to b has the same chance of occurring. Analogy Arguing about a problem by comparing it to a related problem, which you claim is very similar in terms of its ethical implications and consequences. Consequentialism A school of thought in ethics that focuses on the consequences of an act to determine if the act is good or bad. Cyberbullying Humiliating, taunting, threatening or invading someone's privacy using the Internet, Web, or other type of electronic technology. Ethics The study of how to decide if something is morally right or wrong. Hacktivism Hacking that is intended as political activism. Peer-to-peer file sharing The sharing of files between two equal participants on a network. This is distinct from the client-server model in which the two sides serve very different roles--one side only sending information (the server) and the other side only receiving information (the client). Computer science

The study of algorithms, including their mathematical properties, hardware and linguistic realizations, and their applications. Computing agent The entity (machine, robot, person, or thing) that executes the steps of an algorithm. High-level programming language A programming language that uses both natural language constructs and mathematical notation. Infinite loop The repetitive execution of a block of operations that will never end. This is a fatal error when it occurs in an algorithm. Sequential operation An algorithmic operation that carries out a single task and then moves on to the next operation in sequence. Algorithm discovery The process of finding an algorithmic solution to a given problem. Computation: An algorithmic operation that carries out a single numeric computation and stores the result. Computation An algorithmic operation that carries out a single numeric computation and stores the result. Conditional statements Operations that ask a question and select the next instruction to carry out based on the answer to that question. Continuation condition

An expression that can evaluate only to true or false. Gigabyte One billion bytes. Program an algorithm that is written in a programming language that runs on a computer Control Structures a block of programming that determines which part of the program is executed next. There are three types of structures: sequence, selection, and repetition. Computational Artifact an object created by a human being that involves the use of computation in some way, for example a mobile app or a web page. Event Driven Programming a programming approach whereby the program's behavior is controlled by writing code that responds to various events that occur, such as Button clicks. Hardware the large and small physical components that make up a computers such as the computer's keyboard or its processor. Software the computer programs that make up a computer system such as the mobile apps we will be creating in this course. Abstraction

one of the seven big ideas of the CS Principles curriculum. An abstraction is a simplified and general representation of some complex object or process. One example --we'll encounter many in this course, including abstractions used in computer programming -- would be a Google map. Binary Number a number written in the binary system, a system that uses only two digits, 0s and 1s. Blacklist in internet terminology, a generic term for a list of email addresses or IP addresses that are origination with known spammers Character any symbol that requires one byte of storage Cyberspace a metaphor for describing the non-physical terrain created by computer systems Data data is distinct information that is formatted in a special way. Data exists in a variety of forms, like text on paper or bytes stored in electronic memory Data Center are physical or virtual infrastructures used by enterprises to house computer, server and networking systems and components for the company's IT (information technology) needs Data Network

a code for representing English characters as numbers, with each letter assigned a number from 0 to 127 Cloud Computing comparable to grid computing, cloud computing relies on sharing resources rather than having local servers handle applications. Cryptography the art of protecting information by transforming it into an unreadable format, called cipher text Digital any system based on discontinuous data or events. Computers are digital machines because at the basic level they can distinguish between just two values, 0 and 1. Digital Signal Processing (DSP) refers to manipulating analog information Download to copy data (usually an entire file) from a main source to a peripheral device Megabyte used to describe data storage, 1,048,576 bytes (abbreviated MB) Megapixel one million pixels, used in reference to the resolution of a graphics device Modeling

process of representing a real-world object of phenomenon as a set of mathematical equations. OCR optical character recognition, the branch of computer science that involves reading text from paper and translating the images into a form that the computer can manipulate Raster the rectangular area of a display screen actually being used to display images Render refers to the process of adding realism to a computer graphics by adding 3-D qualities, such as shadows and variations in color and shade. Spam spam is electronic junk mail or junk newsgroup postings Steganography the art and science of hiding information by embedding messages within other, seemingly harmless messages Upload to transmit data from a computer to a bulletin board service, mainframe, or network. Bit Single unit of information on a computer represent as a 0 or 1 Bit Rate The number of bits that are conveyed or processed per unit of time

Transmission Control Protocol (TCP) Provides reliable, ordered, and error-checked delivery of a stream of packets on the internet. TCP is tightly linked with IP and usually seen as TCP/IP in writing. Domain Name System (DNS) An abbreviation for Domain Name System, the Internet's system for converting alphabetic names into numeric IP addresses. Hypertext Transfer Protocol (HTTP) The protocol used by the World Wide Web. It describes how messages are formatted and interchanged, and how web servers respond to commands. Server A computer that awaits and responds to requests for data. Client A computer that requests data stored on a server. Net Neutrality The principle that Internet service providers should enable access to all content and applications regardless of the source, and without favoring or blocking particular products or websites. Internet Censorship The control or suppression of what can be accessed, published, or viewed on the Internet. It may be carried out by governments or by private organizations at the behest of government, regulators, or on their own initiative. Node

Vertex; Represented by a labeled circle Edge A line connecting two nodes Cost Weight; The number associated with an edge that indicates distance, time, or estimated cost Cycle A set of edges that begin at one node and can be followed through other nodes back where you started Efficiency A measure of the number of steps per input size needed to complete an algorithm Routing Table A data table stored in a router that lists the routes to particular network destinations Minimum Spanning Tree Dictates the shortest aggregate path from one node to every node A spanning tree connecting all nodes together with the minimum aggregate value of its edges. Internet Engineering Task Force (IETF) A group of volunteers, private citizens, government officials, etc. who promote internet standards Algorithm

1,000 kilobytes Terabyte (TB) 1,000 gigabytes Petabyte (PB) 1,000 terabytes .bmp (bitmap image file or bitmap) is a raster graphics image file format used to store digital images. .gif (acronym for Graphics Interchange Format) a bitmap image format which uses the LZW lossless data compression technique to reduce the file size without degrading the visual quality. Supports 8 bits per pixel for each image and animations. .jpg or .jpeg (acronym for Joint Photographic Experts Group), a commonly used lossy compression format for digital images, particularly for those images produced by digital photography. The format supports adjustable degrees of compression. .mp an audio coding format for digital audio which uses a form of lossy data compression which works by reducing (or approximating) certain components of the audio that are considered to be beyond audible human hearing. .wav

(Waveform Audio File Format) an audio coding format standard for storing an audio bitstream of uncompressed audio data. .txt a computer format that is structured as a sequence of lines of electronic text. .zip an archive file format that supports lossless data compression; may contain one or more files or directories. .png (Portable Network Graphics) a raster graphics file format that supports lossless data compression. Heuristic a problem solving approach (algorithm) to find a satisfactory solution where finding an optimal or exact solution is impractical or impossible. Image A type of data used for graphics or pictures. Metadata Data that describes other data. For example, a digital image my include metadata that describe the size of the image, number of colors, or resolution. Pixel Short for "picture element" it is the fundamental unit of a digital image, typically a tiny square or dot which contains a single point of color of a larger image. Hexadecimal Number System