[The University of Leicester]

Department of Mathematics & Computer Science



Next: Year 4 Up: Year 3 Previous: MC396 Compression Methods for Multimedia

MC397 Programming Secure and Distributed Systems


MC397 Programming Secure and Distributed Systems

Credits: 20 Convenor: N Ghani Semester: 2

Prerequisites: essential: MC103,MC104,MC111 desirable: MC115,MC206,MC307
Assessment: Continual assessment: 40% Three hour exam in May/June: 60%
Lectures: 36 Problem Classes: none
Tutorials: none Private Study: 90
Labs: 12 Seminars: none
Project: none Other: none
Surgeries: 12 Total: 150

Explanation of Pre-requisites

A significant aspect of the module will be the reinforcement of material delivered in lectures with practicals involving students implementing distributed systems in Java. Hence a basic knowledge of Java, as provided in MC103 and MC104, will be essential. A basic grounding in discrete mathematics will assumed during the lectures on security.

Although not essential, students will benefit from prior knowledge of SQL as obtained from MC115 when integrating databases into distributed systems. Similarly, software design as found in MC206 will aid the design of distributed systems while the close relationship between distributed computing and concurrency means that knowledge of MC307 will also be of benefit.

Course Description

The internet has caused a revolution in the way we use and think about computers. One of the key technologies underlying the internet is distributed computing which allows individual computing agents to be located, or distributed, on a network of computers but nevertheless work together on cooperative tasks. There are many motivations for distributing applications including:

The development and programming of distributed systems is considerably more complex than that of local applications. Distributed applications usually run on spatially separated computers, consist of different components which need to communicate with each other and must ensure a consistent management of shared resources. In addition, of increasing importance is the issue of security in distributed systems, eg how can a component of a system detect security breaches elsewhere in the system. This course will introduce these and other fundamental problems in distributed computing, explain some of the solutions available and cover their implementation in the Java programming language. Students will thus gain insight into distributed computing as well as practical skills of immediate use.

Aims

The aim of this course is to equip students with the knowledge required to build secure and distributed applications in Java. This will involve theoretical material concerning the fundamental problems, and possible solutions, that distributed applications face with particular attention being paid to the issues arising from concurrency and security. In addition, this will be complemented and reinforced by more practical material describing how these ideas are implemented in Java.

Objectives

Transferable Skills

Syllabus

Reading list

Essential:

J. Farley, Java Distributed Computing, O'Reilly. 1998..

S. Hartley, Concurrent Programming, The Java Programming Language, OUP. 1998..

D. Lea, Concurrent Programming in Java: Design Priciples and Patterns, Addison-Wesley. 1997..

Recommended:

S. Oaks, Java Security, O'Reilly. 1999..

M. Boger, Java in Distributed Systems, Wiley. 2001..

Background:

Details of Assessment

The coursework for the continual assessment consists of five worksheets containing problems that test the ability to understand, analyse and write distributed applications, as well as the conceptual aspects of the course.

The written May/June examination contains six questions, and candidates can obtain full marks from four questions.


Next: Year 4 Up: Year 3 Previous: MC396 Compression Methods for Multimedia

[University Home] [MCS Home] [University Index A-Z] [University Search] [University Help]

Author: S. J. Ambler, tel: +44 (0)116 252 3884
Last updated: 2001-09-20
MCS Web Maintainer
This document has been approved by the Head of Department.
© University of Leicester.