Charles Explorer logo
🇬🇧

Principles of Computers

Class at Faculty of Mathematics and Physics |
NSWI120

Syllabus

Computer architecture

- Stored program computer: von Neumann and Harvard architectures

- Processor + main memory + input/output

- Device controllers

- Data storage technologies

Representations of numerical data

- Binary and hexadecimal systems

- Integer numbers (unsigned and signed)

- Real numbers (fixed point and floating point)

- Arithmetic in computers

- Bitwise operations

Non-numerical data representation

- Structured data and data formats

- Text representation and character encodings (including Unicode)

- Overview of image data representations (pixel, bitmap, bit depth, vector graphics)

- Overview of sound data representations (sample, sample rate)

Memory

- Bits, bytes

- Address and address space

- Storing data in memory: structures, endianness, overview of data alignment

Files and storage

- File as a byte sequence (text vs. binary files), and address space analogy

- Basic file operations

- Directories and hierarchical file structure

Operating system

- Basic overview of OS responsibilities as an abstraction layer between hardware and applications

Annotation

The goal of the course is to introduce basic principles of computer architecture to first year students. The course assumes no prior knowledge of computer organization and operation, and is structured in a way that students can see through the typical user view of computer behavior.

Students attending the course will understand the operation of a computer from a programmer’s perspective, learn how data are represented and stored in computers, understand how data is processed in computer systems, and discover the logical connections between programs and hardware.