Glossary+of+terms IBCS
Glossary+of+terms IBCS
Systems in organizations
Software-As-A-Service
a. Software implementation
o Parallel running
o Pilot running
o Direct changeover
o Phased conversion
b. Data migration issues
o Incompatible file formats
o Different data structures
o Validation rules
o Incomplete data transfers
o International conversions of dates, currencies and character sets
Computer Organization
a. Central processing unit (CPU)
b. Arithmetic Logic Unit (ALU)
c. Control Unit (CU)
d. Registers
e. Memory address registers (MAR)
f. Memory data registers (MDR)
g. Primary memory
h. Random Access Memory (RAM)
i. Read Only Memory (ROM)
j. Cache Memory
k. Machine Instruction Cycle
Secondary Memory
a. Volatile and non-volatile memory
Operating Systems and application systems
a. Functions of an operating system
o Memory management
o Manages sharing of the CPU resources
o Manage peripheral devices
o Establish user interface
o Run applications
o Security and access rights
Binary representation
a. bit, byte, binary, denary/decimal, hexadecimal
b. data representation
o strings
o integers
o colors
Boolean operators:
a. Define AND, OR, NOT, NAND, NOR and XOR
b. Construct logic diagrams
c. Construct truth tables
Topic 2—Computer organization vocabulary 1
a. Elementary logic gates (chips): In electronics, a logic gate is an idealized or physical device implementing a
Boolean function; that is, it performs a logical operation on one or more logical inputs, and produces a single
logical output. Examples AND, OR, INVERTER, XOR, NAND, etc...
b. Integrated circuits: An IC is a collection of electronic components – resistors, transistors, capacitors, etc. – all
stuffed into a tiny chip, and connected together to achieve a common goal.
c. CPU: is the electronic circuitry within a computer that carries out the instructions of a computer program by
performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the
instruction.
d. ALU, Arithmetic Logic Unit: a digital electronic circuit that performs arithmetic and bitwise logical operations
on integer binary numbers.
e. Control Unit: a component of a computer's central processing unit (CPU) that directs operation of the
processor. It tells the computer's memory, arithmetic/logic unit and input and output devices how to respond
to a program's instructions.
f. Registers: a small amount of storage available as part of a digital processor, such as a central processing unit
(CPU). Such registers are typically addressed by mechanisms other than main memory and can be accessed
faster. Registers are used for arithmetic, manipulated or tested by machine instructions.
g. Memory address registers: is a CPU register that either stores the memory address from which data will be
fetched to the CPU or the address to which data will be sent and stored.
h. Data address registers: is the register of a computer's control unit that contains the data to be stored in the
computer storage (e.g. RAM), or the data after a fetch from the computer storage. It acts like a buffer and
holds anything that is copied from the memory ready for the processor to use it.
i. Random Access Memory (RAM): allows data items to be accessed (read or written) in almost the same
amount of time irrespective of the physical location of data inside the memory. It takes the form of
integrated circuits and is normally associated with volatile types of memory, where stored information is lost
if power is removed.
j. Read Only Memory (ROM): A type of non-volatile memory used in computers and other electronic devices.
Data stored in ROM can only be modified slowly, with difficulty, or not at all, so it is mainly used to store
firmware (software that is closely tied to specific hardware and unlikely to need frequent updates).
k. Cache Memory: Used by the central processing unit (CPU) of a computer to reduce the average time to
access data from the main memory. The cache is a smaller, faster memory which stores copies of the data
from frequently used main memory locations.
1
https://en.wikipedia.org/wiki/Control_unit
l. Virtual Memory: A memory management technique that is implemented using both hardware and software.
It maps memory addresses used by a program, called virtual addresses, into physical addresses in computer
memory.
m. Machine Instruction Cycle: Sometimes called fetch-decode-execute cycle, it is the basic operation cycle of a
computer.
n. Compiler/Interpreter: 2
Interpreter Compiler
Translates program one statement at a Scans the entire program and translates it as
time. a whole into machine code.
It takes less amount of time to analyze the It takes large amount of time to analyze the
source code but the overall execution time source code but the overall execution time is
is slower. comparatively faster.
Continues translating the program until It generates the error message only after
the first error is met, in which case it scanning the whole program. Hence
stops. Hence debugging is easy. debugging is comparatively hard.
Programming language like Python, Ruby Programming language like C, C++ use
use interpreters. compilers.
e. Virtual Machine: A system OS or application environment that is installed on software which imitates
dedicated hardware. The end user has the same experience on a virtual machine as they would have on
dedicated hardware.
2
http://www.programiz.com/article/difference-compiler-interpreter
Topic 3—Networks
Network Fundamentals
a. Types of networks
o Local Area Network (LAN)
o Virtual Local Area Network (VLAN)
o Storage Area Network (SAN)
o Wireless Local Area Network (WLAN)
o Virtual Private Network (VPN)
o Personal Area Network (PAN)
o Peer-to-Peer Network (P2P)
b. Open System Interconnection layer model (OSI Seven-Layer Model)
c. Protocol
d. Data compression
e. Transmission media
o Medal conductor
o Fiber optics
o Wireless
f. Packet Switching
o Data packet
g. Hardware and software components of a wireless network
o Router
o Modems
o Hubs and Switches
o Gateways
o network interface cards (NIC)
h. Types of wireless networks
o WIFI
o Worldwide Interoperability for Microwave Access (WiMAX)
o 3-4G mobile
o future networks
Next-generation Wi-Fi hotspots (NGH)
o Network Security
User ID
Trusted Media Access Control Address (MAC)
Encryption
Topic 4—Computational thinking, problem-solving and programming
General principles
a. thinking procedurally
b. thinking logically
c. thinking ahead
d. thinking concurrently
e. thinking abstractly
Connecting computational thinking and program design
a. sequential search, binary search, bubble sort, selection sort
b. collections
o add, size, get, set
c. algorithms analyses
o as flow charts
o tracing
o pseudocode
d. algorithm efficiency
o efficiency, correctness, reliability and flexibility
Introduction to programming
e. fundamental operations of a computer
f. fundamental vs. compound operations
g. essential features of a high-level computer language
o strong abstraction
o uses natural language
o consistent syntax
o fixed vocabulary
o portable
h. compiler
i. interpreters
j. virtual machine
Use of programming languages
k. Define variable, constant, operator, object.
l. Define the operators =, ≠, <, <=, >, >=, mod, div.
m. uses of variables and constants
n. loops
o. collections
p. use of subprograms
q. construct algorithm
o collections
o pre-defined subprograms
o one dimensional arrays
Topic 5—Abstract data structures (HL)
Thinking recursively
Abstract data structures
a. two dimensional arrays
b. stack
o push, pop, isEmpty
c. queue
o enqueuer, dequeue isEmpty
d. link lists
o single, double and circular
e. binary search trees
o parent, left-child, right-child, subtree, root and leaf
o inorder, postorder and preorder tree traversal
f. dynamic vs. static data structures
Topic 6—Resource management:
Resource management
a. primary memory
b. secondary storage
c. processor speed
d. bandwidth
e. screen resolution
f. disk storage
g. sound processor
h. graphics processor
i. cache
j. network connectivity
Resources available in a variety of computer systems
a. mainframes
b. servers
c. PCs
d. sub-laptops
e. personal digital devices such as cell phones
f. PDAs
g. digital cameras
Role of the operating system
a. allocating storage
b. keeping track of programs in memory
c. swapping between programs on time-slicing
d. priority or when one is waiting for input
e. scheduling, policies
f. multitasking
g. virtual memory
h. paging
i. interrupt
j. polling
k. virtual machine
Topic 7—Control:
a. automatic doors, heating systems, taxi meters, elevators, washing machines, process control, device drivers,
domestic robots, GPS systems, traffic lights.
b. Microprocessors and sensor input in control systems
c. input devices
d. sensors
e. actuators
f. transducer
g. controller
h. feedback control system
i. positive/negative feedback loops
j. embedded systems
k. open loop, closed loop
l. analog to digital converter (ADC)
m. synchronous, a synchronous
a. Datacenters
b. Thin Clients
Autonomous Agents
Topic 7—Control vocabulary 3
a. GPS (Global Positioning System); Wherever you are on the planet, at least four GPS satellites are ‘visible’ at
any time. Each one transmits information about its position and the current time at regular intervals. These
signals, travelling at the speed of light, are intercepted by your GPS receiver, which calculates how far away
each satellite is based on how long it took for the messages to arrive. 4
b. feedback loop: Feedback occurs when outputs of a system are routed back as inputs as part of a chain of
cause-and-effect that forms a circuit or loop.[2] The system can then be said to feed back into itself.
c. Microprocessors: A microprocessor is designed to perform arithmetic and logic operations that make use of
small number-holding areas called registers. Typical microprocessor operations include adding, subtracting,
comparing two numbers, and fetching numbers from one area to another. These operations are the result of
a set of instructions that are part of the microprocessor design. 5
3
https://en.wikipedia.org/wiki/Control_unit
4
http://www.physics.org/article-questions.asp?id=55
5
http://whatis.techtarget.com/definition/microprocessor-logic-chip
Option D—Object-oriented programming:
An object is a member or an "instance" of a class. An object has a state in which all of its properties have values
that you either explicitly define or that are defined by default settings. This subtle conceptual difference between
classes and objects shows why there is a tendency to want to use them interchangeably.
object:
An object is a member or an "instance" of a class. An object has a state in which all of its properties have values
that you either explicitly define or that are defined by default settings.
instantiate
The new operator instantiates a new object by allocating memory for it. new requires a single argument: a
constructor method for the object to be created. The constructor method is responsible for initializing the new
object.
instance variable
Instance variables belong to an instance of a class. Another way of saying that is instance variables belong to an
object, since an object is an instance of a class. Every object has its own copy of the instance variables.
encapsulation
Encapsulation is a way of organizing data and methods into a structure by concealing the the way the object is
implemented, i.e. preventing access to data by any means other than those specified. Encapsulation therefore
guarantees the integrity of the data contained in the object.
inheritance
In object-oriented programming, inheritance enables new objects to take on the properties of existing objects.
A class that is used as the basis for inheritance is called a superclass or base class. A class that inherits from a
superclass is called a subclass or derived class. The terms parent class and child class are also acceptable terms
to use respectively. A child inherits visible properties and methods from its parent while adding additional
properties and methods of its own. 6
Advantages:
1. Code Reuse and Recycling: Objects created for Object Oriented Programs can easily be reused in other
programs.
2. Encapsulation (part 1): Once an Object is created, knowledge of its implementation is not necessary for
its use. In older programs, coders needed understand the details of a piece of code before using it (in
this or another program).
3. Encapsulation (part 2): Objects have the ability to hide certain parts of themselves from programmers.
This prevents programmers from tampering with values they shouldn't. Additionally, the object
controls how one interacts with it, preventing other kinds of errors. For example, a programmer (or
another program) cannot set the width of a window to -400.
4. Design Benefits: Large programs are very difficult to write. Object Oriented Programs force designers
to go through an extensive planning phase, which makes for better designs with less flaws. In addition,
once a program reaches a certain size, Object Oriented Programs are actually easier to program than
non-Object Oriented ones.
5. Software Maintenance: Programs are not disposable. Legacy code must be dealt with on a daily basis,
either to be improved upon (for a new version of an exist piece of software) or made to work with
newer computers and software. An Object Oriented Program is much easier to modify and maintain
than a non-Object Oriented Program. So although a lot of work is spent before the program is written,
less work is needed to maintain it over time.
6
http://www.adobe.com/devnet/actionscript/learning/oop-concepts/inheritance.html
Relationships
IS-A Relationship:
In object oriented programming, the concept of IS-A is a totally based on Inheritance, which can be of two
types Class Inheritance or Interface Inheritance. It is just like saying "A is a B type of thing". For example, Apple
is a Fruit, Car is a Vehicle etc. Inheritance is uni-directional. For example, House is a Building. But Building is
not a House.
It is key point to note that you can easily identify the IS-A relationship. Wherever you see an extends keyword
or implements keyword in a class declaration, then this class is said to have IS-A relationship.
HAS-A Relationship:
Composition(HAS-A) simply mean use of instance variables that are references to other objects. For example:
Maruti has Engine, or House has Bathroom.
Uses-A relationship
A method of one class is using an object of another class the relationship between these two classes is known
as Uses-A relationship.
Decomposition
Decomposition in computer science, also known as factoring, is breaking a complex problem or system into
parts that are easier to conceive, understand, program, and maintain. 7
Polymorphism
Generally, the ability to appear in many forms. In object-oriented programming, polymorphism refers to a
programming language's ability to process objects differently depending on their data type or class. More
specifically, it is the ability to redefine methods for derived classes. For example, given a base class shape,
polymorphism enables the programmer to define different area methods for any number of derived classes,
such as circles, rectangles and triangles. No matter what shape an object is, applying the area method to it
will return the correct results. Polymorphism is considered to be a requirement of any true object-oriented
programming language (OOPL). 8
7
https://en.wikipedia.org/wiki/Decomposition_(computer_science)
8
http://www.webopedia.com/TERM/P/polymorphism.html