Computer Science As level pre enrolment work is hardWatch
I don't see how being in a support class changes your future prospects in any way if you can get the grades. Besides, trust me coding may look complicated at first but it's really not hard to get the hang of if you're taught how. You could always try and get some help with your summer work, if you put it on this thread I can help, or you can start another thread specifically asking for help.
The purpose of the CPU is to process data.
ALU is where calculations are done.
CU basically coordinates the actions of the CPU.
Cache is memory that contains recently used data and can be accessed quickly.
MAR holds the address of the current instruction.
MDR contains the data from the address stored in MAR.
Program counter (PC) holds the address of the next instruction to be executed (e.g. the instruction after the one in the MAR).
Accumulator temporarily stores results of arithmetic operations
I would recommend making a Quizlet/flashcards for these and go through them in the summer (there might be better definitions in the textbooks but either way get familiar with them)
Fetch - fetches instruction from main memory
Decode - decodes the instruction
Execute - executes the instruction
I'm sure there is a more technical description in your school's textbook, but this is all our teacher gave us for GCSE
Faster clock speed = instructions processed faster (unit - hertz)
Increasing cache size = more data in a faster memory (closer to CPU than RAM) = instructions processed faster
More processor cores = multiple instructions can be processed at once = more instructions processed per second
RAM vs ROM:
RAM - Random Access Memory
ROM - Read Only Memory
RAM is volatile (memory stored is erased when you close the computer; ROM is non-volatile (memory is retained)
RAM stores software currently being used; ROM stores computer boot up instructions (POST + BIOS)
Can read and write data to RAM; can only read data from ROM
A part of your computer's hard drive that is used as an extension of RAM when RAM is full. Is slower to access than RAM
Can be both written to and read from (like RAM) - however non-volatile
No moving parts so durable
Type of storage contained in USB sticks, cameras, and mobile phones
Optical - portable, cheap - e.g. CD, DVD, Blu ray
Magnetic - not portable, cheap, not durable due to moving parts
Solid State - expensive, durable
LAN - Local Area Network - over a small geographical location, usually less expensive to set up
WAN - Wide Area Network - over a large geographical area
This explains client-server networks vs peer-to-peer better than my notes - https://www.bbc.co.uk/bitesize/guide...jty/revision/3
Internet is a WAN, the WWW is service that runs on it
The rest of this section is a job for Google (sorry)
Ethical, Legal, Cultural - it literally says Google it so I'll leave you to it
Basically, computers work in 0 and 1, with 0 meaning not true/off, and 1 meaning true/on.
In terms of logic gates (which is what this section is referring to), we have 4. AND, OR, XOR, and NOT
AND accepts two inputs and returns a 1 if both of the inputs are the same (e.g. A=0 and B=0 or A=1 and B=1), otherwise it returns a 0
OR accepts two inputs and returns a 1 if at least one of the inputs is a 1 (e.g. A=1 and B=1 or A=1 and B=0 or A=0 and B=1), otherwise returns 0
XOR accepts two inputs and returns a 1 if only one of the inputs is a 1 (e.g. A=1 and B=0 or A=0 and B=1), otherwise return 0
NOT accepts one input and reverses it (e.g. returns 0 if the input is 1, returns 1 if the input is 0)
As for drawing logic gates, these are what they look like:
Using that information, you should be able to fill out the tables. If not, please feel free to ask for more help (that goes for any of the information)
MOD (%) - the remainder after division (e.g. 15%4 = 3)
DIV (/) - the whole number result of division, rounded down (e.g. 7/2 = 3, e.g. 19/4 = 4)
^ - This page explains it better than I can https://stackoverflow.com/questions/...r-in-python-do
1 bit = 1 binary digit (e.g. 0011 is 4 bits)
1 byte = 8 bits
1 KB = 1024 bytes (sometimes rounded to 1000 at GCSE but probable not at A level)
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB (and so on and so forth)
Binary is a base 2 system (e.g. it has 2 characters - 0, 1)
Denary (what we normally use) is base 10 (e.g. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
Hexadecimal is base 16 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)
If you think about the digits in a number as being split into columns, that might help. For example, the denary number 123 has a 1 in the 100 column, a 2 in the 10 column, and a 3 in the 1 column (you might remember this from primary school, might sound a bit patronising sorry lol). Because binary is a base 2 system, instead of the columns going up in powers of ten, they go up in powers of two.
For example, we'll take the binary number 0011:
8 4 2 1
0 0 1 1
We can see the first 4 column headings are 8, 4, 2, 1. They just continue on like that, for example the next column is 16.
As for hexadecimal, it is the same, just with 16. For example, we'll take the number A3
The next column is going to be a very big number, but that's not really important
As for how to convert between them, we'll start by converting binary to hexadecimal. What you do is split the binary number into 4 bit chunks. For example, if we have the number 010111010011, then we start by breaking it down into 0101 1101 0011. You then convert each 4 bit chunk into hexadecimal (e.g. 0101 = 1 + 4 = 5, 1101 = 8 + 4 + 1 = D, 0011 = 2 + 1 = 3). Now we have this, we can just write it as 5D3 and we have the answer. This also works the other way around, e.g. take each letter/number of the hexadecimal and create a 4 bit binary chunk out of it
Converting to and from denary is fairly easy, just start from the left most column and work your way right
If we write the binary column headings for 8 bits (we normally write binary in 8 bit chunks), then we get this:
128 64 32 16 8 4 2 1
If we have the denary number 54, we can see that it is smaller than both 128 and 64, so we can put a 0 under them. Then we can put a 1 under 32. After that, we are left with 54-32 = 22. 22>16, so we can also put a 1 in the 16 column. We then repeat until we get to 0. You should be left with:
128 64 32 16 8 4 2 1
0 0 1 1 0 1 1 0
The process is pretty much the same for hexadecimal, just slightly trickier because you have to divide by 16.
For adding binary numbers, there is a way to do it directly, but if you aren't comfortable with them yet then I suggest juts converting them to denary and then converting them back. Left shift pretty much just means adding zeros on the left hand side (it's x10 in denary) (e.g. left shift 2 you add two zeros, so x100)
For the ASCII question, look up an ASCII character table. No idea what even parity means though, you'll have to look that up.
Programming tools and standards
Question 1 is a job for Google I'm afraid, we weren't taught about it
For question 2, and IDE is short for Integrated Development Environment. Basically, it's where you write, edit and debug your code. They can provide other features, such as a dark mode or auto-filling commonly typed code statements. I would choose either PyCharm or VSCode to write about, depending on whether you've had any programming experience in the past (also depending on what language your school teaches in, if you know that). If you haven't, I'd suggest writing about PyCharm because it is for python, the most beginner friendly programming language and likely the one your school uses anyway.
The logic questions at the end I'm guessing you can do yourself