Chapter 1 Flashcards

(73 cards)

1
Q

What is a program?

A

A list of unambiguous instructions meant to be followed mechanically by a computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

One of the components of a computer is its CPU. What is a CPU and what role does it play in a computer?

A

A CPU does the actual computing, and its job is to execute programs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Explain what is meant by an “asynchronous event.” Give some examples.

A

Events that are not “synchronous”, such as a fetch and execute process being interrupted.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the difference between a “compiler” and an “interpreter”?

A

Compiler translates language instructions into executable machine language programs. Interpreters translates instruction by instruction as necessary, as a program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Explain the difference between high-level languages and machine language.

A

High level languages cannot be run on any computer, and must be translated to machine language with a compiler. Machine language can be run on the individual machine its compiled for.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

If you have the source code for a Java program, and you want to run that program, you will need both a compiler and an interpreter. What does the Java compiler do, and what does the Java interpreter do?

A

The java compiler creates bytecode, the java interpreter compiles bytecode into native machine language just in time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a subroutine?

A

Consists of instructions for performing some task, grouped as a unit, and given a name.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Java is an object-oriented programming language. What is an object?

A

An object is a module containing data and subroutines

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a variable? (There are four different ideas associated with variables in Java. Try to mention all four aspects in your answer. Hint: One of the aspects is the variable’s name.)

A

A variable is a memory location that has been given a name and can be referred to in a program. It generally has a type that indicates what type of data it can hold.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Java is a “platform-independent language.” What does this mean?

A

Language can be written once, and then compiled & interpreted on a system by system basis.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is “machine language”?

A

Instructions that are written in a language understood by a computer, and can only be executed if expressed in that language.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Main Memory

A

Programs are stored in Main Memory, also called RAM (or Random Access Memory)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Locations

A

Numbered locations that identify an area in memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Address

A

A numbered sequence of a location, allowing a computer to pick out a piece of information from the millions in memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Fetching

A

A process of reading an instruction from memory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Executing

A

A process of carrying out an instruction.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Fetch & Execute Cycle

A

A process of reading an instruction, carrying it out, and then fetching the next instruction.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Arithmetic Logic Unit (ALU)

A

The part of the processor which carries out operations such as addition or subtraction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Registers

A

Small memory units capable of holding a single number. CPUs generally have 16 or 32 general purpose registers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Program Counter

A

A special purpose register to keep track of the program that is executing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Transistors

A

Tiny switches that a PC is comprised of, that can be turned on and off as part of a program execution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Bit

A

Identified as a “zero” or “one” in a binary digit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Byte

A

A sequence of 8 bits

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Hard Disk or Solid State Drive

A

Used for storing programs and data files in a permanent fashion. Hard drives use spinning magnetic disks, while solid state drives are purely electronic with no moving parts.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Keyboard & Mouse
Devices for user input
26
Monitor & Printer
Devices for computer output
27
Audio Output Device
Allows the computer to play sounds
28
Network Interface
Allows the computer to communicate with other connected computers on a network, via wires or wirelessly
29
Scanner
Converts images into coded binary numbers that can be stored and manipulated
30
Device Driver
Software that the CPU executes when dealing with a physical device
31
Busses
Set of wires that carry various sort of information between devices connected to those wires.
32
Polling
Method of CPU checking whether there is any input data to report
33
Interrupts
A signal sent by another device to the CPU to notify it that there is information to be received
34
Interrupt Handler
Instructions that tell the CPU what processing to do, and what to do once processing is completed
35
Multitasking
Ability to perform multiple tasks at the same time
36
Timesharing
An application of multitasking, allows multiple applications (or users) to utilize CPU resources at the same time
37
Thread (or Process)
Individual tasks that the CPU is working on
38
Thread Yield
A thread yields to give other threads a chance to run
39
Thread Blocked
When a thread cannot continue until some data is received by another source
40
Preemptive Multitasking
Forced methods of suspending threads to allow other threads to operate
41
Event Handlers
Called asynchronously when specific events occurred
42
Operating Systems
Software that does all the interrupt handling, communication handling with the user & hardware devices, and controls which thread(s) are allowed to run
43
Control Structures
Special instructions that can change the flow of control, of which there are two basic types: loops and branches.
44
Software Engineering
Concerned with the construct of correct, working, well written programs.
45
Structured Programming
To solve large problems by breaking down problems into pieces of separate work, decomposing until its smallest parts. This was called top-down programming.
46
Bottom Up Design
Starting with solving the known problems, and working upwards to create a solution to an entire problem.
47
Module
Component of a larger system that interacts with the rest of the system
48
Information Hiding
Hiding what the module does, as long as the module fulfills the role correctly.
49
Object Oriented Program
That an object is a kind of self sufficient entity that has a state and can respond to messages
50
State
The data an object contains
51
Messages
The subroutines an object contains
52
Polymorphism
A property of objects to respond to the same message in different ways
53
Class
Objects that contain the same type of data, and respond to the same messages in the same way
54
Subclasses
Classes derived from other classes, and inherit their properties
55
Command Line Interface
The interaction between a user and a computer via a terminal
56
Graphical User Interface
A method of interacting with a computer on a screen
57
Interface components
Items such as windows, scroll bars, menus, buttons, and icons.
58
Abstract Windowing Toolkit (AWT)
a Java GUI component set
59
Swing
a Java GUI component set introduced in 1.2
60
Networks
A connection of computers together that can exchange data and files
61
Internet
A huge public network of millions of connected computers
62
Protocols
A details specification of how communication is to proceed
63
Internet Protocol
Specifies how data is to be physically transmitted from one computer to another
64
Transmission Control Protocol
Ensures that data sent using IP is received in entirety and free from errors
65
Packets
A chunk of data being sent from one computer to another
66
IP Address
a number that uniquely identifies a computer from all other computers on a network
67
Domain Names
An alphanumeric representation of an IP address
68
SMTP
Simple Mail Transfer Protocol is a method to transfer email messages from one computer to another
69
Pages
A page of information that is stored on a computer on the Internet
70
Links
Contained in a page that links to another page on the internet
71
Web Server
a computer that stores pages of information
72
Web Browser
User interface to the world wide web
73
Applets
Small java program that is transmitted over the internet and runs on a web page.