Recommended Resources
Types of Software
A computer system is made of both hardware and software. The hardware components of a computer systems are the physical components of the system and include the motherboard, the CPU, RAM and ROM and all input, output and output devices. … Continue reading
Job Scheduling Algorithms – Q&A
One of the main purpose of the Operating System is to control the hardware and more specifically the CPU. The CPU performs all the jobs/processes requested by the different applications. A scheduler is a program of the … Continue reading
Scheduling Algorithms – Python Challenge
A scheduler is part of the Operating system. It would most likely have been programmed using low-level (assembly) language. However for the purpose of this task, we are going to use a Python program to create a high-level… Continue reading
The 4 Stages of the Compilation Process
Can you identify and describe the 4 stages of the compilation process? Task 1: Drag and Drop Complete the fill in the gaps activity below to label the 4 stages of the compilation process with for each stage their input … Continue reading
Abstract Syntax Tree Generator
In computer science, an abstract syntax tree (AST), or just syntax tree, is a tree representation of the high level source code. The compilation process consists of translating the high level source code (e.g. Java, Python, C++, FORTRAN, etc.) into … Continue reading
Reserved Keywords of the Python Language
If you have reached this page, you have probably already started to learn to code using a high-level programming language such as Python, JavaScript, C, php or Ruby. But what does “learning a new programming language” involve? Learning a programming … Continue reading
Assembly Language
Assembly language is a low-level programming language. Each assembly language is specific to a particular computer architecture. Assembly language uses mnemonics to represent low-level machine instructions or opcodes. Many operations require one or more operands in order to form a … Continue reading
Understanding Memory Address Modes
There are many ways to locate data and instructions in primary memory and these methods are called “memory address modes”. Memory address modes determine the method used within the program to access data either from the Cache or the RAM. … Continue reading
Object-Oriented Programming Concepts
Object-Oriented Programming (OOP) is a programming approach based on objects and classes. The object-oriented paradigm allows us to organise software as a collection of objects that consist of both data/attributes and behaviours. This programming concept appeared in the 1980s and … Continue reading
LMC Challenges
LMC Simulator
LMC Mini Challenges
LMC Burglar Alarm
LMC 5-4-3-2-1
LMC Max Function
LMC Countdown Timer
LMC Higher or Lower Game
LMC Finding the factors of…
LMC Step Count Algorithm
LMC Fibonacci Sequence
LMC Triangular Numbers
LMC Trace Table
LMC Multiplication
LMC Factorial
Procedural Programming
Procedural Programming Drag and Drop
Sequencing, Selection and Iteration Quiz
Procedural Programming Crossword
Procedural Programming – Code Spotlight
Procedural Programming Concepts – Q&A
Procedural Programming Terminology
Prolog Challenges
Solving a Murder Mystery Using Prolog
Sorting Hat Challenge (Prolog)
Family Tree Challenge (Prolog)
Food Web Challenge (Prolog)
OOP Challenges
OOP Quiz!
OOP Terminology
OOP Crossword
Inheritance Q&A
Encapsulation Q&A
Classes & Objects
Multimedia Library (OOP)
My MP3 Playlist (OOP)
Shopping Basket Class