Lecture Notes: Computers, Languages, and Program Development

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/105

flashcard set

Earn XP

Description and Tags

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.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

106 Terms

1
New cards

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

2
New cards

The fact that a computer is __ means it will do whatever the instructions—called the program—tells it to do.

programmable

3
New cards

Data is a collection of __ items, which can include text, numbers, images, audio, and video.

unprocessed

4
New cards

Computers process data into __.

information

5
New cards

The Information Processing Cycle is the series of input, __, output, and storage activities.

process

6
New cards

A collection of related instructions organized for a common purpose is referred to as __.

software

7
New cards

System Software has two types: __ and Utility Programs.

Operating System

8
New cards

A(n) __ program allows a user to perform maintenance-type tasks usually related to managing a computer.

Utility

9
New cards

Application Software consists of programs designed to make users more productive and/or assist them with personal tasks.

Application Software

10
New cards

Firmware is the computer programs permanently stored in __ or PROM.

ROM

11
New cards

ROM stands for Read Only Memory and provides __ (non-volatile) storage that does not require power to remember data.

non-volatile

12
New cards

RAM is __ (volatile) storage; a loss of power means data stored will be lost.

temporary

13
New cards

Mass storage devices, like hard disks, are __ storage; they retain data without power.

non-volatile

14
New cards

Personal Computing Environment is a __ machine; the complete program resides on the stand-alone machine.

stand-alone

15
New cards

The time-sharing computing environment allows a single user to perform multiple requests or operations at a time through a(n) __ operating system.

multitasking

16
New cards

The client-server computing environment has two machines: the Client and the __.

Server

17
New cards

Distributed Computing Environment distributes software functionality across multiple __.

computers

18
New cards

A __ computing environment is a collection of computers from different locations working for a common problem.

grid

19
New cards

A __ computing environment is a collection of interconnected computers that work together as a single system.

cluster

20
New cards

The way humans talk to computers is through a __.

computer language

21
New cards

The only language which can be understood by the computer is the __ language.

Machine Language

22
New cards

Binary language is an example of a __-level language.

low

23
New cards

Machine language is also known as the __.

Machine Code

24
New cards

One advantage of low-level language is that it can be executed __ without translation.

directly

25
New cards

Disadvantages of low-level language include being machine-dependent and difficult to __.

debug

26
New cards

Middle-level language is Assembly Language; it uses predefined words called __.

mnemonics

27
New cards

An __ translates mnemonics into machine code.

Assembler

28
New cards

Assembly language is more readable than low-level language but is machine-.

dependent

29
New cards

A high-level language has predefined words known as and a set of rules known as .

keywords

30
New cards

A high-level language must be translated to low-level language by a or a .

compiler

31
New cards

Examples of high-level languages include COBOL, FORTRAN, BASIC, C, C++, and __.

Java

32
New cards

C++ was invented in 1982 by __ Stroustrup.

Bjarne

33
New cards

C++ is the successor of the language __.

C

34
New cards

C++ is a statically typed, compiled, general-purpose, case-sensitive, free-form language that supports procedural, object-oriented, and __ programming.

generic

35
New cards

Static typing means type checking is performed during __.

compile-time

36
New cards

Pros of C++ include that it is a fast __ language.

compiled

37
New cards

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

38
New cards

Integrated Development Environments (IDEs) for C++ include Dev C++, __ Code, Code::Blocks, Eclipse, and Netbeans.

Visual Studio Code

39
New cards

Program development life cycle (PDLC) phases include Planning, __, Design, Development, Testing and Integration, and Maintenance.

Analysis

40
New cards

Program Analysis involves developing program __ and related specifications.

specifications

41
New cards

Program Design uses algorithms; the set of steps needed is called the __.

algorithm

42
New cards

Program Design Tools include Structure Charts (hierarchy charts), Flowcharts, Wireframes, Pseudocode, and __ (UML).

Unified Modeling Language

43
New cards

When choosing a programming language, factors include __, Integration, Standards, Programmer availability, Portability, and Development speed.

Suitability

44
New cards

Debugging may account for more than __% of a program’s development time.

50

45
New cards

Common types of programming errors include __ errors and logic errors.

Syntax

46
New cards

Program Implementation and maintenance involve implementing the program and then maintaining it; maintenance is often __ for organizations.

costly

47
New cards

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.

48
New cards

Why is a computer considered programmable?

Because it will do whatever the instructions—called the program—tell it to do.

49
New cards

Data vs Information

Data are unprocessed items (text, numbers, images, audio, video); information conveys meaning and is useful to people.

50
New cards

What do computers do with data?

They process data into information.

51
New cards

Information Processing Cycle

Input (data) → Process → Output (information); software provides the instructions telling the computer how to perform tasks.

52
New cards

What is software?

Sets of instructions that control the sequence of operations; two types: system software and application software.

