Course Name: ACS 454 DISTRIBUTED SYSTEMS.
Semester January 2021.
Instructor’s name: Fredrick Michael Ogore
Consultation hours: Monday/Friday 8:00am -9:00am /12:20-1:30pm.
Office: SSEH-/HOD Office-ICT Building.
Email: email@example.com/ Mob: +254717105568
Class Hours TUESDAY 1:30PM-4:30PM
Course Learning Outcomes
In Distributed Systems this course, you will learn a range of fundamental and applied techniques in distributed systems. The learning objectives for Distributed Systems are:
- Apply knowledge of distributed systems techniques and methodologies.
- Design and develop of distributed systems and distributed systems applications.
- Apply of fundamental Computer Science methods and algorithms in the development of distributed systems and distributed systems applications.
- Analyze design and testing of a large software system, and to be able to communicate that design to others.
Course Outline: A selection of topics from the following: introduction to DS, pitfalls/challenges faced in constructing client/server software: partial system failures, multiple address spaces, absence of a single clock, latency of communication, heterogeneity, absence of a trusted operating system, system management, binding and naming. Techniques for meeting these challenges: RPC and middleware, naming and directory services, distributed transaction processing, 'thin' clients, data replication, cryptographic security, mobile code. Introduction to Java RMI.
The objective of this course is to introduce students to the fundamentals and techniques of distributed computing and provide them with the basic skills of how to write distributed programs. Topics to be covered include: distributed computing, distributed programming, distributed systems, concurrency, distributed computing paradigms, inter-process communications, group communications, operating system support, distributed objects, application programming interfaces (RMI, RPC), client server model, the socket API, security issues and Internet applications. Students are expected to develop distributed applications using latest technologies.