Wednesday 6 May 2015

Homework Questions

How many kilobytes in a megabyte? 1024
How many kilobytes in a gigabyte? 1024*1024
How many megabytes in 4 terabytes?1024*1024*4
How many bits in a petabyte?8*1024*1024*1024*1024*1024
What is base-10, 2 and 16? Base 10 is denary numbers, base 2 is decimal and base 16 is hex.
Where is hex used and why? Hex is used as a more easy to read binary system as it only uses two characters for an 8-bit number rather than 8.

Tuesday 20 January 2015

Computing Zero Punctuation Keywords



My homework on the keywords in the style of 'Zero Punctuation' (click here if you are unaware). Enjoy.

Thursday 12 June 2014

Databases

A database is a collection of data that complies to three specific rules.
It must be:
Persistent - held permanently in a medium such as a hard drive or flash memory.
Related - not a random assortment of facts or numbers
Organised - stored in a structured way that is easy to read, commonly a table

A serial file database is when the data is stored as a series, one after the other.
If the data is stored in an order it is a 'sequential file' file.

External view - the GUI the user sees
Conceptual view - how the data is organised(e.g. the design of the tables and the link between them)
Physical view - How the data is stored, handled by the database software

Flat file - one single spread sheet, only good for very simple databases
Hierarchical - branches of multiple tables etc. useful for larger data sets but harder to set up

DBMS must: 
Allow data sharing
Aloe multiple access
Allow multiple applications to work with it
Hold one copy of data everyone can access-prevents inconsistent updates
Make it possible to change data in a database without having to change applications

All database transactions must be subject to the ACID test,
Atomic-change completely performed or not at all
Consistent-transaction takes database from one consistent state to another
Isolated-must not be seen by another user until the transaction is irreversibly committed 
Durable-transaction not lost due to system failure

Thursday 8 May 2014

Internet


The internet is a worldwide network of networks linked by a common set of protocols. It is used by billions of people everyday for loads of applications like:

  • world wide web
  • instant messaging
  • file sharing
  • email
  • video games
The internet is very reliable, this is achieved through redundancy (e.g. many routes from one place to another.) Computers use digital signals. Connections are sometimes made through telephone signals however this is not needed if you link digitally.

Protocols: Transmission Control Protocol / Internet Protocol are the things that define the details of how data is sent and received through network adapters, hubs, switches, routers and other network communications hardware. 

Bandwidth: the difference between upper and lower frequencies in a set of carrier signals.
Broadband: a channel carries many frequencies. Has a bigger data capacity than narrow band (telephone). 4Mb/s is considered the minimum speed for broadband.

ADSL (asymmetric digital subscriber line): uses the spare capacity on plain old telephone system. More bandwidth in down direction than up as most users download more than they send.
Cable: subscription to cable television means you can often access the internet through the cable modem.


Thursday 3 April 2014

Networks

LAN (Local Area Network)

Advantages:
  • You can share peripheral devices like printers. This is cheaper than buying a printer for every node.
  • You can save your work centrally on the network’s file server. This means that you can retrieve your work from any node on the network.
  • Users can communicate with each other and transfer data between nodes very easily. 
  • Distributed processing
  • When there is an update it only has to be loaded onto the file server rather than every computer.
Disadvantages
  • Special security measures are needed to stop users from using programs and data that they should not have access to.
  • They can be difficult to set up and need to be maintained.
  • If the file server develops a serious fault, all the users are affected, rather than just one user in the case of a stand-alone machine.

Hardware

NIC: This is a network interface controller, is a computer hardware component that connects a computer to a computer network (LAN).

Ethernet Hub: A device for connecting multiple Ethernet devices together and making them act as a single network.

Router: The piece of network hardware that allows communication between your local home network - i.e. your personal computers and other connected devices - and the Internet.

Switch:  A network switch is a small hardware device that joins multiple computers together within one local area network (LAN).

Wireless Access Point: A device that allows people to connect devices on a wireless LAN to a wire-based network.

