1/42
Flashcards covering key software engineering, algorithm, language classification, hardware, and storage concepts from CSCI 0299 Lecture 1.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
What are the three phases of program development in software engineering?
Phase I: Development and Design, Phase II: Documentation, and Phase III: Maintenance.
What four steps make up Phase I (Development and Design) of software development?
Step 1: Analysis, Step 2: Design, Step 3: Coding, and Step 4: Testing.
What is the primary goal of Step 1 (Analyze the Problem) in Phase I?
To determine and understand the required output items and input items, collectively referred to as the problem's input/output (I/O).
What four fundamental structures should be present when coding a solution in Step 3?
Sequence, Selection, Iteration (looping or repetition), and Invocation.
How is the Selection structure defined in C++ program coding?
It allows a choice between different operations, based on some condition.
How is the Iteration structure defined in C++ program coding?
It allows the same operation to be repeated based on some condition.
What is the difference between testing and debugging?
Testing is a method to verify correctness and ensure requirements are met, whereas debugging is the process of locating an error, correcting it, and verifying the correction.
What five main documents must be produced for every problem solution in Phase II (Documentation)?
Program description, algorithm development and changes, well-commented program listing, sample test runs, and users' manual.
Why is Phase III (Maintenance) vital in the software development process?
It is usually the longest phase and a primary source of revenue, involving ongoing bug fixes, revisions for changing user needs, and addition of new features.
What is an algorithm and what essential condition must it satisfy?
An algorithm is a step-by-step sequence of instructions that describes how data is processed to produce desired output, and it must terminate.
What do the Terminal, Decision, and Loop flowchart symbols represent?
Terminal indicates the beginning or end of a program; Decision indicates a program branch point; Loop indicates the initial, limit, and increment values of a loop.
What are machine language programs and what two parts make up each instruction?
Machine language programs are binary-number programs that can directly operate a computer; each instruction consists of an instruction part and an address part.
How does assembly language simplify writing machine instructions?
It substitutes word-like symbols (such as ADD, SUB, and MUL) for binary opcodes and uses decimal numbers and labels for memory addresses.
What is the key difference between an interpreter and a compiler?
An interpreter translates each statement individually and executes it immediately, whereas a compiler translates all statements into an executable object program for later execution.
How does C++ classify in terms of procedural and object-oriented programming orientations?
C++ contains features of both procedural and object-oriented programming orientations.
What do the acronyms FORTRAN, ALGOL, COBOL, and BASIC stand for?
FORTRAN stands for Formula Translation, ALGOL for Algorithmic Language, COBOL for Common Business Oriented Language, and BASIC for Beginners All-purpose Symbolic Instruction Code.
What component combines the Arithmetic and Logic Unit (ALU) and the Control Unit on a single chip?
The Central Processing Unit (CPU), also referred to as a microprocessor.
What is the difference between a bit and a byte?
A bit is the smallest unit of data with a value of 0 or 1, while a byte is a grouping of 8 bits representing a single character.
What is the difference between a multi-user system and a multitasking system?
A multi-user system allows more than one user to run programs simultaneously, whereas a multitasking (or multiprogrammed) system allows each user to run multiple programs simultaneously.
What is a bootstrap loader in system software?
A permanent, automatically executed component used to start the boot process when starting up a computer system.
What is a Computer Program (Software)?
A self-contained set of instructions used to operate a computer to produce a specific result.
What is a Software Development Procedure?
A systematic process that helps developers understand the problem and construct an effective software solution.
What is Software Engineering?
A discipline focused on creating readable, efficient, reliable, and maintainable software programs and systems.
What does Development and Design refer to?
The first phase of program development which involves analyzing the problem, developing a solution, and coding it.
What is a Program Requirement?
A formal request for a program or an explicit statement describing a problem.
What is an Algorithm?
A step-by-step sequence of instructions detailing how data is to be processed to generate a desired output.
What is Documentation?
The process of creating required documents that describe the program and its functionalities.
What does Maintenance involve?
Ongoing correction of newly discovered bugs and adaptations to changing user requirements.
What are Backup Procedures?
Creating exact duplicate copies of program source code and documentation on a regular schedule.
What is Machine Language?
The only language that a computer can natively execute, composed entirely of binary numbers.
What is Assembly Language?
Uses symbolic mnemonics to replace binary opcodes and is translated into machine code.
What is a High-Level Language?
Languages that resemble written natural languages and can be executed across diverse hardware platforms.
What is a Compiler?
Translates all program statements at once into an executable program.
What is a Debugger?
A tool or process for locating and correcting bugs in a computer program.
What is System Software?
The set of control programs operating computer hardware.
What is an Operating System (OS)?
The comprehensive suite of system programs managing memory, CPU time, input/output, and storage.
What are Programming Paradigms?
Different approaches to programming, such as procedural and object-oriented programming.
What does the Arithmetic and Logic Unit (ALU) do?
It performs arithmetic calculations and logical comparisons.
What is the purpose of the Input/Output (I/O) Unit?
To manage hardware interfaces to external peripheral equipment.
What is Secondary Storage?
Nonvolatile storage that provides permanent data storage, such as hard drives.
What is a Bit?
The primary atomic unit of data holding a value of 0 or 1.
What is a Byte?
A grouping of 8 bits representing a single distinct character.
What are Character Codes?
Binary pattern mappings used to encode textual characters.