53
New cards

Two main types of system software

Operating System and Utility Programs.

54
New cards

What is computer hardware?

The physical components of a computer; includes input, output, and storage; connected to the CPU via a bus.

55
New cards

What does the CPU do?

Central Processing Unit; provides the computational ability and control of the computer.

56
New cards

What is firmware?

Computer programs permanently stored in ROM or PROM.

57
New cards

ROM vs RAM

ROM is permanent, non-volatile storage; RAM is temporary, volatile storage that loses data when power is off.

58
New cards

What is a Computing Environment?

The arrangement of computer devices and services provided by the OS to users and their programs to solve problems.

59
New cards

Six computing environments

Personal, Time-Sharing, Client-Server, Distributed, Grid, Cluster.

60
New cards

Personal Computing Environment

A stand-alone machine where the complete program resides and is executed on the same machine.

61
New cards

Time-Sharing Computing Environment

A single user can perform multiple tasks via multitasking OS; processor time is divided among tasks.

62
New cards

Client-Server Computing Environment

Two machines (client and server) exchange data; client requests data, server provides data and often stores large data.

63
New cards

Distributed Computing Environment

Software functionality is distributed across multiple computers; tasks run simultaneously on two or more machines.

64
New cards

Grid Computing Environment

Collection of computers from different locations working on a common application; a distributed collection of many computers.

65
New cards

Cluster Computing Environment

Interconnected computers that work together as a single system.

66
New cards

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.

67
New cards

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.

68
New cards

Binary language

A language consisting of 0s and 1s used in machine language.

69
New cards

Machine language advantages

Executed directly by the CPU without translation; very fast.

70
New cards

Machine language disadvantages

Difficult to use, machine-dependent, hard to debug and modify.

71
New cards

Middle-level language (assembly language)

Uses mnemonics; translated to machine code by an assembler; easier than binary but still low-level.

72
New cards

Assembly language advantages

Easier to write and read than binary; easier to find errors; more readable.

73
New cards

Assembly language disadvantages

Machine-dependent; requires translation to low-level; slower than pure low-level.

74
New cards

High-level language

Languages understandable by humans; use keywords and syntax; require compiler or interpreter to translate to low-level.

75
New cards

Examples of high-level languages

COBOL, FORTRAN, BASIC, C, C++, JAVA.

76
New cards

High-level language advantages

Easier to read/write; portable across machines with little or no change; easier to develop and debug.

77
New cards

High-level language disadvantages

Requires translation to machine code; generally slower than lower-level languages.

78
New cards

What is C++?

Invented in 1982 by Bjarne Stroustrup; successor of C; statically typed, compiled, general-purpose, supports procedural, object-oriented, and generic programming.

79
New cards

Static typing in C++

Type checking is performed at compile-time, not run-time.

80
New cards

C++ advantages

Fast compiled language; portable; supports OOP and generic programming; widely used.

81
New cards

C++ disadvantages

Often considered difficult to learn.

82
New cards

Integrated Development Environments for C++

Examples include Dev C++, Visual Studio Code, Code::Blocks, Eclipse, NetBeans.

83
New cards

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.

84
New cards

Programming Language?

A set of rules, words, symbols, and codes used to write computer programs; artificial notational language.

85
New cards

Categories of programming language

Procedural programming and Object-oriented programming.

86
New cards

Procedural Programming

Program divided into modules/functions; top-down approach; no access specifiers; data not hidden; focuses on procedures.

87
New cards

Object-Oriented Programming (OOP)

Program consists of objects with data (attributes) and processes (methods); uses classes and objects; objects communicate via messages.

88
New cards

Object

An element of OOP with identity, state, and behavior.

89
New cards

Class

A collection of objects with similar properties and behaviors; defines attributes and methods.

90
New cards

Attribute

A named property of a class; defines possible values.

91
New cards

Method

A behavior (service) that can be invoked on an object.

92
New cards

Procedural vs Object-Oriented focus

Procedural emphasizes functions; Object-Oriented emphasizes data and objects with data hiding.

93
New cards

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.

94
New cards

Examples of compiled languages

Java, C#, C, C++, Kotlin, Swift, Go.

95
New cards

Examples of scripting languages

Python, JavaScript, PHP, Ruby.

96
New cards

What is PDLC?

Program Development Life Cycle; phases: Planning, Analysis, Design, Development, Testing and Integration, Maintenance.

97
New cards

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.

98
New cards

Program Design

Phase where specifications are expanded into a complete design and algorithm; uses tools like structure charts, flowcharts, wireframes, pseudocode, UML.

99
New cards

Program Design Tools

Structure charts, Flowcharts, Wireframes, Pseudocode, Unified Modeling Language (UML) models.

100
New cards

Program Coding

Phase where code is written; language choice based on suitability, integration, standards, availability, portability, development speed.