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

Distributed Programming

The course on Distributed Programming aims to equip students with the skills to design and develop fault-tolerant distributed algorithms using various Java technologies. Prerequisites include basic knowledge of computers and Java programming, with a focus on understanding distributed systems' principles and challenges. The course includes lectures, practical exercises, and projects, culminating in a final assessment to evaluate students' understanding and application of distributed computing concepts.

Uploaded by

Big Fabiano
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

Distributed Programming

The course on Distributed Programming aims to equip students with the skills to design and develop fault-tolerant distributed algorithms using various Java technologies. Prerequisites include basic knowledge of computers and Java programming, with a focus on understanding distributed systems' principles and challenges. The course includes lectures, practical exercises, and projects, culminating in a final assessment to evaluate students' understanding and application of distributed computing concepts.

Uploaded by

Big Fabiano
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

HIGHER NATIONAL DIPLOMA

(BSC)
FIELD : COMPUTER ENGINEERING
Page 1 of 4
OPTION : SOFTWARE ENGINEERING

LECTURER NYAMBI BLAISE PROSPER MBUH GRADE PhD Student / MSc

COURSE TITLE DISTRIBUTED PROGRAMMING SEMESTER 1

ACADEMIC YEAR 2021/2022 TOTAL HOURS 30

I- COURSE DESCRIPTION

This course aims at helping and orientating the students towards designing and developing fault
tolerant and efficient distributed algorithms to solve large problems where data and control is
distributed over different nodes. This course provides the students with skills to:

➢ Program distributed computing applications using:


- Java Database Connectivity (JDBC)
- Remote Method Invocation (RMI)
- Java Interface Definition Language (JIDL)
- Java Technology Servlets
- Java Transaction Technologies (JTT)
- Java Naming and Directory Interface (JNDI)
- Java Message Services (JMS)
➢ Compare and contrast available technologies of distributed computing

II- PREREQUISITES
- Basic Knowledge on Computers, the Internet, Java programming, information systems
and systems.
III- Pedagogical objectives
They are declined in 2 sub objectives namely:
a) Knowledge Transmitted
- Students should be able to understand the principles on which the Internet and other
distributed systems are based; their architecture, algorithms and how they meet the
demands of contemporary distributed applications.
b) Know-how Transmitted
The course covers the building blocks for a study of distributed systems, and addressing the
characteristics and the challenges that must be addressed in their design: scalability,
heterogeneity, security and failure handling being the most significant. This course also covers
issues and solutions related to the design and the implementation of distributed applications.

IUGET/2021-2022/Distributed Programming/L300/S1 Page 1


|4
HIGHER NATIONAL DIPLOMA
(BSC)
FIELD : COMPUTER ENGINEERING
Page 2 of 4
OPTION : SOFTWARE ENGINEERING

Learning Outcomes:
Upon successful completion of this course you should be able to:
• demonstrate knowledge of the basic elements and concepts related to distributed system
technologies;
• demonstrate knowledge of the core architectural aspects of distributed systems;
• design and implement distributed applications;
• demonstrate knowledge of details the main underlying components of distributed
systems (such as RPC, file systems);
• use and apply important methods in distributed systems to support scalability and fault
tolerance;
• Demonstrate experience in building large-scale distributed applications.

IV- Pedagogical methods, evaluation modality, pedagogical tools used


The pedagogical methods I will use in the frame of the course and the indicated bibliography
recommended.
a) Lecture modes
➢ Compulsory Course ➢ Presentation + Debate
➢ Exercises ➢ Practical
➢ Project Realization

b) Evaluation modalities

➢ Continuous assessment
and a final exam
➢ Individual Projects

IUGET/2021-2022/Distributed Programming/L300/S1 Page 2


|4
HIGHER NATIONAL DIPLOMA
(BSC)
FIELD : COMPUTER ENGINEERING
Page 3 of 4
OPTION : SOFTWARE ENGINEERING

V- Course Content
This section serves to precise the skills, notions, concepts and theories, to be acquired in the course, in line with the objectives.
(This content is communicated to the students at the beginning of the semester).
MODULES LESSONG TITLE AND CONTENT OBJECTIVES HOURLY

1 Module 1 – “Overview of Distributed Computing” This module describes the characteristics of distributed computing 4
environments and of distributed object computing. Various
techniques used to solve distributed computing problems are
presented, with an overview of the JavaSoft technologies: JDBC, RMI, JavaIDL
and Java servlets.
2 Module 2 – “Java Database Connectivity (JDBC)” This module describes the main features of JDBC, the Java technology classes4
(Java classes) provided by JDBC, and how to use the JDBC to interface with a
database system
3 Module 3 – “Remote Method Invocation (RMI)” This module describes the main features of RMI, the classes provided by RMI,4
and how to use RMI to solve distributed computing problems. The new features
of RMI that are delivered with the Java 2 SDK, standard edition, Version 1.2
technology are also presented.
4 Module 4 – “Java Interface Definition Language (JavaIDL)”
This module describes the Common Object Request Broker Architecture 4
(CORBA), the main features of JavaIDL, how to use JavaIDL to solve distributed
computing problems, and information about the IDL-to-Java programming
language
mapping.

IUGET/2021-2022/Distributed Programming/L300/S1 Page 3|4


HIGHER NATIONAL DIPLOMA
(BSC)
FIELD : COMPUTER ENGINEERING
Page 4 of 4
OPTION : SOFTWARE ENGINEERING

5 Module 5 – “Servlets” This module describes generic Java servlets and hypertext transfer protocol 4
(HTTP) servlets.
6 Module 6 – “Object Bus Systems” This module describes object bus systems. Using object bus systems, you can4
build systems using a multicast, many-to-many object communication
paradigm.
7 Module 7 – “Supporting Technologies” This module describes three supporting technologies for doing distributed 4
computing.
8 Module 8 – “Technology Summary and Comparison” This module summarizes the different technologies explained in this course,2and
compares them to each other.
Bibliography
1. https://www.distributedsystemscourse.com/
2. https://www.coursera.org/learn/distributed-programming-in-java

IUGET/2021-2022/Distributed Programming/L300/S1 Page 4|4

You might also like