Topology
"Ring- A network topology that is set up in a circular fashion in which data travels around the ring in one direction and each device on the right acts as a repeater to keep the signal strong as it travels. Each device incorporates a receiver for the incoming signal and a transmitter to send the data on to the next device in the ring. The network is dependent on the ability of the signal to travel around the ring.
 
Star-In local area networks with a star topology, each network host (for example a PC) is connected to a central hub with a point-to-point connection. All traffic on the network passes through the central hub. The hub acts as a signal booster or repeater. The star topology is considered the easiest topology to design and implement. An advantage of the star topology is the simplicity of adding additional nodes. The primary disadvantage of the star topology is that it may need a lot more cables, and if the hub breaks everything will stop working.
 
Bus-In local area networks where bus topology is used, each machine is connected to a single cable. Each computer or server is connected to the single bus cable through some kind of connector. A terminator is required at each end of the bus cable to prevent the signal from bouncing back and forth on the bus cable. A signal from the source travels in both directions to all machines connected on the bus cable until it finds the MAC address or IP address on the network that is the intended recipient. If the machine address does not match the intended address for the data, the machine ignores the data. Alternatively, if the data does match the machine address, the data is accepted. Since the bus topology consists of only one wire, it is cheap to implement compared to other topologies. However, there is a higher cost of managing the network. Additionally, since only one cable is used, if the network cable breaks the whole network will be shutdown."

simple.wikipedia.org/wiki/Network_topology

Types of Network


 


Homework 10/3/15: DNS
DNS (the domain name system) is the TCP/IP protocol (rule) used to translate domain names, like the example one, into binary IP addresses that the browser can use. Servers called DNS servers are used to do the converting as they have a database of IP addresses, when you request a URL it looks it up and returns the IP address or searches for it on other DNS servers. The advantages are people don't need to remember IP addresses as web addresses are much easier to use. It is also easily upgradeable without all web addresses needing to be the same. The disadvantages are DNS spoofing - returning someone to the wrong IP address - could lead to private data being taken. It is also centralised so if it goes down the whole internet does.

Monday 24 March 2014

Software


Categories of Software
System Software
  •  Operating System
  •   Device Drivers
  •   Firmware
  •   Servers
  •   Utilities
  •   Interfaces

Operating Systems:

A collection of programs that control the hardware in a computer system. The heart of the OS is the kernel which controls most low-level hardware operations.
  • Windows - Multitasking OS from Microsoft. Provides a graphical user interface that enables all applications to look similar.
  • UNIX - Robust/stable OS to use on servers and workstations. Traditionally command line interface but there are many user interfaces developed to run on top of UNIX.
  • MacOS - A highly user friendly OS based on UNIX developed by apple using proprietary standards. Also iOS used on iPhones and iPads. 
  • Linux - designed to behave like UNIX but developed separately and is the basis for many other OS'. The kernel has been adapted to run on many devices from supercomputers to smartphones. These Linux based systems include Android, Debian and Ubuntu.
Device Drivers:

When a outside peripheral is needed to interact with the computer a signal (interrupt) is generated to tell the OS it needs to deal with something. These drivers are programs that operate or control a particular peripheral and enables them to access hardware functions without knowing the precise details of the system hardware.

Development Software

Editors
Used to write programs and are cut down word processors. Often have features to help organise the code

