0% found this document useful (0 votes)
10 views10 pages

Untitled Document

Uploaded by

omarmorsi07
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views10 pages

Untitled Document

Uploaded by

omarmorsi07
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

CS Notes:

Term Definition
Topic 1 Topic 1
Reasons for a new old system is inefficient, no longer suitable for original purpose, outdated or
system to increase efficiency/quality/minimize cost
Compatibility Issues language differences, software incompatibility, legacy systems
Strategies for system run both systems parallel, make a new system, use best parts of both
mergers systems, choose one to use
Locally hosted system software is installed and operated on client’s own hardware, it is best for
large/complex systems and you only pay once and you have control over it,
high initial cost and you have to maintain it yourself and harder to predict
total cost
Remote system Saas solution, hardware is remote and users can access data and operate
software from cloud and pay for service on subscription, lower initial cost
and easy to predict overall cost and data secure and no maintenance
required, third party reliance and time zone difference is inconvenient and
lower performance
Changeovers parallel, direct, pilot, phased
Parallel Changeover less risk, higher cost, inefficient
Direct Changeover higher risk, less costly
Pilot Changeover less risk but there is a lot of worker training
Phased Changeover takes longer, less risk, low cost
Data migration incompatible file formats, data loss, different validation rules
problems
Types of testing alpha(inside firm), beta(early version to public), user ACPT(provided to
clients to ensure client satisfaction), debugging(using program to find bugs),
static(inspection), dynamic(test while running), dry run(pen/paper),
unit(testing individual parts of system), integration(whole system at once),
black box(test without code), white box(test with code)
User documentation important so users can understand how to use the system, methods are
help files, online documentation, manuals
User training methods online training, self-instruction, formal classroom
Data loss causes user error, natural disasters, malicious activites, viruses, power failure
How to prevent data backups, offsite storage, firewall/antivirus, failover system
loss
Types of updates patches(fix bugs), updates(bugs, adds functionalities), upgrades(bugs,
major functionalities, releases(final working apps that are tested)
Ways to notify user automatic(cooke on machine sends alert of update), email(email sent with
about update link to download update)
Computer components hardware, software, peripherals, HR
Roles of computer in client/server(accesses/services server/client), email server(transfers email
network between computers in a network), dns(translates website addresses in
letters to ip addresses), router(connects networks), firewall(controls network
traffic)
Methods to evaluate interview, questionnaire, observations
system requirements
Prototype early version of system/software/hardware
Iteration when prototypes are made in repeated improved cycles until functional
Usability it is learnability/efficiency/error, braille keyboard/speech recognition for blind,
subtitles/visual effects for deaf, word processor for dyslexic
Topic 2 Topic 2
CPU interprets/processes and executes program instructions
Control unit Fetches data/instructions from memory, decodes it into commands and
controls transfer of data/instructions among other units of CPU.
ALU Performs arithmetic and logical calculations/operations
Registers Small, very fast circuits that store intermediate values from calculations or
instructions inside the CPU
MAR Stores address of next instruction to be decoded and executed. Connected
to RAM through Address Bus
MDR Stores data of instruction most recently taken from RAM, i.e. instruction
about to be executed. Connected to RAM through Data Bus
Instruction/machine Address of the next instruction is stored in MAR through address bus then
cycle data is fetched from main memory and stored into MDR then CU decodes
instruction then ALU executes the command then the output value is stored
in accumulator if needed then processed data is stored back on main
memory
Bus Set of wires that connects two components in a computer system
Cache Memory memory that is smaller and accessed faster than RAM since closer to the
CPU. Stores most frequently used data and instructions so CPU has to
access the slower RAM less often and performance speeds up.
Primary memory the only storage directly accessible by CPU
Secondary memory hard drive/long term/persisent/holds all data not currently in
use/slower/cheaper/larger
Operating system security, memory management, peripheral management, data management,
multitasking/resource allocation
Application software CAD, web browser, email
RAM(random access Stores data and instructions of program currently being run. RAM is volatile-
memory) all data/ instructions are deleted once there's no power
ROM(read only Stores permanent instructions and data of programs used to boot and
memory) operate the computer (BIOS). Cannot be overwritten. Non-volatile, data and
instructions remain even when there's no power. Smaller than RAM.
Features of GUI, CLI, tool box, menu, dialogue box
applications
Binary digit(Bit) Basic unit of info, 1 or 0. One digit in a binary number.
AND Logic Gate Multiply
OR Logic Gate Add
XOR If same=0, if different=1
Binary Binary Conversions(not included)
Conversions(not
included)
Topic 3 Topic 3
Node device on a network
Hub connection point for network, when network device wants to send to data to
another it copies the data and sends it to all devices connected to its ports
Switch like hub but can identify which device is connected to which port allowing a
network connected by switches to operate much faster data is only sent to
the computer that needs it

Data packet Unit of data for transmission with a format, it is part of a message made into
a single package. Contains address and data.
Data travels in packets, grouped into packets a file being transmitted through
packet switching may be divided into multiple packets and each pack could
follow different route to same destination, efficient data transmission and
reduced delays
Router manage traffic, controls flow of data packs, checks address of data packets,
puts packet on correct path, secure transmission
Intranet private network to help emplyees connect and perform their roles
Extranet an intranet that provides controlled access to authorized external users
Internet A WAN. Connect to it through internet service provider (ISP) for monthly fee.
Not owned by single entity, no central server. All computer systems are
independent to share resources. Internet provides services such as support
for email, file transfer, and the WWW, which consists of webpages
VPN from vpn client you send all requests to vpn server, vpn server makes
request to internet resource and vpn server returns response to you via vpn
client, connect is encrypted, creating and maintaining an encrypted
connected between the server and client is tunneling, done using encryption
technology like SSL
Protocol set of rules for data transmission, tcp/ip rules for transmitting data on
internet, https rules for securely transmitting data between a web browser
and server, sftp rules for securely transmitting files from client to server,
maintains data integrity/flow control/prevents deadlock/prevents errors
OSI model application presentation session transport network data link physical
Transmission speed traffic, time, distance, infrastructure, environmental issues, financial factors,
factors type of data, bandwidth, throughput, bottleneck, goodput
Data compression Data is often compressed (encoding data using fewer bits than the original)
to take up less bandwidth and reduce transmission time. Receiver has a
program to decompress the file
Bandwith theoretical speed
Throughput actual transfer rate
Goodput transfer rate of usable data
Bottleneck slowest segment in the network creates a bottleneck that affects throughput
MAC Address used to identify network-enabled devices in network
Firewall analyzes data packets, controls traffic according to predetermined rules,
filters based on mac address
VPN checklist lan connected to internet, computer outside the lan connected to internet,
vpn client and server running on lone machine and original lan, internet
connection
Security factors confidentiality, integrity, availability
Encryption userID and password, PSk, WEP, WPA/Wpa2
Transmission mediums wireless, fiber optic, coaxial, copper
LAN Network devices are connected within limited geographical area, e.g. a
room, a home, a school, office building etc. Data and peripherals can be
shared. Usually client-server, connected with hub/ switch and Ethernet
cabling
VLAN Devices or LANs from different segments in a LAN connected logically, e.g.
splitting a hospital LAN into VLANs according to department so each
department can only access certain data. Usually via software, not hardware
WLAN Connects nodes in limited geographical area but with no wires. Allows for
mobile devices and easier connection/ removal, although less secure
WAN Connects different computer systems or LANs from different geographical
areas, can span over a city, country or the world, e.g. internet, different sites
of organisations connected
SAN Type of LAN designed to handle large data transfers. Each client is
connected to a server that provides access to storage devices
PAN Network covering individual's working area, very small space. e.g. PC,
phone, tablet sharing data. Can be wired (e.g. USB) or not (e.g. Bluetooth)
Peer-to-peer(P2P) Different to client-server, no centralised server. All nodes have equal
privileges and responsibility for processing and sending data. All are client
and server at same time, consuming and supplying resources from and to
other peers
Modem Allows you to connect to internet
Wireless router Same as router but also has Wireless Access Point (WAP) to connect to
existing wired network and allow wireless data transfer between device and
network
Wireless repeater Receives signal from router or access point and rebroadcasts it
DHCP(dynamic host Allows server to automatically assign IP address to client device.
configuration protocol)
Wireless Application Provides protocols for accessing info over a mobile wireless network, used
Protocol(WAP) in mobile devices to access internet, emails etc.
SSID Service Set Identification. Set of 32 characters to differentiate WLAN from
another
NIC drivers Operates hardware of the card. Translator between card and applications/
operating system of device
Topic 4/5 Topic 4/5
computer’s storing data, retrieving data, comparing data, adding values
fundamental
operations
Thinking procedurally This includes identifying the steps and putting them and putting them in the
correct order
Sub-procedures A section of code in a program that does a specific job. Can be called by
name when needed, it is an example of abstraction/modular programming
approach.
Why use them Contain reusable code. A large programming project can be divided into
sub-programs. Different sub-programs can be constructed by different
programmers. Future maintenance is easier due to the organization of the
large program. Different people can develop parts of the program at the
same time.
Compound operation an operation that involves a number of stages/other operations. Think of it
as a group of operations that combine together to form an operation.
Natural language human languages like english
Computer language low level(assembly or machine code) and high level(java)
types
Features of computer consistent grammer/syntax, unambiguous
language
Compiler If the translator translates a high level language into a lower level language
(done in a batch)
Interpreter the translator translates a high level language into an intermediate code
which will be immediately executed by the CPU (done line by line)
Assembler the translator translates assembly language to machine code (mnemonics to
binary)
Linear search(key) key=x
index=-1
found=false
loop i from 0 to 10
if(A[i]=key) then
index=i
found=true
end if
end loop
if(found=true) then
output “found at”, index
else
output “not found”
end if
Binary Low=0
search(elimination) High=6
Num=4
Found=False
Loop while(Low<=High AND found=false)
Mid=(Low+High)Div2
If(A[mid]=num)then
Found=true
else if(num>A[mid])then
low=mid+1
else
high=mid-1
end if
end loop
if(found=true) then
output “found at”, mid
else
output “not found”
end if
Bubble sort(big loop, Temp=0
small loop Loop I from 0 to 8
Loop j from 0 to 7
if(A[j]>A[j+1]) then
temp=A[j]
A[j]=A[j+1]
A[j+1]=temp
end if
end loop
end loop
Selection sort(small temp=0
loop, big loop) loop i from 0 to 5
loop j from i+1 to 6
if(A[i]>A[j])then
temp=A[i]
A[i]=A[j]
A[j]=temp
end if
end loop
end loop

Term Definition
Array Maximum index=0 max=A [0]
loop i from 0 to 8
if (A[i] > max) then
max=A[i]
index=i
end if
end loop
output "max is", max, "found at", index
Array Minimum index=0
min=A[0]
loop i from 0 to 8
if (A[i] < min ) then
min=A[i]
index=i
end if
end loop
output min
output "min is", min, "found at", index
Array Sum & sum=0
Average loop i from 0 to 8
sum=A[i]+sum
end loop
average=sum/9
output average
output sum
Find Similar Value loop I from 0 to 4
In 2 Arrays loop J from 0 to 4
if(A[i] = B[J]) then
output A[i]
end if
end loop
end loop
Output Collection A.resetNext()
loop while ( A.hasNext() AND NOT A.isEmpty() )
NUM = A.getNext()
output NUM end loop
Find Collection A.resetNext()
Minimum min=0
loop while (A.hasNext() AND NOT A.isEmpty())
NUM = A.getNext()
if (NUM < min) then min=NUM end if end loop
Find Collection A.resetNext()
Maximum max=0
loop while (A.hasNext() AND NOT A.isEmpty())
NUM = A.getNext()
if(NUM > max) then max=NUM end if end loop
Find Collection A.resetNext)
Sum & Average sumeO counter=0
loop while ( A.hasNext AND NOT A.isEmpty() )
sum = sum + A.getNext ()
counter=counter+1 end loop output sum
average=sum/count output average
Find Common A.resetNext()
Values Between B.resetNext))
Collections loop while ( A.hasNext() AND NOT A.isEmpty () )
NUM = A.getNext()
loop while ( B.hasNext() AND NOT B.isEmpty() )
NUM2 = B.getNext()
if (NUM=NUM2)then output NUM end if end loop end loop
Transfer From Temps_Col=newCollection()
Array To loop i from 0 to 5
Collection Temps_Col.addItem(A[I])
end loop
Transfer From A.resetNext()
Collection To counte0
Array loop while ( A.hasNext) AND NOT A.isEmpty () )
num = A.getNext ()
Temps_Array=newArray[0, 0, 0, 0]
Temps_Array[count]=num count=count+1
end loop
2D Array Linear scores= [x]
Search key=68
IndexR=-1
IndexC=-1
Found=false
loop R from 0 to 4
loop C from 0 to 4
if(scores[R][C]=key) then
IndexR=R
IndexC=C
Found=true
end if
end loop
end loop
If(found=false) then
Output “not found”
end if
2D Array Sum & scores= [x]
Average sum=0
counter=0
loop R from 0 to 4
loop C from 0 to 4
sum=sum+scores[R][C]
counter=counter+1
end loop
end loop
output “The sum is”, sum
avg=sum/counter
output “The average is”, avg
2D Array Minimum scores= [x]
min= scores[0][0]
IndexR=-1
IndexC=-1
loop R from 0 to 4
loop C from 0 to 4
if (min>scores[R][C]) then
min=scores[R][C])
IndexR=R
IndexC=C
end if
end loop
end loop
output IndexR, IndexC
2D Array scores= [x]
Maximum max= scores[0][0]
IndexR=-1
IndexC=-1
loop R from 0 to 4
loop C from 0 to 4
if (max<scores[R][C]) then
max=scores[R][C])
IndexR=R
IndexC=C
end if
end loop
end loop
output IndexR, IndexC
2D Array scores= [x]
Outputting It All loop R from 0 to 4
loop C from 0 to 4
output scores[R][C]
end loop
end loop
Recursion Recursive methods can be used to create clearer and simpler versions of
Advantage several algorithms than can their iterative relatives(loops)
Recursion More difficult/complicated to code, It is difficult to find bugs
Disadvantage
Stack last in first out, push() means put one at the top, pop(0 means take one from
the top, isEmpty means check if it is empty, is used in backtracking in
applications
Move From Array counter = 0
To Stack loop counter from 1 to Array.length
Stack.push(Array[counter])
end loop
Output Stack loop while (S.isEmpty()=false)
output(Stack.pop())
end loop
Queue first in first out, enqueue when entity enters the queue at the back, dequeue
when someone leaves the queue at the front, used in keyboard strokes
Move From Array counter = 0
To Queue loop counter from 0 to Array.length
Queue.enqueue(Array[counter])
end loop
Output Queue loop while(Q.isEmpty()=false)
output(Q.dequeue())
end loop
Single Linked have nodes which are the 2 boxes which contains the info field and the pointer,
Lists a head which is a box that points to the first node, a tail which the last node
points to
Circular Linked are the same as single linked lists but the last node instead of pointing to the
Lists tail it points to the first node, and there is no tail
Doubly Linked are the same as the but each node has 3 boxes, [prev][info field][next], and the
Lists head points to the first info field and pointers are from each next box to the next
info field, but there is also a pointer going back from the prev box in the last
node to the info field before it and so on, it will have 2 tails this way

You might also like