Are you interested in learning computer programming and gaining an advanced understanding of computer systems? This course will provide opportunities for you to develop computer software in an industry-standard programming language such as Java, as well as internet web pages and databases. It will introduce you to the technical aspects of computer systems hardware and networking.
The course can prepare you for studying Computer Science at Higher Education level. It can also be valuable preparation for a career which involves computing, for example: in science, technology, business or the media.
The course can be taken as part of a full-time programme of study, in conjunction with other AS/A Level subjects, or possibly with vocational Level 3 qualifications.
The course can also be taken on a part-time basis by mature students.
The Computer Science qualification has been designed to give an in-depth understanding of the fundamental concepts of computer science and to incorporate the many exciting developments which are currently taking place in computing.
Students will have an opportunity to analyse and solve problems through the practical experience of designing, developing and testing computer software.
During the course, students will develop a range of broader transferrable skills which will be valuable for study in Higher Education and for employment, including: logical thinking, design creativity, problem solving, mathematical and communication skills, and an appreciation of the many important roles of computing in contemporary society.
AS Computer Science
The AS specification consists of two units which include a wide variety of contemporary topics.
Unit 1: Fundamentals of Computer Science
Unit 2: Practical Programming to Solve Problems
The theoretical study of computing principles is closely linked to the practical use of these concepts in computing applications. The topics covered by the modules include:
Hardware and communication
- A study of the hardware components of computer systems, including electronic memory, input and output devices, and secondary data storage.
- The fetch-execute cycle, examining how programs are run by the processor.
- Networking, including a study of the Internet. The operation of communication networks using network protocols.
- Serial and parallel transmission of data.
Data representation and data types
- The binary number system, and storage of characters in binary form
- Binary arithmetic techniques
- Applying logic operations in programming, including the use of Boolean algebra.
Data structures and Organisation of data
- Using arrays and records, and selecting appropriate data structures for given situations.
- Master and transaction files. Sequential, indexed and random file access.
- File security, including file backup, generations of files and transaction logs.
- Data validation and verification.
- Relational databases, entity relationship modelling and its use in analysing data processing problems.
The operating system
- The role of the operating system in managing resources, including: input and output devices, processes, memory protection and backing store.
- Batch processing, real time control and real time transaction systems.
Algorithms and programs
- The use of constants and variables in algorithms and programs.
- Mathematical and logic operations in programs. The characteristics of sorting and searching algorithms.
- Developing programs which make use of selection and repetition.
- The benefits of a modular approach to programming.
Principles of programming
- Features of different types of programming languages, including procedural, event-driven, visual and mark-up languages.
- The object-oriented approach to programming, and the relationship between objects, classes and methods.
- Differences between high-level and low-level languages. Identifying situations that require the use of a high level or a low-level language.
- The purpose of a feasibility study in ensuring that a proposed solution will be cost effective, developed to an agreed time scale and within an agreed budget.
- Investigation and analysis methods, including direct observation, questionnaires, study of existing documentation and interviews.
- The selection of suitable software and hardware to address the requirements of a problem.
- The various methods of changeover: direct, pilot, phased and parallel running.
- Program testing by alpha, beta and acceptance testing methods.
- Perfective, adaptive and corrective maintenance.
- The use of Integrated Development Environment tools in developing and debugging programs.
- Compilers, interpreters and assemblers
- Industrial, technical and scientific software including, for example, the role of the computer in weather forecasting, computer aided design, robotics and the use of computer generated graphics and animation.
- Designing, documenting and developing a functional prototype for a given problem.
- Demonstrating an understanding of program code by producing annotated listings.
- Evaluating programs to identify the successful features, and to make suggestions for improving less successful aspects of the system.
Data security and integrity processes
- The dangers that can arise from the use of computers in terms of privacy and security for files of personal data.
- Processes that protect the security and integrity of data, including: levels of permitted access, passwords for access and write-protect mechanisms.
- Disaster planning, to handle various potential threats to computer systems.