<
POSTGRADUATE DIPLOMA IN COMPUTER SCIENCE

Course fee £7900 (OVERSEAS STUDENTS) £3900 (LOCAL STUDENTS)
Duration 24 Months
Course Delivery : Intensive Lectures, Hands on Practicals

Tutors :	Dr.S.Pahirathan BSc (Hons), MSc, PhD 
		A.Arasaratnam BSc (Hons), PgDip (Comp)  
		Dr.V.Mohan BvSc, PhD
		Mr.S.J.Paheerathan BSc,MSc,MPhil





Postgraduate Diploma in Computer Science

The course provides two years of intensive training in computing science. It is designed primarily as a 
conversion course for graduates of disciplines other than computer science, though candidates are assumed 
to have had some previous experience of programming. This full-time course, starting in October, is of 24 
months duration and is recognised for the award of the Diploma of the Westminster College of Computing, 
London.

Course structure 



· Compulsory courses 
  Computer architecture 
  Operating systems concepts 
  Programming 
  Object-oriented program design 
  Internet and World Wide Web 
  Platforms & Enterprise Applications 
  Logic and declarative programming 

· Optional courses (two of the followings)
  Artificial intelligence 
  Databases 
  Computer networks and distributed systems 
  Concurrent and distributed programming 
  Multimedia systems 



Course outlines 

· Computer architecture 
  Design of combinatorial circuits based on basic logic gates. Arithmetic and logic unit: adders and 
  multipliers. Sequential logic: counters,   registers. The organisation of von Neumann machines: memories, 
  processors and communication links. Assembler programming using 80 x 86. 

· Operating systems 
  Functional overview; evolution of operating systems; concurrent processes including process interaction 
  mechanisms: locks, semaphores, message   passing and monitors; system nucleus: first level interrupt handler 
  and dispatcher; memory management including partitions, base and limit registers, paging and segmentation; 
  input-output; filing system; scheduling and resource allocation. 

· Programming 
  Concepts of programming in C#;.NET Platform and Architecture, programming techniques applied to the solution 
  of small-scale problems; introduction   to XML, introduction to WebServices. 

· Object-oriented program design 
  Object-oriented methods are playing an increasing role in the organisation of large programming systems and 
  make a natural basis for software design.  We therefore introduce object-oriented basic elements of software 
  engineering from this perspective. Program design for smaller and larger programming; programming and use of 
  basic data structures; object-oriented programming in C#. 

· Internet and World Wide Web 
  An introduction to Internetworking & Web: LAN, WAN, Domain Name Servers, Http, FTP.  Introduction to HTML, 
  and Scripting 

· Platforms & Enterprise Applications 
  An introduction to Application Servers: J2EE, WebLogic, JServer & Websphere, Introduction to Java & EJB, 
  Developing and Deploying Session Bean, Entity Bean, Message-Driven Bean.

· logic and declarative programming 
  An introduction to formal logic: syntax, semantics and proof systems for propositional and predicate logic,
  example applications in analysing arguments 
  expressed in natural language, as a formal language for specification, as the basis of the logic programming 
  language PROLOG and, time permitting, as a database query language. 

· Artificial intelligence 
  Introduction to AI: the two streams of AI; intelligence, some characteristics; classical AI examples; need 
  for tests of success, the Turing test, 'intelligence tests’, peer assessment; the potential and danger of 
  the AI approach. 

  Problem solving: constraint satisfaction problems, generate and test methods with optimisations; state space 
  problems. Search methods: local vs global information; heuristic search. Two person games: search and 
  evaluation; adversary search; minimax search; alpha beta search. 

  Expertise: characteristics of expert systems, separation of knowledge and inference, uniform representation, 
  explanation; knowledge refinement; expertise and knowledge; accountability and the human window, human vs 
  machine expertise. 

  Planning: viewed as state space search, means-ends heuristics; representation; separability interactions,
  Sussman’s anomaly; example worlds, Blocks world, robot world and program synthesis; problems and extensions,
  non-linear planning. 

  Learning: rote, trial and error, Pavlovian and history learning; learning by exploration, hill climbing, 
  learning games and programs, credit assignment and term selection problems; linear and non-linear evaluation 
  functions; learning by search through operator and concept spaces. 

  AI and natural language: problem of understanding; Schank’s explanation game; conceptual dependency (CD) 
  theory, primitive elements; scripts, players, props, events, headers and exceptions; goal and plan directed 
  understanding, role of themes. 

