OverviewThis module aims to provide students with an understanding of the fundamental behaviour and components (hardware and software) of a typical computer system, and how they collaborate to manage resources and provide services in scales from small embedded devices up to the global internet. The module has two strands: 'Computer Architecture' and 'Operating Systems and Networks,' which form around 35% and 65% of the material respectively. Both strands contain material which is of general interest to computer users; quite apart from their academic value, they will be useful to anyone using any modern computer system:
[a] Computer Architecture
- Data representation: Bits, bytes and words. Numeric and non-numeric data. Number representation.
- Computer architecture: Fundamental building blocks (e.g. registers). The fetch/execute cycle. Instruction sets and types.
- Data storage: Memory hierarchies and associated technologies. Physical and virtual memory.
- Sustainability. Energy consumption of computer systems: ways that this can be reduced and methods to estimate use.
[b] Operating Systems and Networks
- Operating systems principles. Abstraction. Processes and resources. Security. UNIX-style operating system fundamentals.
- Device interfaces: Handshaking, buffering, programmed and interrupt-driven i/o. Direct Memory Access.
- File Systems: Physical structure. File and directory organisation, structure and contents. Naming hierarchies and access. Backup.
- Fundamentals of networking and the Internet.
- Networks and protocols: LANs and WANs, layered protocol design. The TCP/IP protocol stack; theory and practice. Connection-oriented and connectionless communication. Unicast, multicast and broadcast. Naming and addressing. Application protocols; worked examples (e.g. SMTP, HTTP).
This module appears in:
- Computing Stage 1 Canterbury
- Computing Stage 1 Medway
- Computing Stage 2/3 Canterbury
- Humanities Undergraduate Stage 1
- Humanities Undergraduate Stage 2 & 3
- Short-Term Study
- Social Sciences Undergraduate Stage 1
- Social Sciences Undergraduate Stage 2 & 3
- STMS Undergraduate Stage 1
- STMS Undergradute Stage 2 & 3
Total Contact Hours: 26
Method of assessment
50% Coursework and 50% Examination
McLoughlin, Ian Vince (2011) Computer Architecture: an embedded approach. McGraw-Hill, 512 pp. ISBN 9780-071311-182
Tanenbaum, Andrew & Bos, Herbert (2014) Modern Operating Systems (4th Edition). Pearson Education, 1136 pp. ISBN 978-0133591-620
Kurose, James and Ross, Keith (2009) Computer networking: a top-down approach (5th Edition). Pearson Education, ISBN 978-0131365-483
Mueller, Scott (2012) Upgrading and repairing PCs (20th ed onwards). QUE Press ISBN 978-0-7897-3954-4
On successful completion of this module, students will be able to:
- Describe the purpose of, and the interaction between, the functional hardware and software components of a typical computer system
- Identify the principal hardware and software components which enable functionality and connectivity of systems ranging in scale from the global Internet down to tiny embedded systems like those that empower the Internet of Things
- Appreciate the principles and technologies behind the Internet, including layered architectures, and how this can be used to deliver effective network services.
- Describe how networks and other computer hardware interact with operating systems, and can be shared between different programs and computers.
- Assess the likely environmental impact of basic decisions involving computer hardware.