Starting in 2018, the qualification you will take at GCSE is computer science, and the knowledge and understanding of ICT you need will have already been covered by the end of Year 9. And besides, there are elements of computer science taught already in Key Stage 2 and certainly during Key Stage 3.
There remain Level 1 and 2 vocational qualifications equivalent to a GCSE still available and which your school may currently offer, for example BTEC Firsts and CiDA/DiDA, and which may be more like the former GCSE ICT.
Information Technology as a technical endeavour can be divided broadly into 3 principal sectors: Hardware and Systems Engineering; Software Engineering and Network Engineering. They are inter-related and they overlap. In the UK, ARM Holdings1 has been the originator of micro-processor designs that are manufactured by companies all over the world. If this is the low-level end of Hardware and Systems Engineering, at the other end are the professionals who's knowledge of current hardware and software permits them install systems for businesses. This sector overlaps with Software Engineering in relation to emerging technologies such as holographics, leap and virtual reality. The greater part of programming continues to use 3rd generation programming languages (3GL) such as python, java, c and visual basic. But programming often involves more that just writing programs, involving also networks and database, and, in relation to games development, 3D modelling. If your web development is something you do in Dreamweaver2, you should be aware that there is code underlying your development, and, from its start with Macromedia and ongoing too under the auspices of Adobe, Dreamweaver shows you the code it is generating for you alongside the graphical representation of your page. The programming language involved is called html3 and you will do well to learn something of this if you're interested in web development.
There are a great many legacy systems in the world - older software that is still used because of the expense of replacing a large company's system which, over time, has become so completely integrated with its business processes. It takes some considerable expertise to keep these systems running and perhaps gradually update them with newer technology1. Even older systems, though, are generally written using 3GL programming. Just the same, not all coding is such. Below 3GL there are assembly languages2 (2GL) and below these machine code - the raw binary. A programmer involved in providing the drivers that run, for example, a printer or a hard drive, needs to work at a lower level than 3GL to achieve the efficiency and speed that a driver needs. Your study of computer science will acquaint you with these forms.
If binary is the language that a computer 'speaks' or 'understands'3, it is also, at base, the language of the internet. There are also other technical considerations around networking consisting in signalling and switching - again the very low-end of networking. Someone works with these, but a network technician is concerned, rather, with IP and MAC addressing, server, switch, hub and firewall configuration and port allocation. In principle when you connect a printer to your computer, or even plug in a usb pen-drive, the processes are the same. How does a request made in a browser for a web page travel half-way round the world and then the requested page travel all the way back to appear on your screen? How does your computer put an image on the screen anyway? How, actually, does a computer send a page to the printer? A computer scientist has at least some knowledge of such things even though working, for example, as an applications programmer, a web developer, a database administrator or a games programmer.
Understanding the principle of input-processing-output in relation to computer systems and in programming
Understanding the basic principles of programming: sequence, selection and iteration.
Reading and writing algorithms, analysing how programs function and using standard algorithms: search and sort.
Understanding and using different data types: integer, boolean, character and string.
Understanding and using data structures: arrays/lists and records and using well-organised structures and modularity in programming.
Adopting a systematic approach to modelling, decomposing and abstracting real-world problems and systems and making use of pseudo code and flow charts.
Using authentication and data validation in programming.
Representing numbers in binary and hexadecimal and performing binary addition and bit-shift.
Understanding boolean logic and the use of boolean operators
Understanding how text, sound and graphics are represented in a computer.
Understanding of computer architecture including the Von Neumann model, the role of internal components and the fetch-execute cycle.
Understanding the types and operation of systems software: operating systems, utilities and drivers.
Understanding types of secondary storage (magnetic, optical and solid state), storage capacity, external hardware components and connectivity.
Understanding of networks, types of networks and topologies, network security, network layers and protocols: Ethernet, WiFi, TCP/IP, HTTP, HTTPS, FTP and email.
Understanding cyber-security - the forms of attack, vulnerabilities and forms of protection.
Understanding the social, ethical, legal and environmental impacts of computer technology.
Using computing-related mathematics.
Not a complete list.