Skip to content
UoL CS Notes

Home

This website houses notes from my studies at the University of Liverpool. If you see any errors or issues, please do open an issue on this site's GitHub.

Introduction to Computer Networks

COMP211 Lectures

Overview of the internet There are several different types of devices that make up the internet. Hosts - Devices/end systems that are at the edge of the network. Packet switches - Routers/switches that forward packets to other devices. Communication links - Fibre/copper/radio transmission links between devices. Networks - A collection...

Read More

Introduction to SQL

COMP207 Lectures

Relational Databases Data is organised into tables. Tables have a table name. Tables have attributes (columns). All elements in a column are of the same datatype. Tables have tuples (rows). Each table has a schema. This lists the attributes of a table e.g: Items(name,price,number) Tables Tables typically have: Few columns...

Read More

Functional Requirements and Use Case Analysis

COMP201 Lectures

This lecture is targeted at coursework 1.1. Requirements Requirements can be functional: What the system should do. Provide a login facility that uses a username and password. They can also be non-functional: Constrains on how the functions are provided. Username must be longer than six characters. Non-functional requirements don’t concern...

Read More

Introduction

COMP207 Lectures

Running Example - Supermarket The example for the course is a fake supermarket called CS Store. It is initially based in Liverpool but will become a national company. Relational DBMS Components A DBMS is a database management system. flowchart TD QC <-.-> B ua[User/Application] --> QC[Query Compiler] --> EE[Execution Engine]...

Read More

Practice Exam Answers

COMP124 Lectures

Question 1 - Memory Management Unit Which component of the CPU manages the storage and retrieval of data from main memory? Base register Cache ALU MMU Accumulator Look here for more information about memory management. Question 2 - Principle Components of an Operating System Which of these is not one...

Read More

Compiler Implementation

COMP124 Lectures

The Compilation Process The compilation process is normally broken down into the following major steps: Lexical Analysis Syntax Analysis (Parsing) Semantic Analysis Code Generation Code Optimisation Lexical Analysis The text of the program is converted into a sequence of tokens, representing distinct elements of the program: Numbers Letters Symbols Variable...

Read More

Grammars

COMP124 Lectures

A grammar is a set of syntactic rules. Syntactic rules define syntactic constructions in terms of other syntactic constructions: Some of which need to be defined themselves. Some of which are already defined. Constructions can be terminal (self-contained), or non-terminal (depend on other constructions). Hierarchy A grammar defined correct sentences...

Read More

Language Components

COMP124 Lectures

Each HLL has three components: Lexical Components (tokens) Syntactical Components (structure) Semantic Components (meaning) Lexicon The lexical component is a list of all the legal words (elementary expressions) in the language, together with information about each word. Example In Java import, public and else are legal words. They go together...

Read More

Compilers & Interpreters

COMP124 Lectures

Compilers Take a source program and translates it as a whole into machine code. The process of translation and execution are separate. Interpreters Take one instruction at a time, determine its function and then carries out those instructions. Source program analysis and execution are interlaced. No binary is generated. Compilers...

Read More

Performance Considerations

COMP124 Lectures

Frame Allocation There is a fixed amount of free memory that must be allocated among all processes. We needed to determine how many frames each process should get. Each process will need a minimum number of pages. This is dependant on the architecture and its supported features. Frames contain a...

Read More