· Databases 
  Introduction to databases, including data modelling, database management, data dictionary, query formulation 
  and evaluation. 

  Relational databases: design, functional dependencies, normalisation up to and including the fourth normal 
  form, losslessness, dependency preservation. 

  Relational database languages, including relational algebra and relational tuple calculus. Views and 
  database integrity. 

  Transaction management and recovery: transaction atomicity, database log, commit and rollback, recovery 
  from system and media failure, deferred and immediate database modifications, checkpoints. 

  Concurrency: including conflict serialisability, conflict equivalence, precedence graphs, serialisability, 
  locking, two phase locking protocol, deadlock. 

  Entity-relationship modelling and translation to the relational model. 

· Computer networks and distributed systems 
  Network overview: interfaces, protocols and services, connection-oriented and connectionless services, 
  OSI & TCP/IP reference models. 

  Local area networks: topologies-star, bus, ring, media access control-deterministic and probabilistic, 
  IEEE 802.x. wireless networking. 

  Data link protocols: framing and data transparency, error detection and correction, flow control. 

  Interconnecting networks: transparent and source routing bridges, switches. routers-adaptive and non-adaptive 
  routing protocols. 

  Internet protocols: IP addressing, ARP & RARP, IP & ICMP, UDP & TCP. 

  Overview of distributed system architecture: motivation, system structures, ODP Reference model and distribution 
  transparencies, design issues. 

  Interaction primitives: message passing, remote procedure call, remote object invocation. 

  Interaction implementation: message passing, RPC, concurrency and threads. 

  Security: threat analysis, security policies-military (Bell Lapadula) versus commercial models; access control 
  concepts-identification, 
  authentication, authorisation and delegation; authorisation policy: access matrix, access rules and domains; 
  access control lists, capabilities, secret and public key encryption, digital signatures, authentication, Kerberos. 

· Concurrent and distributed programming  
  To study the concepts, formal models and implementation techniques appropriate for the design, analysis and 
  construction of concurrent and, to a lesser extent, distributed programs. 

  Students will perform a laboratory exercise involving concurrent programming using Java. 

  Key ideas: interleaved actions, synchronisation, interference, deadlock, starvation, fairness, safety and liveness. 

  Monitors: entry queues, condition variables, wait and notify, reasoning about monitors. 

  Models: introduction to formalisms for the specification and verification of concurrent systems; labelled 
  transition systems, process calculus, model checking. 

  Model-based design: structuring applications into concurrent, distributable software components; component types 
  and instances; nesting and component composition; component interfaces. 

  Message passing: processes, synchronous and asynchronous communication, ports, send and receive, request-reply 
  communication. 

· Multimedia systems 
  Design of multimedia systems: software architecture, hardware architecture, managing multimedia projects. 

  The underlying technologies: the physics of images and sounds, their capture into the computer system. Music 
  notation and representation in the computer. Compression of images and sounds-Fourier frequency band quantisation,
  discrete cosine transform, fractal image compression, JPEG and MPEG-2 standards. The bandwidth of communication 
  systems and associated processing power required to handle multimedia data. 

  Standards underlying multimedia processing: CD-i, CD-ROM, photo-CD, MIDI standards. H.261 standard for video 
  telephony. Multimedia data transmission over ISDN links. Asymmetric home-video distribution over ADSL links. 

  Advanced multimedia applications and underlying technology: virtual reality, distributed interactive navigation 
  systems; speech, image and gesture recognition algorithms; principles of video databases. Wireless technology.
  Development of media, impact on society. 

  Preparation of multimedia material. Transmission of multimedia material over advanced networks.