CS-1Q: Computer Systems Introduction
Rationale
The CS1Q course provides a coherent picture, top to bottom, of computer systems. This includes an introductory overview of computer hardware and architectures. For intending honours students, this will provide an introduction to many areas of computing science, and give a broader perspective to some of the topics covered in CS1P. For non-continuing students, the syllabus attempts to answer the question ``What should the well-educated person understand about computing?''; it is not a superficial introduction, but covers the above topics in non-trivial detail.
Aims
To give students an understanding of the structure of a computer system at a range of levels: logic gates, functional units within the CPU, functional units within the computer, the operating system, the high-level programmer's view, networks
Objectives
On completion of the course, the student should:
Systems Content
Logic gates, circuits representing boolean expressions. Karnaugh maps. Simple combinational circuits, full adder, ripple-carry adder. Flip-flops and registers. Use of flip-flops to implement finite state machines (basic idea only). Data representation, memory organisation. The CPU, a simple instruction set, the fetch-execute cycle. Computer organisation. Estimation of execution times. Compilers, simple expressions and control structures in low-level code. Services provided to programs by the operating system. Elementary file organisation. Networks and the internet.
Assessment
The Systems component of the CS1Q courses is assessed by an open exercise and by two different questions in the end of year exam. Further details about these may be found on the CS1Q main page.