|Year of offer||2017|
|Subject level||Undergraduate Level 3|
|Fees||Subject EFTSL, Level, Discipline & Census Date|
Over the last half-century, computers have improved at a faster rate than almost any other technology on the planet, yet the principles on which they work have remained mostly constant. In this subject, students will learn how computer systems work "under the hood".
The specific aim of this subject is for the students to develop an understanding of the basic concepts underlying computer systems. A key focus of this subject is the introduction of operating systems principles and computer network protocols. This knowledge is essential for writing secure software, for writing high performance software, and for writing network-based services and applications.
Topics covered include:
- The role of the operating system
- The memory hierarchy (caches, virtual memory, and working sets)
- Interrupt handling, processes and scheduling
- File systems
- Introduction to multiprocessors and synchronization
- Introduction to network protocols (OSI model)
- Development of client-server applications
- Computer system security and cryptographic protocols.
INTENDED LEARNING OUTCOMES (ILO)
On completion of this subject students are expected to:
- Demonstrate their knowledge of operating systems from the programmer's perspective
- Demonstrate their knowledge of networking technologies from the programmer's perspective
- Apply this knowledge to select appropriate tools and technologies for a problem at hand
- Build simple server applications
- Recognise some common security vulnerabilities and the reason why they are present in a particular system
On completion of this subject, students should have developed the following skills:
- An ability to apply knowledge of basic science and engineering fundamentals
- An ability to undertake problem identification, formulation and solution
- The capacity to solve problems, including the collection and evaluation of information
- The capacity for critical and independent thought and reflection
- An expectation of the need to undertake lifelong learning, and the capacity to do so.