Compilers:
Translate high level code written by the programmer into machine code to be run by the computer.
(http://simple.wikipedia.org/wiki/Compiler#Compiling_the_language - for information on how it works)

Interpreters: In computer science, an interpreter is a computer program that performs commands written in a computer programming language. Interpreters are one of the two most important ways a program can be run, the other being compilation. The interpreter is a language processor which converts a high-level language program into machine language by converting and executing it line-by-line.

Linkers:
Used to connect sub programs to create larger programs. Often programs made up from many small programs using different languages etc. These programs link all these sub modules together.

Assemblers:
Translate assembly language programs into machine instructions. Uses mnemonics instead of binary bit code so the programmer an read it easier.

Applications

Programs that do real world jobs. Huge range of apps to do many jobs for a wide range of devices.

Thursday 26 September 2013

Code

Logic Gates
Binary is the foundation of all computer systems. It is the simplest form of script made up of solely 1s and 0s. There are also different processors called gates:

  • AND gates require both inputs to be set as 1 for the output to be 1.
  • OR gates require at least 1 of the inputs to be 1 for the output to be 1.
  • NOT gates only have a single input, they output the opposite of the input.
These are the simplest form of gates, examples are displayed below.

AND Gates

NOT Gates


OR Gates

You can also combine 2 or more gates:
AND NOT Gates

Binary
Binary is a numerical system in base 2. This means it represents numerical values using two symbols, in this case 1 and 0. A single number is a bit, a group of four numbers is a nibble and a full eight numbers is a byte. A zero represents nothing and a one represents a number, which go up in powers of two. Therefore  a number 9 in binary will be:

8421
1001

as 8+0+0+1=9.

More can be found here.


Hex
Also known as hexadecimal, hex is a base 16 numerical system. The first unit represents a multiple of 16 and the second is a number added to the first. The second unit can be a number up to 9 or a letter up to F. 1-9 stand for themselves and A-F represent the next numbers to 15.



ASCII


ASCII (American Standard Code for Information Interchange) is a set of 127 characters (95 printable and 35 not) and the null code (00000000) devised by the American Standards Association for use as the main characters in telegraphs. It originally used 7 bits but as 8 bit computers became the norm, it was extended to 8 bits so 128 more characters could be added. One character is one byte.

Instruction Sets
An Instruction set is a list of all of the instructions needed in a computer for a processor to execute. These will usually include common mathematical processes, logic gates, data instructions (such as move, input, load and store) and control flow instructions.These lists are different for each brand of processor and sometimes each generation. These instructions are stored in binary  and the CPU has to decode them  so it knows what to do. There is two parts of an instruction, the operator and operand. The operator tells the CPU what to do. and the operand tells the CPU what to apply the operation to.

Sound
Sound is an analogue energy form. To store it on a computer we need to convert it into a digital one. To do this we measure the frequency/loudness etc at equal intervals. These are called samples. The bit rate is the number of bits sampled in a given time. Sound files are often quite large, this means we often have to compress them into a file format like MP3. Algorithms are devised to remove parts of the data people are least likely to hear.


Images
Binary data can represent images and store them as bits. Pictures are shown as a series of coloured pixels. The metadata is located at the start of the image in binary and give information such as resolution, colour depth, width and height. Without this the image would simply be a string of  ones and zeros. Colour depth is the number of colours that can be represented in the image. A depth of 1 bit will represent 2 colours (1 and 0). 2 bits allows 4 colours and so on. These are called bit mapped images. You can also store an image as a vector graphic. This defines them as formulae and define the points, lines and curves of the image rather than storing them as pixels. This means they can be enlarged without being distorted as the image is simply recalculated rather than enlarging each pixel.

Development Software
You need certain pieces of software to develop software. These are used to write the code that makes the program work.

Editors:
These are usually a cut down word processors that save the words but not the formatting. We use these to write the main operations of the program. You can also use software that utilises "pretty printing". This will detect things like loops, variables etc. Some will even add line numbering to help with debugging.

Compilers:
These will convert high level level languages into machine code the CPU can run. You will need a different compiler for each programming language (e.g python etc.) 

Interpreters:
Interpreters do a similar function to compilers although they do it a line at a time and execute as they go. This uses a lot more RAM and you need the correct interpreter if you ever want to run the program. It is also slower. e.g. C++

Assemblers:
Assembly language is a convenient way to write base machine code that isn't in binary. It uses a set of mnemonics to represent machine operations and is specific to the processor it runs on.

Linkers: 
Linkers are for 'glueing' modules of an application written by separate programmes in separate languages to make sure there are no conflicts.