[The University of Leicester]

Department of Mathematics & Computer Science



Next: About this document ... Up: Level 3 Previous: CO3096 Compression Methods for Multimedia

CO3097 Programming Secure and Distributed Systems


CO3097 Programming Secure and Distributed Systems

Credits: 20 Convenor: Dr N. Ghani Semester: 1

Prerequisites: essential: CO1003,CO1004,CO1011 desirable: CO2006,CO3007
Assessment: Continual assessment: 40% Three hour exam in January: 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 CO1003 and CO1004, will be essential. A basic grounding in discrete mathematics will assumed during the lectures on security.

Although not essential, software design as found in CO2006 will aid the design of distributed systems while the close relationship between distributed computing and concurrency means that knowledge of CO3007 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 communicate with another component in such away that malicious eavesdroppers cannot interfere. 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 and security 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..

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

J. Knudsen, Java Cryptography, O'Reilly. 1998..

Recommended:

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

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..

Background:

Details of Assessment

The coursework for the continual assessment consists of four 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: About this document ... Up: Level 3 Previous: CO3096 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: 2002-07-11
MCS Web Maintainer
This document has been approved by the Head of Department.
© University of Leicester.