CH1 - INFORMATION REPRESENTATION DENARY - base 10 with digits 0-9 BINARY - base 2 system, represented with 1 and 0 - All inputs need to be converted to binary for computers DECIMAL PREFIXES - Kilobyte = 1000 bytes = 10^3 - Megabyte = 10^6 - Gigabyte - Terabyte BINARY PREFIXES (power of 10) - Kibibyte = 1024 bytes = 2^10 - Mebibyte = 2^20 - Gibibyte - Tebibyte *Nibble = 4 bits *Byte = 8 bits Converting Negative Decimal Numbers into Binary Numbers 1. One’s Complement - Process: Turn all ‘0’s to ‘1’s and the ‘1’s to ‘0’s - Example: 01000011 → 10111100 2. Two’s Complement - Process: Turn all ‘0’s to ‘1’s and the ‘1’s to ‘0’s, and add 1 - Ex: 0111 → 1000 → 1001 : 1111 → 0000 → 0001 : -65 → 65 → 01000001 → 10111110 → 10111111 - Added together to get another ‘1’ at the beginning of the binary (to be ignored, tally bit, overflow) - If it is a positive number already, just convert it like normal BINARY ARITHMETIC - Overflow - The largest number of bits a register can hold at a time is exceeded - CPU discards the overflow digit (It will think it is 255 + 1) - Ex: 11111111 + 1 → 1 00000000 → 00000000 BINARY CODED DECIMALS (BCD) = binary encodings of decimal numbers where each digit is represented by a fixed number of bits 1. Unpacked - A numeral encoded into one byte (8 bits, first 4 0s insignificant) - Ex: 8 5 0 3 → 00001000 00000101 00000000 00000011 2. Packed - A numeral encoded into a nibble (4 bits, most significant), typically used for transmission, can be made into 2 bytes - Ex: 8 5 0 3 → 1000 0101 0000 0011 → 10000101 00000011 Applications of BCD: - Digital Calculator - Digital Clock - Digital Thermometer - Currency Values HEXADECIMAL (base 16) Why - Easier to debug as it is close to human language - Reduces errors as less digits to write When - MAC addresses - RGB colors in HTML ASCII CODE (AMERICAN STANDARD CODE FOR INFORMATION INTERCHANGE) + Has a unique binary code for each character known as, Character Code + 8-bit code, uses 1 byte of memory per character + Typically used for storing, displaying or printing text Limitations: - Only supports up to 256 characters - Does not support many symbols from international languages (not enough space to store) Special features: - Uppercase letters only differ from lowercase letters in bit 6 - Ex: a (01100001) → A (01000001) - It is in alphabetical order UNICODE + Covers majority of different languages across the world + Uses 16 bits (4 digits only, represents 2 bytes) Limitations: - Requires more space compared to ASCII (16 bits instead of 8 bits) - More bits are required for non-ASCII characters Special features: - Big enough to handle all existing characters and symbols - Characters from the same language are grouped together and are in its natural order (if can be made possible) IMAGES VECTORS BITMAP Adobe Illustrator, Adobe Photoshop (SVG, CGM) JPEG, PNG + + + + + + - Made up of geometric shapes which requires attributes To edit the design, need to change each of the geometric shapes File size is small since made up of geometric shapes Created by a drawing package or a computer-aided design (CAD) Constructed using mathematical formulas, which makes it scalable Has a drawing list + limited number of geometric shapes causes graphics to not appear to be very realistic Only can be displayed on a graph plotter (expensive hardware), not cost effective - + + + + - - Consists of a matrix of individual dots (or pixels) that all have their own color (made up of binary) Image built from pixel by pixel, final image are usually very realistic Can edit each pixel to change the design of the image Most images are typically stored as a bitmap Bitmap image usually have a file header very large file size because of pixel (accurate designs) Poor quality when zoomed in Decimation: throwing away pixels when zooming out which changes the image in an unacceptable manner Slow reading and rendering process (due to expansion of compressed data) *Drawing list = set of commands used to define a property (thickness, style, colour, fill colour) of the object *Vectors = scalable and do not pixelate like a bitmap image therefore are used by corporations to create logos as they can resized without losing quality *Pixel = small blocks of addressable areas & the color they have is represented by binary and stored as bits *File header = a few bytes of binary and represents basic information about the graphic, such as image resolution, size, and number of colors *Image resolution = the amount of pixels an image contains per inch *Screen Resolution = the number of pixels per row by the number of pixels per column *Color depth = number of bits used to represent the color of a single pixel - The higher the color depth/image resolution, the better the color quality and file size *Bit depth = the number of bits used to represent each pixel in an image SOUND = vibrations that travels through a medium - continuous in nature 1. Analogue to Digital Converter (ADC): - Converts analogue sound to digital signals which can be digitally stored - Analogue wave is picked up by a microphone and send to an ADC in the form of analogue electrical signals - Once the sound wave is converted into a digital form it can be stored and manipulated 2. Digital to Analogue Converter (DAC) - converts digital signals into analogue signal that can be output - DACs take a binary number of the digital form of audio and turn it into an analog voltage or current that, when done, can create a wave of audio that represents the digital signal - It creates the analog version of the digital audio in "steps" of each digital reading HOW SAMPLING WORKS - amplitude of the sound wave is first determined at set time intervals (sampling rate) - Gives an approximate representation of the sound wave - Sound wave is then encoded as a series of binary digits *Sampling rate = number of samples taken per second - higher sampling rate means the waveform will be converted from analog to digital form more accuracy *Sampling Resolution = number of bits assigned to each sample - sampling resolution allows user to set the range of volumes storable for each sample Quality of sound produced using a sound sampler depends on the sampling rate/resolution + High Sampling rate/resolution + less sound distortion + better sound quality + Larger dynamic range - Larger file size - Longer to transmit/download files COMPRESSION = technique to reduce the size of a file without reducing the quality in the use of the file Why? - files tend to have large file size - Transfer speed is slow LOSSLESS LOSSY PNG jpeg, MP3 + + + compressed file which can be restored to its original file size Save the color code for every pixel Use run length encoding + + + + Unnecessary data is permanently removed The unnecessary sounds (such as background noises) can be removed from the audio file to reduce the file size. an image which has a large background could be encoded so the background pixels have a lower resolution Colors such as blue, to which the human eye is less sensitive could be encoded at a lower resolution RUN LENGTH ENCODING = compression in which sequences with the same data value in many consecutive values are stored as a single data value and count - a form of lossless file compression that reduce the size of a string - Can be used on images, text - Ex: 000012341111 => (0-4)1234(1-4) METHODS ON FILE COMPRESSION 1. Movie Files - reduce the sampling rate used - Reduce the sampling resolution - Reduce frame rate 2. Image Files - crop the image - Decrease color/bit depth Reduce image resolution CH2 - COMMUNICATION AND NETWORKING TECHNOLOGIES LOCAL AREA NETWORK (LAN) = network confined into 1 single site/building - belong to an organization - Geographically small - Use cable/low powered radio (wireless) for connections (twisted pair) Benefits: - Cheaper - Expense of installing application software on each pc could be saved by installing the software on the application server attached to a LAN - Instead of using many cheap printers for each pc, can use one good quality printer attached to a LAN - Efficient - File server that's attached to LAN allows user to store and share large files - Paperless office - can be save on file server Disadvantage: - managing can be difficult and complex - Malware and hacking can affect the entire network HARDWARE: 1. Switch - Devices within a network that forward packets within the network itself - Allow multiple computers to connect to a network through a single node 2. Server - Computer or system that provides resources, data, service to computers, known as clients 3. Network Interface Card (NIC) - Computer hardware component that connects a wire-based computer to a computer network usually the company’s network 4. Wireless Network Interface Card (WNIC) - Computer hardware component that connects a radio-based computer to a computer network usually the company’s network 5. Wireless Access Point (WAP) - Hardware device on a LAN that allows wireless capable devices and wired networks to connect through a wireless standard (WiFi or Bluetooth) 6. Cables - Coaxial, Twisted Pair, and Fibre optic cables 7. Bridge - Connect multiple devices that has the same protocol & provide communication between them 8. Repeater - Expanding network coverage by combining 2 LAN signals WIDE AREA NETWORK (WAN) = network that extends over a large area - created by joining several LAN together - Used by company to connect different sites but not owned by the company - Provided from a PSTN - Use fiber optic Cable, satellite radio, and microwave radio Benefits: - Job can be run on a remote computer that had the required application software - Data archive that was stored on a remote computer can be access - Message could be transmitted electronically to a user on a remote computer HARDWARE 1. Routers - Connect 2 network using the same protocol - Regulate network traffic - Assign private IP address - Receive and forward packets from a network using the most efficient route 2. Gateways - Connect 2 network using different protocol - Regulate network traffic - Assign private IP address - Convert data packets from one protocol to another - Receive and forward packets from a network 3. Server - Computer or system that provides a specific function for computers using a network such as file storage, delivery of web pages, etc INTERNET WORKING = shortened to Internet = massive network of networks which are made up of various computers and electronic devices - uses IP protocol - Forms a collection of connected networks and is a packet-switched network - All network traffic is made up of packets of data with a source address and destination address - There will be a large number of available paths for the transmission of any data packet Hardware to support the Internet: 1. Public Switched Telephone Network (PSTN) = switching center that connects all networks together - allows any telephone to communicate with each other - Dedicated channel used between 2 points for the duration of the call - Connection maintain throughout the telephone call - Line remain active even in a power outage 2. Dedicated Line = permanent connection that is used for business purposes - Not commonly shared among multiple users - Allows consistent data transfer speed - Hence allow users to maintain a continuous, uninterrupted calls 3. Cell Phone Networks = Wireless network spread over large areas called ‘cells’ - each cell is served by at least 1 fixed location transceiver = base station - Each cell uses a different set of frequencies to avoid interference - When joined together, cells provide radio coverage over a wide geographical area 4. Internet Service Provider = organization that provides services for accessing, using the internet CLIENT SERVER MODEL = a distributed applications software that splits tasks between the providers of the service (servers) and service requesters (clients) - clients sends a request to the server and server find requested data and send it back to client Benefit: - More secure - User need username and password - Files and resources are centralized Types of Servers: 1. File Server - all software and user data files can be stored on the server 2. Email Server - send, receive, and store emails 3. Print Server - manages print jobs from network client computers 4. Database Server - manages a database management system; MySQL 5. WebServer - manages pages available from a website PEER-TO-PEER = consist of a direct link between 2 computers, therefore not needing any server - no central server - Nodes can share files with each other and each nodes will have its own data Benefits: - faster and more reliable because its a direct connection - No need to authentic users Disadvantages: - used in small areas - Max nodes = 10 - Performance issues THIN-CLIENT = a client that only provides input and receive output from the application - choose an app to run on the server - Sends input data to the server when requested by app - Received output from the app Benefits: - cheap to expand - Hardwares are cheap - All devices are linked to a server - Update and new softwares installation done centrally - Server can offer protection against malwares and hacking Disadvantages: - High reliance on server - Goes down = devices won't work - Startup cost is high THICK CLIENT = a client that carries out at least some of the processing itself - Choose ab app provided by the server - Possibly carries out some processing before running the app on the server and also after receiving the output from the app - Possibly download the app from server and runs the app by itself Benefits: - More robust - Can carry out processing even without connection to server - Clients have more control - Store their own programs and data/files Disadvantages: - Less secure - Rely on client to keep own data secure - Each client need to update data and software individually - Data integrity issues - Many clients access the same data which can lead to inconsistencies THIN CLIENT - relies on a connection to a remote server Requires very few local resources; SSD, RAM Relies on good, stable, and fast connection Data is stored on a remote server THICK CLIENT - can run some features even without connection to the server Relies heavily on local resources More tolerant on slow network connections Can store data on local resources; HDD, SSD ETHERNET = a standard way to connect computer on a network over a wired connection - focused on LANs - Bus or Star Topology ➔ Any message would be available to all of the end system without any controlled communication exchange between any pair of end systems ➔ For each message received an end system had to check the destination address defined in the message top se if it was the intended recipient ➔ Used of shared medium for message transmission has the potential for messages to be corrupted during transmission, causing collision Collision = if 2 end systems were to transmit message at the same timeCarrier Sense Multiple Access / Collision Detection (CSMA/CD) 1. Workstation tune in to the communication channel 2. If no data is being transmitted, computer can send data 3. If collusion occurs, each workstation waits at random time before transmitting CLOUD COMPUTING = the provision of computing services usually via the internet 1. Private Cloud = owned by and only accesses by an organization - the organization take full responsibility for creating and managing the cloud installed on-site and connected to a private network - The organization outsources to a third party the creation and management of an on-site installation to a private network - The organization outsources the creation and management of an internet accessible system by a third-party 2. Public Cloud = owned by a cloud service provider for general access - provided by file servers and application servers - accessible via a browser and therefore accessible from any suitable device in any location - Established using large mainframe computers or server farms Benefits: - Cloud user: - not have the limitation that the systems already have - Infrastructure provision: - better performance when running a software - Increased storage capacity - Platform provision: - Offer facilities for software development and testing s - Software provision: - Run applications that requires high performance systems - No need technical expertise Disadvantages: - Data privacy - Cloud service provider has complete access to all the data stored in the cloud - User cannot guarantee that data had not been shared with third party TOPOLOGIES 1. Bus - All nodes are directly connected - Main cable ascta as backbone - One of the computer acts as the computer server Benefits: - Easy to connect a computer or peripheral server - Cable requirements are relatively small, resulting in lower cost Disadvantages: - If the main cable breaks the entire network goes down - Difficult to troubleshoot therefore not used in large networks. 2. Star - Each end-system has a point-to-point connection to the central device - Transmission is duplex - The central device can be used to connect the network to other networks Benefits: - Easy to install and wire. - No disruptions to the network when connecting or removing devices. - Easy to detect faults and to remove parts. Disadvantages: - Requires more cable length than a linear bus topology. - If the connecting network device (network switch) fails, nodes attached are disabled and cannot participate in computer network communication. - More expensive than linear bus topology because of the cost of the connecting devices (network switches). 3. Mesh - Every network device is connected to other network device - Used for site-to-site WAN connectivity, to increase redundancy Benefits: - Mesh topology is multiple paths to the destination computer. - If one link is down, we have another path to reach the destination Disadvantages: - Is costly because of the extra cables needed - It is very complex and difficult to manage 4. Hybrid - Is a type of network topology, which is made of two or more different topologies. made using a combination of bus topology, star topology, mesh topology (full-mesh topology or partial-mesh topology), ring topology or wireless topology as per the requirement of the organization. WIRED NETWORK VS WIRELESS NETWORK WIRED NETWORK uses cables to connect devices + + + Faster transfer speed Connection speed is faster More secure WIRELESS NETWORK allows devices to stay connected to the network but roam untethered to any wires + + + + - device is depended to a router Less convenient due to cables and ports Difficult and expensive to set up - Copper Cables, Fibre Optic Cables Access network resource from any location of user coverage area and can be accessed by multiple devices Mobility as not tied to cable Cheap as it eliminates wiring expenses Easy to set up as there are no cables Extra cost to set up Setting up is difficult for people that are not experienced with computers Less secure due to bandwidth and information can be accessed File sharing transfer speed is slower Interference as connection can be block by walls Radio Waves, Microwave, Satelites WIRED NETWORK COPPER CABLES FIBRE OPTIC CABLES = Carries data as electrical signals and can consist of a twisted pair = Transmit data as light + + + Best conductor Flexible Safe - high melting point + + + + + Thinner and lightweight Less signal degradation Lower interference in signal Faster transmission as high bandwidth More secure as it is hard to hack - Doesn’t perform well with small charges Affected by electromagnetism Expensive - Needs expensive optical transmitter and receivers Only transmit data in one direction - WIRELESS NETWORK RADIO WAVES MICROWAVES SATELLITES = Carries data in the form of electromagnetic waves = uses a beam of radio waves in the microwave frequency range to transmit information = A communication device in earth’s orbit that receive and transmit data + + + - Wireless Can travel over large distances Not expensive + + Wireless Larger bandwidth + + Wireless Cheap with long distance Low frequency so transmit less data at one time Affected by radio stations with similar frequency - Emitting towered are expensive to build Physical obstacles can interfere - Easy to interfere Expensive to set up - BIT STREAMING = the transfer of a sequence of bits at a high speed one at a time, representing a stream of data, hence it requires some form of buffering VIDEO - data is compressed before transmission - Video is hosted on a media server - Video then transmitted continuously as a series of bits - The recipient receives bit stream from a buffer REAL TIME ON DEMAND = used when watching live streams of events that are currently taking place = watching an event that has taken place in the past - Event is captured live with a video camera that is connected to a computer, cannot be paused or rewound Video signal is encoded to streaming media files Encoded feed is uploaded to a file server Streamer it servers duplicate the feed and send it to all clients requesting in real time WEBSITE STREAMING + No need to download the full file + No need special software for playback in browser - Video stops if internet connection is bad - Existing media are encoded to bit streaming format and uploaded to a server, can be paused and rewound Encoded feed is uploaded to a dedicated streaming server Server send live images to user When client request to watch a specific video, a bit stream is set up which transmit saved video - Viruses can be downloaded from websites *Importance of bit rates/broadband speed on bit streaming - clients have to download the bits and display it at the same time - Broadband speed required depends on type of stream user requires - Better quality needed, then user need higher speed as each framer larger in size INTERNET PROTOCOL (IP) ADDRESS - gives each device on a network an identifier which allows devices to send data to the correct specific i device PRIVATE PUBLIC - - - improved security as its not visible outside the website Reduce the number of public IP addresses needed Need Network Address Translation (NAT) to access the internet directly Can be duplicated in different networks STATIC - address is signed by the server/ISP When a comp disconnects and rejoin, the address remains - IP Address cannot be duplicated in different networks Assigned by the ISP Address can be reached over the internet DYNAMIC - assigned by the network OS When comp disconnect and rejoin, the address changes IPv4 IPv6 none why? - the number of IP address needed will exceed the number available by using only IPv6 - A set of 4 numbers Range 0-255 Separated by a full stop The first two number is the network Last two numbers are host EX: 192.0. 2.146 - A set of 8 numbers Each numbers is 4 hexadecimal digits Separated by colons - Only 1 double colon is allowed Ex: 1234:1234:1234:0000:1234:1234:1234:123 4 WORLD WIDE WEB (WWW) = consist of content organized as web pages made available across the internet from web servers - uses HyperText Markup Language (HTML) - Publishing format for all web content - Uniform Resource Identifier (URI) - Unique address for a resource on the WWW - HyperText Transfer Protocol (HTTP) - Protocol to allow for the retrieval of linked resources UNIFORM RESOURCE LOCATOR (URL) = a character string referring to the location of an internet resource - URL allows us to specify the domain name and exact location for a resource on the internet https://cie.org.uk/computer science.html http =. Enables browser to know what protocol is being used to access information in the domain cie.org.uk = domain name computerscience.html = web page “?” = separate url from all variables “%20” = coding for space DOMAIN NAME SERVICE (DNS) = Naming system used for computers or resources having internet connection How URL is Converted into Its Matching IP Address - URL is passed to obtain the domain name - Domain is sent to nearest DNS - DNS hold domain name and matching IP address - DNS will search for the domain name and the IP address is returned CH3 - HARDWARE INPUT DEVICES 1. Keyboard - Uses switches and circuits to translate keystroke into signals the computer can understand - The key matrix is a grid of circuits - Each circuit is broken beneath the key - When key is pressed, a circuit is completed and a signal is sent - Processor compares the location of signal from key matrix to a character map stored in ROM - A character code for each key is saved in a keyboard buffer 2. - Trackball Mouse The ball touches horizontal and vertical rollers When the ball moves, the roller moves as well Each roller connects to a shift which spins a disk with holes Infrared beams shine through the holes in the disks As the ball moves the roller the beam is broken by the space between the holes, creating pulses of light The distance and speed of the mouse is determined form the rate of the pulses by an on-board processor chip in the comp 3. - Optical Mouse laser shines through the surface though a ring at the base Light is reflected from the surface through the ring Sensor detects reflected light Captured details on surface at about 1500 times per second When mouse moves, the sensor detects changes in the surface details Which are translated into movement (x and y coordinates) The processor updates the position of the cursor on the screen 4. - Scanner main component is a CCD array CCD is a collection of light sensitive diodes Laser is shone onto the barcode Scanned image reaches the CCD through mirrors and lenses Sensors detect level of reflected light Brighter light results in greater electrical charge Light intensity is converted to a digital value 5. Touchscreen RESISTIVE ● ● ● + + CAPACITIVE has an upper layer of polyester and a bottom layer of glass When top polyester layer is touched, the top layer and bottom layer complete a circuit Signals are then sent out, which are interpreted by a microprocessor and the calculations determine the coordinates of where the screen was touched ● cheap Can use bare fingers, gloved or stylus for input + + ● ● + + - screen visibility is poor in strong sunlight Does not permit multi-touch capacity Screen durability is weak - Vulnerable to scratches and wears out though time 6. - - made up of many layers of glass that acts like a capacitor creating electric fields between the glass plates in layers When top glass is touched, the electric current changes and the coordinate where the screen is touched are determined by an on board microprocessor Coordinates sent to touch screen driver expensive Screen visibility is good under strong sunlight Permits multi-touch capability Screen is very durable only bare fingers and cannot use gloves to styluses for input Microphone When sound is created, air vibrates Dia graphs pick up the air vibrations, hence the diaphragm also vibrates Copper coils is wrapped around the permanent magnet and coil is connected to the diaphragm using a cone As diaphragm vibrates, the cones moves in and out, causing the copper coil to move backwards and forwards This movement causes the magnetic field around the permanent magnet to be distributed, inducing an electric current Electric current is then either amplified or sent to a recording device The electric current is analogue in nature 7. Virtual Headset - video is sent from a. Computer to the headset either using HDMI cable or smartphone is fitted into the headset - Two feeds are sent to an LCD/OLED displays - Lenses placed between the eyes and the secret allow for focusing and reshaping of the image/video for each eye, thus giving a 3D effect and adding to the realism - As the user moves their head, a series for sensor and LED measure this movement, which allows the image/video on the screen to react to the user’s head movement jh - Headset also use binaural sound so speaker output appears to come from behind, side, from a distance Infrared sensors to monitor eye movement which allows the depth of field on the screen to be more realistic OUTPUT DEVICE 1. Laser Printer - The revolving drum is initially given an electrical charge - A laser beam bounces off moving mirrors and scans back and forth across the drum - Discharge certain points - The drum is coated with oppositely charged toner - Pattern on the drum is transferred to paper & Paper is passed through the fuses to seal the image - Electrical charge is removed from the drum Print head - contains a large number of small nozzles - Ink is fed to each nozzle from a reservoir - The print head fires droplets of ink onto the Oates - The print head moves horizontally across the paper Stepper motor - Connected to the print head by a belt - Moves the print head across the paper - Parks the print head assembly when not in use - Turns the rollers that provides the paper feed 2. - 3D Printer the object is designed by a Computer Aided Design (CAD) Software splits the object into slices Data about the slices is sent to printer Solid plastic is melted and transferred to the nozzle A stepper motor moves the nozzle into position and then nozzle extrude the molten plastic Repeat step 5 until layer is completed Fan cool layer Repeat step 4-7 3. - Inkjet Printer data from the document is sent to a printer driver Printer driver ensures that the data is in a format that the s hose printer can understand Cheerleader is made by the printer drive to ensure that the chosen printer is available to print data is sent to the printer and stored in a temporary 4. - Speaker an electric current is sent to the speaker The electric current passes through the coil the current in the coil creates an electromagnetic field Changes in the audio signal cause the direction of the electrical current to change - This determine the polarity of the electromagnet The electromagnet is repelled by or attracted to a permanent magnet The movement of the coil causes the diaphragm to vibrate The vibration creates sound waves 5. Virtual headset - Most important component are the two eyepieces - Fed paired images from the controlling system which, when looked at together, give the eyes a sensation of being in a 3D environment - Images can be collected using a specialized photographic techniques - The wearer can control which part of the 3D environment is in view - They do this by moving their head or by a controlling device STORAGE DEVICES PRIMARY STORAGE Why? - to store files needed to boot the system - Store parts of the OS READ ONLY MEMORY (ROM) RANDOM ACCESS MEMORY (RAM) PROM, EPROM, EEPROM SRAM, DRAM - non volatile Read only Stores the operating system Stores the boot-up instructions Can’t be change - PROGRAMMABLE ROM (PROM) - made of matrix fuses Requires teh use of a PROM writer which uses an electric current to alter specific cells by ‘burning’ fuses in the matrix Can only be written once Mobile phones volatile Read/write Stores currently running parts Stores data on the current progress and about the device Can be change ERASABLE PROM (EPROM) - use floating gate transistors and capacitors Ultraviolet light is used to program an EPROM applications under development STATIC RAM (SRAM) - DYNAMIC RAM (DRAM) use flip flops to hold each bit of memory Does not need to be constantly refreshed Faster data access time than DRAM Used as Processor memory cache - consist of a number of transistors and capacitors Needs to be constantly refreshed Less expensive than SRAM Higher memory SECONDARY STORAGE Why? - to store files/software long term 1. INTERNAL SECONDARY STORAGE MAGNETIC MEDIA SOLID STATE DRIVE OPTICAL DISC HDD, Tape Drive SD Card, SSD Hard Drives, USB Pen Drive DVD, CD, Blu ray - - - large capacity to store large files Reasonably fast access speed - Uses will not have to wait for videos to load Cheap per unit storage - If a large number is needed, cost would be quite low Slower degradation of data - Last longer and more reliable under heavy use - - - Large capacity to store large files Fast access speed - Users won’t have to wait for videos to load Reliable - Can be damaged and would still work - No moving parts Not possible to overwrite the existing data - Need to erase the old data to write - To read/write uses movement of electrons - - Can hold a lot more data than a standard DVD, meaning it can store movies with better picture and sound quality Portable More expensive than DVDs Requires a Blu-ray player Can lose data when scratched INTERNAL OPERATIONS OF MAGNETIC HARD DISK - hard disk drive has one or mole platters made of aluminum or glass - Each surface of the plater is capable of being magnetized - The platters are mounted on a central spindle and rotated at a high speed - Each surface of the platter had a read/write head mounted on arm positioned just above the surface - Electrical circuits control the movement of the arm and heads - The surface of the platter is divided into concentric tracks and sectors - One track in one sector is the basic unit called a block - The data is encoded as a magnetic pattern for each block - When writing to disk, a variation in the current in the head produces a variation in magnetic field on the disk When reading the disk, a variation in magnetic field produces a variation in current through the head - INTERNAL OPERATIONS OF SOLID STATE MEMORY - Uses semiconductor chips to store data - Have individual memory cells which trap different level of electrons on a charge trap - Memory cell is copied horizontally and vertically to make storage capacity - Making a 3D spreadsheet - There’s a stack in layers of many spreadsheet - To isolate and determine which row and layer to read/write from, use control agent selectors (layers) and bitline selectors (rows) INTERNAL OPERATIONS OF OPTICAL DISC - drive motors is used to spin the disc - Tracking mechanism moves the laser assembly - A lens focuses the laser onto the disc - Laser beam is shone onto disc to read/write - Surface of disc has a reflective metal layer - Tracks on the disc have sequence of pits and lands - Reflected light in the encoded as a bit pattern EMBEDDED SYSTEM = installing microprocessors into devices to enable operations to be controlled in a more efficient way - At the core is an integrated circuit designed to carry out computation for real-time operations - Embedded systems are managed by microcontrollers or digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), GPU technology, and gate arrays - These processing systems are integrated with components dedicated to handling electric and/or mechanical interfacing PROS + + + CONS Small in size = easy to fit into devices Low cost Consume little power - difficult to upgrade devices Troubleshoot faults in the device need a specialist Can be access over the internet (hackers, viruses) BUFFERS = to act as a holding are, enabling CPU to manipulate data before transferring it to a device - keep track of data in buffer and then copy the buffer to a disk due to slow read/write MONITORING SYSTEM SENSORS = The sensor measures and converts the physical quantity to an electrical signal, which can then be read by an embedded systems engineer or any electronic instrument. A sensor stores the measured quantity to the memory A-D Converter = An analog-to-digital converter converts the analog signal sent by the sensor into a digital signal Processor & ASICs =Processors assess the data to measure the output and store it to the memory D-A Converter = A digital-to-analog converter changes the digital data fed by the processor to analog data Actuator = An actuator compares the output given by the D-A Converter to the actual output stored and stores the approved output LOGIC GATES Truth Tables AND NOT OR A B X A X A B X 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 NAND NOR XOR A B X A B X A B X 0 0 1 0 0 1 0 0 0 1 0 1 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 0 1 1 0 CH4 - PROCESSOR FUNDAMENTALS VON NEUMANN MODEL FEATURES - Central Processing Unit (CPU/Processor) - Processor able to access the memory directly - Computer memories that could store programs as well as data - Stored programs made up of instructions that could be executed in sequential order COMPONENTS OF CPU; 1. Arithmetic & Logic Unit (ALU) - Performs mathematical and logical operations required while running a program - Has an “Accumulator” - A temporary register used when carrying out ALU calculations 2. Control Unit (CU) - Reads an instruction from memory and interprets it - During this process, signals are generated along the control bus to tell the other components of the computer on what to do - Ensures synchronization of data flow and program instructions throughout the computer 3. System Clock - produce timing signals on the control bus to ensure the synchronization take place - Without it, computer would crash 4. - Immediate Access Store (IAS) holds all the data and programs that the CPU needs to access CPU takes data and programs held in backing store and puts them in IAS temporarily This is done because read/write using IAS is faster compared to the backing store 5. Registers - Small components of the CPU which acts as primary storages General Purpose Registers - holds data that is frequently used by the CPU - Ex: Accumulator Register Accumulator Abbreviation AC Function Holds processed data temporarily from ALU Special Purpose Registers - specific function within the CPU and holds the program state - Ex: CIR, IX, MAR, MDR, PC, SR Register Current Instruction Register Abbreviation CIR Function Stores the current instruction being decoded and executed Index Register IX / IR used when carrying out index addressing operations (assembly code) Memory Address Register MAR stores the address of the memory location currently being read from or written to Memory Data Register / Memory Buffer Register MDR / MBR stores data which has just been read from memory or data which is about to be written to memory Program Counter PC stores the address where the next instruction to be read can be found Status Register SR contains bits (flags) which can be set or cleared depending on the operations Status Register = used when an instruction requires some form of arithmetic or logic processing - Carry Flag (C) - Set to 1 if there is CARRY in the following an addition operation - Negative Flag (N) - Set to 1 if the result of a calculation has a negative value - Overflow Flag (V) - Set to 1 if an arithmetic operation results in an overflow - Zero Flag (Z) - Set to 1 if the result of an arithmetic operation is ZERO SYSTEM BUSES - used in computer as a parallel transmission component - Each wire in the bus transmit one bit of data 1. - Address Bus caries data throughout the computer system (CPU and memory) Unidirectional (travel in one direction only) Prevents addresses being carried back to the CPU 2. - Data Bus Bidirectional (allows data to be sent in both directions along the bus) Data can be carried from CPU to memory and to/from input/output devices Data can be an address, an instruction, or a numerical value 3. - Control Bus bidirectional Carries signals from CPU to all other components 8 bit wide and only carry control signals FACTORS THAT AFFECTS THE PERFORMANCE OF CONTROL SYSTEM 1. Width of a bus - wider it is, the more memory locations which can be directly addressed at any given time 2. Larger word length - can improve computer’s overall performance 3. Clock speed - increasing speed by accessing the Basic Input/Output System (BIOS), processing speed also increase - Can lead to unsynchronized operations (unable to complete on time) - Overheating the CPU = unreliable performance 4. Number of cores - dual core (CPU made up of 2 cores) - Has one channel and needs the CPU to communicate with both the cores, not really affect performance - Quad core (CPU made up of 4 cores) - Has 6 channels and need the CPU to communicate with all 4 cores, reducing a lot of performance 5. - Cache Memory using cache can improve performance Cache have faster access time Stores frequent instructions that is used by CPU COMPUTER PORTS UNIVERSAL SERIAL BUS (USB) = an asynchronous serial data transmission method ● ● ● ● ● ● ● 4-wire shielded cable 2 wires for power and the earth 2 wires for data transmission Computers automatically detects that devices is present (due to small change in voltage level on the data signal wires in the cable) Appropriate device driver is loaded up so that comp and device can communicate effectively If new device is detected, the comp will look for the device driver which matches thee device If not available, user is promoted to download the appropriate software + + + + automatically detected and device driver are automatically loaded up Connectors can only fit one way, prevents incorrect connections USB is a standard adopted by many manufacturers = all comps will be equipped with USB ports Fast data transfer = useful when transferring large files such a s video files - transmission rate is limited to less than 500 megabits per second Cable length is max 5 meters HIGH-DEFINITION MULTIMEDIA INTERFACE (HDMI) = allow output from a computer to an HDMI-enabled device + + + + the current standard for modern tv and monitors Allows for a very fast data transfer rate Improved security (help prevents piracy) since it uses high bandwidth digital copy protection (HDCP) Support modern digital systems - not a very robust connection (easy to break connection by moving device) Limited cable length to retain good signal Only 5 cable standards VIDEO GRAPHIC ARRAY (VGA) = older version of HDMI + + + + simpler technology Only 1 standard available Easy to split the signal and connect a number of devices from one source Connection is very secure - old out-dated analogue tech Easy to bend the pins when making connections Cables must be a very high grade to ensure good undistorted signals FETCH EXECUTE CYCLE *Double Brackets = data stored at the address shown in MAR is copied to MDR INTERRUPTS = a signal sent from a device or from software to the processor - this will cause the processor to temporarily stop what it is doing and service the interrupt Caused By: - timing signal - Input/output processes - User interaction - Hardware fault - Software error - Once interrupt signal is received, The processor either carries on with what is was doing or stops to service the device that generated the interrupt Computer need to identify the interrupt type and establish the level of interrupt priority Once serviced, stops current tasks and stores the content to registers Interrupt Service Routine (ISR) is in control Once fully services, the register is reset and contents of registers are restored ASSEMBLY LANGUAGE ASSEMBLY LANGUAGE = a low level machine specific programming language that uses mnemonics MACHINE CODE = the programming language that the CPU uses - binary - Sometimes displayed on a screen as hexadecimal so user can understand machine code instruction more easily - Very time consuming and error problem Each instruction of assembly language and machine code have: - Opcode = identifies the operation to be carried out by the CPU - Operand = identifies the data to be used by opcode LANGUAGE TRANSLATORS Why? - shorten development time for writing computer programs - Instructions to be easier to learn and understand Before a program written in assembly language (source code) can be executed, it needs to be translated to machine code. This is performed by an Assembler - Translates each assembly language instructions into machine code instruction - Checks syntax of the assembly language program to ensure that only the appropriate machine code instruction set are usAed - This speeds up the development time as some errors are identified during translation before the program is executed TYPES OF ASSEMBLER 1. One Pass - read the assembly language program one line at a time - Ignore anything not required: comments - Allocate a memory address for the line of code - Check the opcode is in the instruction set - Add any new labels to the symbol table with the address, if known - Place address of labeled instruction in the symbol table 2. Two Pass - read the assembly language program one line at a time - Generate object code, including opcode and operand, from the symbol table generated in one pass - Save or execute the program ASSEMBLY LANGUAGE INSTRUCTIONS 1. Data Movement Instructions 2. Input and Output of Data Instructions 3. Arithmetic Operation Instructions 4. Unconditional and Conditional Instructions 5. Compare Instructions ADDRESSING MODES ABSOLUTE ADDRESSING the contents of the memory location in the operand are used DIRECT ADDRESSING the contents of the memory location in the operand are used INDIRECT ADDRESSING the contents of the contents of the memory location in the operand are used INDEXED ADDRESSING the contents of the memory location found by adding the contents of the IR to the address of the memory location in the operand are used IMMEDIATE ADDRESSING the value of the operand only is used RELATIVE ADDRESSING the memory address used is the current memory address added to the operand SYMBOLIC ADDRESSING used in assembly language programming, where a label is used instead of a value BIT MANIPULATION BINARY SHIFT = moving the bits stored in a register a given number of places with the registers TYPE OF SHIFTS: LOGICAL SHIFTS bits shifted out of the registers replaced with 0 10101111 Shifted left 3 places 01111000 ARITHMETIC SHIFTS the sign of the number is preserved 10101111 Shifted right 3 places 11110101 CYCLIC SHIFTS no bits are lost, bits shifted out of one end of the register are introduced at the other end of the register 10101111 Shifted left 3 places 01111101 LEFT SHIFTS bits are shifted to the left 10101111 Shifted left 3 places 01111000 RIGHT SHIFTS bits are shifted to the right 10101111 Shifted right 3 places 11110101 In monitoring and control, each bit in a memory location can be used as a flag and would need to be tested, set, or cleared separately CH5 - SYSTEM SOFTWARE OPERATING SYSTEM = software that provides an environment in which applications can run and provides an interface between hardware and human operators TASKS 1. Memory Management - Memory optimization = determine how comp memory is allocated and de allocated when a number of applications are running simultaneously - To maintain optimization, swap data to and from the HDD or SSD - Memory organization = determines how much memory is allocated to an application, and how the memory can be split up in the most appropriate and efficient way - Partitioned allocation =. Memory is split up into contiguous blocks and memory management then allocates a block into an applications - Memory protection = ensures that two competing applications cannot use the same memory locations at the same time - If not done, data could be lost, security issues, computer can crash 2. Security Management - to ensure integrity, confidentiality, and availability of data - Carry out OS updates when they’re available - Ensure that anti-virus software is up to date - Maintaining access rights for all users - Offering recovery of data (in case of lost or corrupted) 3. Process Management - allocating resources and permit the sharing and exchange of data, thus allowing all processes to be synchronized 4. Hardware Management - Controlled by queues and buffers - Communicating with all input and output devices using device drivers - Translating data from a file into a format that the input/output device can understand using device drivers - Ensuring each hardware resource has a priority so that it can be used and released as required 5. - File Management Defining the file naming convention which can be used (.exe, .xls, etc.) Performing specific tasks (copy, open, create) Maintaining the directory structures UTILITY SOFTWARE 1. Hard Disk Formatter - OS need to know how to store files and where the files will be stored on the hard disk - Will organise storage space by assigning it to data blocks - Disk surface may have a number of partitions - Note that partitions are contagious blocks of data - Once partition created, they must be formatted - Done by writing files which hold directory data and tables of contents at the beginning of each partition - Allows OS to recognise a file and know where to find it on the disk surface - Also have a checking tool for each sector - If bad = sector will be flagged as ‘bad’ and the file tracking records will be reorganized - Replacing bad sectors with new unused sectors 2. - Virus Checker check software or files before they are run or loaded on a computer Compare possible viruses against a database of known viruses Carry out heuristic checking - Checking software for types of behavior that could indicate a possible virus Put files or programs which may be infected into quarantine - Automatically delete the virus - Allow user to decide whether to delete the file 3. - - Defragmentation Software When HDD become full, blocks used for files will become scattered all over the disk surface Happens when files are, extended, etc Cause slower data access time - HDD read-write head requires several movements just to find and retrieve the data making up the required file Better if files could be stored in contiguous sectors, hence reducing HDD head movement 4. Disk Content Analysis/Repair Software - used to check disk drivers for empty space and disk usage by reviewing files and file folders - Can led to optimal use of disk space by removal of unwanted files and downloads 5. Disk Compression and File Compression - File Compression = to save storage space and make it quicker to download/upload files and quicker to send files via email - Disk Compression = compresses data before writing it to hard disk and decompressed again when reading - High priority and will override all other OS routines - Do not uninstall — will make any previously saved data to be unreadable 6. Back-Up Software - allow a schedule for backup files to be made - Only carry out a back-up procedure if there have been any changes made to a file PROGRAM LIBRARIES - when software is under development and programmer can utilize pre-written subroutines in their own programs (save development time) - Help software developer who wishes to use Dynamic Link Library (DLL) subroutines in their own program When software routines are written, they are saved in a program library (Library Program) for future use by other programmers *Library Routines = described routines which could be used in another piece of software under development Benefits of Developing Software this way: + Removes the need to rewrite the many routines every single time (save time and money) + Leads to modular programming = several programmers can be working on the same piece of software at the same time + Allows continuity with other games that may form part of a whole range + Allows to maintain eye of a ‘corporate image’ in all the software being developed by a company + Saves development time Ching to test each routine since the routines are all fully tested in other software and should be error free TYPES: 1. Static Library - software being developed is linked to executable code in the library at the time of compilation - Library routines would be embedded directly into the new program code 2. Dynamic Link Library Files (DLL) = software being developed is not linked to the library routines until actual run time + Executable code of the main program is smaller since DLL files are only loaded into memory at run time + Possible to make changes to DLL files independently and won’t be necessary to recompile the main program + Save memory and execution time - executable code is not self-contained, therefore all DLL files need to be available at run time otherwise error or crash - Any DLL linking software in the main program needs to be available at run time to allow links with DLL files to be made - Risk of DLL having a malware which can be a risk to the main program when linking What is DLL? LANGUAGE TRANSLATORS Instructions in a program can only be executed in machine code, hence need to be translated ASSEMBLER COMPILER INTERPRETER Source program translated to... assembly language machine code high level language to machine code high level language to machine code Machine dependent yes yes no Object Program is stored on... disk or in main memory disk or in main memory every line of program are interpreted then executed each time the program runs and its under the control of interpreter Each line of the source program generates... one machine code instruction (one to one translation) many machine code instructions, instruction explosion many machine code instructions, instruction explosion COMPILER + + + - INTERPRETER user only need the executable code, hence the end user benefits as no need to purchase compiler Developer have the source code, so cannot be altered or extended by user Source programs has no syntax or semantic errors + finds all errors in program, once detected the rest of the code can be an error too even though if its not Untested programs with errors can cause computer to crash End user has no access to source code and run time libraries, unable to make modifications and rely on developer on updates - + + + - easier to develop and debug as error can be corrected on each line and the program restarted from that place It translate line by line Untested programs should not be able to cause the computer to crash When purchased, end user have all source code and run-time libraries, enabling the program to be modified as required without further purchases end user will need to purchase a compiler or an interpreter to translate source code before use Developer have no control of source code, more difficult to change for upgrades Contain syntax or semantic errors if any part of the program has not be fully tested, hence need to debug PARTIAL COMPILING AND INTERPRETING To achieve shorter execution times, many high-level languages programs use a system that is partially compilation and partially interpretation - source code is checked and translated by compiler into object code Compiled object code is a low level machine independent code To execute the program, the object code can be interpreted by an interpreter or compiled using a compiler Ex: Java — can be translated by a compiler to a set of instruction (byte code) — interpreted by an interpreter INTEGRATED DEVELOPMENT ENVIRONMENT (IDE) = used by programmers to aid the writing and development of programs. Ex: Pycharm, Visual Studios, etc IDE have: 1. Source Code Editor - allows program to be written and edited without the need to use a separate text editor - Speed up the development process as editing can be done without changing to a different piece of software each time the program needs correcting or adding to - Most source code editors color code their words and layout of the program (Prettyprinting) - Dynamic Syntax checks for possible syntax errors as program code is being type in the SCE and alerts the programmer at the time before the source code is interpreted - Logic errors can be found 2. Compiler, interpreter, or both - interpreter is used for developing the program - Compiler to produce the final version of the object code 3. Run-time environment with a debugger - Debugger = program under development and aids the process of debugging - Allows programmer to go single step through the program a line at a time or set a breakpoint to stop the execution of the program at a certain point in the source code - Report window then shows the contents of the variables and expressions evaluated - Allow programmers to see if there are any logical errors in the program and check if works as intended 4. Auto-documenter - explain the function and purpose of programming code CH6 - SECURITY, PRIVACY, AND DATA INTEGRITY DATA SECURITY DATA PRIVACY Data Privacy= the privacy of personal information, or other information stored on a computer, that should not be accessed by unauthorized parties Data Protection Law To achieve this — Data Protection Laws (laws which govern how data should be kept private and secure) Guide: 1. Data must be fairly and lawfully processed 2. Data can only be processed for the stated purpose 3. Data must be adequate, relevant, and not excessive 4. Data must be accurate 5. Data must not be kept longer than necessary 6. Data must be processed ina accordance with the data subject’s right 7. Data must be kept secure 8. Data must not be transferred to another country unless that country also has adequate protection DATA SECURITY = methods taken to prevent unauthorized access to data and to recover data if lost or corrupted 1. - 2. - User Accounts It is to authenticate a user (prove the user is who they claim to be) Used on both standalone and networked computer Consist of: Username and password User account control access rights - Involves level of access Passwords restrict access to data or systems Hard to crack and changed frequently to retain security Run anti-spyware to make sure password is not being relayed to whoever spying Regularly change passwords and make it hard to crack - At least one capital - At least one numerical - At least one symbol 3. Digital Signatures - a way of identifying the sender of 4. Firewalls - software/hardware that sits between a computer and external network that monitors and filters all incoming and outgoing activities - Examine traffic between user’s computer and public network - Checking whether incoming/outgoing data meets a given set of criteria - Prevent access to undesirable sites - However cannot protect individuals using their own modems to by-pass the firewall - Prevent stand-alone computers from disabling the firewall 5. Antivirus Software 6. 7. 8. - Constantly check for virus attack Check software /files before they are run or loaded on computer Compare possible viruses against a database of known viruses AntiSpyware Software detects and removes spyware programs installed illegally on a user’s computer system Encryption the use of encryption keys to make data meaningless without the correct decryption key Cannot stop backer from deleting files, but stop from using the data Biometrics use of unique human characteristics to identify a user Fingerprint scans, retina scans RISKS 1. Hacking - Malicious Hacking - Illegal access to a computer system without the user’s permission or knowledge - Personal details - Ethical Hacking - Authorized by companies to check their security measures and how robust their computer systems are to resist hacking attacks 2. Malware - Viruses = program or code that can replicate and/or copy themselves with the intention of deleting/corrupting files or causing the computer to malfunction - Spyware = gather information by monitoring - Key press = sent back to person who sent the software 3. Phishing - legitimate looking emails designed to trick a recipient into giving their personal data to the sender of the email - To prevent: - User need to be aware of new phishing scams - Do not click on links unless its safe (fake mails) - Look out for https green padlock - Be wary of pop ups 4. Pharming - redirecting a user to a fake website in order to illegally obtain personal data about the user - redirecting can be done using DNS Cache Poisoning - Everytime a user types in a URL, their web browser contacts the DNS server - IP Address of website is sent back to web browser - DNS cache poisoning changes the real IP address values to those of the web websites consequently, the user’s computer connects to fake website - Protection: - Using antivirus software - Check https and green padlock - Check spelling of websites DATA RECOVERY DATA INTEGRITY = The accuracy, completeness and consistency of data Can be compromised: - during the data entry and data transmission stages - Malicious attack on data: malware and hacking - Accidental data loss due to hardware issues VALIDATION = method used to ensure entered data is reasonable and meets certain input criteria VERIFICATION = method used to ensure data is correct by using double entry or visual checks 1. Verification during Data Entry - need to undergo verification to ensure there are no errors - Double Entry - Data is entered twice, using 2 different people, and then compared either after data entry or during the data entry process - Visual Check - - Entered data is compared with the original document Check Digits - An additional digit added to a number - Often used in barcodes, ISBNs, and VINs - Catch errors including: - Incorrect digit being entered - Phonetic errors - Transposition error where 2 numbers had been swapped - Modulo-11 - Method to calculate a check digit based on modulus division by 11 2. Verification During Data Transfer - possibility of data corruption or data loss - Checksum = method to check if data has been changed or corrupted following data transmission - Before block of data is transmitted, checksum for the bytes is first calculated - Value is transmitted with the block of data - At the receiving end, the checksum is re-calculated from the block of data received - Calculated value is compared to the checksum transmitted - If same = data transmitted without any errors - If different = request is sent for the data to be re-transmitted - Parity Check = check whether data has been changed or corrupted following transmission from one device or medium to another - A byte of data is allocated a parity bit - This is allocated before transmission - Systems that use even parity bit have an even number of 1-bits - Systems that use odd parity bit have an odd number of 1-bits - Before data is transferred, an agreement is made between sender and receiver regarding which of the 2 types of parity are used - If parity bit is different, there’s an error - Impossible to know which bit is error - To solve = parity blocks - Block of data is sent and the number of 1-bits are totaled horizontally and vertically 3. Automatic Repeat Request (ARQ) = uses acknowledgement (a message sent to the receiver indicating that data has been received correctly) and timeout (the time interval allowed to elapse before an acknowledgement is received) - when the receiving device detect an error in a data transmission, it ask for the data packet to be re-sent - If no error is detected, a positive acknowledgement is sent to the sender - The sending device will resend the data package if: - It receives a request to resend the data or timeout occurred - Whole process is continuous until data packet received is correct or until the ARW timeout is reached CH7 - ETHICS AND OWNERSHIP = moral principles governing an individual or organisation’s behaviour, such as a code of conduct BRITISH COMPUTER SOCIETY (BSC) = professional body set up in the UK to represent the rights and ethical practices of all professionals working in the IT and computing industries Code - Public Interest - Professional Competence and Integrity - Duty of Relevant Authority - Duty of the Profession THE INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERING (IEEE) = set up in the USA Aim: - to raise awareness of ethical issues Promote ethical behaviors among professionals working in the electronic industries Ensuring engineers and scientist respect the need for ethical behavior PRINCIPLES 1. Public - Software engineer shall act consistently with the public interest 2. Client and Employer - Software engineer shall act in a manner that is in the best interests of their clients and employer consistent with the public interest 3. Product - Software engineers shall ensure that their product and related modifications meet the highest professional standards possible 4. Judgment - software engineers shall maintain integrity and independence in their professional judgment 5. Management - Software engineers managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance 6. Profession - Software engineers shall advance the integrity and reputation of their profession consistent with the public interest 7. Colleagues - Software engineers shall be fair to and supportive of their colleagues 8. Self Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the their profession COPYRIGHT ISSUES Why need copyright? - software piracy = making illegal copies of software - Which can be sell out or give away to other people Steps to stop illegal copying of outward and to stop illegal copies being sold: - User will be asked to agree the license agreement before software continue to install - user will be asked to key in a product key (string of letters and numbers) which was supplied with the original copy of the software SOFTWARE LICENSING 1. Commercial Software - Available to customers for a fee - Providing a license for one genuine copy to be used on a single device or a multi-use license for multiple users - Software is offered free of charge if an earlier version was bought by user - Fully copyright protected and none of the code can be used without prior consent of the copyright owner 2. Free Software and the Open Source Initiative - non profit organization that promote the benefits of giving users the freedom to run, copy, change, and adapt software - Freedoms: - Run the software for any legal purpose they wish - Study the program source code and modify it where necessary to meet their needs - Redistribute copies of the software to friends and family - Distribute code modified by the user to family and friends - User don’t need to seek permission as it’s not protected with copyright restrictions but user not allow to: - Add source code from another piece of software unless this is also described as free software or open source software - Use the source code to produce software which copies existing software which is subject to copyright laws - Use the source code to produce software which is deemed offensive by third parties - - Free Software Foundation - Focuses on what the recipient of the software is permitted to do with the software - Not subjected to copyright laws and users are often requested to tick a box say they “understand the agree to the terms and conditions” Open Source Initiative - Focuses on the practical consequences offered by the 4 freedoms - Aim to provide effective collaboration on software development by the users 3. Freeware - software a user can download from the internet free of charge - Ex; adobe reader, skype Free software subjected to copyright laws and users are often requested to tick a box say they “understand the agree to the terms and conditions” - User is not allowed to study or modify the source code in any way 4. Shareware - allows users to try out some software free of charge for a trial period - End of trial, author of software will request that you pay fee if you wish to continue using it - Once paid, user is registered with the originator of the software and free updates and help are then provided - Trial period often miss some features of the full version, not available until fee is paid - Protected under copyright law = any source code cannot be used without permission ARTIFICIAL INTELLIGENCE (AI) = a machine or application which carries out a task that requires some degree of intelligence when carried out by a human being Tasks can be: - Carrying out mathematical calculations or functions - Recognizing person’s face - Ability to operate machinery - Analyzing data to predict the outcome of a future event IMPACT 1. Social - leave people with more time to pursue their interests - Transport = automation in payment, GPS (waze) - Criminal Justice System = facial recognition system in forensic science 2. Economic - automation will cause production to be more efficient - Increase unemployment (low skill jobs) - Instability for the future labour 3. Environmental - Find patterns and interconnection within thousands of data set - Help scientists to make predictions about the environment and climate change CH8 - DATABASE = a structured collection of items of data that can be accessed by different application programs FILE BASED APPROACH Limitations: - Storage space is wasted when data items are duplicated by the separate applications and some data is redundant - Data can be altered by one application and not by another - inconsistent - Enquirers available can depend on the structure of data and software used so data is not independent RELATIONAL DATABASE = database in which the data items are linked by internal pointers + + + storage space is not wasted as data items are only stored once - no little or no data redundant Data entered is one application is available in another application - data is consistent Enquirers available are not dependent on the structure of data and software used - data is independent *Table = a group of similar data in a database, with rows for instance of an entry and columns for each attribute *Record = a row in a table in a database *Field = column in a table in a database KEYS - Candidate Key = an attribute or smallest set of attributes in a table where no tuple has the same value - Primary Key = a unique identifier for a table - Secondary Key = a candidate key that is an alternative to the primary key - Foreign Key = a set of attributes in one table that refers to the primary key in another table RELATIONSHIP = formed when one table in a database has a foreign key that refers to a primary key in another table in the database ENTITY RELATIONSHIP 1. 2. 3. 4. One-to-One One-to-Many Many-to-One Many-toMany NORMALISATION = used to construct a relational database that has integrity and in which data redundancy is reduced - table that has not been normalized appear larger 1. First Normal Form (1NF) = entities do not contain repeated groups of attributes 2. Second Normal Form (2NF) = entities are in 1NF and non-key attributes depend upon the primary key 3. Third Normal Form (3NF) = entities are in 2NF and all non-key attributes are independent - table contains no non-key dependencies DATABASE MANAGEMENT SYSTEMS (DBMS) = system software for the definition, creation, and manipulation of a database HOW A DBMS ADDRESS THE LIMITATION OF A FILE BASED APPROACH 1. Data Redundancy Issue - solved by storing data in separate linked tables, which reduces the duplication of data as most items of data are only stored once - Items of data used to link tables by the use of foreign keys are stored more than once - DBMS will flag any possible errors when any attempt is made to accidentally delete this type of item 2. Data Inconsistency Issue - solved by storing most items of data only once, allowing updated items to be seen by all applications - As data is not inconsistent, the integrity of the data stored is improved - Consistent data is easier to maintain as an item of data will only be changed once, not multiple times, by different applications 3. Data Dependency Issue - data is independent of the applications using the database, so changes made to the structure of the data will be managed by DBMS and have little or no effect on the application using the database 4. The DBMS Approach - uses a more structured approach to the management, organization, and maintenance of data in a database - An already defined data structured can be used to set up and create the database - Uses a data dictionary to store the metadata, including the definition of tables, attributes, relationship between tables and any indexing - Can also define the physical storage of the data - Improve the integrity of data stored, helping to ensure that it is accurate, complete and consistent - Data Modeling - To show the data structure of a database - Ex: E-R diagram - Logical Scheme - A data model for a specific database that is independent of the DBMS used to build the database - Provides data security to prevent unwanted alteration, corruption, deletion, sharing data with others that has no access - Using usernames, passwords to prevent unauthorized access - Encryption of the data stored - Using access rights — different level of access USAGE OF DBMS SOFTWARE TOOLS 1. Developer Interface - allows a developer to write queries in Structured Query Language (SQL) - These queries are then processed and executed by the Query Processor - Allow the construction of more complex queries to interrogate the database 2. Query Processor - Takes a query written in SQL and processes it - Includes a DDL interpreter, DML compiler, and a Query Evaluation Engine - DDL Statements = interpreted and recorded in the database’s data dictionary DML Statements = compiled into low level instructions that are executed by the query evaluation engine - DML compiler will optimize the query DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML) DATA DEFINITION LANGUAGE (DDL) = a language to create, modify, and remove the data structures that form a database - Written as scripts that uses syntax similar to a computer program - To work on relational databases structure DATA MANIPULATION LANGUAGE (DML) = a language used to add, modify, delete, and retrieve the data stored in a relational database - written in a script that is similar to a computer program - To work with the data stored in the relational database STRUCTURED QUERY LANGUAGE (SQL) = a list of SQL commands that perform a given task, often stored in a File for reuse