0% found this document useful (0 votes)
58 views

Distributed Computing Course Outline

This course covers distributed computing architectures, technologies and programming paradigms. It aims to enable students to develop and deploy distributed systems by reviewing abstractions, implementing systems, and appreciating technologies. Students will identify problems, make judgments, exercise autonomy, and demonstrate critical reflection by creatively developing distributed applications.

Uploaded by

sykehanscypha
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views

Distributed Computing Course Outline

This course covers distributed computing architectures, technologies and programming paradigms. It aims to enable students to develop and deploy distributed systems by reviewing abstractions, implementing systems, and appreciating technologies. Students will identify problems, make judgments, exercise autonomy, and demonstrate critical reflection by creatively developing distributed applications.

Uploaded by

sykehanscypha
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

CSC 3201 Distributed Computing

Course Descriptor
Programme: Bachelor in Information Technology
Course Name Distributed Computing
Course Code CSC 3201
Level of Course Year 3 Semester 2 (elective course)
Credit Units 3 Credit Units
Course Description
This module will build upon networking material met in the previous stage whilst providing detailed
coverage of the architectures, technologies and programming paradigms used in implementing and
deploying distributed computing applications

Course This course will enable the students acquire skills to integrate knowledge acquired
Rationale:
in networking courses to be able develop and deploy systems that can interoperate
with each other in a distributed manner. This is the way to go since networks are at
the heart of most information systems today.
Course The aims of this course are:
Objectives:  Review the principal abstractions and methods used in distributed systems
programming.
 Give practical experience in modelling, specifying, implementing and
verifying distributed systems.
 Enable students to appreciate critically a range of distributed computing
technologies.
 Have students creatively develop rival types of implementations of a
distributed application and appraise the differences.

Learning When students have successfully completed this module they should be
Outcomes: able to:
 Identify, define new and abstract problems and issues.
 Deal with complex issues and make informed judgments in situations in
the absence of complete or consistent data.
 Exercise substantial autonomy and initiative.
 Showing initiative, creativity and team working skills in shared distributed
application development. (PDP)
 Demonstrate critical reflection. (PDP)

Mode of The module will be delivered via a combination of lectures, practicals and
Delivery: workshops
Mode of This module will be assessed on both “Exam Assessment” (70%)and “Other
Assessment: Assessment” (e.g. coursework) (30%).
Platform Laboratory practicals will be conducted for this course
(Instructionalm
aterials/
equipment)

Content Week 1 and 2 (6 hours)


 Distributed systems: characteristics and architectures: concurrency;
naming; security; performance; scalability; reliability; robustness; failure
semantics; code migration; architectural models - client/server, peer-peer,
layers and tiers, and state of network connectedness.
Week 3 (3 hours)
 Network sockets: sockets; socket programming; WinSock and
asynchronous operation.
Week 4 and 5 (6hours)
 Concurrency: threading and concurrency; concurrency control - locks,
monitors, transactions, etc; concurrency in distributed clients; concurrency
control in distributed services.
Week 6 and 7 (6hours)
 Distributed computing technologies: Remote Procedure Call; the
distributed object model and remote method invocation; object naming;
remoting in the .NET framework; handling exceptions and events with
distributed objects; distributed garbage collection; SOAP; and XML Web
services.
Week 8 and 9 (6hours)
 Design: impact of technologies; distributed design patterns; software
architectures for distributed applications; state; caching and the principal of
locality; concurrency in clients and servers; and asynchronous vs
synchronous operation.
Week 10, 11 and 12 (9hours)
 Deployment: layered designs, tiered deployment; deployment, performance
and scalability; physical architecture; dynamic deployment and
configuration; versioning and updates; and security in distributed
applications.
Week 13, 14 and 15 (9 hours)
 Databases and data access in distributed applications: Review of SQL; role
of databases in enterprise architectures, comparative analysis of connected
and disconnected database architectures; data access patterns for enterprise
applications, object-relational mapping, database security and
performance.

Bibliography: i. Andrew S Tanenbaum, Maarken van Steen Distributed Systems: principles


and paradigms, Prentice Hall
ii. G. Coulouris, J. Dollimore and T. Kindberg, Distributed Systems:
Concepts and Design (3rd Edition), Addison-Wesley, 2001.

You might also like