Blog Home

Welcome to my new Computer Science blog

A-Level OCR Specification

Feed

Contents:

Artificial Intelligence

Python Made MasterMind Generator

Little Man Computer Tasks

SQL Programming

1.3.2: Databases

1.1.3: Input, Output and Storage

1.1.3: Sensors and Actuators

1.1.3: Touchscreens

1.1.3: RAM & ROM

1.1.3: Magnetic, Flash, and Optical Storage

1.1.3: Virtual Storage

1.1.1: CPU Structure & Function

1.1.2: Types Of Processors

1.2.1: System Software

1.2.1: Virtual Memory

1.2.1: Interrupts

1.3.1: Compression

1.3.2: Databases

1.3.4: Web Technologies

2.1: Computational Thinking

2.2.1: Programming Techniques

Big O Notation

Big O Notation is essentially a measure of the performance/complexity of an algorithm, also known as the time complexity of an alogrithm. There are 5 main notations: Constant, Linear, polynomial, Exponential and Logarithmic. Constant has a time complexity of O(1). This means it has a constant execute time no matter the size of the input…

Karnaugh Map

Boolean expressions describe electric circuits in computer systems and selection statements in programming. We use logic gates to picture these electric circuits. It is important to use as few expressions (gates/electric components) as possible to: Reduce size of circuit. Reduce manufacture cost. Reduce power consumption. Execute instructions as quickly as possible by reducing need to…

Simplifying Boolean Expressions

General Rules for AND and OR: AND: Both terms have to be 1, or TRUE, for the result to be 1, or TRUE. OR: Only 1 term has to be 1, or TRUE, for the result to be 1, or TRUE. Rule 1: De Morgan’s Law Rule 2: Distribution Rule 3: Association Rule 4: Commutation…

1.3.3 Networks

A computer network is a group of computers that use a set of communication protocols for the purpose of sharing resources. Network topologies: Network topology refers to the physical arrangement of the components in a network. The network topology used will affect the cost, performance and ease of installation of a network. Bus topology: In…

1.2.4: Modes of addressing

Immediate Addressing: The instruction contains the data to be used. E.g: ADD 6 (add value 6 to accumulator) This is the fastest method as it doesn’t involve having to go the the main memory. Useful for carrying out instructions on constants opposed to variables. Direct (or absolute) addressing: The instruction points directly to a location…

1.2.4 Types of Programming Languages

Programming Paradigms: We need to know 3 types of paradigms: Procedural, Object Orientated and Assembly. Procedural: Languages such as Python and C. Common characteristics of procedural programming: Instructions given in sequence Selection is used to make choices/branch out Iteration decides how many times something is done Programs often broken down into Procedures/functions Object Orientated: Languages…

2.2.1: Programming Techniques

Integrated Development Environment, IDE: An IDE is software that enables you to enter, edit, compile and run programs. Many also have debugging faclities to help find errors. Debugging facilities include: Set a breakpoint which will stop the program on that line. Set a watch on a variable so its value is displayed when it changes.…

OOP Course Notes

Week 1: What an object is and how we can use objects in a program. We know that objects come from a class, which is like a blueprint, and that we can customise the attributes of an object as well as call methods on it. Each object starts with the same attributes, but we can…

1.4.2: Data Structures

Data Structure – This is a way of representing/organizing data held in a computer’s memory to be used efficiently. Data structures fall under 2 categories: Static or dynamic. Static: The size is set at the beginning of the program when it compiles and can not be changed. This is very limiting and inefficient as you…

Software Methodologies

Software development life cycle (SDLC)- The process of developing software with high quality with low cost and time. Different Methodologies: Waterfall Method: This was the first process model to be introduced. It is a simple and easy to use process, which is recommended for smaller projects. 6 Stages to the Waterfall Method: Requirements, Design, Development,…

SQL Programming

SELECT column, FROM table_name; SELECT CustomerName FROM Customers; WHERE condition; SELECT * FROM CustomersWHERE Country=’Mexico’; INSERT INTO table_name (column1, column2, column3, …)VALUES (value1, value2, value3, …); INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)VALUES (‘Cardinal’, ‘Tom B. Erichsen’, ‘Skagen 21’, ‘Stavanger’, ‘4006’, ‘Norway’); SELECT columnFROM table_nameWHERE column LIKE patternORDER BY column ASC/DESC; (Default to ASC if not specified) SELECT * FROM Customers WHERE…

1.2.1 Interrupts

An interrupt is a signal from a device or program to request processing from the CPU. Process scheduling is handled by the OS and decides when a process is run and for how long. It needs to respond to input devices and other system events, for example when the keyboard is pressed or the hard…

1.2.1 Virtual Memory

