1/105
A comprehensive set of flashcards covering definitions and concepts from Pages 1–7, including computer basics, hardware/software distinctions, computing environments, programming languages, programming paradigms, and the program development lifecycle.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
A computer is a __ electronic device that accepts data, performs operations on that data, presents the results, and stores the data or results as needed.
programmable
The fact that a computer is __ means it will do whatever the instructions—called the program—tells it to do.
programmable
Data is a collection of __ items, which can include text, numbers, images, audio, and video.
unprocessed
Computers process data into __.
information
The Information Processing Cycle is the series of input, __, output, and storage activities.
process
A collection of related instructions organized for a common purpose is referred to as __.
software
System Software has two types: __ and Utility Programs.
Operating System
A(n) __ program allows a user to perform maintenance-type tasks usually related to managing a computer.
Utility
Application Software consists of programs designed to make users more productive and/or assist them with personal tasks.
Application Software
Firmware is the computer programs permanently stored in __ or PROM.
ROM
ROM stands for Read Only Memory and provides __ (non-volatile) storage that does not require power to remember data.
non-volatile
RAM is __ (volatile) storage; a loss of power means data stored will be lost.
temporary
Mass storage devices, like hard disks, are __ storage; they retain data without power.
non-volatile
Personal Computing Environment is a __ machine; the complete program resides on the stand-alone machine.
stand-alone
The time-sharing computing environment allows a single user to perform multiple requests or operations at a time through a(n) __ operating system.
multitasking
The client-server computing environment has two machines: the Client and the __.
Server
Distributed Computing Environment distributes software functionality across multiple __.
computers
A __ computing environment is a collection of computers from different locations working for a common problem.
grid
A __ computing environment is a collection of interconnected computers that work together as a single system.
cluster
The way humans talk to computers is through a __.
computer language
The only language which can be understood by the computer is the __ language.
Machine Language
Binary language is an example of a __-level language.
low
Machine language is also known as the __.
Machine Code
One advantage of low-level language is that it can be executed __ without translation.
directly
Disadvantages of low-level language include being machine-dependent and difficult to __.
debug
Middle-level language is Assembly Language; it uses predefined words called __.
mnemonics
An __ translates mnemonics into machine code.
Assembler
Assembly language is more readable than low-level language but is machine-.
dependent
A high-level language has predefined words known as and a set of rules known as .
keywords
A high-level language must be translated to low-level language by a or a .
compiler
Examples of high-level languages include COBOL, FORTRAN, BASIC, C, C++, and __.
Java
C++ was invented in 1982 by __ Stroustrup.
Bjarne
C++ is the successor of the language __.
C
C++ is a statically typed, compiled, general-purpose, case-sensitive, free-form language that supports procedural, object-oriented, and __ programming.
generic
Static typing means type checking is performed during __.
compile-time
Pros of C++ include that it is a fast __ language.
compiled
C++ is widely used for teaching and research because it is clean enough for successful teaching of basic concepts; it is a __ language.
statically-typed
Integrated Development Environments (IDEs) for C++ include Dev C++, __ Code, Code::Blocks, Eclipse, and Netbeans.
Visual Studio Code
Program development life cycle (PDLC) phases include Planning, __, Design, Development, Testing and Integration, and Maintenance.
Analysis
Program Analysis involves developing program __ and related specifications.
specifications
Program Design uses algorithms; the set of steps needed is called the __.
algorithm
Program Design Tools include Structure Charts (hierarchy charts), Flowcharts, Wireframes, Pseudocode, and __ (UML).
Unified Modeling Language
When choosing a programming language, factors include __, Integration, Standards, Programmer availability, Portability, and Development speed.
Suitability
Debugging may account for more than __% of a program’s development time.
50
Common types of programming errors include __ errors and logic errors.
Syntax
Program Implementation and maintenance involve implementing the program and then maintaining it; maintenance is often __ for organizations.
costly
What is a computer?
A programmable electronic device that accepts data, performs operations on that data, presents the results, and stores the data or results as needed.
Why is a computer considered programmable?
Because it will do whatever the instructions—called the program—tell it to do.
Data vs Information
Data are unprocessed items (text, numbers, images, audio, video); information conveys meaning and is useful to people.
What do computers do with data?
They process data into information.
Information Processing Cycle
Input (data) → Process → Output (information); software provides the instructions telling the computer how to perform tasks.
What is software?
Sets of instructions that control the sequence of operations; two types: system software and application software.
Two main types of system software
Operating System and Utility Programs.
What is computer hardware?
The physical components of a computer; includes input, output, and storage; connected to the CPU via a bus.
What does the CPU do?
Central Processing Unit; provides the computational ability and control of the computer.
What is firmware?
Computer programs permanently stored in ROM or PROM.
ROM vs RAM
ROM is permanent, non-volatile storage; RAM is temporary, volatile storage that loses data when power is off.
What is a Computing Environment?
The arrangement of computer devices and services provided by the OS to users and their programs to solve problems.
Six computing environments
Personal, Time-Sharing, Client-Server, Distributed, Grid, Cluster.
Personal Computing Environment
A stand-alone machine where the complete program resides and is executed on the same machine.
Time-Sharing Computing Environment
A single user can perform multiple tasks via multitasking OS; processor time is divided among tasks.
Client-Server Computing Environment
Two machines (client and server) exchange data; client requests data, server provides data and often stores large data.
Distributed Computing Environment
Software functionality is distributed across multiple computers; tasks run simultaneously on two or more machines.
Grid Computing Environment
Collection of computers from different locations working on a common application; a distributed collection of many computers.
Cluster Computing Environment
Interconnected computers that work together as a single system.
What is a computer language?
A set of rules used to write computer programs; languages like C, C++, Java, etc., are used to instruct computers.
Low-level language (machine language)
Binary language understood directly by the CPU (0s and 1s); also called machine code; fast but difficult and machine-dependent.
Binary language
A language consisting of 0s and 1s used in machine language.
Machine language advantages
Executed directly by the CPU without translation; very fast.
Machine language disadvantages
Difficult to use, machine-dependent, hard to debug and modify.
Middle-level language (assembly language)
Uses mnemonics; translated to machine code by an assembler; easier than binary but still low-level.
Assembly language advantages
Easier to write and read than binary; easier to find errors; more readable.
Assembly language disadvantages
Machine-dependent; requires translation to low-level; slower than pure low-level.
High-level language
Languages understandable by humans; use keywords and syntax; require compiler or interpreter to translate to low-level.
Examples of high-level languages
COBOL, FORTRAN, BASIC, C, C++, JAVA.
High-level language advantages
Easier to read/write; portable across machines with little or no change; easier to develop and debug.
High-level language disadvantages
Requires translation to machine code; generally slower than lower-level languages.
What is C++?
Invented in 1982 by Bjarne Stroustrup; successor of C; statically typed, compiled, general-purpose, supports procedural, object-oriented, and generic programming.
Static typing in C++
Type checking is performed at compile-time, not run-time.
C++ advantages
Fast compiled language; portable; supports OOP and generic programming; widely used.
C++ disadvantages
Often considered difficult to learn.
Integrated Development Environments for C++
Examples include Dev C++, Visual Studio Code, Code::Blocks, Eclipse, NetBeans.
What is Programming?
The art of developing computer programs using a selected programming language; quality is reflected in the resulting program; follows the program development life cycle.
Programming Language?
A set of rules, words, symbols, and codes used to write computer programs; artificial notational language.
Categories of programming language
Procedural programming and Object-oriented programming.
Procedural Programming
Program divided into modules/functions; top-down approach; no access specifiers; data not hidden; focuses on procedures.
Object-Oriented Programming (OOP)
Program consists of objects with data (attributes) and processes (methods); uses classes and objects; objects communicate via messages.
Object
An element of OOP with identity, state, and behavior.
Class
A collection of objects with similar properties and behaviors; defines attributes and methods.
Attribute
A named property of a class; defines possible values.
Method
A behavior (service) that can be invoked on an object.
Procedural vs Object-Oriented focus
Procedural emphasizes functions; Object-Oriented emphasizes data and objects with data hiding.
Compiled vs Scripting languages
Compiled languages are turned into binaries before run; scripting languages are interpreted at runtime and typically do not require separate binary files or explicit memory allocation.
Examples of compiled languages
Java, C#, C, C++, Kotlin, Swift, Go.
Examples of scripting languages
Python, JavaScript, PHP, Ruby.
What is PDLC?
Program Development Life Cycle; phases: Planning, Analysis, Design, Development, Testing and Integration, Maintenance.
Program Analysis
Phase where the problem is studied and program specifications are developed; uses diagrams and designs (data flow, class diagrams, input/output designs); system analysts develop specifications.
Program Design
Phase where specifications are expanded into a complete design and algorithm; uses tools like structure charts, flowcharts, wireframes, pseudocode, UML.
Program Design Tools
Structure charts, Flowcharts, Wireframes, Pseudocode, Unified Modeling Language (UML) models.
Program Coding
Phase where code is written; language choice based on suitability, integration, standards, availability, portability, development speed.