hi this is a video going through as much as i can about ocr gcse computer science paper one in half an hour this is not a substitute for more phora revision of course if you've got more than half an hour please go away look at my other videos there'll be a playlist below which is specific to ocr do other stuff but if you're right before your exam hopefully this will be useful for some last minute revision starting with the cpu so the cpu is our central processing unit we have one cpu and a computer its job is to carry out program instructions and the instructions are done using data we've got this clear distinction between instructions and data the instructions are what to do and they are applied to bits of data now inside our cpu we have other components which you've got to know about starting with the alu the arithmetic logic unit what it does is carry out the maths and also logic like boolean logic needed to carry out those instructions the control unit really runs for show so it coordinates the fetch execute cycle and also within vital decode instructions cache is a type of memory which is really small so we're talking only megabytes usually at max but it's really really fast and what cache does is hold frequently accessed items those could be instructions could be data and it could be addresses as well things which are needed really often and cash is checked before the cpu will check ram now if cash is small and fast registers are ultra small and ultra fast i tend to think of them as being sort of where the workings out of the cpu goes and there are four specific special purpose registers you've got to be aware of the first is our memory address register this is an address so where we're looking for in memory and it's quite a general address it's basically whatever you're doing it's the address of where you're fetching something from so where in memory or if you're about to write it to memory where you're going to write it to the mdr is really the counterpart to this because it will store the actual thing the mar is pointing towards so either the instructional data that has just been fetched or will be written to momentarily the program counter is another address register this time is the address of the next instruction to be fetched from memory and finally the accumulator just holds the results so data from alu calculations and the term von neumann architecture is quite a vague one admittedly but essentially von neumann architecture is built on these components and this structure of a cpu carries out as i mentioned already a fetch execute cycle really there are three stages to this in essence during fetch you get an instruction from memory using the address given in a program counter once it arrives in the mdr the program counter will change to be the next instructions address ready for the next cycle in decode the control unit will decode the instruction meaning it interprets it it figures out what to do next because in execute it would actually have to carry out this instruction usually done by the alu most of the time it will need some additional data so data is not fetched during fetch confusingly it's during execute and results may will get written back to memory at the end of this cycle and this will repeat many many many times a second how often this repeats a second is based on the clock speed of your cpu so this is the rate at which your fetch execute cycle is carried out now for most cpus if the rate this is in terms of gigahertz so billions of cycles per second if you increase the clock speed the cpu will work harder and do more obb cycles per second the number of cause is another important characteristic essentially if you've got more than one core they're really a mini processor inside the cpu so multiple cores if your software allows it will mean each core is able to do its own cycle at the same time meaning instructions can be executed at the same time in your cpu cache size is another factor if you've got a bigger cache you can store more regularly used items which means you've got less reliance on the slower ram it also speeds things up so if you increase any of these three things either together or individually it would increase performance and one final small thing in this topic literally are embedded systems which are computers held inside other devices thinking household appliances thinking cars they're usually very simple and have one purpose only they do something very specific related to that device we've got two types of storage in a computer primary and secondary primary storage consists of ram and rom cache and registers aren't usually primary storage because they're part of your cpu but ram and rom are both directly connected to the cpu and they're separate from it i want to start with secondary storage this is where the vast majority of your programs and data are stored it's non-volatile and it's kept for long term non-volatile means when power is turned off the contents stay whereas ram is volatile which means as soon as you turn off your computer all of your open programs and data get deleted from ram so they're copied from storage into ram as soon as you open them now when ram is full sometimes the operating system will use part of secondary storage as something called virtual memory where it acts as if it is an extension of your ram now secondary storage is much slower than ram and so if you have to use virtual memory it will slow down your computer now compared to ram and storage rom is very unimportant most of the time but it is non-volatile it's one important job is right when you start up your computer it contains the program which runs as soon as you boot up your computer so you press the on button the program in rom gets run and this program's main job is to load the operating system which is stored in secondary storage into ram once the os is in ram the other programs can get loaded into ram and ram is not really used now rom is read only memory which means it can't be changed ram stands for random access memory it can be changed there are three main types of secondary storage magnetic storage for main example are hard disk drives hdds and they work by having on the disk surface two levels of magnetic polarity so one represents binary one another one represents binary zero a dvd is an example of optical storage and instead of using magnets it uses light and different reflections of light to represent binary one and binary zero solid state storage includes ssds solid state drives and these are just a big chunk of circuitry loads of logic gates nothing is moving in ssds whereas magnetic and optical both have a spinning disk you need to be able to evaluate these so magnetic hard drives are very reliable and they usually come with quite a large capacity but they break quite easily they're not very durable and also the spinning disc produces noise optical discs are portable and reliable but they're very undurable you can scratch them easily and per disc for capacities much lower than say a hard disk drive ssds are the fastest secondary storage they're really quick to read and write and they're also durable because nothing's moving inside but currently their cost is much higher when we're storing lots of things in binary we have different binary units and you've got to know these terms and memorize the order so we start with a bit which is just a zero or a one four bits is a nibble and in a byte there are two nibbles and so one byte is eight bits after this point the pattern becomes very easy because a kilobyte is a thousand bytes and then from then onwards each time is a thousand times the previous term for conversions between binary hexadecimal and deanery i would suggest using place value tables which look like these don't have to memorize this because for binary each column is two times the previous one hex decimal is 16 times the previous one but we will start of one on the right hand side you won't always need every column so for instance to convert between one zero one to dinary i'd stick it in like this and add up four and one and so one zero one in binary is five in dna hexadecimal has got 16 digits and 0 to 9 are the same and mean 0 to 9 but between 10 and 15 you've got letters now 10 is a 15 is f that's all you've got to learn then you can work out using the alphabet between so for example if i had a 1 i'd stick it in the table and do 16 times 10 160 plus 1 times 1 which is 1. so a1 would be 161 in dna binding of addition is the exact same as normal addition except for two key rules one plus one would be zero carry one so you carry a one into the next column going right to left and one plus one plus one so three ones in a column you'd write down a one underneath and carry a one to the next column on the left binary shifts are just adding or removing digits a left shift will double the number so if i did left shift to one zero one it would just become one zero one zero so i'd stick a zero on the right hand side by the way the left digit is called your most significant bit the right hand side digit is your least significant bet so right shift is halving the number and you're you're taking away a digit you're taking with the least significant digit each time so the digit on the right hand side gets lost every time you do a right shift so a right shift of 2 would get rid of this zero and this one so you are halving each time you do it but ultimately if you are losing ones as you go you are rounding the number down an issue which can occur with both shifts and addition is when you get too big if your results takes up more storage space than is possible this is called an overflow error so if you've got a byte and you're doing addition and you carry beyond the eighth bit that would result in an overflow error because it can't store that full number so it stores a wrong version of that number let's now go through the four other big areas in this topic so when we are representing characters and binaries so letters numbers or symbols we use character sets which are just a group of codes for each character so a binary number allocated to every character two big character sets ascii and unicode ascii only has an 8-bit character code which means there is only room for 256 characters in ascii the maths there is 2 to the power of how many bits we have 2 to power 8 is 256 which is not enough for other languages apart from english so unicode is the latest version which has room for thousands and thousands of characters so pretty much every language in the world this has at least 16 bits per character but that varies now just one thing to realize is the codes are in order so the ascii code for a will be one smaller than the ascii code for b images are represented as a series of pixels a pixel is a block of color and you don't get any smaller than a pixel now the resolution of an image in essence is the number of pixels so in this little snapshot we've got nine pixels of resolution is nine but it could be expressed as width times height so three times three the color depth is the number of bits per pixel it's not how many colors there are in the image now this image has got four colors and so to work out the color depth from this you've gotta sort of work backwards so you're thinking well two to the power something equals four what is that something in this case the missing gap is two so for color depth of this image is two it gives four colors along with the actual pixels metadata has to be stored this is data about data and includes just essential things which have to be included to recreate the image but also often some extra details usually coming from the camera when i'm speaking my voice is leaving my mouth as analog sound but as it enters my microphone it is converted into digital sound by my computer taking samples of the amplitude the height of my of the wave i'm speaking and this is done at regular time intervals and the time interval is orientated by the sample rate which has the unit hertz this is the number of samples taken per second the bit depth essentially the same ideas for color depth just for sound is the number of bits allocated to each sample now for color depth resolution sample a bit depth as you increase these the quality goes up but so does the file size so you've got that trade-off to work out file size for both images and sound you just multiply the terms together with sound you've got to multiply by the duration as well compression reduces file size in order to take up less space and reduce transmission times lossy compression will actually delete part of your file which is really effective but means a lot of quality that's not a big deal with images and sound an alternative is lossless which just rearranges the file to be more efficient now you have to use lossless on text documents and program files because you can't afford to just be deleting part of it all of it is really important moving on to some network types so lands in wanderland is a local area network over a small area usually just a building and awan is a wide area network which is not only over a bigger area but crucially iwan has infrastructure has cabling hardware etc owned by multiple entities in a client server network devices take on one of two roles they're either a client or a server a client requests something for example it might request a website from a web server and the server responds giving over whatever they've requested so you've got this central control because the servers really run the show they decide what to give and who to respond to in a peer-to-peer network there is not this central control because all devices can sort of flip between being or acting as a client and a server so pairs of devices can connect independently there's no oversight particularly because any device can connect to any other device and share information directly topologies are about the arrangement of your network and there are two ones you've got to know about star and mesh so a star topology has this central node for central device which every other device has to go via and so as a downside you're very reliant on a central device because if that central device like a router for example goes down well you are in big trouble but the kid advantage is it's very easy to add new devices all you do is add a new device stick a wire to that central device or connect it up wirelessly and you're good to go whereas in a mesh topology you've got connections to every other device and so it becomes very very complicated as it gets bigger and bigger but because you've got this dedicated path direct to every other device very high performing you get very few collisions and collisions where several devices are trying to communicate at once and errors occur because they just get mixed up now what the central device can be is a few different types of hardware so a wap or wireless access point provides a wireless signal often it's plugged into a router or built into a router a router will forward packets between networks so taking a message and route it to the correct destination every device connected to a network has to have a network interface card to enable you to plug in things like ethernet cables which is one type of transmission medium what you actually communicate through now every nic probably where you need it has got a mac address built in a mac address is a unique address worldwide specific to hardware and it enables you to pinpoint the correct device on your network so if you're sending within one local area network if you know the mac address you can ensure it goes to the correct destination and device which uses this is a switch a switch is a bit like a router but within a single network it uses mac addresses to make sure packets go to the correct destination bandwidth is one of the many factors which affect the performance of a network bandwidth is the maximum amount of data that can be transferred at any given time and so as you add devices to a network you have to share this limited bandwidth across all of these devices the more devices you have the longer it's going to take each individual device to transmit and also if you've got more devices transmitting at once this means collisions are more likely you get these errors which have to get resent slowing things down a few concepts related to the internet are these the internet being our global network of networks unlike mac addresses which tell us nothing about where a device is an ip address will roughly tell us where the device is geographically so where in the world it is there are two types of ip addresses currently used version 6 is much much bigger because version 4 we ran out of combinations there wasn't enough space for every device in the world i mentioned word packet before just be really clear when we send data over networks it's split into lots of different packets and among other stuff a really important thing to put in the header of a packet is vip address so that the router or routers can know where to send those individual packets now ip addresses i've ever paid to use especially version 6 addresses and so when we look up websites we don't want to type in vip address instead we type in the url for uniform resource locator or the domain name and a system called the domain name system will look up for corresponding ip address so we can connect to the website and lastly the cloud is where we have resources or files being hosted it's in held somewhere else and they can be accessed through the internet so we've got a bunch of servers which are holding our files or some software and we access it through the internet these can be really really powerful and have very large capacities for example and they're flexible because you can access it from anywhere but you've got to have internet connection and you are putting a lot of trust in these car providers to be secure and to be reliable the last bit in this topic is all about protocols which are a set of rules enabling devices to communicate and protocols are examples of standards a standard is just an agreed set of rules designed to ensure compatibility across many manufacturers and we often talk about layers in relation to protocols a layer is just a grouping of similar protocols and the point of this is to enable more flexibility so you can switch out protocols if you want to as long as it's in the same layer you can change your protocol and it won't really affect the rest of your communication now the list of protocols is long and filled with acronyms so if i can just focus on the most important things to to remember so ccp is what splits data into packets it also handles errors so when you get collisions tcp will resend it and make sure it arrives for the email protocols pop imap and smtp pop and imap are alternatives both are for emails being received pop point of any communication with mail server whereas imap keeps in contact to keep synced up so that changes on your client match changes on the server and for our wireless and wide protocols at the bottom well as a general rule wired networks and particular ethernet networks tend to be more reliable have less interference but they're less flexible you can't add devices nearly as easily and the security of wired networks is generally better now going through some of the big types of cyber attack starting with sql injection this is where an attacker tries to put in some sql code into usually a user input form to try and interact with the database behind the scenes so you might type in a code like this drop tables which would delete the table you might try and damage it or try and extract data this way you control this by validating user input brute force attacks are where the attacker tries every combination or something like a password you can reduce the effectiveness by having longer and more complicated passwords and having a limit on the number of guesses somebody is allowed to make a denial of service attack a dos attack is where the attacker tries to deny service to legit users by flooding a device often a server with lots and lots of newer traffic causing it to crash meaning nobody else is able to use it social engineering attacks target for humans not the actual computer and they're trying to gain information or money from the poor person so phishing is a good example of social engineering you might get messages texts or emails which literally they're coming from a trusted source they actually take to a link to a fake website you put no details and the attacker gains access often training and just general awareness are good ways to reduce the risk of this happening to your organization malware is miniature software so it's a big category it's not just one particular type so viruses fall under this category as do things like spyware and each type of malware works in different ways but usually they're trying to either damage your computer system to cause it to slow down or not work properly or they're trying to extract information from you to use in other attacks a virus much like a real life virus will spread on your computer into other programs well how can we prevent these well with lots of different techniques but the ones i think you need to know most are these ones so penetration testing is where an organization will often pay somebody else to try and attack their system now is a simulated attack it's not going to actually cause any damage if you're trying to break your system in order to find any issues so it's a way of finding these bugs and finding these vulnerabilities in the aim to fix them if a real attack happens firewalls are listed very commonly as answers but often not very well understood a firewall is over a bit of hardware or a bit of software which checks ideally all of the packets both coming into the network and going out of the network it's in going and outgoing and it's checking them to see if they don't meet a certain rule so maybe there's a certain ip address which is banned maybe there is a certain pattern of packets which should be blocked and so it can block certain packets they're not banning individual people it's just looking at individual packets not wider users and doesn't even look at the contents of it most of the time now physical security is just blocking off access to a computer so things like cctv locks actually having staff nothing on a computer it's what goes around the actual computer anti-malware is blocking different types of malware so it'll scan for malware on your computer and remove it if it finds it for malware is known because it's got a database of all the malware which is why updating anti-malware software is especially important user access levels are all about who can read what who can write what to prevent people changing stuff they shouldn't really have access to so you might have admins you can both read and write every file be my less important users who can only read certain things it cuts off access to important documents and encryption is also not very well understood along with firewalls so encryption is where you scramble data so that only those with a key who are authorized can decrypt the data and understand the text so you might scramble some text into just complete nonsense you can still read it so don't say it's unreadable you can still read it you just can't understand it so encryption does not prevent interception where somebody just gains access to the packet but they just can't understand it without that decryption key the operating system is for software which manages hardware and other programs on the computer the five specific things you've got to be able to know about are these so starting with the user interface this is what the user sees on the screen so all of the menus it will have the two types of user interfaces are gui's and command line interfaces so gui is a graphical user interface a command line interface is where you've just got text on a screen there are no buttons you can click and so on and a command line interface is often a little bit more concise and you can do more things with smaller amounts of work but guys are generally easier to use regarding memory we've mentioned already that we need to load programs from secondary storage into primary storage before they executed this is controlled by the operating system so it will decide when to move stuff across it will decide when to delete stuff from ram and when it should get executed most operating systems support something called multitasking where if you've got multiple programs waiting to be executed what the os would do is rapidly switch between the one being executed so it appears like you've got multiple tasks happening at once whereas in reality it's just they're being rapidly switched between and that's all managed by the operating system peripherals are external devices like headsets like printers when you plug these in most of the time you have drivers being installed this is managed by the os a driver is a small program enabling your computer to communicate with this other device which is external the os uses a driver to communicate with this device user management relates to the fact that you often are allowed to make several accounts that partitioning is managed by the os as is the password system and so on and within a user's account you've got different files the folder structure for copy and pasting for renaming is all managed by the operating system now we also have another category of system software which is utility software and this is just there to support the general running of your computer system it's not aimed particularly at users like application software is this is about keeping things running nice and smoothly now encryption and data compression software are two examples but defragmentation software requires a little bit of a recap so this only works on magnetic hard drives you would not really use it on an ssd because it doesn't have the same weakness which is where you've got the data stored on the disk affects how fast it is to access so a disk which is fragmented has got to a point where it's got so full that you've got files which are separated across the disk so you might have the same program in multiple different locations on the disk just because there wasn't space to put it in one big go when they're separated it slows things down because to access this one file you've got to go to several different locations and so defragmentation software is aiming to speed up these often older hard drives by just reorganizing the disk to move programs so they're now as close together as possible remember last topic there are three laws you've got to know starting with the data protection act this is all about personal data and the responsibility of organizations to look after it our data must be kept secure there can be big fines if companies don't have adequate security and if you are collecting data about individuals you must gain their consent and as an individual i've got certain rights you can see the data collected about you can ask for it to be changed or deleted a second bit of legislation is the computer misuse act which in a very very quick summary is about hacking and malware this is the law which makes both of these things illegal you can't damage a computer system and you can get prison sentences if you do this the copyright designs and patents act is all about intellectual property so ideas people have things which are quite easy to steal unless you've got a law like this one so for example for us that might be a design of hardware which is more likely to be patented a patent is a expensive but quite strong legal protection whereas if you're writing software that's more likely to be copyright which is automatic so essentially this means if you've come up with this idea and it's protected under this law somebody else wanting to use it or share it or likely need to get permission from you to do so and this can be informal but it can also be in the form of a license which is some agreement on the terms of your use now related to this law but this is not a separate law um certain software is open source now open source software is usually free first of all it's usually free because the source code is publicly available somebody can open up the file and see the python code or the java code and just see exactly what the code was and so therefore if somebody can do that it's very easy it's very easy to not pay for it because you can just copy and paste it into your own program often the license which comes with this does allow modification so you're allowed to adapt it to your own needs whereas proprietary software is paid for and so they won't usually show you the code now usually these come with quite a strict license you can't change it you can't share it but flip side is they're often made by quite big companies you may will be entitled to support or warranty or something on those lines a separate related area to legal issues are privacy issues so the idea that usually we want to minimize the amount of data somebody else knows about us there's often friction between governments and individuals when it comes to privacy you could spin this into an ethical issue because an ethical issue is about what is right or wrong what should somebody be doing censorship and mass unemployment and surveillance could be all ethical issues cultural issues relate to this as well because this is much more about groups how particular groups within society being affected are young people affected more older people poorer people etc and environmental issues are things like recycling minor rare materials etc often but not always these are assessed innate marker for v8 marker don't bother writing an introduction or a conclusion that's not important and your spelling punctuation and grammar are not assessed directly you haven't got to write eight separate points because it's marked on behold what you do need though is a balanced answer so if it's about good and bad stuff mention both and try and relate any points to the context it gives you don't just write about general things and more spelling isn't that important how your points flow together really is important so try and connect your points to a little plan beforehand is my advice and that's it paper one in half an hour hopefully it was useful hope the exam goes really well do your best try every question and i wish you best of luck