Paging: Paging is when main memory is divided into fixed size blocks called page-frames and programs are divided into blocks of the same size called pages. Pages are swapped between secondary storage and page-frames as necessary. Each process has its own view of pages and each memory access is made up of two parts: the…

1.3.2: Databases

A database is data that is stored in an organised, structured way. E.g: your contacts are in alphabetical order. Key Terms: Table = Made up of Rows and Columns. Field = Column Record = Row Entity = An element that is being recorded in the database. Primary Key = Unique identifier for each record. Foreign…

1.2.1: System Software

Operating Systems: The operating system is a set of software that manages all the hardware and software on a computer. It enables the user to interact with the hardware and handles input and output devices. The OS sits in between the applications you run and the hardware, using hardware drivers to communicate. When a programmer…

1.3.1: Compression, Encryption, Hashing

Compression: Compression is a process of which a computer reduces the size of a file while retaining most/all of the original information. You can compress many types of files including music and video files. This means it takes up less storage space and makes uploads and downloads faster. Streaming services such as spotify or youtube…

1.3.4: Web Technologies

HTML Tags we need to know: (Other tags will be introduced in the question.) <html> <link> <head> <title> <body> <h1> <h2> <h3> <img> <a> <div> <form> <input> <p> <li> <ol> <ul> <script> CSS Need to know In-line CSS e.g: <h1 style=”color: blue;”> and external style sheets. JavaScript (Other javascript will be explained in the question.)…

1.1.2 Types Of Processors

Differences between use of CISC and RISC processors. Complex Instruction Set Computer (CISC): This type of processor attempts to reduce the number of instructions per program, however meaning the number of cycles per instruction is increased and hardware complexity is increased as it needs to understand more complex instructions. CISC architecture is designed to decrease…

1.1.1: CPUs-Structure and Function

Machine Code Instructions: When we write code in a language such as python, this is readable and understood by us humans. This is known as source code. Processors can’t understand this source code so it needs to be translated into machine code. A compiler is any program that takes source code and translates it into…

1.1.3: Virtual Storage

Virtual storage is when you combine multiple drives into one to increase performance and storage. This is mainly used in enterprise level when a single drive is not sufficient enough for multiple people accessing one file at a time. However, building a network-attached storage device (NAS) is very expensive so bringing multiple devices together and…

1.1.3: Magnetic, Flash, and Optical Storage

Magnetic Storage: This is a hard drive that uses physical disks to store data on. It is very common on computers and data centers. They are high-capacity and relatively cheap, but are lower in performance compared to the more modern solid state drives. It is a good storage option for a good compromise between capacity,…

1.1.3: RAM & ROM

RAM – Random Access Memory. RAM is a type of primary storage and is the main place for storing instructions while a program is being run. Data must be copied to the primary storage (RAM) from the secondary storage (Hard drive) before being executed by the CPU. For example, your OS and any programs open…

1.1.3: TouchScreens

There are 3 types of touchscreens: Resistive, Capacitive, and Infrared Resistive: This is where there are 2 conductive layers with current going through them underneath the screen, seperated by tiny dots. When you press down on it the 2 layers touch and the electrical current changes at that point. The software then recognizes this change…

1.1.3: Sensors and Actuators

Sensors: A device that detects a physical change in its environment and sends information to another electronic device. Actuator: A device that causes another machine operate. Basically the ‘mover’. Factor being measured Sensor Actuator Light LDR, Photodiode, Photo-transistor, Solar Cell Light, Display, Fibre-Optics Temperature Thermostat, Thermistor Heater, Fan Force/Pressure Pressure Switch, Strain Gauge Lifts, Electromagnet…

2.1 Computational Thinking

Computational thinking is to think logically. 2.1.1 Abstraction: Levels of abstraction: The more abstract something is the less detail is shown, vice versa. Data always starts as reality before being abstracted. There are 3 levels of abstraction: Physical level, Logical level, and View level. Physical being the lowest. Reality -> Physical -> Logical -> View…

1.1.3 – Input, Output and Storage

Input – Something that is given to a device to begin a process. Output – Information that is processed and sent out by a device. Storage – Something that retains information. Scanners: They take printed media to generate a digital bitmap of an image. Common use is to digitize photos or to perform character recognition.…

Mastermind Number Generator Game

I have created a code using Python for a game that will generate a random 4 digit number and make you guess it. After a wrong guess it will tell you how many you guessed right and at the end it will tell you how many tries it took you to get it.

My thoughts on Artificial Intelligence

I believe artificial intelligence technology is an ever-growing part of our lives and will be essential in the future as technology becomes more complex. Currently, it aids us in a wide range of things from manufacturing to security and travel. However, the potential for artificial intelligence technology in the future is limitless. With autonomous cars…


Follow My Blog

Get new content delivered directly to your inbox.

Design a site like this with WordPress.com
Get started