production
Skip to Content

Undergraduate Computing Science 2019-2020

CS4094: COMPUTER SECURITY

10 credits

Level 4

First Sub Session

​The course provides an introduction to computer and information security. It covers fundamental ideas and goals in security, and basics of access control, authentication, cryptology and applications, policy models, security protocols. A selection of other topics may be touched upon including communications and network security, web and mobile security, secure coding, human factors and management issues.​

CS4095: COMPUTATIONAL INTELLIGENCE

10 credits

Level 4

First Sub Session

Computational Intelligence covers a wide range of issues that developed in parallel with, or in competition to, symbolic AI. The major constituents of the field are bio-inspired computing – which deals with an ever expanding number of biologically related techniques – and fuzzy logic – which deals with reasoning under conditions of vagueness. In this course we will explore a number of topics that are core to Computational Intelligence (e.g. neural nets and evolutionary computing) and these will lead into some state-of-the-art approaches (such as fuzzy model-based reasoning and learning).​

CS4096: OPERATING SYSTEMS

15 credits

Level 4

First Sub Session

This course discusses core concepts and architectures of operating systems, in particular the management of processes, memory and storage structures. Students will learn about the scheduling and operation of processes and threads, problems of concurrency and means to avoid race conditions and deadlock situations. The course will discuss virtual memory management, file systems and issues of security and recovery. In weekly practical session, students will gain a deeper understanding of operating system concepts with various programming exercises.

CS4595: DISTRIBUTED SYSTEMS AND SECURITY

15 credits

Level 4

Second Sub Session

​This course discusses core concepts of distributed systems, such as programming with distributed objects, multiple threads of control, multi-tire client-server systems, transactions and concurrency control, distributed transactions and commit protocols, and fault-tolerant systems. The course also discusses aspects of security, such as cryptography, authentication, digital signatures and certificates, SSL etc. Weekly practical sessions cover a set of techniques for the implementation of distributed system concepts such as programming with remote object invocation, thread management and socket communication.

Compatibility Mode

We have detected that you are have compatibility mode enabled or are using an old version of Internet Explorer. You either need to switch off compatibility mode for this site or upgrade your browser.